001package org.hl7.fhir.r5.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Tue, Dec 13, 2022 17:53+1100 for FHIR vcurrent 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r5.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 052 */ 053@ResourceDef(name="AppointmentResponse", profile="http://hl7.org/fhir/StructureDefinition/AppointmentResponse") 054public class AppointmentResponse extends DomainResource { 055 056 /** 057 * This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate. 058 */ 059 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 060 @Description(shortDefinition="External Ids for this item", formalDefinition="This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate." ) 061 protected List<Identifier> identifier; 062 063 /** 064 * Appointment that this response is replying to. 065 */ 066 @Child(name = "appointment", type = {Appointment.class}, order=1, min=1, max=1, modifier=false, summary=true) 067 @Description(shortDefinition="Appointment this response relates to", formalDefinition="Appointment that this response is replying to." ) 068 protected Reference appointment; 069 070 /** 071 * Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. 072 */ 073 @Child(name = "proposedNewTime", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=true) 074 @Description(shortDefinition="Indicator for a counter proposal", formalDefinition="Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties." ) 075 protected BooleanType proposedNewTime; 076 077 /** 078 * Date/Time that the appointment is to take place, or requested new start time. 079 */ 080 @Child(name = "start", type = {InstantType.class}, order=3, min=0, max=1, modifier=false, summary=false) 081 @Description(shortDefinition="Time from appointment, or requested new start time", formalDefinition="Date/Time that the appointment is to take place, or requested new start time." ) 082 protected InstantType start; 083 084 /** 085 * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. 086 */ 087 @Child(name = "end", type = {InstantType.class}, order=4, min=0, max=1, modifier=false, summary=false) 088 @Description(shortDefinition="Time from appointment, or requested new end time", formalDefinition="This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time." ) 089 protected InstantType end; 090 091 /** 092 * Role of participant in the appointment. 093 */ 094 @Child(name = "participantType", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 095 @Description(shortDefinition="Role of participant in the appointment", formalDefinition="Role of participant in the appointment." ) 096 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-participant-type") 097 protected List<CodeableConcept> participantType; 098 099 /** 100 * A Person, Location, HealthcareService, or Device that is participating in the appointment. 101 */ 102 @Child(name = "actor", type = {Patient.class, Group.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=6, min=0, max=1, modifier=false, summary=true) 103 @Description(shortDefinition="Person(s), Location, HealthcareService, or Device", formalDefinition="A Person, Location, HealthcareService, or Device that is participating in the appointment." ) 104 protected Reference actor; 105 106 /** 107 * Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty. 108 */ 109 @Child(name = "participantStatus", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) 110 @Description(shortDefinition="accepted | declined | tentative | needs-action", formalDefinition="Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty." ) 111 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participationstatus") 112 protected Enumeration<ParticipationStatus> participantStatus; 113 114 /** 115 * Additional comments about the appointment. 116 */ 117 @Child(name = "comment", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) 118 @Description(shortDefinition="Additional comments", formalDefinition="Additional comments about the appointment." ) 119 protected StringType comment; 120 121 /** 122 * Indicates that this AppointmentResponse applies to all occurrences in a recurring request. 123 */ 124 @Child(name = "recurring", type = {BooleanType.class}, order=9, min=0, max=1, modifier=false, summary=false) 125 @Description(shortDefinition="This response is for all occurrences in a recurring request", formalDefinition="Indicates that this AppointmentResponse applies to all occurrences in a recurring request." ) 126 protected BooleanType recurring; 127 128 /** 129 * The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). 130 */ 131 @Child(name = "occurrenceDate", type = {DateType.class}, order=10, min=0, max=1, modifier=false, summary=false) 132 @Description(shortDefinition="Original date within a recurring request", formalDefinition="The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`)." ) 133 protected DateType occurrenceDate; 134 135 /** 136 * The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. 137 */ 138 @Child(name = "recurrenceId", type = {PositiveIntType.class}, order=11, min=0, max=1, modifier=false, summary=false) 139 @Description(shortDefinition="The recurrence ID of the specific recurring request", formalDefinition="The recurrence ID (sequence number) of the specific appointment when responding to a recurring request." ) 140 protected PositiveIntType recurrenceId; 141 142 private static final long serialVersionUID = 1970686636L; 143 144 /** 145 * Constructor 146 */ 147 public AppointmentResponse() { 148 super(); 149 } 150 151 /** 152 * Constructor 153 */ 154 public AppointmentResponse(Reference appointment, ParticipationStatus participantStatus) { 155 super(); 156 this.setAppointment(appointment); 157 this.setParticipantStatus(participantStatus); 158 } 159 160 /** 161 * @return {@link #identifier} (This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.) 162 */ 163 public List<Identifier> getIdentifier() { 164 if (this.identifier == null) 165 this.identifier = new ArrayList<Identifier>(); 166 return this.identifier; 167 } 168 169 /** 170 * @return Returns a reference to <code>this</code> for easy method chaining 171 */ 172 public AppointmentResponse setIdentifier(List<Identifier> theIdentifier) { 173 this.identifier = theIdentifier; 174 return this; 175 } 176 177 public boolean hasIdentifier() { 178 if (this.identifier == null) 179 return false; 180 for (Identifier item : this.identifier) 181 if (!item.isEmpty()) 182 return true; 183 return false; 184 } 185 186 public Identifier addIdentifier() { //3 187 Identifier t = new Identifier(); 188 if (this.identifier == null) 189 this.identifier = new ArrayList<Identifier>(); 190 this.identifier.add(t); 191 return t; 192 } 193 194 public AppointmentResponse addIdentifier(Identifier t) { //3 195 if (t == null) 196 return this; 197 if (this.identifier == null) 198 this.identifier = new ArrayList<Identifier>(); 199 this.identifier.add(t); 200 return this; 201 } 202 203 /** 204 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 205 */ 206 public Identifier getIdentifierFirstRep() { 207 if (getIdentifier().isEmpty()) { 208 addIdentifier(); 209 } 210 return getIdentifier().get(0); 211 } 212 213 /** 214 * @return {@link #appointment} (Appointment that this response is replying to.) 215 */ 216 public Reference getAppointment() { 217 if (this.appointment == null) 218 if (Configuration.errorOnAutoCreate()) 219 throw new Error("Attempt to auto-create AppointmentResponse.appointment"); 220 else if (Configuration.doAutoCreate()) 221 this.appointment = new Reference(); // cc 222 return this.appointment; 223 } 224 225 public boolean hasAppointment() { 226 return this.appointment != null && !this.appointment.isEmpty(); 227 } 228 229 /** 230 * @param value {@link #appointment} (Appointment that this response is replying to.) 231 */ 232 public AppointmentResponse setAppointment(Reference value) { 233 this.appointment = value; 234 return this; 235 } 236 237 /** 238 * @return {@link #proposedNewTime} (Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.). This is the underlying object with id, value and extensions. The accessor "getProposedNewTime" gives direct access to the value 239 */ 240 public BooleanType getProposedNewTimeElement() { 241 if (this.proposedNewTime == null) 242 if (Configuration.errorOnAutoCreate()) 243 throw new Error("Attempt to auto-create AppointmentResponse.proposedNewTime"); 244 else if (Configuration.doAutoCreate()) 245 this.proposedNewTime = new BooleanType(); // bb 246 return this.proposedNewTime; 247 } 248 249 public boolean hasProposedNewTimeElement() { 250 return this.proposedNewTime != null && !this.proposedNewTime.isEmpty(); 251 } 252 253 public boolean hasProposedNewTime() { 254 return this.proposedNewTime != null && !this.proposedNewTime.isEmpty(); 255 } 256 257 /** 258 * @param value {@link #proposedNewTime} (Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.). This is the underlying object with id, value and extensions. The accessor "getProposedNewTime" gives direct access to the value 259 */ 260 public AppointmentResponse setProposedNewTimeElement(BooleanType value) { 261 this.proposedNewTime = value; 262 return this; 263 } 264 265 /** 266 * @return Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. 267 */ 268 public boolean getProposedNewTime() { 269 return this.proposedNewTime == null || this.proposedNewTime.isEmpty() ? false : this.proposedNewTime.getValue(); 270 } 271 272 /** 273 * @param value Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. 274 */ 275 public AppointmentResponse setProposedNewTime(boolean value) { 276 if (this.proposedNewTime == null) 277 this.proposedNewTime = new BooleanType(); 278 this.proposedNewTime.setValue(value); 279 return this; 280 } 281 282 /** 283 * @return {@link #start} (Date/Time that the appointment is to take place, or requested new start time.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value 284 */ 285 public InstantType getStartElement() { 286 if (this.start == null) 287 if (Configuration.errorOnAutoCreate()) 288 throw new Error("Attempt to auto-create AppointmentResponse.start"); 289 else if (Configuration.doAutoCreate()) 290 this.start = new InstantType(); // bb 291 return this.start; 292 } 293 294 public boolean hasStartElement() { 295 return this.start != null && !this.start.isEmpty(); 296 } 297 298 public boolean hasStart() { 299 return this.start != null && !this.start.isEmpty(); 300 } 301 302 /** 303 * @param value {@link #start} (Date/Time that the appointment is to take place, or requested new start time.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value 304 */ 305 public AppointmentResponse setStartElement(InstantType value) { 306 this.start = value; 307 return this; 308 } 309 310 /** 311 * @return Date/Time that the appointment is to take place, or requested new start time. 312 */ 313 public Date getStart() { 314 return this.start == null ? null : this.start.getValue(); 315 } 316 317 /** 318 * @param value Date/Time that the appointment is to take place, or requested new start time. 319 */ 320 public AppointmentResponse setStart(Date value) { 321 if (value == null) 322 this.start = null; 323 else { 324 if (this.start == null) 325 this.start = new InstantType(); 326 this.start.setValue(value); 327 } 328 return this; 329 } 330 331 /** 332 * @return {@link #end} (This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value 333 */ 334 public InstantType getEndElement() { 335 if (this.end == null) 336 if (Configuration.errorOnAutoCreate()) 337 throw new Error("Attempt to auto-create AppointmentResponse.end"); 338 else if (Configuration.doAutoCreate()) 339 this.end = new InstantType(); // bb 340 return this.end; 341 } 342 343 public boolean hasEndElement() { 344 return this.end != null && !this.end.isEmpty(); 345 } 346 347 public boolean hasEnd() { 348 return this.end != null && !this.end.isEmpty(); 349 } 350 351 /** 352 * @param value {@link #end} (This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value 353 */ 354 public AppointmentResponse setEndElement(InstantType value) { 355 this.end = value; 356 return this; 357 } 358 359 /** 360 * @return This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. 361 */ 362 public Date getEnd() { 363 return this.end == null ? null : this.end.getValue(); 364 } 365 366 /** 367 * @param value This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. 368 */ 369 public AppointmentResponse setEnd(Date value) { 370 if (value == null) 371 this.end = null; 372 else { 373 if (this.end == null) 374 this.end = new InstantType(); 375 this.end.setValue(value); 376 } 377 return this; 378 } 379 380 /** 381 * @return {@link #participantType} (Role of participant in the appointment.) 382 */ 383 public List<CodeableConcept> getParticipantType() { 384 if (this.participantType == null) 385 this.participantType = new ArrayList<CodeableConcept>(); 386 return this.participantType; 387 } 388 389 /** 390 * @return Returns a reference to <code>this</code> for easy method chaining 391 */ 392 public AppointmentResponse setParticipantType(List<CodeableConcept> theParticipantType) { 393 this.participantType = theParticipantType; 394 return this; 395 } 396 397 public boolean hasParticipantType() { 398 if (this.participantType == null) 399 return false; 400 for (CodeableConcept item : this.participantType) 401 if (!item.isEmpty()) 402 return true; 403 return false; 404 } 405 406 public CodeableConcept addParticipantType() { //3 407 CodeableConcept t = new CodeableConcept(); 408 if (this.participantType == null) 409 this.participantType = new ArrayList<CodeableConcept>(); 410 this.participantType.add(t); 411 return t; 412 } 413 414 public AppointmentResponse addParticipantType(CodeableConcept t) { //3 415 if (t == null) 416 return this; 417 if (this.participantType == null) 418 this.participantType = new ArrayList<CodeableConcept>(); 419 this.participantType.add(t); 420 return this; 421 } 422 423 /** 424 * @return The first repetition of repeating field {@link #participantType}, creating it if it does not already exist {3} 425 */ 426 public CodeableConcept getParticipantTypeFirstRep() { 427 if (getParticipantType().isEmpty()) { 428 addParticipantType(); 429 } 430 return getParticipantType().get(0); 431 } 432 433 /** 434 * @return {@link #actor} (A Person, Location, HealthcareService, or Device that is participating in the appointment.) 435 */ 436 public Reference getActor() { 437 if (this.actor == null) 438 if (Configuration.errorOnAutoCreate()) 439 throw new Error("Attempt to auto-create AppointmentResponse.actor"); 440 else if (Configuration.doAutoCreate()) 441 this.actor = new Reference(); // cc 442 return this.actor; 443 } 444 445 public boolean hasActor() { 446 return this.actor != null && !this.actor.isEmpty(); 447 } 448 449 /** 450 * @param value {@link #actor} (A Person, Location, HealthcareService, or Device that is participating in the appointment.) 451 */ 452 public AppointmentResponse setActor(Reference value) { 453 this.actor = value; 454 return this; 455 } 456 457 /** 458 * @return {@link #participantStatus} (Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.). This is the underlying object with id, value and extensions. The accessor "getParticipantStatus" gives direct access to the value 459 */ 460 public Enumeration<ParticipationStatus> getParticipantStatusElement() { 461 if (this.participantStatus == null) 462 if (Configuration.errorOnAutoCreate()) 463 throw new Error("Attempt to auto-create AppointmentResponse.participantStatus"); 464 else if (Configuration.doAutoCreate()) 465 this.participantStatus = new Enumeration<ParticipationStatus>(new ParticipationStatusEnumFactory()); // bb 466 return this.participantStatus; 467 } 468 469 public boolean hasParticipantStatusElement() { 470 return this.participantStatus != null && !this.participantStatus.isEmpty(); 471 } 472 473 public boolean hasParticipantStatus() { 474 return this.participantStatus != null && !this.participantStatus.isEmpty(); 475 } 476 477 /** 478 * @param value {@link #participantStatus} (Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.). This is the underlying object with id, value and extensions. The accessor "getParticipantStatus" gives direct access to the value 479 */ 480 public AppointmentResponse setParticipantStatusElement(Enumeration<ParticipationStatus> value) { 481 this.participantStatus = value; 482 return this; 483 } 484 485 /** 486 * @return Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty. 487 */ 488 public ParticipationStatus getParticipantStatus() { 489 return this.participantStatus == null ? null : this.participantStatus.getValue(); 490 } 491 492 /** 493 * @param value Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty. 494 */ 495 public AppointmentResponse setParticipantStatus(ParticipationStatus value) { 496 if (this.participantStatus == null) 497 this.participantStatus = new Enumeration<ParticipationStatus>(new ParticipationStatusEnumFactory()); 498 this.participantStatus.setValue(value); 499 return this; 500 } 501 502 /** 503 * @return {@link #comment} (Additional comments about the appointment.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 504 */ 505 public StringType getCommentElement() { 506 if (this.comment == null) 507 if (Configuration.errorOnAutoCreate()) 508 throw new Error("Attempt to auto-create AppointmentResponse.comment"); 509 else if (Configuration.doAutoCreate()) 510 this.comment = new StringType(); // bb 511 return this.comment; 512 } 513 514 public boolean hasCommentElement() { 515 return this.comment != null && !this.comment.isEmpty(); 516 } 517 518 public boolean hasComment() { 519 return this.comment != null && !this.comment.isEmpty(); 520 } 521 522 /** 523 * @param value {@link #comment} (Additional comments about the appointment.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value 524 */ 525 public AppointmentResponse setCommentElement(StringType value) { 526 this.comment = value; 527 return this; 528 } 529 530 /** 531 * @return Additional comments about the appointment. 532 */ 533 public String getComment() { 534 return this.comment == null ? null : this.comment.getValue(); 535 } 536 537 /** 538 * @param value Additional comments about the appointment. 539 */ 540 public AppointmentResponse setComment(String value) { 541 if (Utilities.noString(value)) 542 this.comment = null; 543 else { 544 if (this.comment == null) 545 this.comment = new StringType(); 546 this.comment.setValue(value); 547 } 548 return this; 549 } 550 551 /** 552 * @return {@link #recurring} (Indicates that this AppointmentResponse applies to all occurrences in a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurring" gives direct access to the value 553 */ 554 public BooleanType getRecurringElement() { 555 if (this.recurring == null) 556 if (Configuration.errorOnAutoCreate()) 557 throw new Error("Attempt to auto-create AppointmentResponse.recurring"); 558 else if (Configuration.doAutoCreate()) 559 this.recurring = new BooleanType(); // bb 560 return this.recurring; 561 } 562 563 public boolean hasRecurringElement() { 564 return this.recurring != null && !this.recurring.isEmpty(); 565 } 566 567 public boolean hasRecurring() { 568 return this.recurring != null && !this.recurring.isEmpty(); 569 } 570 571 /** 572 * @param value {@link #recurring} (Indicates that this AppointmentResponse applies to all occurrences in a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurring" gives direct access to the value 573 */ 574 public AppointmentResponse setRecurringElement(BooleanType value) { 575 this.recurring = value; 576 return this; 577 } 578 579 /** 580 * @return Indicates that this AppointmentResponse applies to all occurrences in a recurring request. 581 */ 582 public boolean getRecurring() { 583 return this.recurring == null || this.recurring.isEmpty() ? false : this.recurring.getValue(); 584 } 585 586 /** 587 * @param value Indicates that this AppointmentResponse applies to all occurrences in a recurring request. 588 */ 589 public AppointmentResponse setRecurring(boolean value) { 590 if (this.recurring == null) 591 this.recurring = new BooleanType(); 592 this.recurring.setValue(value); 593 return this; 594 } 595 596 /** 597 * @return {@link #occurrenceDate} (The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDate" gives direct access to the value 598 */ 599 public DateType getOccurrenceDateElement() { 600 if (this.occurrenceDate == null) 601 if (Configuration.errorOnAutoCreate()) 602 throw new Error("Attempt to auto-create AppointmentResponse.occurrenceDate"); 603 else if (Configuration.doAutoCreate()) 604 this.occurrenceDate = new DateType(); // bb 605 return this.occurrenceDate; 606 } 607 608 public boolean hasOccurrenceDateElement() { 609 return this.occurrenceDate != null && !this.occurrenceDate.isEmpty(); 610 } 611 612 public boolean hasOccurrenceDate() { 613 return this.occurrenceDate != null && !this.occurrenceDate.isEmpty(); 614 } 615 616 /** 617 * @param value {@link #occurrenceDate} (The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDate" gives direct access to the value 618 */ 619 public AppointmentResponse setOccurrenceDateElement(DateType value) { 620 this.occurrenceDate = value; 621 return this; 622 } 623 624 /** 625 * @return The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). 626 */ 627 public Date getOccurrenceDate() { 628 return this.occurrenceDate == null ? null : this.occurrenceDate.getValue(); 629 } 630 631 /** 632 * @param value The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). 633 */ 634 public AppointmentResponse setOccurrenceDate(Date value) { 635 if (value == null) 636 this.occurrenceDate = null; 637 else { 638 if (this.occurrenceDate == null) 639 this.occurrenceDate = new DateType(); 640 this.occurrenceDate.setValue(value); 641 } 642 return this; 643 } 644 645 /** 646 * @return {@link #recurrenceId} (The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value 647 */ 648 public PositiveIntType getRecurrenceIdElement() { 649 if (this.recurrenceId == null) 650 if (Configuration.errorOnAutoCreate()) 651 throw new Error("Attempt to auto-create AppointmentResponse.recurrenceId"); 652 else if (Configuration.doAutoCreate()) 653 this.recurrenceId = new PositiveIntType(); // bb 654 return this.recurrenceId; 655 } 656 657 public boolean hasRecurrenceIdElement() { 658 return this.recurrenceId != null && !this.recurrenceId.isEmpty(); 659 } 660 661 public boolean hasRecurrenceId() { 662 return this.recurrenceId != null && !this.recurrenceId.isEmpty(); 663 } 664 665 /** 666 * @param value {@link #recurrenceId} (The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value 667 */ 668 public AppointmentResponse setRecurrenceIdElement(PositiveIntType value) { 669 this.recurrenceId = value; 670 return this; 671 } 672 673 /** 674 * @return The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. 675 */ 676 public int getRecurrenceId() { 677 return this.recurrenceId == null || this.recurrenceId.isEmpty() ? 0 : this.recurrenceId.getValue(); 678 } 679 680 /** 681 * @param value The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. 682 */ 683 public AppointmentResponse setRecurrenceId(int value) { 684 if (this.recurrenceId == null) 685 this.recurrenceId = new PositiveIntType(); 686 this.recurrenceId.setValue(value); 687 return this; 688 } 689 690 protected void listChildren(List<Property> children) { 691 super.listChildren(children); 692 children.add(new Property("identifier", "Identifier", "This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.", 0, java.lang.Integer.MAX_VALUE, identifier)); 693 children.add(new Property("appointment", "Reference(Appointment)", "Appointment that this response is replying to.", 0, 1, appointment)); 694 children.add(new Property("proposedNewTime", "boolean", "Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.", 0, 1, proposedNewTime)); 695 children.add(new Property("start", "instant", "Date/Time that the appointment is to take place, or requested new start time.", 0, 1, start)); 696 children.add(new Property("end", "instant", "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.", 0, 1, end)); 697 children.add(new Property("participantType", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, participantType)); 698 children.add(new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location, HealthcareService, or Device that is participating in the appointment.", 0, 1, actor)); 699 children.add(new Property("participantStatus", "code", "Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.", 0, 1, participantStatus)); 700 children.add(new Property("comment", "string", "Additional comments about the appointment.", 0, 1, comment)); 701 children.add(new Property("recurring", "boolean", "Indicates that this AppointmentResponse applies to all occurrences in a recurring request.", 0, 1, recurring)); 702 children.add(new Property("occurrenceDate", "date", "The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).", 0, 1, occurrenceDate)); 703 children.add(new Property("recurrenceId", "positiveInt", "The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.", 0, 1, recurrenceId)); 704 } 705 706 @Override 707 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 708 switch (_hash) { 709 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.", 0, java.lang.Integer.MAX_VALUE, identifier); 710 case -1474995297: /*appointment*/ return new Property("appointment", "Reference(Appointment)", "Appointment that this response is replying to.", 0, 1, appointment); 711 case -577024441: /*proposedNewTime*/ return new Property("proposedNewTime", "boolean", "Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.", 0, 1, proposedNewTime); 712 case 109757538: /*start*/ return new Property("start", "instant", "Date/Time that the appointment is to take place, or requested new start time.", 0, 1, start); 713 case 100571: /*end*/ return new Property("end", "instant", "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.", 0, 1, end); 714 case 841294093: /*participantType*/ return new Property("participantType", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, participantType); 715 case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location, HealthcareService, or Device that is participating in the appointment.", 0, 1, actor); 716 case 996096261: /*participantStatus*/ return new Property("participantStatus", "code", "Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.", 0, 1, participantStatus); 717 case 950398559: /*comment*/ return new Property("comment", "string", "Additional comments about the appointment.", 0, 1, comment); 718 case 1165749981: /*recurring*/ return new Property("recurring", "boolean", "Indicates that this AppointmentResponse applies to all occurrences in a recurring request.", 0, 1, recurring); 719 case 1721761055: /*occurrenceDate*/ return new Property("occurrenceDate", "date", "The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).", 0, 1, occurrenceDate); 720 case -362407829: /*recurrenceId*/ return new Property("recurrenceId", "positiveInt", "The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.", 0, 1, recurrenceId); 721 default: return super.getNamedProperty(_hash, _name, _checkValid); 722 } 723 724 } 725 726 @Override 727 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 728 switch (hash) { 729 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 730 case -1474995297: /*appointment*/ return this.appointment == null ? new Base[0] : new Base[] {this.appointment}; // Reference 731 case -577024441: /*proposedNewTime*/ return this.proposedNewTime == null ? new Base[0] : new Base[] {this.proposedNewTime}; // BooleanType 732 case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // InstantType 733 case 100571: /*end*/ return this.end == null ? new Base[0] : new Base[] {this.end}; // InstantType 734 case 841294093: /*participantType*/ return this.participantType == null ? new Base[0] : this.participantType.toArray(new Base[this.participantType.size()]); // CodeableConcept 735 case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference 736 case 996096261: /*participantStatus*/ return this.participantStatus == null ? new Base[0] : new Base[] {this.participantStatus}; // Enumeration<ParticipationStatus> 737 case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType 738 case 1165749981: /*recurring*/ return this.recurring == null ? new Base[0] : new Base[] {this.recurring}; // BooleanType 739 case 1721761055: /*occurrenceDate*/ return this.occurrenceDate == null ? new Base[0] : new Base[] {this.occurrenceDate}; // DateType 740 case -362407829: /*recurrenceId*/ return this.recurrenceId == null ? new Base[0] : new Base[] {this.recurrenceId}; // PositiveIntType 741 default: return super.getProperty(hash, name, checkValid); 742 } 743 744 } 745 746 @Override 747 public Base setProperty(int hash, String name, Base value) throws FHIRException { 748 switch (hash) { 749 case -1618432855: // identifier 750 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 751 return value; 752 case -1474995297: // appointment 753 this.appointment = TypeConvertor.castToReference(value); // Reference 754 return value; 755 case -577024441: // proposedNewTime 756 this.proposedNewTime = TypeConvertor.castToBoolean(value); // BooleanType 757 return value; 758 case 109757538: // start 759 this.start = TypeConvertor.castToInstant(value); // InstantType 760 return value; 761 case 100571: // end 762 this.end = TypeConvertor.castToInstant(value); // InstantType 763 return value; 764 case 841294093: // participantType 765 this.getParticipantType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 766 return value; 767 case 92645877: // actor 768 this.actor = TypeConvertor.castToReference(value); // Reference 769 return value; 770 case 996096261: // participantStatus 771 value = new ParticipationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 772 this.participantStatus = (Enumeration) value; // Enumeration<ParticipationStatus> 773 return value; 774 case 950398559: // comment 775 this.comment = TypeConvertor.castToString(value); // StringType 776 return value; 777 case 1165749981: // recurring 778 this.recurring = TypeConvertor.castToBoolean(value); // BooleanType 779 return value; 780 case 1721761055: // occurrenceDate 781 this.occurrenceDate = TypeConvertor.castToDate(value); // DateType 782 return value; 783 case -362407829: // recurrenceId 784 this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType 785 return value; 786 default: return super.setProperty(hash, name, value); 787 } 788 789 } 790 791 @Override 792 public Base setProperty(String name, Base value) throws FHIRException { 793 if (name.equals("identifier")) { 794 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 795 } else if (name.equals("appointment")) { 796 this.appointment = TypeConvertor.castToReference(value); // Reference 797 } else if (name.equals("proposedNewTime")) { 798 this.proposedNewTime = TypeConvertor.castToBoolean(value); // BooleanType 799 } else if (name.equals("start")) { 800 this.start = TypeConvertor.castToInstant(value); // InstantType 801 } else if (name.equals("end")) { 802 this.end = TypeConvertor.castToInstant(value); // InstantType 803 } else if (name.equals("participantType")) { 804 this.getParticipantType().add(TypeConvertor.castToCodeableConcept(value)); 805 } else if (name.equals("actor")) { 806 this.actor = TypeConvertor.castToReference(value); // Reference 807 } else if (name.equals("participantStatus")) { 808 value = new ParticipationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 809 this.participantStatus = (Enumeration) value; // Enumeration<ParticipationStatus> 810 } else if (name.equals("comment")) { 811 this.comment = TypeConvertor.castToString(value); // StringType 812 } else if (name.equals("recurring")) { 813 this.recurring = TypeConvertor.castToBoolean(value); // BooleanType 814 } else if (name.equals("occurrenceDate")) { 815 this.occurrenceDate = TypeConvertor.castToDate(value); // DateType 816 } else if (name.equals("recurrenceId")) { 817 this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType 818 } else 819 return super.setProperty(name, value); 820 return value; 821 } 822 823 @Override 824 public Base makeProperty(int hash, String name) throws FHIRException { 825 switch (hash) { 826 case -1618432855: return addIdentifier(); 827 case -1474995297: return getAppointment(); 828 case -577024441: return getProposedNewTimeElement(); 829 case 109757538: return getStartElement(); 830 case 100571: return getEndElement(); 831 case 841294093: return addParticipantType(); 832 case 92645877: return getActor(); 833 case 996096261: return getParticipantStatusElement(); 834 case 950398559: return getCommentElement(); 835 case 1165749981: return getRecurringElement(); 836 case 1721761055: return getOccurrenceDateElement(); 837 case -362407829: return getRecurrenceIdElement(); 838 default: return super.makeProperty(hash, name); 839 } 840 841 } 842 843 @Override 844 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 845 switch (hash) { 846 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 847 case -1474995297: /*appointment*/ return new String[] {"Reference"}; 848 case -577024441: /*proposedNewTime*/ return new String[] {"boolean"}; 849 case 109757538: /*start*/ return new String[] {"instant"}; 850 case 100571: /*end*/ return new String[] {"instant"}; 851 case 841294093: /*participantType*/ return new String[] {"CodeableConcept"}; 852 case 92645877: /*actor*/ return new String[] {"Reference"}; 853 case 996096261: /*participantStatus*/ return new String[] {"code"}; 854 case 950398559: /*comment*/ return new String[] {"string"}; 855 case 1165749981: /*recurring*/ return new String[] {"boolean"}; 856 case 1721761055: /*occurrenceDate*/ return new String[] {"date"}; 857 case -362407829: /*recurrenceId*/ return new String[] {"positiveInt"}; 858 default: return super.getTypesForProperty(hash, name); 859 } 860 861 } 862 863 @Override 864 public Base addChild(String name) throws FHIRException { 865 if (name.equals("identifier")) { 866 return addIdentifier(); 867 } 868 else if (name.equals("appointment")) { 869 this.appointment = new Reference(); 870 return this.appointment; 871 } 872 else if (name.equals("proposedNewTime")) { 873 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.proposedNewTime"); 874 } 875 else if (name.equals("start")) { 876 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.start"); 877 } 878 else if (name.equals("end")) { 879 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.end"); 880 } 881 else if (name.equals("participantType")) { 882 return addParticipantType(); 883 } 884 else if (name.equals("actor")) { 885 this.actor = new Reference(); 886 return this.actor; 887 } 888 else if (name.equals("participantStatus")) { 889 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.participantStatus"); 890 } 891 else if (name.equals("comment")) { 892 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.comment"); 893 } 894 else if (name.equals("recurring")) { 895 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.recurring"); 896 } 897 else if (name.equals("occurrenceDate")) { 898 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.occurrenceDate"); 899 } 900 else if (name.equals("recurrenceId")) { 901 throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.recurrenceId"); 902 } 903 else 904 return super.addChild(name); 905 } 906 907 public String fhirType() { 908 return "AppointmentResponse"; 909 910 } 911 912 public AppointmentResponse copy() { 913 AppointmentResponse dst = new AppointmentResponse(); 914 copyValues(dst); 915 return dst; 916 } 917 918 public void copyValues(AppointmentResponse dst) { 919 super.copyValues(dst); 920 if (identifier != null) { 921 dst.identifier = new ArrayList<Identifier>(); 922 for (Identifier i : identifier) 923 dst.identifier.add(i.copy()); 924 }; 925 dst.appointment = appointment == null ? null : appointment.copy(); 926 dst.proposedNewTime = proposedNewTime == null ? null : proposedNewTime.copy(); 927 dst.start = start == null ? null : start.copy(); 928 dst.end = end == null ? null : end.copy(); 929 if (participantType != null) { 930 dst.participantType = new ArrayList<CodeableConcept>(); 931 for (CodeableConcept i : participantType) 932 dst.participantType.add(i.copy()); 933 }; 934 dst.actor = actor == null ? null : actor.copy(); 935 dst.participantStatus = participantStatus == null ? null : participantStatus.copy(); 936 dst.comment = comment == null ? null : comment.copy(); 937 dst.recurring = recurring == null ? null : recurring.copy(); 938 dst.occurrenceDate = occurrenceDate == null ? null : occurrenceDate.copy(); 939 dst.recurrenceId = recurrenceId == null ? null : recurrenceId.copy(); 940 } 941 942 protected AppointmentResponse typedCopy() { 943 return copy(); 944 } 945 946 @Override 947 public boolean equalsDeep(Base other_) { 948 if (!super.equalsDeep(other_)) 949 return false; 950 if (!(other_ instanceof AppointmentResponse)) 951 return false; 952 AppointmentResponse o = (AppointmentResponse) other_; 953 return compareDeep(identifier, o.identifier, true) && compareDeep(appointment, o.appointment, true) 954 && compareDeep(proposedNewTime, o.proposedNewTime, true) && compareDeep(start, o.start, true) && compareDeep(end, o.end, true) 955 && compareDeep(participantType, o.participantType, true) && compareDeep(actor, o.actor, true) && compareDeep(participantStatus, o.participantStatus, true) 956 && compareDeep(comment, o.comment, true) && compareDeep(recurring, o.recurring, true) && compareDeep(occurrenceDate, o.occurrenceDate, true) 957 && compareDeep(recurrenceId, o.recurrenceId, true); 958 } 959 960 @Override 961 public boolean equalsShallow(Base other_) { 962 if (!super.equalsShallow(other_)) 963 return false; 964 if (!(other_ instanceof AppointmentResponse)) 965 return false; 966 AppointmentResponse o = (AppointmentResponse) other_; 967 return compareValues(proposedNewTime, o.proposedNewTime, true) && compareValues(start, o.start, true) 968 && compareValues(end, o.end, true) && compareValues(participantStatus, o.participantStatus, true) && compareValues(comment, o.comment, true) 969 && compareValues(recurring, o.recurring, true) && compareValues(occurrenceDate, o.occurrenceDate, true) 970 && compareValues(recurrenceId, o.recurrenceId, true); 971 } 972 973 public boolean isEmpty() { 974 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, appointment, proposedNewTime 975 , start, end, participantType, actor, participantStatus, comment, recurring, occurrenceDate 976 , recurrenceId); 977 } 978 979 @Override 980 public ResourceType getResourceType() { 981 return ResourceType.AppointmentResponse; 982 } 983 984 /** 985 * Search parameter: <b>actor</b> 986 * <p> 987 * Description: <b>The Person, Location/HealthcareService or Device that this appointment response replies for</b><br> 988 * Type: <b>reference</b><br> 989 * Path: <b>AppointmentResponse.actor</b><br> 990 * </p> 991 */ 992 @SearchParamDefinition(name="actor", path="AppointmentResponse.actor", description="The Person, Location/HealthcareService or Device that this appointment response replies for", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Device.class, Group.class, HealthcareService.class, Location.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) 993 public static final String SP_ACTOR = "actor"; 994 /** 995 * <b>Fluent Client</b> search parameter constant for <b>actor</b> 996 * <p> 997 * Description: <b>The Person, Location/HealthcareService or Device that this appointment response replies for</b><br> 998 * Type: <b>reference</b><br> 999 * Path: <b>AppointmentResponse.actor</b><br> 1000 * </p> 1001 */ 1002 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ACTOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ACTOR); 1003 1004/** 1005 * Constant for fluent queries to be used to add include statements. Specifies 1006 * the path value of "<b>AppointmentResponse:actor</b>". 1007 */ 1008 public static final ca.uhn.fhir.model.api.Include INCLUDE_ACTOR = new ca.uhn.fhir.model.api.Include("AppointmentResponse:actor").toLocked(); 1009 1010 /** 1011 * Search parameter: <b>appointment</b> 1012 * <p> 1013 * Description: <b>The appointment that the response is attached to</b><br> 1014 * Type: <b>reference</b><br> 1015 * Path: <b>AppointmentResponse.appointment</b><br> 1016 * </p> 1017 */ 1018 @SearchParamDefinition(name="appointment", path="AppointmentResponse.appointment", description="The appointment that the response is attached to", type="reference", target={Appointment.class } ) 1019 public static final String SP_APPOINTMENT = "appointment"; 1020 /** 1021 * <b>Fluent Client</b> search parameter constant for <b>appointment</b> 1022 * <p> 1023 * Description: <b>The appointment that the response is attached to</b><br> 1024 * Type: <b>reference</b><br> 1025 * Path: <b>AppointmentResponse.appointment</b><br> 1026 * </p> 1027 */ 1028 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam APPOINTMENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_APPOINTMENT); 1029 1030/** 1031 * Constant for fluent queries to be used to add include statements. Specifies 1032 * the path value of "<b>AppointmentResponse:appointment</b>". 1033 */ 1034 public static final ca.uhn.fhir.model.api.Include INCLUDE_APPOINTMENT = new ca.uhn.fhir.model.api.Include("AppointmentResponse:appointment").toLocked(); 1035 1036 /** 1037 * Search parameter: <b>group</b> 1038 * <p> 1039 * Description: <b>This Response is for this Group</b><br> 1040 * Type: <b>reference</b><br> 1041 * Path: <b>AppointmentResponse.actor.where(resolve() is Group)</b><br> 1042 * </p> 1043 */ 1044 @SearchParamDefinition(name="group", path="AppointmentResponse.actor.where(resolve() is Group)", description="This Response is for this Group", type="reference", target={Group.class } ) 1045 public static final String SP_GROUP = "group"; 1046 /** 1047 * <b>Fluent Client</b> search parameter constant for <b>group</b> 1048 * <p> 1049 * Description: <b>This Response is for this Group</b><br> 1050 * Type: <b>reference</b><br> 1051 * Path: <b>AppointmentResponse.actor.where(resolve() is Group)</b><br> 1052 * </p> 1053 */ 1054 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GROUP = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GROUP); 1055 1056/** 1057 * Constant for fluent queries to be used to add include statements. Specifies 1058 * the path value of "<b>AppointmentResponse:group</b>". 1059 */ 1060 public static final ca.uhn.fhir.model.api.Include INCLUDE_GROUP = new ca.uhn.fhir.model.api.Include("AppointmentResponse:group").toLocked(); 1061 1062 /** 1063 * Search parameter: <b>identifier</b> 1064 * <p> 1065 * Description: <b>An Identifier in this appointment response</b><br> 1066 * Type: <b>token</b><br> 1067 * Path: <b>AppointmentResponse.identifier</b><br> 1068 * </p> 1069 */ 1070 @SearchParamDefinition(name="identifier", path="AppointmentResponse.identifier", description="An Identifier in this appointment response", type="token" ) 1071 public static final String SP_IDENTIFIER = "identifier"; 1072 /** 1073 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1074 * <p> 1075 * Description: <b>An Identifier in this appointment response</b><br> 1076 * Type: <b>token</b><br> 1077 * Path: <b>AppointmentResponse.identifier</b><br> 1078 * </p> 1079 */ 1080 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1081 1082 /** 1083 * Search parameter: <b>location</b> 1084 * <p> 1085 * Description: <b>This Response is for this Location</b><br> 1086 * Type: <b>reference</b><br> 1087 * Path: <b>AppointmentResponse.actor.where(resolve() is Location)</b><br> 1088 * </p> 1089 */ 1090 @SearchParamDefinition(name="location", path="AppointmentResponse.actor.where(resolve() is Location)", description="This Response is for this Location", type="reference", target={Location.class } ) 1091 public static final String SP_LOCATION = "location"; 1092 /** 1093 * <b>Fluent Client</b> search parameter constant for <b>location</b> 1094 * <p> 1095 * Description: <b>This Response is for this Location</b><br> 1096 * Type: <b>reference</b><br> 1097 * Path: <b>AppointmentResponse.actor.where(resolve() is Location)</b><br> 1098 * </p> 1099 */ 1100 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LOCATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LOCATION); 1101 1102/** 1103 * Constant for fluent queries to be used to add include statements. Specifies 1104 * the path value of "<b>AppointmentResponse:location</b>". 1105 */ 1106 public static final ca.uhn.fhir.model.api.Include INCLUDE_LOCATION = new ca.uhn.fhir.model.api.Include("AppointmentResponse:location").toLocked(); 1107 1108 /** 1109 * Search parameter: <b>part-status</b> 1110 * <p> 1111 * Description: <b>The participants acceptance status for this appointment</b><br> 1112 * Type: <b>token</b><br> 1113 * Path: <b>AppointmentResponse.participantStatus</b><br> 1114 * </p> 1115 */ 1116 @SearchParamDefinition(name="part-status", path="AppointmentResponse.participantStatus", description="The participants acceptance status for this appointment", type="token" ) 1117 public static final String SP_PART_STATUS = "part-status"; 1118 /** 1119 * <b>Fluent Client</b> search parameter constant for <b>part-status</b> 1120 * <p> 1121 * Description: <b>The participants acceptance status for this appointment</b><br> 1122 * Type: <b>token</b><br> 1123 * Path: <b>AppointmentResponse.participantStatus</b><br> 1124 * </p> 1125 */ 1126 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PART_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PART_STATUS); 1127 1128 /** 1129 * Search parameter: <b>patient</b> 1130 * <p> 1131 * Description: <b>This Response is for this Patient</b><br> 1132 * Type: <b>reference</b><br> 1133 * Path: <b>AppointmentResponse.actor.where(resolve() is Patient)</b><br> 1134 * </p> 1135 */ 1136 @SearchParamDefinition(name="patient", path="AppointmentResponse.actor.where(resolve() is Patient)", description="This Response is for this Patient", type="reference", target={Patient.class } ) 1137 public static final String SP_PATIENT = "patient"; 1138 /** 1139 * <b>Fluent Client</b> search parameter constant for <b>patient</b> 1140 * <p> 1141 * Description: <b>This Response is for this Patient</b><br> 1142 * Type: <b>reference</b><br> 1143 * Path: <b>AppointmentResponse.actor.where(resolve() is Patient)</b><br> 1144 * </p> 1145 */ 1146 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); 1147 1148/** 1149 * Constant for fluent queries to be used to add include statements. Specifies 1150 * the path value of "<b>AppointmentResponse:patient</b>". 1151 */ 1152 public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("AppointmentResponse:patient").toLocked(); 1153 1154 /** 1155 * Search parameter: <b>practitioner</b> 1156 * <p> 1157 * Description: <b>This Response is for this Practitioner</b><br> 1158 * Type: <b>reference</b><br> 1159 * Path: <b>AppointmentResponse.actor.where(resolve() is Practitioner)</b><br> 1160 * </p> 1161 */ 1162 @SearchParamDefinition(name="practitioner", path="AppointmentResponse.actor.where(resolve() is Practitioner)", description="This Response is for this Practitioner", type="reference", target={Practitioner.class } ) 1163 public static final String SP_PRACTITIONER = "practitioner"; 1164 /** 1165 * <b>Fluent Client</b> search parameter constant for <b>practitioner</b> 1166 * <p> 1167 * Description: <b>This Response is for this Practitioner</b><br> 1168 * Type: <b>reference</b><br> 1169 * Path: <b>AppointmentResponse.actor.where(resolve() is Practitioner)</b><br> 1170 * </p> 1171 */ 1172 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRACTITIONER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRACTITIONER); 1173 1174/** 1175 * Constant for fluent queries to be used to add include statements. Specifies 1176 * the path value of "<b>AppointmentResponse:practitioner</b>". 1177 */ 1178 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRACTITIONER = new ca.uhn.fhir.model.api.Include("AppointmentResponse:practitioner").toLocked(); 1179 1180 1181} 1182