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