001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import ca.uhn.fhir.model.api.annotation.ResourceDef; 038import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.ChildOrder; 041import ca.uhn.fhir.model.api.annotation.Description; 042import ca.uhn.fhir.model.api.annotation.Block; 043import org.hl7.fhir.instance.model.api.*; 044import org.hl7.fhir.exceptions.FHIRException; 045/** 046 * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. 047 */ 048@ResourceDef(name="OrganizationRole", profile="http://hl7.org/fhir/Profile/OrganizationRole") 049public class OrganizationRole extends DomainResource { 050 051 public enum DaysOfWeek { 052 /** 053 * Monday 054 */ 055 MON, 056 /** 057 * Tuesday 058 */ 059 TUE, 060 /** 061 * Wednesday 062 */ 063 WED, 064 /** 065 * Thursday 066 */ 067 THU, 068 /** 069 * Friday 070 */ 071 FRI, 072 /** 073 * Saturday 074 */ 075 SAT, 076 /** 077 * Sunday 078 */ 079 SUN, 080 /** 081 * added to help the parsers with the generic types 082 */ 083 NULL; 084 public static DaysOfWeek fromCode(String codeString) throws FHIRException { 085 if (codeString == null || "".equals(codeString)) 086 return null; 087 if ("mon".equals(codeString)) 088 return MON; 089 if ("tue".equals(codeString)) 090 return TUE; 091 if ("wed".equals(codeString)) 092 return WED; 093 if ("thu".equals(codeString)) 094 return THU; 095 if ("fri".equals(codeString)) 096 return FRI; 097 if ("sat".equals(codeString)) 098 return SAT; 099 if ("sun".equals(codeString)) 100 return SUN; 101 if (Configuration.isAcceptInvalidEnums()) 102 return null; 103 else 104 throw new FHIRException("Unknown DaysOfWeek code '"+codeString+"'"); 105 } 106 public String toCode() { 107 switch (this) { 108 case MON: return "mon"; 109 case TUE: return "tue"; 110 case WED: return "wed"; 111 case THU: return "thu"; 112 case FRI: return "fri"; 113 case SAT: return "sat"; 114 case SUN: return "sun"; 115 default: return "?"; 116 } 117 } 118 public String getSystem() { 119 switch (this) { 120 case MON: return "http://hl7.org/fhir/days-of-week"; 121 case TUE: return "http://hl7.org/fhir/days-of-week"; 122 case WED: return "http://hl7.org/fhir/days-of-week"; 123 case THU: return "http://hl7.org/fhir/days-of-week"; 124 case FRI: return "http://hl7.org/fhir/days-of-week"; 125 case SAT: return "http://hl7.org/fhir/days-of-week"; 126 case SUN: return "http://hl7.org/fhir/days-of-week"; 127 default: return "?"; 128 } 129 } 130 public String getDefinition() { 131 switch (this) { 132 case MON: return "Monday"; 133 case TUE: return "Tuesday"; 134 case WED: return "Wednesday"; 135 case THU: return "Thursday"; 136 case FRI: return "Friday"; 137 case SAT: return "Saturday"; 138 case SUN: return "Sunday"; 139 default: return "?"; 140 } 141 } 142 public String getDisplay() { 143 switch (this) { 144 case MON: return "Monday"; 145 case TUE: return "Tuesday"; 146 case WED: return "Wednesday"; 147 case THU: return "Thursday"; 148 case FRI: return "Friday"; 149 case SAT: return "Saturday"; 150 case SUN: return "Sunday"; 151 default: return "?"; 152 } 153 } 154 } 155 156 public static class DaysOfWeekEnumFactory implements EnumFactory<DaysOfWeek> { 157 public DaysOfWeek fromCode(String codeString) throws IllegalArgumentException { 158 if (codeString == null || "".equals(codeString)) 159 if (codeString == null || "".equals(codeString)) 160 return null; 161 if ("mon".equals(codeString)) 162 return DaysOfWeek.MON; 163 if ("tue".equals(codeString)) 164 return DaysOfWeek.TUE; 165 if ("wed".equals(codeString)) 166 return DaysOfWeek.WED; 167 if ("thu".equals(codeString)) 168 return DaysOfWeek.THU; 169 if ("fri".equals(codeString)) 170 return DaysOfWeek.FRI; 171 if ("sat".equals(codeString)) 172 return DaysOfWeek.SAT; 173 if ("sun".equals(codeString)) 174 return DaysOfWeek.SUN; 175 throw new IllegalArgumentException("Unknown DaysOfWeek code '"+codeString+"'"); 176 } 177 public Enumeration<DaysOfWeek> fromType(Base code) throws FHIRException { 178 if (code == null) 179 return null; 180 if (code.isEmpty()) 181 return new Enumeration<DaysOfWeek>(this); 182 String codeString = ((PrimitiveType) code).asStringValue(); 183 if (codeString == null || "".equals(codeString)) 184 return null; 185 if ("mon".equals(codeString)) 186 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.MON); 187 if ("tue".equals(codeString)) 188 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.TUE); 189 if ("wed".equals(codeString)) 190 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.WED); 191 if ("thu".equals(codeString)) 192 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.THU); 193 if ("fri".equals(codeString)) 194 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.FRI); 195 if ("sat".equals(codeString)) 196 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.SAT); 197 if ("sun".equals(codeString)) 198 return new Enumeration<DaysOfWeek>(this, DaysOfWeek.SUN); 199 throw new FHIRException("Unknown DaysOfWeek code '"+codeString+"'"); 200 } 201 public String toCode(DaysOfWeek code) { 202 if (code == DaysOfWeek.MON) 203 return "mon"; 204 if (code == DaysOfWeek.TUE) 205 return "tue"; 206 if (code == DaysOfWeek.WED) 207 return "wed"; 208 if (code == DaysOfWeek.THU) 209 return "thu"; 210 if (code == DaysOfWeek.FRI) 211 return "fri"; 212 if (code == DaysOfWeek.SAT) 213 return "sat"; 214 if (code == DaysOfWeek.SUN) 215 return "sun"; 216 return "?"; 217 } 218 public String toSystem(DaysOfWeek code) { 219 return code.getSystem(); 220 } 221 } 222 223 @Block() 224 public static class OrganizationRoleAvailableTimeComponent extends BackboneElement implements IBaseBackboneElement { 225 /** 226 * Indicates which days of the week are available between the start and end Times. 227 */ 228 @Child(name = "daysOfWeek", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 229 @Description(shortDefinition="mon | tue | wed | thu | fri | sat | sun", formalDefinition="Indicates which days of the week are available between the start and end Times." ) 230 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") 231 protected List<Enumeration<DaysOfWeek>> daysOfWeek; 232 233 /** 234 * Is this always available? (hence times are irrelevant) e.g. 24-hour service. 235 */ 236 @Child(name = "allDay", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 237 @Description(shortDefinition="Always available? e.g. 24-hour service", formalDefinition="Is this always available? (hence times are irrelevant) e.g. 24-hour service." ) 238 protected BooleanType allDay; 239 240 /** 241 * The opening time of day. Note: If the AllDay flag is set, then this time is ignored. 242 */ 243 @Child(name = "availableStartTime", type = {TimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) 244 @Description(shortDefinition="Opening time of day (ignored if allDay = true)", formalDefinition="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." ) 245 protected TimeType availableStartTime; 246 247 /** 248 * The closing time of day. Note: If the AllDay flag is set, then this time is ignored. 249 */ 250 @Child(name = "availableEndTime", type = {TimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) 251 @Description(shortDefinition="Closing time of day (ignored if allDay = true)", formalDefinition="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." ) 252 protected TimeType availableEndTime; 253 254 private static final long serialVersionUID = -2139510127L; 255 256 /** 257 * Constructor 258 */ 259 public OrganizationRoleAvailableTimeComponent() { 260 super(); 261 } 262 263 /** 264 * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) 265 */ 266 public List<Enumeration<DaysOfWeek>> getDaysOfWeek() { 267 if (this.daysOfWeek == null) 268 this.daysOfWeek = new ArrayList<Enumeration<DaysOfWeek>>(); 269 return this.daysOfWeek; 270 } 271 272 /** 273 * @return Returns a reference to <code>this</code> for easy method chaining 274 */ 275 public OrganizationRoleAvailableTimeComponent setDaysOfWeek(List<Enumeration<DaysOfWeek>> theDaysOfWeek) { 276 this.daysOfWeek = theDaysOfWeek; 277 return this; 278 } 279 280 public boolean hasDaysOfWeek() { 281 if (this.daysOfWeek == null) 282 return false; 283 for (Enumeration<DaysOfWeek> item : this.daysOfWeek) 284 if (!item.isEmpty()) 285 return true; 286 return false; 287 } 288 289 /** 290 * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) 291 */ 292 public Enumeration<DaysOfWeek> addDaysOfWeekElement() {//2 293 Enumeration<DaysOfWeek> t = new Enumeration<DaysOfWeek>(new DaysOfWeekEnumFactory()); 294 if (this.daysOfWeek == null) 295 this.daysOfWeek = new ArrayList<Enumeration<DaysOfWeek>>(); 296 this.daysOfWeek.add(t); 297 return t; 298 } 299 300 /** 301 * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) 302 */ 303 public OrganizationRoleAvailableTimeComponent addDaysOfWeek(DaysOfWeek value) { //1 304 Enumeration<DaysOfWeek> t = new Enumeration<DaysOfWeek>(new DaysOfWeekEnumFactory()); 305 t.setValue(value); 306 if (this.daysOfWeek == null) 307 this.daysOfWeek = new ArrayList<Enumeration<DaysOfWeek>>(); 308 this.daysOfWeek.add(t); 309 return this; 310 } 311 312 /** 313 * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) 314 */ 315 public boolean hasDaysOfWeek(DaysOfWeek value) { 316 if (this.daysOfWeek == null) 317 return false; 318 for (Enumeration<DaysOfWeek> v : this.daysOfWeek) 319 if (v.getValue().equals(value)) // code 320 return true; 321 return false; 322 } 323 324 /** 325 * @return {@link #allDay} (Is this always available? (hence times are irrelevant) e.g. 24-hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value 326 */ 327 public BooleanType getAllDayElement() { 328 if (this.allDay == null) 329 if (Configuration.errorOnAutoCreate()) 330 throw new Error("Attempt to auto-create OrganizationRoleAvailableTimeComponent.allDay"); 331 else if (Configuration.doAutoCreate()) 332 this.allDay = new BooleanType(); // bb 333 return this.allDay; 334 } 335 336 public boolean hasAllDayElement() { 337 return this.allDay != null && !this.allDay.isEmpty(); 338 } 339 340 public boolean hasAllDay() { 341 return this.allDay != null && !this.allDay.isEmpty(); 342 } 343 344 /** 345 * @param value {@link #allDay} (Is this always available? (hence times are irrelevant) e.g. 24-hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value 346 */ 347 public OrganizationRoleAvailableTimeComponent setAllDayElement(BooleanType value) { 348 this.allDay = value; 349 return this; 350 } 351 352 /** 353 * @return Is this always available? (hence times are irrelevant) e.g. 24-hour service. 354 */ 355 public boolean getAllDay() { 356 return this.allDay == null || this.allDay.isEmpty() ? false : this.allDay.getValue(); 357 } 358 359 /** 360 * @param value Is this always available? (hence times are irrelevant) e.g. 24-hour service. 361 */ 362 public OrganizationRoleAvailableTimeComponent setAllDay(boolean value) { 363 if (this.allDay == null) 364 this.allDay = new BooleanType(); 365 this.allDay.setValue(value); 366 return this; 367 } 368 369 /** 370 * @return {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value 371 */ 372 public TimeType getAvailableStartTimeElement() { 373 if (this.availableStartTime == null) 374 if (Configuration.errorOnAutoCreate()) 375 throw new Error("Attempt to auto-create OrganizationRoleAvailableTimeComponent.availableStartTime"); 376 else if (Configuration.doAutoCreate()) 377 this.availableStartTime = new TimeType(); // bb 378 return this.availableStartTime; 379 } 380 381 public boolean hasAvailableStartTimeElement() { 382 return this.availableStartTime != null && !this.availableStartTime.isEmpty(); 383 } 384 385 public boolean hasAvailableStartTime() { 386 return this.availableStartTime != null && !this.availableStartTime.isEmpty(); 387 } 388 389 /** 390 * @param value {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value 391 */ 392 public OrganizationRoleAvailableTimeComponent setAvailableStartTimeElement(TimeType value) { 393 this.availableStartTime = value; 394 return this; 395 } 396 397 /** 398 * @return The opening time of day. Note: If the AllDay flag is set, then this time is ignored. 399 */ 400 public String getAvailableStartTime() { 401 return this.availableStartTime == null ? null : this.availableStartTime.getValue(); 402 } 403 404 /** 405 * @param value The opening time of day. Note: If the AllDay flag is set, then this time is ignored. 406 */ 407 public OrganizationRoleAvailableTimeComponent setAvailableStartTime(String value) { 408 if (value == null) 409 this.availableStartTime = null; 410 else { 411 if (this.availableStartTime == null) 412 this.availableStartTime = new TimeType(); 413 this.availableStartTime.setValue(value); 414 } 415 return this; 416 } 417 418 /** 419 * @return {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value 420 */ 421 public TimeType getAvailableEndTimeElement() { 422 if (this.availableEndTime == null) 423 if (Configuration.errorOnAutoCreate()) 424 throw new Error("Attempt to auto-create OrganizationRoleAvailableTimeComponent.availableEndTime"); 425 else if (Configuration.doAutoCreate()) 426 this.availableEndTime = new TimeType(); // bb 427 return this.availableEndTime; 428 } 429 430 public boolean hasAvailableEndTimeElement() { 431 return this.availableEndTime != null && !this.availableEndTime.isEmpty(); 432 } 433 434 public boolean hasAvailableEndTime() { 435 return this.availableEndTime != null && !this.availableEndTime.isEmpty(); 436 } 437 438 /** 439 * @param value {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value 440 */ 441 public OrganizationRoleAvailableTimeComponent setAvailableEndTimeElement(TimeType value) { 442 this.availableEndTime = value; 443 return this; 444 } 445 446 /** 447 * @return The closing time of day. Note: If the AllDay flag is set, then this time is ignored. 448 */ 449 public String getAvailableEndTime() { 450 return this.availableEndTime == null ? null : this.availableEndTime.getValue(); 451 } 452 453 /** 454 * @param value The closing time of day. Note: If the AllDay flag is set, then this time is ignored. 455 */ 456 public OrganizationRoleAvailableTimeComponent setAvailableEndTime(String value) { 457 if (value == null) 458 this.availableEndTime = null; 459 else { 460 if (this.availableEndTime == null) 461 this.availableEndTime = new TimeType(); 462 this.availableEndTime.setValue(value); 463 } 464 return this; 465 } 466 467 protected void listChildren(List<Property> children) { 468 super.listChildren(children); 469 children.add(new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek)); 470 children.add(new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) e.g. 24-hour service.", 0, 1, allDay)); 471 children.add(new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime)); 472 children.add(new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime)); 473 } 474 475 @Override 476 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 477 switch (_hash) { 478 case 68050338: /*daysOfWeek*/ return new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek); 479 case -1414913477: /*allDay*/ return new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) e.g. 24-hour service.", 0, 1, allDay); 480 case -1039453818: /*availableStartTime*/ return new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime); 481 case 101151551: /*availableEndTime*/ return new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime); 482 default: return super.getNamedProperty(_hash, _name, _checkValid); 483 } 484 485 } 486 487 @Override 488 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 489 switch (hash) { 490 case 68050338: /*daysOfWeek*/ return this.daysOfWeek == null ? new Base[0] : this.daysOfWeek.toArray(new Base[this.daysOfWeek.size()]); // Enumeration<DaysOfWeek> 491 case -1414913477: /*allDay*/ return this.allDay == null ? new Base[0] : new Base[] {this.allDay}; // BooleanType 492 case -1039453818: /*availableStartTime*/ return this.availableStartTime == null ? new Base[0] : new Base[] {this.availableStartTime}; // TimeType 493 case 101151551: /*availableEndTime*/ return this.availableEndTime == null ? new Base[0] : new Base[] {this.availableEndTime}; // TimeType 494 default: return super.getProperty(hash, name, checkValid); 495 } 496 497 } 498 499 @Override 500 public Base setProperty(int hash, String name, Base value) throws FHIRException { 501 switch (hash) { 502 case 68050338: // daysOfWeek 503 value = new DaysOfWeekEnumFactory().fromType(castToCode(value)); 504 this.getDaysOfWeek().add((Enumeration) value); // Enumeration<DaysOfWeek> 505 return value; 506 case -1414913477: // allDay 507 this.allDay = castToBoolean(value); // BooleanType 508 return value; 509 case -1039453818: // availableStartTime 510 this.availableStartTime = castToTime(value); // TimeType 511 return value; 512 case 101151551: // availableEndTime 513 this.availableEndTime = castToTime(value); // TimeType 514 return value; 515 default: return super.setProperty(hash, name, value); 516 } 517 518 } 519 520 @Override 521 public Base setProperty(String name, Base value) throws FHIRException { 522 if (name.equals("daysOfWeek")) { 523 value = new DaysOfWeekEnumFactory().fromType(castToCode(value)); 524 this.getDaysOfWeek().add((Enumeration) value); 525 } else if (name.equals("allDay")) { 526 this.allDay = castToBoolean(value); // BooleanType 527 } else if (name.equals("availableStartTime")) { 528 this.availableStartTime = castToTime(value); // TimeType 529 } else if (name.equals("availableEndTime")) { 530 this.availableEndTime = castToTime(value); // TimeType 531 } else 532 return super.setProperty(name, value); 533 return value; 534 } 535 536 @Override 537 public Base makeProperty(int hash, String name) throws FHIRException { 538 switch (hash) { 539 case 68050338: return addDaysOfWeekElement(); 540 case -1414913477: return getAllDayElement(); 541 case -1039453818: return getAvailableStartTimeElement(); 542 case 101151551: return getAvailableEndTimeElement(); 543 default: return super.makeProperty(hash, name); 544 } 545 546 } 547 548 @Override 549 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 550 switch (hash) { 551 case 68050338: /*daysOfWeek*/ return new String[] {"code"}; 552 case -1414913477: /*allDay*/ return new String[] {"boolean"}; 553 case -1039453818: /*availableStartTime*/ return new String[] {"time"}; 554 case 101151551: /*availableEndTime*/ return new String[] {"time"}; 555 default: return super.getTypesForProperty(hash, name); 556 } 557 558 } 559 560 @Override 561 public Base addChild(String name) throws FHIRException { 562 if (name.equals("daysOfWeek")) { 563 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.daysOfWeek"); 564 } 565 else if (name.equals("allDay")) { 566 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.allDay"); 567 } 568 else if (name.equals("availableStartTime")) { 569 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.availableStartTime"); 570 } 571 else if (name.equals("availableEndTime")) { 572 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.availableEndTime"); 573 } 574 else 575 return super.addChild(name); 576 } 577 578 public OrganizationRoleAvailableTimeComponent copy() { 579 OrganizationRoleAvailableTimeComponent dst = new OrganizationRoleAvailableTimeComponent(); 580 copyValues(dst); 581 if (daysOfWeek != null) { 582 dst.daysOfWeek = new ArrayList<Enumeration<DaysOfWeek>>(); 583 for (Enumeration<DaysOfWeek> i : daysOfWeek) 584 dst.daysOfWeek.add(i.copy()); 585 }; 586 dst.allDay = allDay == null ? null : allDay.copy(); 587 dst.availableStartTime = availableStartTime == null ? null : availableStartTime.copy(); 588 dst.availableEndTime = availableEndTime == null ? null : availableEndTime.copy(); 589 return dst; 590 } 591 592 @Override 593 public boolean equalsDeep(Base other_) { 594 if (!super.equalsDeep(other_)) 595 return false; 596 if (!(other_ instanceof OrganizationRoleAvailableTimeComponent)) 597 return false; 598 OrganizationRoleAvailableTimeComponent o = (OrganizationRoleAvailableTimeComponent) other_; 599 return compareDeep(daysOfWeek, o.daysOfWeek, true) && compareDeep(allDay, o.allDay, true) && compareDeep(availableStartTime, o.availableStartTime, true) 600 && compareDeep(availableEndTime, o.availableEndTime, true); 601 } 602 603 @Override 604 public boolean equalsShallow(Base other_) { 605 if (!super.equalsShallow(other_)) 606 return false; 607 if (!(other_ instanceof OrganizationRoleAvailableTimeComponent)) 608 return false; 609 OrganizationRoleAvailableTimeComponent o = (OrganizationRoleAvailableTimeComponent) other_; 610 return compareValues(daysOfWeek, o.daysOfWeek, true) && compareValues(allDay, o.allDay, true) && compareValues(availableStartTime, o.availableStartTime, true) 611 && compareValues(availableEndTime, o.availableEndTime, true); 612 } 613 614 public boolean isEmpty() { 615 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(daysOfWeek, allDay, availableStartTime 616 , availableEndTime); 617 } 618 619 public String fhirType() { 620 return "OrganizationRole.availableTime"; 621 622 } 623 624 } 625 626 @Block() 627 public static class OrganizationRoleNotAvailableComponent extends BackboneElement implements IBaseBackboneElement { 628 /** 629 * The reason that can be presented to the user as to why this time is not available. 630 */ 631 @Child(name = "description", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) 632 @Description(shortDefinition="Reason presented to the user explaining why time not available", formalDefinition="The reason that can be presented to the user as to why this time is not available." ) 633 protected StringType description; 634 635 /** 636 * Service is not available (seasonally or for a public holiday) from this date. 637 */ 638 @Child(name = "during", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=false) 639 @Description(shortDefinition="Service not available from this date", formalDefinition="Service is not available (seasonally or for a public holiday) from this date." ) 640 protected Period during; 641 642 private static final long serialVersionUID = 310849929L; 643 644 /** 645 * Constructor 646 */ 647 public OrganizationRoleNotAvailableComponent() { 648 super(); 649 } 650 651 /** 652 * Constructor 653 */ 654 public OrganizationRoleNotAvailableComponent(StringType description) { 655 super(); 656 this.description = description; 657 } 658 659 /** 660 * @return {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 661 */ 662 public StringType getDescriptionElement() { 663 if (this.description == null) 664 if (Configuration.errorOnAutoCreate()) 665 throw new Error("Attempt to auto-create OrganizationRoleNotAvailableComponent.description"); 666 else if (Configuration.doAutoCreate()) 667 this.description = new StringType(); // bb 668 return this.description; 669 } 670 671 public boolean hasDescriptionElement() { 672 return this.description != null && !this.description.isEmpty(); 673 } 674 675 public boolean hasDescription() { 676 return this.description != null && !this.description.isEmpty(); 677 } 678 679 /** 680 * @param value {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 681 */ 682 public OrganizationRoleNotAvailableComponent setDescriptionElement(StringType value) { 683 this.description = value; 684 return this; 685 } 686 687 /** 688 * @return The reason that can be presented to the user as to why this time is not available. 689 */ 690 public String getDescription() { 691 return this.description == null ? null : this.description.getValue(); 692 } 693 694 /** 695 * @param value The reason that can be presented to the user as to why this time is not available. 696 */ 697 public OrganizationRoleNotAvailableComponent setDescription(String value) { 698 if (this.description == null) 699 this.description = new StringType(); 700 this.description.setValue(value); 701 return this; 702 } 703 704 /** 705 * @return {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) 706 */ 707 public Period getDuring() { 708 if (this.during == null) 709 if (Configuration.errorOnAutoCreate()) 710 throw new Error("Attempt to auto-create OrganizationRoleNotAvailableComponent.during"); 711 else if (Configuration.doAutoCreate()) 712 this.during = new Period(); // cc 713 return this.during; 714 } 715 716 public boolean hasDuring() { 717 return this.during != null && !this.during.isEmpty(); 718 } 719 720 /** 721 * @param value {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) 722 */ 723 public OrganizationRoleNotAvailableComponent setDuring(Period value) { 724 this.during = value; 725 return this; 726 } 727 728 protected void listChildren(List<Property> children) { 729 super.listChildren(children); 730 children.add(new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description)); 731 children.add(new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during)); 732 } 733 734 @Override 735 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 736 switch (_hash) { 737 case -1724546052: /*description*/ return new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description); 738 case -1320499647: /*during*/ return new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during); 739 default: return super.getNamedProperty(_hash, _name, _checkValid); 740 } 741 742 } 743 744 @Override 745 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 746 switch (hash) { 747 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 748 case -1320499647: /*during*/ return this.during == null ? new Base[0] : new Base[] {this.during}; // Period 749 default: return super.getProperty(hash, name, checkValid); 750 } 751 752 } 753 754 @Override 755 public Base setProperty(int hash, String name, Base value) throws FHIRException { 756 switch (hash) { 757 case -1724546052: // description 758 this.description = castToString(value); // StringType 759 return value; 760 case -1320499647: // during 761 this.during = castToPeriod(value); // Period 762 return value; 763 default: return super.setProperty(hash, name, value); 764 } 765 766 } 767 768 @Override 769 public Base setProperty(String name, Base value) throws FHIRException { 770 if (name.equals("description")) { 771 this.description = castToString(value); // StringType 772 } else if (name.equals("during")) { 773 this.during = castToPeriod(value); // Period 774 } else 775 return super.setProperty(name, value); 776 return value; 777 } 778 779 @Override 780 public Base makeProperty(int hash, String name) throws FHIRException { 781 switch (hash) { 782 case -1724546052: return getDescriptionElement(); 783 case -1320499647: return getDuring(); 784 default: return super.makeProperty(hash, name); 785 } 786 787 } 788 789 @Override 790 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 791 switch (hash) { 792 case -1724546052: /*description*/ return new String[] {"string"}; 793 case -1320499647: /*during*/ return new String[] {"Period"}; 794 default: return super.getTypesForProperty(hash, name); 795 } 796 797 } 798 799 @Override 800 public Base addChild(String name) throws FHIRException { 801 if (name.equals("description")) { 802 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.description"); 803 } 804 else if (name.equals("during")) { 805 this.during = new Period(); 806 return this.during; 807 } 808 else 809 return super.addChild(name); 810 } 811 812 public OrganizationRoleNotAvailableComponent copy() { 813 OrganizationRoleNotAvailableComponent dst = new OrganizationRoleNotAvailableComponent(); 814 copyValues(dst); 815 dst.description = description == null ? null : description.copy(); 816 dst.during = during == null ? null : during.copy(); 817 return dst; 818 } 819 820 @Override 821 public boolean equalsDeep(Base other_) { 822 if (!super.equalsDeep(other_)) 823 return false; 824 if (!(other_ instanceof OrganizationRoleNotAvailableComponent)) 825 return false; 826 OrganizationRoleNotAvailableComponent o = (OrganizationRoleNotAvailableComponent) other_; 827 return compareDeep(description, o.description, true) && compareDeep(during, o.during, true); 828 } 829 830 @Override 831 public boolean equalsShallow(Base other_) { 832 if (!super.equalsShallow(other_)) 833 return false; 834 if (!(other_ instanceof OrganizationRoleNotAvailableComponent)) 835 return false; 836 OrganizationRoleNotAvailableComponent o = (OrganizationRoleNotAvailableComponent) other_; 837 return compareValues(description, o.description, true); 838 } 839 840 public boolean isEmpty() { 841 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, during); 842 } 843 844 public String fhirType() { 845 return "OrganizationRole.notAvailable"; 846 847 } 848 849 } 850 851 /** 852 * Business Identifiers that are specific to a role/location. 853 */ 854 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 855 @Description(shortDefinition="Business Identifiers that are specific to a role/location", formalDefinition="Business Identifiers that are specific to a role/location." ) 856 protected List<Identifier> identifier; 857 858 /** 859 * Whether this practitioner role record is in active use. 860 */ 861 @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=true) 862 @Description(shortDefinition="Whether this practitioner role record is in active use", formalDefinition="Whether this practitioner role record is in active use." ) 863 protected BooleanType active; 864 865 /** 866 * The period during which the person is authorized to act as a practitioner in these role(s) for the organization. 867 */ 868 @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) 869 @Description(shortDefinition="The period during which the practitioner is authorized to perform in these role(s)", formalDefinition="The period during which the person is authorized to act as a practitioner in these role(s) for the organization." ) 870 protected Period period; 871 872 /** 873 * The organization where the Practitioner performs the roles associated. 874 */ 875 @Child(name = "organization", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=true) 876 @Description(shortDefinition="Organization where the roles are available", formalDefinition="The organization where the Practitioner performs the roles associated." ) 877 protected Reference organization; 878 879 /** 880 * The actual object that is the target of the reference (The organization where the Practitioner performs the roles associated.) 881 */ 882 protected Organization organizationTarget; 883 884 /** 885 * Practitioner that is able to provide the defined services for the organization. 886 */ 887 @Child(name = "participatingOrganization", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=true) 888 @Description(shortDefinition="Practitioner that is able to provide the defined services for the organization", formalDefinition="Practitioner that is able to provide the defined services for the organization." ) 889 protected Reference participatingOrganization; 890 891 /** 892 * The actual object that is the target of the reference (Practitioner that is able to provide the defined services for the organization.) 893 */ 894 protected Organization participatingOrganizationTarget; 895 896 /** 897 * The network(s) this association applies to (if any). 898 */ 899 @Child(name = "network", type = {Organization.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 900 @Description(shortDefinition="The network(s) this association applies to", formalDefinition="The network(s) this association applies to (if any)." ) 901 protected List<Reference> network; 902 /** 903 * The actual objects that are the target of the reference (The network(s) this association applies to (if any).) 904 */ 905 protected List<Organization> networkTarget; 906 907 908 /** 909 * Roles which this practitioner is authorized to perform for the organization. 910 */ 911 @Child(name = "code", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 912 @Description(shortDefinition="Roles which this practitioner may perform", formalDefinition="Roles which this practitioner is authorized to perform for the organization." ) 913 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/organization-role") 914 protected List<CodeableConcept> code; 915 916 /** 917 * Specific specialty of the practitioner. 918 */ 919 @Child(name = "specialty", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 920 @Description(shortDefinition="Specific specialty of the practitioner", formalDefinition="Specific specialty of the practitioner." ) 921 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") 922 protected List<CodeableConcept> specialty; 923 924 /** 925 * The location(s) at which this practitioner provides care. 926 */ 927 @Child(name = "location", type = {Location.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 928 @Description(shortDefinition="The location(s) at which this practitioner provides care", formalDefinition="The location(s) at which this practitioner provides care." ) 929 protected List<Reference> location; 930 /** 931 * The actual objects that are the target of the reference (The location(s) at which this practitioner provides care.) 932 */ 933 protected List<Location> locationTarget; 934 935 936 /** 937 * The list of healthcare services that this worker provides for this role's Organization/Location(s). 938 */ 939 @Child(name = "healthcareService", type = {HealthcareService.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 940 @Description(shortDefinition="The list of healthcare services that this worker provides for this role's Organization/Location(s)", formalDefinition="The list of healthcare services that this worker provides for this role's Organization/Location(s)." ) 941 protected List<Reference> healthcareService; 942 /** 943 * The actual objects that are the target of the reference (The list of healthcare services that this worker provides for this role's Organization/Location(s).) 944 */ 945 protected List<HealthcareService> healthcareServiceTarget; 946 947 948 /** 949 * Contact details that are specific to the role/location/service. 950 */ 951 @Child(name = "telecom", type = {ContactPoint.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 952 @Description(shortDefinition="Contact details that are specific to the role/location/service", formalDefinition="Contact details that are specific to the role/location/service." ) 953 protected List<ContactPoint> telecom; 954 955 /** 956 * A collection of times that the Service Site is available. 957 */ 958 @Child(name = "availableTime", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 959 @Description(shortDefinition="Times the Service Site is available", formalDefinition="A collection of times that the Service Site is available." ) 960 protected List<OrganizationRoleAvailableTimeComponent> availableTime; 961 962 /** 963 * The HealthcareService is not available during this period of time due to the provided reason. 964 */ 965 @Child(name = "notAvailable", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 966 @Description(shortDefinition="Not available during this time due to provided reason", formalDefinition="The HealthcareService is not available during this period of time due to the provided reason." ) 967 protected List<OrganizationRoleNotAvailableComponent> notAvailable; 968 969 /** 970 * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. 971 */ 972 @Child(name = "availabilityExceptions", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) 973 @Description(shortDefinition="Description of availability exceptions", formalDefinition="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times." ) 974 protected StringType availabilityExceptions; 975 976 /** 977 * Technical endpoints providing access to services operated for the practitioner with this role. 978 */ 979 @Child(name = "endpoint", type = {Endpoint.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 980 @Description(shortDefinition="Technical endpoints providing access to services operated for the practitioner with this role", formalDefinition="Technical endpoints providing access to services operated for the practitioner with this role." ) 981 protected List<Reference> endpoint; 982 /** 983 * The actual objects that are the target of the reference (Technical endpoints providing access to services operated for the practitioner with this role.) 984 */ 985 protected List<Endpoint> endpointTarget; 986 987 988 private static final long serialVersionUID = 1850231735L; 989 990 /** 991 * Constructor 992 */ 993 public OrganizationRole() { 994 super(); 995 } 996 997 /** 998 * @return {@link #identifier} (Business Identifiers that are specific to a role/location.) 999 */ 1000 public List<Identifier> getIdentifier() { 1001 if (this.identifier == null) 1002 this.identifier = new ArrayList<Identifier>(); 1003 return this.identifier; 1004 } 1005 1006 /** 1007 * @return Returns a reference to <code>this</code> for easy method chaining 1008 */ 1009 public OrganizationRole setIdentifier(List<Identifier> theIdentifier) { 1010 this.identifier = theIdentifier; 1011 return this; 1012 } 1013 1014 public boolean hasIdentifier() { 1015 if (this.identifier == null) 1016 return false; 1017 for (Identifier item : this.identifier) 1018 if (!item.isEmpty()) 1019 return true; 1020 return false; 1021 } 1022 1023 public Identifier addIdentifier() { //3 1024 Identifier t = new Identifier(); 1025 if (this.identifier == null) 1026 this.identifier = new ArrayList<Identifier>(); 1027 this.identifier.add(t); 1028 return t; 1029 } 1030 1031 public OrganizationRole addIdentifier(Identifier t) { //3 1032 if (t == null) 1033 return this; 1034 if (this.identifier == null) 1035 this.identifier = new ArrayList<Identifier>(); 1036 this.identifier.add(t); 1037 return this; 1038 } 1039 1040 /** 1041 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 1042 */ 1043 public Identifier getIdentifierFirstRep() { 1044 if (getIdentifier().isEmpty()) { 1045 addIdentifier(); 1046 } 1047 return getIdentifier().get(0); 1048 } 1049 1050 /** 1051 * @return {@link #active} (Whether this practitioner role record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 1052 */ 1053 public BooleanType getActiveElement() { 1054 if (this.active == null) 1055 if (Configuration.errorOnAutoCreate()) 1056 throw new Error("Attempt to auto-create OrganizationRole.active"); 1057 else if (Configuration.doAutoCreate()) 1058 this.active = new BooleanType(); // bb 1059 return this.active; 1060 } 1061 1062 public boolean hasActiveElement() { 1063 return this.active != null && !this.active.isEmpty(); 1064 } 1065 1066 public boolean hasActive() { 1067 return this.active != null && !this.active.isEmpty(); 1068 } 1069 1070 /** 1071 * @param value {@link #active} (Whether this practitioner role record is in active use.). This is the underlying object with id, value and extensions. The accessor "getActive" gives direct access to the value 1072 */ 1073 public OrganizationRole setActiveElement(BooleanType value) { 1074 this.active = value; 1075 return this; 1076 } 1077 1078 /** 1079 * @return Whether this practitioner role record is in active use. 1080 */ 1081 public boolean getActive() { 1082 return this.active == null || this.active.isEmpty() ? false : this.active.getValue(); 1083 } 1084 1085 /** 1086 * @param value Whether this practitioner role record is in active use. 1087 */ 1088 public OrganizationRole setActive(boolean value) { 1089 if (this.active == null) 1090 this.active = new BooleanType(); 1091 this.active.setValue(value); 1092 return this; 1093 } 1094 1095 /** 1096 * @return {@link #period} (The period during which the person is authorized to act as a practitioner in these role(s) for the organization.) 1097 */ 1098 public Period getPeriod() { 1099 if (this.period == null) 1100 if (Configuration.errorOnAutoCreate()) 1101 throw new Error("Attempt to auto-create OrganizationRole.period"); 1102 else if (Configuration.doAutoCreate()) 1103 this.period = new Period(); // cc 1104 return this.period; 1105 } 1106 1107 public boolean hasPeriod() { 1108 return this.period != null && !this.period.isEmpty(); 1109 } 1110 1111 /** 1112 * @param value {@link #period} (The period during which the person is authorized to act as a practitioner in these role(s) for the organization.) 1113 */ 1114 public OrganizationRole setPeriod(Period value) { 1115 this.period = value; 1116 return this; 1117 } 1118 1119 /** 1120 * @return {@link #organization} (The organization where the Practitioner performs the roles associated.) 1121 */ 1122 public Reference getOrganization() { 1123 if (this.organization == null) 1124 if (Configuration.errorOnAutoCreate()) 1125 throw new Error("Attempt to auto-create OrganizationRole.organization"); 1126 else if (Configuration.doAutoCreate()) 1127 this.organization = new Reference(); // cc 1128 return this.organization; 1129 } 1130 1131 public boolean hasOrganization() { 1132 return this.organization != null && !this.organization.isEmpty(); 1133 } 1134 1135 /** 1136 * @param value {@link #organization} (The organization where the Practitioner performs the roles associated.) 1137 */ 1138 public OrganizationRole setOrganization(Reference value) { 1139 this.organization = value; 1140 return this; 1141 } 1142 1143 /** 1144 * @return {@link #organization} 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 organization where the Practitioner performs the roles associated.) 1145 */ 1146 public Organization getOrganizationTarget() { 1147 if (this.organizationTarget == null) 1148 if (Configuration.errorOnAutoCreate()) 1149 throw new Error("Attempt to auto-create OrganizationRole.organization"); 1150 else if (Configuration.doAutoCreate()) 1151 this.organizationTarget = new Organization(); // aa 1152 return this.organizationTarget; 1153 } 1154 1155 /** 1156 * @param value {@link #organization} 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 organization where the Practitioner performs the roles associated.) 1157 */ 1158 public OrganizationRole setOrganizationTarget(Organization value) { 1159 this.organizationTarget = value; 1160 return this; 1161 } 1162 1163 /** 1164 * @return {@link #participatingOrganization} (Practitioner that is able to provide the defined services for the organization.) 1165 */ 1166 public Reference getParticipatingOrganization() { 1167 if (this.participatingOrganization == null) 1168 if (Configuration.errorOnAutoCreate()) 1169 throw new Error("Attempt to auto-create OrganizationRole.participatingOrganization"); 1170 else if (Configuration.doAutoCreate()) 1171 this.participatingOrganization = new Reference(); // cc 1172 return this.participatingOrganization; 1173 } 1174 1175 public boolean hasParticipatingOrganization() { 1176 return this.participatingOrganization != null && !this.participatingOrganization.isEmpty(); 1177 } 1178 1179 /** 1180 * @param value {@link #participatingOrganization} (Practitioner that is able to provide the defined services for the organization.) 1181 */ 1182 public OrganizationRole setParticipatingOrganization(Reference value) { 1183 this.participatingOrganization = value; 1184 return this; 1185 } 1186 1187 /** 1188 * @return {@link #participatingOrganization} 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. (Practitioner that is able to provide the defined services for the organization.) 1189 */ 1190 public Organization getParticipatingOrganizationTarget() { 1191 if (this.participatingOrganizationTarget == null) 1192 if (Configuration.errorOnAutoCreate()) 1193 throw new Error("Attempt to auto-create OrganizationRole.participatingOrganization"); 1194 else if (Configuration.doAutoCreate()) 1195 this.participatingOrganizationTarget = new Organization(); // aa 1196 return this.participatingOrganizationTarget; 1197 } 1198 1199 /** 1200 * @param value {@link #participatingOrganization} 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. (Practitioner that is able to provide the defined services for the organization.) 1201 */ 1202 public OrganizationRole setParticipatingOrganizationTarget(Organization value) { 1203 this.participatingOrganizationTarget = value; 1204 return this; 1205 } 1206 1207 /** 1208 * @return {@link #network} (The network(s) this association applies to (if any).) 1209 */ 1210 public List<Reference> getNetwork() { 1211 if (this.network == null) 1212 this.network = new ArrayList<Reference>(); 1213 return this.network; 1214 } 1215 1216 /** 1217 * @return Returns a reference to <code>this</code> for easy method chaining 1218 */ 1219 public OrganizationRole setNetwork(List<Reference> theNetwork) { 1220 this.network = theNetwork; 1221 return this; 1222 } 1223 1224 public boolean hasNetwork() { 1225 if (this.network == null) 1226 return false; 1227 for (Reference item : this.network) 1228 if (!item.isEmpty()) 1229 return true; 1230 return false; 1231 } 1232 1233 public Reference addNetwork() { //3 1234 Reference t = new Reference(); 1235 if (this.network == null) 1236 this.network = new ArrayList<Reference>(); 1237 this.network.add(t); 1238 return t; 1239 } 1240 1241 public OrganizationRole addNetwork(Reference t) { //3 1242 if (t == null) 1243 return this; 1244 if (this.network == null) 1245 this.network = new ArrayList<Reference>(); 1246 this.network.add(t); 1247 return this; 1248 } 1249 1250 /** 1251 * @return The first repetition of repeating field {@link #network}, creating it if it does not already exist 1252 */ 1253 public Reference getNetworkFirstRep() { 1254 if (getNetwork().isEmpty()) { 1255 addNetwork(); 1256 } 1257 return getNetwork().get(0); 1258 } 1259 1260 /** 1261 * @deprecated Use Reference#setResource(IBaseResource) instead 1262 */ 1263 @Deprecated 1264 public List<Organization> getNetworkTarget() { 1265 if (this.networkTarget == null) 1266 this.networkTarget = new ArrayList<Organization>(); 1267 return this.networkTarget; 1268 } 1269 1270 /** 1271 * @deprecated Use Reference#setResource(IBaseResource) instead 1272 */ 1273 @Deprecated 1274 public Organization addNetworkTarget() { 1275 Organization r = new Organization(); 1276 if (this.networkTarget == null) 1277 this.networkTarget = new ArrayList<Organization>(); 1278 this.networkTarget.add(r); 1279 return r; 1280 } 1281 1282 /** 1283 * @return {@link #code} (Roles which this practitioner is authorized to perform for the organization.) 1284 */ 1285 public List<CodeableConcept> getCode() { 1286 if (this.code == null) 1287 this.code = new ArrayList<CodeableConcept>(); 1288 return this.code; 1289 } 1290 1291 /** 1292 * @return Returns a reference to <code>this</code> for easy method chaining 1293 */ 1294 public OrganizationRole setCode(List<CodeableConcept> theCode) { 1295 this.code = theCode; 1296 return this; 1297 } 1298 1299 public boolean hasCode() { 1300 if (this.code == null) 1301 return false; 1302 for (CodeableConcept item : this.code) 1303 if (!item.isEmpty()) 1304 return true; 1305 return false; 1306 } 1307 1308 public CodeableConcept addCode() { //3 1309 CodeableConcept t = new CodeableConcept(); 1310 if (this.code == null) 1311 this.code = new ArrayList<CodeableConcept>(); 1312 this.code.add(t); 1313 return t; 1314 } 1315 1316 public OrganizationRole addCode(CodeableConcept t) { //3 1317 if (t == null) 1318 return this; 1319 if (this.code == null) 1320 this.code = new ArrayList<CodeableConcept>(); 1321 this.code.add(t); 1322 return this; 1323 } 1324 1325 /** 1326 * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist 1327 */ 1328 public CodeableConcept getCodeFirstRep() { 1329 if (getCode().isEmpty()) { 1330 addCode(); 1331 } 1332 return getCode().get(0); 1333 } 1334 1335 /** 1336 * @return {@link #specialty} (Specific specialty of the practitioner.) 1337 */ 1338 public List<CodeableConcept> getSpecialty() { 1339 if (this.specialty == null) 1340 this.specialty = new ArrayList<CodeableConcept>(); 1341 return this.specialty; 1342 } 1343 1344 /** 1345 * @return Returns a reference to <code>this</code> for easy method chaining 1346 */ 1347 public OrganizationRole setSpecialty(List<CodeableConcept> theSpecialty) { 1348 this.specialty = theSpecialty; 1349 return this; 1350 } 1351 1352 public boolean hasSpecialty() { 1353 if (this.specialty == null) 1354 return false; 1355 for (CodeableConcept item : this.specialty) 1356 if (!item.isEmpty()) 1357 return true; 1358 return false; 1359 } 1360 1361 public CodeableConcept addSpecialty() { //3 1362 CodeableConcept t = new CodeableConcept(); 1363 if (this.specialty == null) 1364 this.specialty = new ArrayList<CodeableConcept>(); 1365 this.specialty.add(t); 1366 return t; 1367 } 1368 1369 public OrganizationRole addSpecialty(CodeableConcept t) { //3 1370 if (t == null) 1371 return this; 1372 if (this.specialty == null) 1373 this.specialty = new ArrayList<CodeableConcept>(); 1374 this.specialty.add(t); 1375 return this; 1376 } 1377 1378 /** 1379 * @return The first repetition of repeating field {@link #specialty}, creating it if it does not already exist 1380 */ 1381 public CodeableConcept getSpecialtyFirstRep() { 1382 if (getSpecialty().isEmpty()) { 1383 addSpecialty(); 1384 } 1385 return getSpecialty().get(0); 1386 } 1387 1388 /** 1389 * @return {@link #location} (The location(s) at which this practitioner provides care.) 1390 */ 1391 public List<Reference> getLocation() { 1392 if (this.location == null) 1393 this.location = new ArrayList<Reference>(); 1394 return this.location; 1395 } 1396 1397 /** 1398 * @return Returns a reference to <code>this</code> for easy method chaining 1399 */ 1400 public OrganizationRole setLocation(List<Reference> theLocation) { 1401 this.location = theLocation; 1402 return this; 1403 } 1404 1405 public boolean hasLocation() { 1406 if (this.location == null) 1407 return false; 1408 for (Reference item : this.location) 1409 if (!item.isEmpty()) 1410 return true; 1411 return false; 1412 } 1413 1414 public Reference addLocation() { //3 1415 Reference t = new Reference(); 1416 if (this.location == null) 1417 this.location = new ArrayList<Reference>(); 1418 this.location.add(t); 1419 return t; 1420 } 1421 1422 public OrganizationRole addLocation(Reference t) { //3 1423 if (t == null) 1424 return this; 1425 if (this.location == null) 1426 this.location = new ArrayList<Reference>(); 1427 this.location.add(t); 1428 return this; 1429 } 1430 1431 /** 1432 * @return The first repetition of repeating field {@link #location}, creating it if it does not already exist 1433 */ 1434 public Reference getLocationFirstRep() { 1435 if (getLocation().isEmpty()) { 1436 addLocation(); 1437 } 1438 return getLocation().get(0); 1439 } 1440 1441 /** 1442 * @deprecated Use Reference#setResource(IBaseResource) instead 1443 */ 1444 @Deprecated 1445 public List<Location> getLocationTarget() { 1446 if (this.locationTarget == null) 1447 this.locationTarget = new ArrayList<Location>(); 1448 return this.locationTarget; 1449 } 1450 1451 /** 1452 * @deprecated Use Reference#setResource(IBaseResource) instead 1453 */ 1454 @Deprecated 1455 public Location addLocationTarget() { 1456 Location r = new Location(); 1457 if (this.locationTarget == null) 1458 this.locationTarget = new ArrayList<Location>(); 1459 this.locationTarget.add(r); 1460 return r; 1461 } 1462 1463 /** 1464 * @return {@link #healthcareService} (The list of healthcare services that this worker provides for this role's Organization/Location(s).) 1465 */ 1466 public List<Reference> getHealthcareService() { 1467 if (this.healthcareService == null) 1468 this.healthcareService = new ArrayList<Reference>(); 1469 return this.healthcareService; 1470 } 1471 1472 /** 1473 * @return Returns a reference to <code>this</code> for easy method chaining 1474 */ 1475 public OrganizationRole setHealthcareService(List<Reference> theHealthcareService) { 1476 this.healthcareService = theHealthcareService; 1477 return this; 1478 } 1479 1480 public boolean hasHealthcareService() { 1481 if (this.healthcareService == null) 1482 return false; 1483 for (Reference item : this.healthcareService) 1484 if (!item.isEmpty()) 1485 return true; 1486 return false; 1487 } 1488 1489 public Reference addHealthcareService() { //3 1490 Reference t = new Reference(); 1491 if (this.healthcareService == null) 1492 this.healthcareService = new ArrayList<Reference>(); 1493 this.healthcareService.add(t); 1494 return t; 1495 } 1496 1497 public OrganizationRole addHealthcareService(Reference t) { //3 1498 if (t == null) 1499 return this; 1500 if (this.healthcareService == null) 1501 this.healthcareService = new ArrayList<Reference>(); 1502 this.healthcareService.add(t); 1503 return this; 1504 } 1505 1506 /** 1507 * @return The first repetition of repeating field {@link #healthcareService}, creating it if it does not already exist 1508 */ 1509 public Reference getHealthcareServiceFirstRep() { 1510 if (getHealthcareService().isEmpty()) { 1511 addHealthcareService(); 1512 } 1513 return getHealthcareService().get(0); 1514 } 1515 1516 /** 1517 * @deprecated Use Reference#setResource(IBaseResource) instead 1518 */ 1519 @Deprecated 1520 public List<HealthcareService> getHealthcareServiceTarget() { 1521 if (this.healthcareServiceTarget == null) 1522 this.healthcareServiceTarget = new ArrayList<HealthcareService>(); 1523 return this.healthcareServiceTarget; 1524 } 1525 1526 /** 1527 * @deprecated Use Reference#setResource(IBaseResource) instead 1528 */ 1529 @Deprecated 1530 public HealthcareService addHealthcareServiceTarget() { 1531 HealthcareService r = new HealthcareService(); 1532 if (this.healthcareServiceTarget == null) 1533 this.healthcareServiceTarget = new ArrayList<HealthcareService>(); 1534 this.healthcareServiceTarget.add(r); 1535 return r; 1536 } 1537 1538 /** 1539 * @return {@link #telecom} (Contact details that are specific to the role/location/service.) 1540 */ 1541 public List<ContactPoint> getTelecom() { 1542 if (this.telecom == null) 1543 this.telecom = new ArrayList<ContactPoint>(); 1544 return this.telecom; 1545 } 1546 1547 /** 1548 * @return Returns a reference to <code>this</code> for easy method chaining 1549 */ 1550 public OrganizationRole setTelecom(List<ContactPoint> theTelecom) { 1551 this.telecom = theTelecom; 1552 return this; 1553 } 1554 1555 public boolean hasTelecom() { 1556 if (this.telecom == null) 1557 return false; 1558 for (ContactPoint item : this.telecom) 1559 if (!item.isEmpty()) 1560 return true; 1561 return false; 1562 } 1563 1564 public ContactPoint addTelecom() { //3 1565 ContactPoint t = new ContactPoint(); 1566 if (this.telecom == null) 1567 this.telecom = new ArrayList<ContactPoint>(); 1568 this.telecom.add(t); 1569 return t; 1570 } 1571 1572 public OrganizationRole addTelecom(ContactPoint t) { //3 1573 if (t == null) 1574 return this; 1575 if (this.telecom == null) 1576 this.telecom = new ArrayList<ContactPoint>(); 1577 this.telecom.add(t); 1578 return this; 1579 } 1580 1581 /** 1582 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist 1583 */ 1584 public ContactPoint getTelecomFirstRep() { 1585 if (getTelecom().isEmpty()) { 1586 addTelecom(); 1587 } 1588 return getTelecom().get(0); 1589 } 1590 1591 /** 1592 * @return {@link #availableTime} (A collection of times that the Service Site is available.) 1593 */ 1594 public List<OrganizationRoleAvailableTimeComponent> getAvailableTime() { 1595 if (this.availableTime == null) 1596 this.availableTime = new ArrayList<OrganizationRoleAvailableTimeComponent>(); 1597 return this.availableTime; 1598 } 1599 1600 /** 1601 * @return Returns a reference to <code>this</code> for easy method chaining 1602 */ 1603 public OrganizationRole setAvailableTime(List<OrganizationRoleAvailableTimeComponent> theAvailableTime) { 1604 this.availableTime = theAvailableTime; 1605 return this; 1606 } 1607 1608 public boolean hasAvailableTime() { 1609 if (this.availableTime == null) 1610 return false; 1611 for (OrganizationRoleAvailableTimeComponent item : this.availableTime) 1612 if (!item.isEmpty()) 1613 return true; 1614 return false; 1615 } 1616 1617 public OrganizationRoleAvailableTimeComponent addAvailableTime() { //3 1618 OrganizationRoleAvailableTimeComponent t = new OrganizationRoleAvailableTimeComponent(); 1619 if (this.availableTime == null) 1620 this.availableTime = new ArrayList<OrganizationRoleAvailableTimeComponent>(); 1621 this.availableTime.add(t); 1622 return t; 1623 } 1624 1625 public OrganizationRole addAvailableTime(OrganizationRoleAvailableTimeComponent t) { //3 1626 if (t == null) 1627 return this; 1628 if (this.availableTime == null) 1629 this.availableTime = new ArrayList<OrganizationRoleAvailableTimeComponent>(); 1630 this.availableTime.add(t); 1631 return this; 1632 } 1633 1634 /** 1635 * @return The first repetition of repeating field {@link #availableTime}, creating it if it does not already exist 1636 */ 1637 public OrganizationRoleAvailableTimeComponent getAvailableTimeFirstRep() { 1638 if (getAvailableTime().isEmpty()) { 1639 addAvailableTime(); 1640 } 1641 return getAvailableTime().get(0); 1642 } 1643 1644 /** 1645 * @return {@link #notAvailable} (The HealthcareService is not available during this period of time due to the provided reason.) 1646 */ 1647 public List<OrganizationRoleNotAvailableComponent> getNotAvailable() { 1648 if (this.notAvailable == null) 1649 this.notAvailable = new ArrayList<OrganizationRoleNotAvailableComponent>(); 1650 return this.notAvailable; 1651 } 1652 1653 /** 1654 * @return Returns a reference to <code>this</code> for easy method chaining 1655 */ 1656 public OrganizationRole setNotAvailable(List<OrganizationRoleNotAvailableComponent> theNotAvailable) { 1657 this.notAvailable = theNotAvailable; 1658 return this; 1659 } 1660 1661 public boolean hasNotAvailable() { 1662 if (this.notAvailable == null) 1663 return false; 1664 for (OrganizationRoleNotAvailableComponent item : this.notAvailable) 1665 if (!item.isEmpty()) 1666 return true; 1667 return false; 1668 } 1669 1670 public OrganizationRoleNotAvailableComponent addNotAvailable() { //3 1671 OrganizationRoleNotAvailableComponent t = new OrganizationRoleNotAvailableComponent(); 1672 if (this.notAvailable == null) 1673 this.notAvailable = new ArrayList<OrganizationRoleNotAvailableComponent>(); 1674 this.notAvailable.add(t); 1675 return t; 1676 } 1677 1678 public OrganizationRole addNotAvailable(OrganizationRoleNotAvailableComponent t) { //3 1679 if (t == null) 1680 return this; 1681 if (this.notAvailable == null) 1682 this.notAvailable = new ArrayList<OrganizationRoleNotAvailableComponent>(); 1683 this.notAvailable.add(t); 1684 return this; 1685 } 1686 1687 /** 1688 * @return The first repetition of repeating field {@link #notAvailable}, creating it if it does not already exist 1689 */ 1690 public OrganizationRoleNotAvailableComponent getNotAvailableFirstRep() { 1691 if (getNotAvailable().isEmpty()) { 1692 addNotAvailable(); 1693 } 1694 return getNotAvailable().get(0); 1695 } 1696 1697 /** 1698 * @return {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value 1699 */ 1700 public StringType getAvailabilityExceptionsElement() { 1701 if (this.availabilityExceptions == null) 1702 if (Configuration.errorOnAutoCreate()) 1703 throw new Error("Attempt to auto-create OrganizationRole.availabilityExceptions"); 1704 else if (Configuration.doAutoCreate()) 1705 this.availabilityExceptions = new StringType(); // bb 1706 return this.availabilityExceptions; 1707 } 1708 1709 public boolean hasAvailabilityExceptionsElement() { 1710 return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); 1711 } 1712 1713 public boolean hasAvailabilityExceptions() { 1714 return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); 1715 } 1716 1717 /** 1718 * @param value {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value 1719 */ 1720 public OrganizationRole setAvailabilityExceptionsElement(StringType value) { 1721 this.availabilityExceptions = value; 1722 return this; 1723 } 1724 1725 /** 1726 * @return A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. 1727 */ 1728 public String getAvailabilityExceptions() { 1729 return this.availabilityExceptions == null ? null : this.availabilityExceptions.getValue(); 1730 } 1731 1732 /** 1733 * @param value A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. 1734 */ 1735 public OrganizationRole setAvailabilityExceptions(String value) { 1736 if (Utilities.noString(value)) 1737 this.availabilityExceptions = null; 1738 else { 1739 if (this.availabilityExceptions == null) 1740 this.availabilityExceptions = new StringType(); 1741 this.availabilityExceptions.setValue(value); 1742 } 1743 return this; 1744 } 1745 1746 /** 1747 * @return {@link #endpoint} (Technical endpoints providing access to services operated for the practitioner with this role.) 1748 */ 1749 public List<Reference> getEndpoint() { 1750 if (this.endpoint == null) 1751 this.endpoint = new ArrayList<Reference>(); 1752 return this.endpoint; 1753 } 1754 1755 /** 1756 * @return Returns a reference to <code>this</code> for easy method chaining 1757 */ 1758 public OrganizationRole setEndpoint(List<Reference> theEndpoint) { 1759 this.endpoint = theEndpoint; 1760 return this; 1761 } 1762 1763 public boolean hasEndpoint() { 1764 if (this.endpoint == null) 1765 return false; 1766 for (Reference item : this.endpoint) 1767 if (!item.isEmpty()) 1768 return true; 1769 return false; 1770 } 1771 1772 public Reference addEndpoint() { //3 1773 Reference t = new Reference(); 1774 if (this.endpoint == null) 1775 this.endpoint = new ArrayList<Reference>(); 1776 this.endpoint.add(t); 1777 return t; 1778 } 1779 1780 public OrganizationRole addEndpoint(Reference t) { //3 1781 if (t == null) 1782 return this; 1783 if (this.endpoint == null) 1784 this.endpoint = new ArrayList<Reference>(); 1785 this.endpoint.add(t); 1786 return this; 1787 } 1788 1789 /** 1790 * @return The first repetition of repeating field {@link #endpoint}, creating it if it does not already exist 1791 */ 1792 public Reference getEndpointFirstRep() { 1793 if (getEndpoint().isEmpty()) { 1794 addEndpoint(); 1795 } 1796 return getEndpoint().get(0); 1797 } 1798 1799 /** 1800 * @deprecated Use Reference#setResource(IBaseResource) instead 1801 */ 1802 @Deprecated 1803 public List<Endpoint> getEndpointTarget() { 1804 if (this.endpointTarget == null) 1805 this.endpointTarget = new ArrayList<Endpoint>(); 1806 return this.endpointTarget; 1807 } 1808 1809 /** 1810 * @deprecated Use Reference#setResource(IBaseResource) instead 1811 */ 1812 @Deprecated 1813 public Endpoint addEndpointTarget() { 1814 Endpoint r = new Endpoint(); 1815 if (this.endpointTarget == null) 1816 this.endpointTarget = new ArrayList<Endpoint>(); 1817 this.endpointTarget.add(r); 1818 return r; 1819 } 1820 1821 protected void listChildren(List<Property> children) { 1822 super.listChildren(children); 1823 children.add(new Property("identifier", "Identifier", "Business Identifiers that are specific to a role/location.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1824 children.add(new Property("active", "boolean", "Whether this practitioner role record is in active use.", 0, 1, active)); 1825 children.add(new Property("period", "Period", "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.", 0, 1, period)); 1826 children.add(new Property("organization", "Reference(Organization)", "The organization where the Practitioner performs the roles associated.", 0, 1, organization)); 1827 children.add(new Property("participatingOrganization", "Reference(Organization)", "Practitioner that is able to provide the defined services for the organization.", 0, 1, participatingOrganization)); 1828 children.add(new Property("network", "Reference(Organization)", "The network(s) this association applies to (if any).", 0, java.lang.Integer.MAX_VALUE, network)); 1829 children.add(new Property("code", "CodeableConcept", "Roles which this practitioner is authorized to perform for the organization.", 0, java.lang.Integer.MAX_VALUE, code)); 1830 children.add(new Property("specialty", "CodeableConcept", "Specific specialty of the practitioner.", 0, java.lang.Integer.MAX_VALUE, specialty)); 1831 children.add(new Property("location", "Reference(Location)", "The location(s) at which this practitioner provides care.", 0, java.lang.Integer.MAX_VALUE, location)); 1832 children.add(new Property("healthcareService", "Reference(HealthcareService)", "The list of healthcare services that this worker provides for this role's Organization/Location(s).", 0, java.lang.Integer.MAX_VALUE, healthcareService)); 1833 children.add(new Property("telecom", "ContactPoint", "Contact details that are specific to the role/location/service.", 0, java.lang.Integer.MAX_VALUE, telecom)); 1834 children.add(new Property("availableTime", "", "A collection of times that the Service Site is available.", 0, java.lang.Integer.MAX_VALUE, availableTime)); 1835 children.add(new Property("notAvailable", "", "The HealthcareService is not available during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable)); 1836 children.add(new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions)); 1837 children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the practitioner with this role.", 0, java.lang.Integer.MAX_VALUE, endpoint)); 1838 } 1839 1840 @Override 1841 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1842 switch (_hash) { 1843 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business Identifiers that are specific to a role/location.", 0, java.lang.Integer.MAX_VALUE, identifier); 1844 case -1422950650: /*active*/ return new Property("active", "boolean", "Whether this practitioner role record is in active use.", 0, 1, active); 1845 case -991726143: /*period*/ return new Property("period", "Period", "The period during which the person is authorized to act as a practitioner in these role(s) for the organization.", 0, 1, period); 1846 case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "The organization where the Practitioner performs the roles associated.", 0, 1, organization); 1847 case 1593310702: /*participatingOrganization*/ return new Property("participatingOrganization", "Reference(Organization)", "Practitioner that is able to provide the defined services for the organization.", 0, 1, participatingOrganization); 1848 case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "The network(s) this association applies to (if any).", 0, java.lang.Integer.MAX_VALUE, network); 1849 case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Roles which this practitioner is authorized to perform for the organization.", 0, java.lang.Integer.MAX_VALUE, code); 1850 case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "Specific specialty of the practitioner.", 0, java.lang.Integer.MAX_VALUE, specialty); 1851 case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location(s) at which this practitioner provides care.", 0, java.lang.Integer.MAX_VALUE, location); 1852 case 1289661064: /*healthcareService*/ return new Property("healthcareService", "Reference(HealthcareService)", "The list of healthcare services that this worker provides for this role's Organization/Location(s).", 0, java.lang.Integer.MAX_VALUE, healthcareService); 1853 case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "Contact details that are specific to the role/location/service.", 0, java.lang.Integer.MAX_VALUE, telecom); 1854 case 1873069366: /*availableTime*/ return new Property("availableTime", "", "A collection of times that the Service Site is available.", 0, java.lang.Integer.MAX_VALUE, availableTime); 1855 case -629572298: /*notAvailable*/ return new Property("notAvailable", "", "The HealthcareService is not available during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable); 1856 case -1149143617: /*availabilityExceptions*/ return new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions); 1857 case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the practitioner with this role.", 0, java.lang.Integer.MAX_VALUE, endpoint); 1858 default: return super.getNamedProperty(_hash, _name, _checkValid); 1859 } 1860 1861 } 1862 1863 @Override 1864 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1865 switch (hash) { 1866 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1867 case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType 1868 case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period 1869 case 1178922291: /*organization*/ return this.organization == null ? new Base[0] : new Base[] {this.organization}; // Reference 1870 case 1593310702: /*participatingOrganization*/ return this.participatingOrganization == null ? new Base[0] : new Base[] {this.participatingOrganization}; // Reference 1871 case 1843485230: /*network*/ return this.network == null ? new Base[0] : this.network.toArray(new Base[this.network.size()]); // Reference 1872 case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept 1873 case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : this.specialty.toArray(new Base[this.specialty.size()]); // CodeableConcept 1874 case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // Reference 1875 case 1289661064: /*healthcareService*/ return this.healthcareService == null ? new Base[0] : this.healthcareService.toArray(new Base[this.healthcareService.size()]); // Reference 1876 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 1877 case 1873069366: /*availableTime*/ return this.availableTime == null ? new Base[0] : this.availableTime.toArray(new Base[this.availableTime.size()]); // OrganizationRoleAvailableTimeComponent 1878 case -629572298: /*notAvailable*/ return this.notAvailable == null ? new Base[0] : this.notAvailable.toArray(new Base[this.notAvailable.size()]); // OrganizationRoleNotAvailableComponent 1879 case -1149143617: /*availabilityExceptions*/ return this.availabilityExceptions == null ? new Base[0] : new Base[] {this.availabilityExceptions}; // StringType 1880 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference 1881 default: return super.getProperty(hash, name, checkValid); 1882 } 1883 1884 } 1885 1886 @Override 1887 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1888 switch (hash) { 1889 case -1618432855: // identifier 1890 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1891 return value; 1892 case -1422950650: // active 1893 this.active = castToBoolean(value); // BooleanType 1894 return value; 1895 case -991726143: // period 1896 this.period = castToPeriod(value); // Period 1897 return value; 1898 case 1178922291: // organization 1899 this.organization = castToReference(value); // Reference 1900 return value; 1901 case 1593310702: // participatingOrganization 1902 this.participatingOrganization = castToReference(value); // Reference 1903 return value; 1904 case 1843485230: // network 1905 this.getNetwork().add(castToReference(value)); // Reference 1906 return value; 1907 case 3059181: // code 1908 this.getCode().add(castToCodeableConcept(value)); // CodeableConcept 1909 return value; 1910 case -1694759682: // specialty 1911 this.getSpecialty().add(castToCodeableConcept(value)); // CodeableConcept 1912 return value; 1913 case 1901043637: // location 1914 this.getLocation().add(castToReference(value)); // Reference 1915 return value; 1916 case 1289661064: // healthcareService 1917 this.getHealthcareService().add(castToReference(value)); // Reference 1918 return value; 1919 case -1429363305: // telecom 1920 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 1921 return value; 1922 case 1873069366: // availableTime 1923 this.getAvailableTime().add((OrganizationRoleAvailableTimeComponent) value); // OrganizationRoleAvailableTimeComponent 1924 return value; 1925 case -629572298: // notAvailable 1926 this.getNotAvailable().add((OrganizationRoleNotAvailableComponent) value); // OrganizationRoleNotAvailableComponent 1927 return value; 1928 case -1149143617: // availabilityExceptions 1929 this.availabilityExceptions = castToString(value); // StringType 1930 return value; 1931 case 1741102485: // endpoint 1932 this.getEndpoint().add(castToReference(value)); // Reference 1933 return value; 1934 default: return super.setProperty(hash, name, value); 1935 } 1936 1937 } 1938 1939 @Override 1940 public Base setProperty(String name, Base value) throws FHIRException { 1941 if (name.equals("identifier")) { 1942 this.getIdentifier().add(castToIdentifier(value)); 1943 } else if (name.equals("active")) { 1944 this.active = castToBoolean(value); // BooleanType 1945 } else if (name.equals("period")) { 1946 this.period = castToPeriod(value); // Period 1947 } else if (name.equals("organization")) { 1948 this.organization = castToReference(value); // Reference 1949 } else if (name.equals("participatingOrganization")) { 1950 this.participatingOrganization = castToReference(value); // Reference 1951 } else if (name.equals("network")) { 1952 this.getNetwork().add(castToReference(value)); 1953 } else if (name.equals("code")) { 1954 this.getCode().add(castToCodeableConcept(value)); 1955 } else if (name.equals("specialty")) { 1956 this.getSpecialty().add(castToCodeableConcept(value)); 1957 } else if (name.equals("location")) { 1958 this.getLocation().add(castToReference(value)); 1959 } else if (name.equals("healthcareService")) { 1960 this.getHealthcareService().add(castToReference(value)); 1961 } else if (name.equals("telecom")) { 1962 this.getTelecom().add(castToContactPoint(value)); 1963 } else if (name.equals("availableTime")) { 1964 this.getAvailableTime().add((OrganizationRoleAvailableTimeComponent) value); 1965 } else if (name.equals("notAvailable")) { 1966 this.getNotAvailable().add((OrganizationRoleNotAvailableComponent) value); 1967 } else if (name.equals("availabilityExceptions")) { 1968 this.availabilityExceptions = castToString(value); // StringType 1969 } else if (name.equals("endpoint")) { 1970 this.getEndpoint().add(castToReference(value)); 1971 } else 1972 return super.setProperty(name, value); 1973 return value; 1974 } 1975 1976 @Override 1977 public Base makeProperty(int hash, String name) throws FHIRException { 1978 switch (hash) { 1979 case -1618432855: return addIdentifier(); 1980 case -1422950650: return getActiveElement(); 1981 case -991726143: return getPeriod(); 1982 case 1178922291: return getOrganization(); 1983 case 1593310702: return getParticipatingOrganization(); 1984 case 1843485230: return addNetwork(); 1985 case 3059181: return addCode(); 1986 case -1694759682: return addSpecialty(); 1987 case 1901043637: return addLocation(); 1988 case 1289661064: return addHealthcareService(); 1989 case -1429363305: return addTelecom(); 1990 case 1873069366: return addAvailableTime(); 1991 case -629572298: return addNotAvailable(); 1992 case -1149143617: return getAvailabilityExceptionsElement(); 1993 case 1741102485: return addEndpoint(); 1994 default: return super.makeProperty(hash, name); 1995 } 1996 1997 } 1998 1999 @Override 2000 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2001 switch (hash) { 2002 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2003 case -1422950650: /*active*/ return new String[] {"boolean"}; 2004 case -991726143: /*period*/ return new String[] {"Period"}; 2005 case 1178922291: /*organization*/ return new String[] {"Reference"}; 2006 case 1593310702: /*participatingOrganization*/ return new String[] {"Reference"}; 2007 case 1843485230: /*network*/ return new String[] {"Reference"}; 2008 case 3059181: /*code*/ return new String[] {"CodeableConcept"}; 2009 case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; 2010 case 1901043637: /*location*/ return new String[] {"Reference"}; 2011 case 1289661064: /*healthcareService*/ return new String[] {"Reference"}; 2012 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 2013 case 1873069366: /*availableTime*/ return new String[] {}; 2014 case -629572298: /*notAvailable*/ return new String[] {}; 2015 case -1149143617: /*availabilityExceptions*/ return new String[] {"string"}; 2016 case 1741102485: /*endpoint*/ return new String[] {"Reference"}; 2017 default: return super.getTypesForProperty(hash, name); 2018 } 2019 2020 } 2021 2022 @Override 2023 public Base addChild(String name) throws FHIRException { 2024 if (name.equals("identifier")) { 2025 return addIdentifier(); 2026 } 2027 else if (name.equals("active")) { 2028 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.active"); 2029 } 2030 else if (name.equals("period")) { 2031 this.period = new Period(); 2032 return this.period; 2033 } 2034 else if (name.equals("organization")) { 2035 this.organization = new Reference(); 2036 return this.organization; 2037 } 2038 else if (name.equals("participatingOrganization")) { 2039 this.participatingOrganization = new Reference(); 2040 return this.participatingOrganization; 2041 } 2042 else if (name.equals("network")) { 2043 return addNetwork(); 2044 } 2045 else if (name.equals("code")) { 2046 return addCode(); 2047 } 2048 else if (name.equals("specialty")) { 2049 return addSpecialty(); 2050 } 2051 else if (name.equals("location")) { 2052 return addLocation(); 2053 } 2054 else if (name.equals("healthcareService")) { 2055 return addHealthcareService(); 2056 } 2057 else if (name.equals("telecom")) { 2058 return addTelecom(); 2059 } 2060 else if (name.equals("availableTime")) { 2061 return addAvailableTime(); 2062 } 2063 else if (name.equals("notAvailable")) { 2064 return addNotAvailable(); 2065 } 2066 else if (name.equals("availabilityExceptions")) { 2067 throw new FHIRException("Cannot call addChild on a primitive type OrganizationRole.availabilityExceptions"); 2068 } 2069 else if (name.equals("endpoint")) { 2070 return addEndpoint(); 2071 } 2072 else 2073 return super.addChild(name); 2074 } 2075 2076 public String fhirType() { 2077 return "OrganizationRole"; 2078 2079 } 2080 2081 public OrganizationRole copy() { 2082 OrganizationRole dst = new OrganizationRole(); 2083 copyValues(dst); 2084 if (identifier != null) { 2085 dst.identifier = new ArrayList<Identifier>(); 2086 for (Identifier i : identifier) 2087 dst.identifier.add(i.copy()); 2088 }; 2089 dst.active = active == null ? null : active.copy(); 2090 dst.period = period == null ? null : period.copy(); 2091 dst.organization = organization == null ? null : organization.copy(); 2092 dst.participatingOrganization = participatingOrganization == null ? null : participatingOrganization.copy(); 2093 if (network != null) { 2094 dst.network = new ArrayList<Reference>(); 2095 for (Reference i : network) 2096 dst.network.add(i.copy()); 2097 }; 2098 if (code != null) { 2099 dst.code = new ArrayList<CodeableConcept>(); 2100 for (CodeableConcept i : code) 2101 dst.code.add(i.copy()); 2102 }; 2103 if (specialty != null) { 2104 dst.specialty = new ArrayList<CodeableConcept>(); 2105 for (CodeableConcept i : specialty) 2106 dst.specialty.add(i.copy()); 2107 }; 2108 if (location != null) { 2109 dst.location = new ArrayList<Reference>(); 2110 for (Reference i : location) 2111 dst.location.add(i.copy()); 2112 }; 2113 if (healthcareService != null) { 2114 dst.healthcareService = new ArrayList<Reference>(); 2115 for (Reference i : healthcareService) 2116 dst.healthcareService.add(i.copy()); 2117 }; 2118 if (telecom != null) { 2119 dst.telecom = new ArrayList<ContactPoint>(); 2120 for (ContactPoint i : telecom) 2121 dst.telecom.add(i.copy()); 2122 }; 2123 if (availableTime != null) { 2124 dst.availableTime = new ArrayList<OrganizationRoleAvailableTimeComponent>(); 2125 for (OrganizationRoleAvailableTimeComponent i : availableTime) 2126 dst.availableTime.add(i.copy()); 2127 }; 2128 if (notAvailable != null) { 2129 dst.notAvailable = new ArrayList<OrganizationRoleNotAvailableComponent>(); 2130 for (OrganizationRoleNotAvailableComponent i : notAvailable) 2131 dst.notAvailable.add(i.copy()); 2132 }; 2133 dst.availabilityExceptions = availabilityExceptions == null ? null : availabilityExceptions.copy(); 2134 if (endpoint != null) { 2135 dst.endpoint = new ArrayList<Reference>(); 2136 for (Reference i : endpoint) 2137 dst.endpoint.add(i.copy()); 2138 }; 2139 return dst; 2140 } 2141 2142 protected OrganizationRole typedCopy() { 2143 return copy(); 2144 } 2145 2146 @Override 2147 public boolean equalsDeep(Base other_) { 2148 if (!super.equalsDeep(other_)) 2149 return false; 2150 if (!(other_ instanceof OrganizationRole)) 2151 return false; 2152 OrganizationRole o = (OrganizationRole) other_; 2153 return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(period, o.period, true) 2154 && compareDeep(organization, o.organization, true) && compareDeep(participatingOrganization, o.participatingOrganization, true) 2155 && compareDeep(network, o.network, true) && compareDeep(code, o.code, true) && compareDeep(specialty, o.specialty, true) 2156 && compareDeep(location, o.location, true) && compareDeep(healthcareService, o.healthcareService, true) 2157 && compareDeep(telecom, o.telecom, true) && compareDeep(availableTime, o.availableTime, true) && compareDeep(notAvailable, o.notAvailable, true) 2158 && compareDeep(availabilityExceptions, o.availabilityExceptions, true) && compareDeep(endpoint, o.endpoint, true) 2159 ; 2160 } 2161 2162 @Override 2163 public boolean equalsShallow(Base other_) { 2164 if (!super.equalsShallow(other_)) 2165 return false; 2166 if (!(other_ instanceof OrganizationRole)) 2167 return false; 2168 OrganizationRole o = (OrganizationRole) other_; 2169 return compareValues(active, o.active, true) && compareValues(availabilityExceptions, o.availabilityExceptions, true) 2170 ; 2171 } 2172 2173 public boolean isEmpty() { 2174 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, period 2175 , organization, participatingOrganization, network, code, specialty, location, healthcareService 2176 , telecom, availableTime, notAvailable, availabilityExceptions, endpoint); 2177 } 2178 2179 @Override 2180 public ResourceType getResourceType() { 2181 return ResourceType.OrganizationRole; 2182 } 2183 2184 /** 2185 * Search parameter: <b>date</b> 2186 * <p> 2187 * Description: <b>The period during which the practitioner is authorized to perform in these role(s)</b><br> 2188 * Type: <b>date</b><br> 2189 * Path: <b>OrganizationRole.period</b><br> 2190 * </p> 2191 */ 2192 @SearchParamDefinition(name="date", path="OrganizationRole.period", description="The period during which the practitioner is authorized to perform in these role(s)", type="date" ) 2193 public static final String SP_DATE = "date"; 2194 /** 2195 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2196 * <p> 2197 * Description: <b>The period during which the practitioner is authorized to perform in these role(s)</b><br> 2198 * Type: <b>date</b><br> 2199 * Path: <b>OrganizationRole.period</b><br> 2200 * </p> 2201 */ 2202 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2203 2204 /** 2205 * Search parameter: <b>identifier</b> 2206 * <p> 2207 * Description: <b>A practitioner's Identifier</b><br> 2208 * Type: <b>token</b><br> 2209 * Path: <b>OrganizationRole.identifier</b><br> 2210 * </p> 2211 */ 2212 @SearchParamDefinition(name="identifier", path="OrganizationRole.identifier", description="A practitioner's Identifier", type="token" ) 2213 public static final String SP_IDENTIFIER = "identifier"; 2214 /** 2215 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2216 * <p> 2217 * Description: <b>A practitioner's Identifier</b><br> 2218 * Type: <b>token</b><br> 2219 * Path: <b>OrganizationRole.identifier</b><br> 2220 * </p> 2221 */ 2222 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2223 2224 /** 2225 * Search parameter: <b>specialty</b> 2226 * <p> 2227 * Description: <b>The practitioner has this specialty at an organization</b><br> 2228 * Type: <b>token</b><br> 2229 * Path: <b>OrganizationRole.specialty</b><br> 2230 * </p> 2231 */ 2232 @SearchParamDefinition(name="specialty", path="OrganizationRole.specialty", description="The practitioner has this specialty at an organization", type="token" ) 2233 public static final String SP_SPECIALTY = "specialty"; 2234 /** 2235 * <b>Fluent Client</b> search parameter constant for <b>specialty</b> 2236 * <p> 2237 * Description: <b>The practitioner has this specialty at an organization</b><br> 2238 * Type: <b>token</b><br> 2239 * Path: <b>OrganizationRole.specialty</b><br> 2240 * </p> 2241 */ 2242 public static final ca.uhn.fhir.rest.gclient.TokenClientParam SPECIALTY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SPECIALTY); 2243 2244 /** 2245 * Search parameter: <b>role</b> 2246 * <p> 2247 * Description: <b>The practitioner can perform this role at for the organization</b><br> 2248 * Type: <b>token</b><br> 2249 * Path: <b>OrganizationRole.code</b><br> 2250 * </p> 2251 */ 2252 @SearchParamDefinition(name="role", path="OrganizationRole.code", description="The practitioner can perform this role at for the organization", type="token" ) 2253 public static final String SP_ROLE = "role"; 2254 /** 2255 * <b>Fluent Client</b> search parameter constant for <b>role</b> 2256 * <p> 2257 * Description: <b>The practitioner can perform this role at for the organization</b><br> 2258 * Type: <b>token</b><br> 2259 * Path: <b>OrganizationRole.code</b><br> 2260 * </p> 2261 */ 2262 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ROLE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ROLE); 2263 2264 /** 2265 * Search parameter: <b>active</b> 2266 * <p> 2267 * Description: <b>Whether this practitioner role record is in active use</b><br> 2268 * Type: <b>token</b><br> 2269 * Path: <b>OrganizationRole.active</b><br> 2270 * </p> 2271 */ 2272 @SearchParamDefinition(name="active", path="OrganizationRole.active", description="Whether this practitioner role record is in active use", type="token" ) 2273 public static final String SP_ACTIVE = "active"; 2274 /** 2275 * <b>Fluent Client</b> search parameter constant for <b>active</b> 2276 * <p> 2277 * Description: <b>Whether this practitioner role record is in active use</b><br> 2278 * Type: <b>token</b><br> 2279 * Path: <b>OrganizationRole.active</b><br> 2280 * </p> 2281 */ 2282 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTIVE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTIVE); 2283 2284 /** 2285 * Search parameter: <b>primary-organization</b> 2286 * <p> 2287 * Description: <b>The identity of the organization the practitioner represents / acts on behalf of</b><br> 2288 * Type: <b>reference</b><br> 2289 * Path: <b>OrganizationRole.organization</b><br> 2290 * </p> 2291 */ 2292 @SearchParamDefinition(name="primary-organization", path="OrganizationRole.organization", description="The identity of the organization the practitioner represents / acts on behalf of", type="reference", target={Organization.class } ) 2293 public static final String SP_PRIMARY_ORGANIZATION = "primary-organization"; 2294 /** 2295 * <b>Fluent Client</b> search parameter constant for <b>primary-organization</b> 2296 * <p> 2297 * Description: <b>The identity of the organization the practitioner represents / acts on behalf of</b><br> 2298 * Type: <b>reference</b><br> 2299 * Path: <b>OrganizationRole.organization</b><br> 2300 * </p> 2301 */ 2302 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRIMARY_ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRIMARY_ORGANIZATION); 2303 2304/** 2305 * Constant for fluent queries to be used to add include statements. Specifies 2306 * the path value of "<b>OrganizationRole:primary-organization</b>". 2307 */ 2308 public static final ca.uhn.fhir.model.api.Include INCLUDE_PRIMARY_ORGANIZATION = new ca.uhn.fhir.model.api.Include("OrganizationRole:primary-organization").toLocked(); 2309 2310 /** 2311 * Search parameter: <b>network</b> 2312 * <p> 2313 * Description: <b>One of the locations at which this practitioner provides care</b><br> 2314 * Type: <b>reference</b><br> 2315 * Path: <b>OrganizationRole.network</b><br> 2316 * </p> 2317 */ 2318 @SearchParamDefinition(name="network", path="OrganizationRole.network", description="One of the locations at which this practitioner provides care", type="reference", target={Organization.class } ) 2319 public static final String SP_NETWORK = "network"; 2320 /** 2321 * <b>Fluent Client</b> search parameter constant for <b>network</b> 2322 * <p> 2323 * Description: <b>One of the locations at which this practitioner provides care</b><br> 2324 * Type: <b>reference</b><br> 2325 * Path: <b>OrganizationRole.network</b><br> 2326 * </p> 2327 */ 2328 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam NETWORK = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_NETWORK); 2329 2330/** 2331 * Constant for fluent queries to be used to add include statements. Specifies 2332 * the path value of "<b>OrganizationRole:network</b>". 2333 */ 2334 public static final ca.uhn.fhir.model.api.Include INCLUDE_NETWORK = new ca.uhn.fhir.model.api.Include("OrganizationRole:network").toLocked(); 2335 2336 /** 2337 * Search parameter: <b>endpoint</b> 2338 * <p> 2339 * Description: <b>Technical endpoints providing access to services operated for the practitioner with this role</b><br> 2340 * Type: <b>reference</b><br> 2341 * Path: <b>OrganizationRole.endpoint</b><br> 2342 * </p> 2343 */ 2344 @SearchParamDefinition(name="endpoint", path="OrganizationRole.endpoint", description="Technical endpoints providing access to services operated for the practitioner with this role", type="reference", target={Endpoint.class } ) 2345 public static final String SP_ENDPOINT = "endpoint"; 2346 /** 2347 * <b>Fluent Client</b> search parameter constant for <b>endpoint</b> 2348 * <p> 2349 * Description: <b>Technical endpoints providing access to services operated for the practitioner with this role</b><br> 2350 * Type: <b>reference</b><br> 2351 * Path: <b>OrganizationRole.endpoint</b><br> 2352 * </p> 2353 */ 2354 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENDPOINT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENDPOINT); 2355 2356/** 2357 * Constant for fluent queries to be used to add include statements. Specifies 2358 * the path value of "<b>OrganizationRole:endpoint</b>". 2359 */ 2360 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENDPOINT = new ca.uhn.fhir.model.api.Include("OrganizationRole:endpoint").toLocked(); 2361 2362 /** 2363 * Search parameter: <b>phone</b> 2364 * <p> 2365 * Description: <b>A value in a phone contact</b><br> 2366 * Type: <b>token</b><br> 2367 * Path: <b>OrganizationRole.telecom(system=phone)</b><br> 2368 * </p> 2369 */ 2370 @SearchParamDefinition(name="phone", path="OrganizationRole.telecom.where(system='phone')", description="A value in a phone contact", type="token" ) 2371 public static final String SP_PHONE = "phone"; 2372 /** 2373 * <b>Fluent Client</b> search parameter constant for <b>phone</b> 2374 * <p> 2375 * Description: <b>A value in a phone contact</b><br> 2376 * Type: <b>token</b><br> 2377 * Path: <b>OrganizationRole.telecom(system=phone)</b><br> 2378 * </p> 2379 */ 2380 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); 2381 2382 /** 2383 * Search parameter: <b>service</b> 2384 * <p> 2385 * Description: <b>The list of healthcare services that this worker provides for this role's Organization/Location(s)</b><br> 2386 * Type: <b>reference</b><br> 2387 * Path: <b>OrganizationRole.healthcareService</b><br> 2388 * </p> 2389 */ 2390 @SearchParamDefinition(name="service", path="OrganizationRole.healthcareService", description="The list of healthcare services that this worker provides for this role's Organization/Location(s)", type="reference", target={HealthcareService.class } ) 2391 public static final String SP_SERVICE = "service"; 2392 /** 2393 * <b>Fluent Client</b> search parameter constant for <b>service</b> 2394 * <p> 2395 * Description: <b>The list of healthcare services that this worker provides for this role's Organization/Location(s)</b><br> 2396 * Type: <b>reference</b><br> 2397 * Path: <b>OrganizationRole.healthcareService</b><br> 2398 * </p> 2399 */ 2400 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SERVICE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SERVICE); 2401 2402/** 2403 * Constant for fluent queries to be used to add include statements. Specifies 2404 * the path value of "<b>OrganizationRole:service</b>". 2405 */ 2406 public static final ca.uhn.fhir.model.api.Include INCLUDE_SERVICE = new ca.uhn.fhir.model.api.Include("OrganizationRole:service").toLocked(); 2407 2408 /** 2409 * Search parameter: <b>participating-organization</b> 2410 * <p> 2411 * Description: <b>Practitioner that is able to provide the defined services for the organization</b><br> 2412 * Type: <b>reference</b><br> 2413 * Path: <b>OrganizationRole.participatingOrganization</b><br> 2414 * </p> 2415 */ 2416 @SearchParamDefinition(name="participating-organization", path="OrganizationRole.participatingOrganization", description="Practitioner that is able to provide the defined services for the organization", type="reference", target={Organization.class } ) 2417 public static final String SP_PARTICIPATING_ORGANIZATION = "participating-organization"; 2418 /** 2419 * <b>Fluent Client</b> search parameter constant for <b>participating-organization</b> 2420 * <p> 2421 * Description: <b>Practitioner that is able to provide the defined services for the organization</b><br> 2422 * Type: <b>reference</b><br> 2423 * Path: <b>OrganizationRole.participatingOrganization</b><br> 2424 * </p> 2425 */ 2426 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPATING_ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPATING_ORGANIZATION); 2427 2428/** 2429 * Constant for fluent queries to be used to add include statements. Specifies 2430 * the path value of "<b>OrganizationRole:participating-organization</b>". 2431 */ 2432 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPATING_ORGANIZATION = new ca.uhn.fhir.model.api.Include("OrganizationRole:participating-organization").toLocked(); 2433 2434 /** 2435 * Search parameter: <b>telecom</b> 2436 * <p> 2437 * Description: <b>The value in any kind of contact</b><br> 2438 * Type: <b>token</b><br> 2439 * Path: <b>OrganizationRole.telecom</b><br> 2440 * </p> 2441 */ 2442 @SearchParamDefinition(name="telecom", path="OrganizationRole.telecom", description="The value in any kind of contact", type="token" ) 2443 public static final String SP_TELECOM = "telecom"; 2444 /** 2445 * <b>Fluent Client</b> search parameter constant for <b>telecom</b> 2446 * <p> 2447 * Description: <b>The value in any kind of contact</b><br> 2448 * Type: <b>token</b><br> 2449 * Path: <b>OrganizationRole.telecom</b><br> 2450 * </p> 2451 */ 2452 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); 2453 2454 /** 2455 * Search parameter: <b>location</b> 2456 * <p> 2457 * Description: <b>One of the locations at which this practitioner provides care</b><br> 2458 * Type: <b>reference</b><br> 2459 * Path: <b>OrganizationRole.location</b><br> 2460 * </p> 2461 */ 2462 @SearchParamDefinition(name="location", path="OrganizationRole.location", description="One of the locations at which this practitioner provides care", type="reference", target={Location.class } ) 2463 public static final String SP_LOCATION = "location"; 2464 /** 2465 * <b>Fluent Client</b> search parameter constant for <b>location</b> 2466 * <p> 2467 * Description: <b>One of the locations at which this practitioner provides care</b><br> 2468 * Type: <b>reference</b><br> 2469 * Path: <b>OrganizationRole.location</b><br> 2470 * </p> 2471 */ 2472 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LOCATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LOCATION); 2473 2474/** 2475 * Constant for fluent queries to be used to add include statements. Specifies 2476 * the path value of "<b>OrganizationRole:location</b>". 2477 */ 2478 public static final ca.uhn.fhir.model.api.Include INCLUDE_LOCATION = new ca.uhn.fhir.model.api.Include("OrganizationRole:location").toLocked(); 2479 2480 /** 2481 * Search parameter: <b>email</b> 2482 * <p> 2483 * Description: <b>A value in an email contact</b><br> 2484 * Type: <b>token</b><br> 2485 * Path: <b>OrganizationRole.telecom(system=email)</b><br> 2486 * </p> 2487 */ 2488 @SearchParamDefinition(name="email", path="OrganizationRole.telecom.where(system='email')", description="A value in an email contact", type="token" ) 2489 public static final String SP_EMAIL = "email"; 2490 /** 2491 * <b>Fluent Client</b> search parameter constant for <b>email</b> 2492 * <p> 2493 * Description: <b>A value in an email contact</b><br> 2494 * Type: <b>token</b><br> 2495 * Path: <b>OrganizationRole.telecom(system=email)</b><br> 2496 * </p> 2497 */ 2498 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); 2499 2500 2501} 2502