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