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