001package org.hl7.fhir.dstu3.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 Mon, Apr 17, 2017 17:38-0400 for FHIR v3.0.1 033 034import java.util.*; 035 036import java.math.*; 037import org.hl7.fhir.utilities.Utilities; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated. 048 */ 049@ResourceDef(name="Location", profile="http://hl7.org/fhir/Profile/Location") 050public class Location extends DomainResource { 051 052 public enum LocationStatus { 053 /** 054 * The location is operational. 055 */ 056 ACTIVE, 057 /** 058 * The location is temporarily closed. 059 */ 060 SUSPENDED, 061 /** 062 * The location is no longer used. 063 */ 064 INACTIVE, 065 /** 066 * added to help the parsers with the generic types 067 */ 068 NULL; 069 public static LocationStatus fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("active".equals(codeString)) 073 return ACTIVE; 074 if ("suspended".equals(codeString)) 075 return SUSPENDED; 076 if ("inactive".equals(codeString)) 077 return INACTIVE; 078 if (Configuration.isAcceptInvalidEnums()) 079 return null; 080 else 081 throw new FHIRException("Unknown LocationStatus code '"+codeString+"'"); 082 } 083 public String toCode() { 084 switch (this) { 085 case ACTIVE: return "active"; 086 case SUSPENDED: return "suspended"; 087 case INACTIVE: return "inactive"; 088 default: return "?"; 089 } 090 } 091 public String getSystem() { 092 switch (this) { 093 case ACTIVE: return "http://hl7.org/fhir/location-status"; 094 case SUSPENDED: return "http://hl7.org/fhir/location-status"; 095 case INACTIVE: return "http://hl7.org/fhir/location-status"; 096 default: return "?"; 097 } 098 } 099 public String getDefinition() { 100 switch (this) { 101 case ACTIVE: return "The location is operational."; 102 case SUSPENDED: return "The location is temporarily closed."; 103 case INACTIVE: return "The location is no longer used."; 104 default: return "?"; 105 } 106 } 107 public String getDisplay() { 108 switch (this) { 109 case ACTIVE: return "Active"; 110 case SUSPENDED: return "Suspended"; 111 case INACTIVE: return "Inactive"; 112 default: return "?"; 113 } 114 } 115 } 116 117 public static class LocationStatusEnumFactory implements EnumFactory<LocationStatus> { 118 public LocationStatus fromCode(String codeString) throws IllegalArgumentException { 119 if (codeString == null || "".equals(codeString)) 120 if (codeString == null || "".equals(codeString)) 121 return null; 122 if ("active".equals(codeString)) 123 return LocationStatus.ACTIVE; 124 if ("suspended".equals(codeString)) 125 return LocationStatus.SUSPENDED; 126 if ("inactive".equals(codeString)) 127 return LocationStatus.INACTIVE; 128 throw new IllegalArgumentException("Unknown LocationStatus code '"+codeString+"'"); 129 } 130 public Enumeration<LocationStatus> fromType(Base code) throws FHIRException { 131 if (code == null) 132 return null; 133 if (code.isEmpty()) 134 return new Enumeration<LocationStatus>(this); 135 String codeString = ((PrimitiveType) code).asStringValue(); 136 if (codeString == null || "".equals(codeString)) 137 return null; 138 if ("active".equals(codeString)) 139 return new Enumeration<LocationStatus>(this, LocationStatus.ACTIVE); 140 if ("suspended".equals(codeString)) 141 return new Enumeration<LocationStatus>(this, LocationStatus.SUSPENDED); 142 if ("inactive".equals(codeString)) 143 return new Enumeration<LocationStatus>(this, LocationStatus.INACTIVE); 144 throw new FHIRException("Unknown LocationStatus code '"+codeString+"'"); 145 } 146 public String toCode(LocationStatus code) { 147 if (code == LocationStatus.ACTIVE) 148 return "active"; 149 if (code == LocationStatus.SUSPENDED) 150 return "suspended"; 151 if (code == LocationStatus.INACTIVE) 152 return "inactive"; 153 return "?"; 154 } 155 public String toSystem(LocationStatus code) { 156 return code.getSystem(); 157 } 158 } 159 160 public enum LocationMode { 161 /** 162 * The Location resource represents a specific instance of a location (e.g. Operating Theatre 1A). 163 */ 164 INSTANCE, 165 /** 166 * The Location represents a class of locations (e.g. Any Operating Theatre) although this class of locations could be constrained within a specific boundary (such as organization, or parent location, address etc.). 167 */ 168 KIND, 169 /** 170 * added to help the parsers with the generic types 171 */ 172 NULL; 173 public static LocationMode fromCode(String codeString) throws FHIRException { 174 if (codeString == null || "".equals(codeString)) 175 return null; 176 if ("instance".equals(codeString)) 177 return INSTANCE; 178 if ("kind".equals(codeString)) 179 return KIND; 180 if (Configuration.isAcceptInvalidEnums()) 181 return null; 182 else 183 throw new FHIRException("Unknown LocationMode code '"+codeString+"'"); 184 } 185 public String toCode() { 186 switch (this) { 187 case INSTANCE: return "instance"; 188 case KIND: return "kind"; 189 default: return "?"; 190 } 191 } 192 public String getSystem() { 193 switch (this) { 194 case INSTANCE: return "http://hl7.org/fhir/location-mode"; 195 case KIND: return "http://hl7.org/fhir/location-mode"; 196 default: return "?"; 197 } 198 } 199 public String getDefinition() { 200 switch (this) { 201 case INSTANCE: return "The Location resource represents a specific instance of a location (e.g. Operating Theatre 1A)."; 202 case KIND: return "The Location represents a class of locations (e.g. Any Operating Theatre) although this class of locations could be constrained within a specific boundary (such as organization, or parent location, address etc.)."; 203 default: return "?"; 204 } 205 } 206 public String getDisplay() { 207 switch (this) { 208 case INSTANCE: return "Instance"; 209 case KIND: return "Kind"; 210 default: return "?"; 211 } 212 } 213 } 214 215 public static class LocationModeEnumFactory implements EnumFactory<LocationMode> { 216 public LocationMode fromCode(String codeString) throws IllegalArgumentException { 217 if (codeString == null || "".equals(codeString)) 218 if (codeString == null || "".equals(codeString)) 219 return null; 220 if ("instance".equals(codeString)) 221 return LocationMode.INSTANCE; 222 if ("kind".equals(codeString)) 223 return LocationMode.KIND; 224 throw new IllegalArgumentException("Unknown LocationMode code '"+codeString+"'"); 225 } 226 public Enumeration<LocationMode> fromType(Base code) throws FHIRException { 227 if (code == null) 228 return null; 229 if (code.isEmpty()) 230 return new Enumeration<LocationMode>(this); 231 String codeString = ((PrimitiveType) code).asStringValue(); 232 if (codeString == null || "".equals(codeString)) 233 return null; 234 if ("instance".equals(codeString)) 235 return new Enumeration<LocationMode>(this, LocationMode.INSTANCE); 236 if ("kind".equals(codeString)) 237 return new Enumeration<LocationMode>(this, LocationMode.KIND); 238 throw new FHIRException("Unknown LocationMode code '"+codeString+"'"); 239 } 240 public String toCode(LocationMode code) { 241 if (code == LocationMode.INSTANCE) 242 return "instance"; 243 if (code == LocationMode.KIND) 244 return "kind"; 245 return "?"; 246 } 247 public String toSystem(LocationMode code) { 248 return code.getSystem(); 249 } 250 } 251 252 @Block() 253 public static class LocationPositionComponent extends BackboneElement implements IBaseBackboneElement { 254 /** 255 * Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). 256 */ 257 @Child(name = "longitude", type = {DecimalType.class}, order=1, min=1, max=1, modifier=false, summary=false) 258 @Description(shortDefinition="Longitude with WGS84 datum", formalDefinition="Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below)." ) 259 protected DecimalType longitude; 260 261 /** 262 * Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). 263 */ 264 @Child(name = "latitude", type = {DecimalType.class}, order=2, min=1, max=1, modifier=false, summary=false) 265 @Description(shortDefinition="Latitude with WGS84 datum", formalDefinition="Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below)." ) 266 protected DecimalType latitude; 267 268 /** 269 * Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). 270 */ 271 @Child(name = "altitude", type = {DecimalType.class}, order=3, min=0, max=1, modifier=false, summary=false) 272 @Description(shortDefinition="Altitude with WGS84 datum", formalDefinition="Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below)." ) 273 protected DecimalType altitude; 274 275 private static final long serialVersionUID = -74276134L; 276 277 /** 278 * Constructor 279 */ 280 public LocationPositionComponent() { 281 super(); 282 } 283 284 /** 285 * Constructor 286 */ 287 public LocationPositionComponent(DecimalType longitude, DecimalType latitude) { 288 super(); 289 this.longitude = longitude; 290 this.latitude = latitude; 291 } 292 293 /** 294 * @return {@link #longitude} (Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getLongitude" gives direct access to the value 295 */ 296 public DecimalType getLongitudeElement() { 297 if (this.longitude == null) 298 if (Configuration.errorOnAutoCreate()) 299 throw new Error("Attempt to auto-create LocationPositionComponent.longitude"); 300 else if (Configuration.doAutoCreate()) 301 this.longitude = new DecimalType(); // bb 302 return this.longitude; 303 } 304 305 public boolean hasLongitudeElement() { 306 return this.longitude != null && !this.longitude.isEmpty(); 307 } 308 309 public boolean hasLongitude() { 310 return this.longitude != null && !this.longitude.isEmpty(); 311 } 312 313 /** 314 * @param value {@link #longitude} (Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getLongitude" gives direct access to the value 315 */ 316 public LocationPositionComponent setLongitudeElement(DecimalType value) { 317 this.longitude = value; 318 return this; 319 } 320 321 /** 322 * @return Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). 323 */ 324 public BigDecimal getLongitude() { 325 return this.longitude == null ? null : this.longitude.getValue(); 326 } 327 328 /** 329 * @param value Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). 330 */ 331 public LocationPositionComponent setLongitude(BigDecimal value) { 332 if (this.longitude == null) 333 this.longitude = new DecimalType(); 334 this.longitude.setValue(value); 335 return this; 336 } 337 338 /** 339 * @param value Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). 340 */ 341 public LocationPositionComponent setLongitude(long value) { 342 this.longitude = new DecimalType(); 343 this.longitude.setValue(value); 344 return this; 345 } 346 347 /** 348 * @param value Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below). 349 */ 350 public LocationPositionComponent setLongitude(double value) { 351 this.longitude = new DecimalType(); 352 this.longitude.setValue(value); 353 return this; 354 } 355 356 /** 357 * @return {@link #latitude} (Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getLatitude" gives direct access to the value 358 */ 359 public DecimalType getLatitudeElement() { 360 if (this.latitude == null) 361 if (Configuration.errorOnAutoCreate()) 362 throw new Error("Attempt to auto-create LocationPositionComponent.latitude"); 363 else if (Configuration.doAutoCreate()) 364 this.latitude = new DecimalType(); // bb 365 return this.latitude; 366 } 367 368 public boolean hasLatitudeElement() { 369 return this.latitude != null && !this.latitude.isEmpty(); 370 } 371 372 public boolean hasLatitude() { 373 return this.latitude != null && !this.latitude.isEmpty(); 374 } 375 376 /** 377 * @param value {@link #latitude} (Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getLatitude" gives direct access to the value 378 */ 379 public LocationPositionComponent setLatitudeElement(DecimalType value) { 380 this.latitude = value; 381 return this; 382 } 383 384 /** 385 * @return Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). 386 */ 387 public BigDecimal getLatitude() { 388 return this.latitude == null ? null : this.latitude.getValue(); 389 } 390 391 /** 392 * @param value Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). 393 */ 394 public LocationPositionComponent setLatitude(BigDecimal value) { 395 if (this.latitude == null) 396 this.latitude = new DecimalType(); 397 this.latitude.setValue(value); 398 return this; 399 } 400 401 /** 402 * @param value Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). 403 */ 404 public LocationPositionComponent setLatitude(long value) { 405 this.latitude = new DecimalType(); 406 this.latitude.setValue(value); 407 return this; 408 } 409 410 /** 411 * @param value Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below). 412 */ 413 public LocationPositionComponent setLatitude(double value) { 414 this.latitude = new DecimalType(); 415 this.latitude.setValue(value); 416 return this; 417 } 418 419 /** 420 * @return {@link #altitude} (Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getAltitude" gives direct access to the value 421 */ 422 public DecimalType getAltitudeElement() { 423 if (this.altitude == null) 424 if (Configuration.errorOnAutoCreate()) 425 throw new Error("Attempt to auto-create LocationPositionComponent.altitude"); 426 else if (Configuration.doAutoCreate()) 427 this.altitude = new DecimalType(); // bb 428 return this.altitude; 429 } 430 431 public boolean hasAltitudeElement() { 432 return this.altitude != null && !this.altitude.isEmpty(); 433 } 434 435 public boolean hasAltitude() { 436 return this.altitude != null && !this.altitude.isEmpty(); 437 } 438 439 /** 440 * @param value {@link #altitude} (Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).). This is the underlying object with id, value and extensions. The accessor "getAltitude" gives direct access to the value 441 */ 442 public LocationPositionComponent setAltitudeElement(DecimalType value) { 443 this.altitude = value; 444 return this; 445 } 446 447 /** 448 * @return Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). 449 */ 450 public BigDecimal getAltitude() { 451 return this.altitude == null ? null : this.altitude.getValue(); 452 } 453 454 /** 455 * @param value Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). 456 */ 457 public LocationPositionComponent setAltitude(BigDecimal value) { 458 if (value == null) 459 this.altitude = null; 460 else { 461 if (this.altitude == null) 462 this.altitude = new DecimalType(); 463 this.altitude.setValue(value); 464 } 465 return this; 466 } 467 468 /** 469 * @param value Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). 470 */ 471 public LocationPositionComponent setAltitude(long value) { 472 this.altitude = new DecimalType(); 473 this.altitude.setValue(value); 474 return this; 475 } 476 477 /** 478 * @param value Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below). 479 */ 480 public LocationPositionComponent setAltitude(double value) { 481 this.altitude = new DecimalType(); 482 this.altitude.setValue(value); 483 return this; 484 } 485 486 protected void listChildren(List<Property> childrenList) { 487 super.listChildren(childrenList); 488 childrenList.add(new Property("longitude", "decimal", "Longitude. The value domain and the interpretation are the same as for the text of the longitude element in KML (see notes below).", 0, java.lang.Integer.MAX_VALUE, longitude)); 489 childrenList.add(new Property("latitude", "decimal", "Latitude. The value domain and the interpretation are the same as for the text of the latitude element in KML (see notes below).", 0, java.lang.Integer.MAX_VALUE, latitude)); 490 childrenList.add(new Property("altitude", "decimal", "Altitude. The value domain and the interpretation are the same as for the text of the altitude element in KML (see notes below).", 0, java.lang.Integer.MAX_VALUE, altitude)); 491 } 492 493 @Override 494 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 495 switch (hash) { 496 case 137365935: /*longitude*/ return this.longitude == null ? new Base[0] : new Base[] {this.longitude}; // DecimalType 497 case -1439978388: /*latitude*/ return this.latitude == null ? new Base[0] : new Base[] {this.latitude}; // DecimalType 498 case 2036550306: /*altitude*/ return this.altitude == null ? new Base[0] : new Base[] {this.altitude}; // DecimalType 499 default: return super.getProperty(hash, name, checkValid); 500 } 501 502 } 503 504 @Override 505 public Base setProperty(int hash, String name, Base value) throws FHIRException { 506 switch (hash) { 507 case 137365935: // longitude 508 this.longitude = castToDecimal(value); // DecimalType 509 return value; 510 case -1439978388: // latitude 511 this.latitude = castToDecimal(value); // DecimalType 512 return value; 513 case 2036550306: // altitude 514 this.altitude = castToDecimal(value); // DecimalType 515 return value; 516 default: return super.setProperty(hash, name, value); 517 } 518 519 } 520 521 @Override 522 public Base setProperty(String name, Base value) throws FHIRException { 523 if (name.equals("longitude")) { 524 this.longitude = castToDecimal(value); // DecimalType 525 } else if (name.equals("latitude")) { 526 this.latitude = castToDecimal(value); // DecimalType 527 } else if (name.equals("altitude")) { 528 this.altitude = castToDecimal(value); // DecimalType 529 } else 530 return super.setProperty(name, value); 531 return value; 532 } 533 534 @Override 535 public Base makeProperty(int hash, String name) throws FHIRException { 536 switch (hash) { 537 case 137365935: return getLongitudeElement(); 538 case -1439978388: return getLatitudeElement(); 539 case 2036550306: return getAltitudeElement(); 540 default: return super.makeProperty(hash, name); 541 } 542 543 } 544 545 @Override 546 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 547 switch (hash) { 548 case 137365935: /*longitude*/ return new String[] {"decimal"}; 549 case -1439978388: /*latitude*/ return new String[] {"decimal"}; 550 case 2036550306: /*altitude*/ return new String[] {"decimal"}; 551 default: return super.getTypesForProperty(hash, name); 552 } 553 554 } 555 556 @Override 557 public Base addChild(String name) throws FHIRException { 558 if (name.equals("longitude")) { 559 throw new FHIRException("Cannot call addChild on a primitive type Location.longitude"); 560 } 561 else if (name.equals("latitude")) { 562 throw new FHIRException("Cannot call addChild on a primitive type Location.latitude"); 563 } 564 else if (name.equals("altitude")) { 565 throw new FHIRException("Cannot call addChild on a primitive type Location.altitude"); 566 } 567 else 568 return super.addChild(name); 569 } 570 571 public LocationPositionComponent copy() { 572 LocationPositionComponent dst = new LocationPositionComponent(); 573 copyValues(dst); 574 dst.longitude = longitude == null ? null : longitude.copy(); 575 dst.latitude = latitude == null ? null : latitude.copy(); 576 dst.altitude = altitude == null ? null : altitude.copy(); 577 return dst; 578 } 579 580 @Override 581 public boolean equalsDeep(Base other) { 582 if (!super.equalsDeep(other)) 583 return false; 584 if (!(other instanceof LocationPositionComponent)) 585 return false; 586 LocationPositionComponent o = (LocationPositionComponent) other; 587 return compareDeep(longitude, o.longitude, true) && compareDeep(latitude, o.latitude, true) && compareDeep(altitude, o.altitude, true) 588 ; 589 } 590 591 @Override 592 public boolean equalsShallow(Base other) { 593 if (!super.equalsShallow(other)) 594 return false; 595 if (!(other instanceof LocationPositionComponent)) 596 return false; 597 LocationPositionComponent o = (LocationPositionComponent) other; 598 return compareValues(longitude, o.longitude, true) && compareValues(latitude, o.latitude, true) && compareValues(altitude, o.altitude, true) 599 ; 600 } 601 602 public boolean isEmpty() { 603 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(longitude, latitude, altitude 604 ); 605 } 606 607 public String fhirType() { 608 return "Location.position"; 609 610 } 611 612 } 613 614 /** 615 * Unique code or number identifying the location to its users. 616 */ 617 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 618 @Description(shortDefinition="Unique code or number identifying the location to its users", formalDefinition="Unique code or number identifying the location to its users." ) 619 protected List<Identifier> identifier; 620 621 /** 622 * The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. 623 */ 624 @Child(name = "status", type = {CodeType.class}, order=1, min=0, max=1, modifier=true, summary=true) 625 @Description(shortDefinition="active | suspended | inactive", formalDefinition="The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location." ) 626 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-status") 627 protected Enumeration<LocationStatus> status; 628 629 /** 630 * The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance. 631 */ 632 @Child(name = "operationalStatus", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) 633 @Description(shortDefinition="The Operational status of the location (typically only for a bed/room)", formalDefinition="The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance." ) 634 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/v2-0116") 635 protected Coding operationalStatus; 636 637 /** 638 * Name of the location as used by humans. Does not need to be unique. 639 */ 640 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 641 @Description(shortDefinition="Name of the location as used by humans", formalDefinition="Name of the location as used by humans. Does not need to be unique." ) 642 protected StringType name; 643 644 /** 645 * A list of alternate names that the location is known as, or was known as in the past. 646 */ 647 @Child(name = "alias", type = {StringType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 648 @Description(shortDefinition="A list of alternate names that the location is known as, or was known as in the past", formalDefinition="A list of alternate names that the location is known as, or was known as in the past." ) 649 protected List<StringType> alias; 650 651 /** 652 * Description of the Location, which helps in finding or referencing the place. 653 */ 654 @Child(name = "description", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) 655 @Description(shortDefinition="Additional details about the location that could be displayed as further information to identify the location beyond its name", formalDefinition="Description of the Location, which helps in finding or referencing the place." ) 656 protected StringType description; 657 658 /** 659 * Indicates whether a resource instance represents a specific location or a class of locations. 660 */ 661 @Child(name = "mode", type = {CodeType.class}, order=6, min=0, max=1, modifier=true, summary=true) 662 @Description(shortDefinition="instance | kind", formalDefinition="Indicates whether a resource instance represents a specific location or a class of locations." ) 663 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-mode") 664 protected Enumeration<LocationMode> mode; 665 666 /** 667 * Indicates the type of function performed at the location. 668 */ 669 @Child(name = "type", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true) 670 @Description(shortDefinition="Type of function performed", formalDefinition="Indicates the type of function performed at the location." ) 671 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType") 672 protected CodeableConcept type; 673 674 /** 675 * The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites. 676 */ 677 @Child(name = "telecom", type = {ContactPoint.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 678 @Description(shortDefinition="Contact details of the location", formalDefinition="The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites." ) 679 protected List<ContactPoint> telecom; 680 681 /** 682 * Physical location. 683 */ 684 @Child(name = "address", type = {Address.class}, order=9, min=0, max=1, modifier=false, summary=false) 685 @Description(shortDefinition="Physical location", formalDefinition="Physical location." ) 686 protected Address address; 687 688 /** 689 * Physical form of the location, e.g. building, room, vehicle, road. 690 */ 691 @Child(name = "physicalType", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=true) 692 @Description(shortDefinition="Physical form of the location", formalDefinition="Physical form of the location, e.g. building, room, vehicle, road." ) 693 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-physical-type") 694 protected CodeableConcept physicalType; 695 696 /** 697 * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). 698 */ 699 @Child(name = "position", type = {}, order=11, min=0, max=1, modifier=false, summary=false) 700 @Description(shortDefinition="The absolute geographic location", formalDefinition="The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML)." ) 701 protected LocationPositionComponent position; 702 703 /** 704 * The organization responsible for the provisioning and upkeep of the location. 705 */ 706 @Child(name = "managingOrganization", type = {Organization.class}, order=12, min=0, max=1, modifier=false, summary=true) 707 @Description(shortDefinition="Organization responsible for provisioning and upkeep", formalDefinition="The organization responsible for the provisioning and upkeep of the location." ) 708 protected Reference managingOrganization; 709 710 /** 711 * The actual object that is the target of the reference (The organization responsible for the provisioning and upkeep of the location.) 712 */ 713 protected Organization managingOrganizationTarget; 714 715 /** 716 * Another Location which this Location is physically part of. 717 */ 718 @Child(name = "partOf", type = {Location.class}, order=13, min=0, max=1, modifier=false, summary=false) 719 @Description(shortDefinition="Another Location this one is physically part of", formalDefinition="Another Location which this Location is physically part of." ) 720 protected Reference partOf; 721 722 /** 723 * The actual object that is the target of the reference (Another Location which this Location is physically part of.) 724 */ 725 protected Location partOfTarget; 726 727 /** 728 * Technical endpoints providing access to services operated for the location. 729 */ 730 @Child(name = "endpoint", type = {Endpoint.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 731 @Description(shortDefinition="Technical endpoints providing access to services operated for the location", formalDefinition="Technical endpoints providing access to services operated for the location." ) 732 protected List<Reference> endpoint; 733 /** 734 * The actual objects that are the target of the reference (Technical endpoints providing access to services operated for the location.) 735 */ 736 protected List<Endpoint> endpointTarget; 737 738 739 private static final long serialVersionUID = -1603579027L; 740 741 /** 742 * Constructor 743 */ 744 public Location() { 745 super(); 746 } 747 748 /** 749 * @return {@link #identifier} (Unique code or number identifying the location to its users.) 750 */ 751 public List<Identifier> getIdentifier() { 752 if (this.identifier == null) 753 this.identifier = new ArrayList<Identifier>(); 754 return this.identifier; 755 } 756 757 /** 758 * @return Returns a reference to <code>this</code> for easy method chaining 759 */ 760 public Location setIdentifier(List<Identifier> theIdentifier) { 761 this.identifier = theIdentifier; 762 return this; 763 } 764 765 public boolean hasIdentifier() { 766 if (this.identifier == null) 767 return false; 768 for (Identifier item : this.identifier) 769 if (!item.isEmpty()) 770 return true; 771 return false; 772 } 773 774 public Identifier addIdentifier() { //3 775 Identifier t = new Identifier(); 776 if (this.identifier == null) 777 this.identifier = new ArrayList<Identifier>(); 778 this.identifier.add(t); 779 return t; 780 } 781 782 public Location addIdentifier(Identifier t) { //3 783 if (t == null) 784 return this; 785 if (this.identifier == null) 786 this.identifier = new ArrayList<Identifier>(); 787 this.identifier.add(t); 788 return this; 789 } 790 791 /** 792 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 793 */ 794 public Identifier getIdentifierFirstRep() { 795 if (getIdentifier().isEmpty()) { 796 addIdentifier(); 797 } 798 return getIdentifier().get(0); 799 } 800 801 /** 802 * @return {@link #status} (The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 803 */ 804 public Enumeration<LocationStatus> getStatusElement() { 805 if (this.status == null) 806 if (Configuration.errorOnAutoCreate()) 807 throw new Error("Attempt to auto-create Location.status"); 808 else if (Configuration.doAutoCreate()) 809 this.status = new Enumeration<LocationStatus>(new LocationStatusEnumFactory()); // bb 810 return this.status; 811 } 812 813 public boolean hasStatusElement() { 814 return this.status != null && !this.status.isEmpty(); 815 } 816 817 public boolean hasStatus() { 818 return this.status != null && !this.status.isEmpty(); 819 } 820 821 /** 822 * @param value {@link #status} (The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 823 */ 824 public Location setStatusElement(Enumeration<LocationStatus> value) { 825 this.status = value; 826 return this; 827 } 828 829 /** 830 * @return The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. 831 */ 832 public LocationStatus getStatus() { 833 return this.status == null ? null : this.status.getValue(); 834 } 835 836 /** 837 * @param value The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location. 838 */ 839 public Location setStatus(LocationStatus value) { 840 if (value == null) 841 this.status = null; 842 else { 843 if (this.status == null) 844 this.status = new Enumeration<LocationStatus>(new LocationStatusEnumFactory()); 845 this.status.setValue(value); 846 } 847 return this; 848 } 849 850 /** 851 * @return {@link #operationalStatus} (The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance.) 852 */ 853 public Coding getOperationalStatus() { 854 if (this.operationalStatus == null) 855 if (Configuration.errorOnAutoCreate()) 856 throw new Error("Attempt to auto-create Location.operationalStatus"); 857 else if (Configuration.doAutoCreate()) 858 this.operationalStatus = new Coding(); // cc 859 return this.operationalStatus; 860 } 861 862 public boolean hasOperationalStatus() { 863 return this.operationalStatus != null && !this.operationalStatus.isEmpty(); 864 } 865 866 /** 867 * @param value {@link #operationalStatus} (The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance.) 868 */ 869 public Location setOperationalStatus(Coding value) { 870 this.operationalStatus = value; 871 return this; 872 } 873 874 /** 875 * @return {@link #name} (Name of the location as used by humans. Does not need to be unique.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 876 */ 877 public StringType getNameElement() { 878 if (this.name == null) 879 if (Configuration.errorOnAutoCreate()) 880 throw new Error("Attempt to auto-create Location.name"); 881 else if (Configuration.doAutoCreate()) 882 this.name = new StringType(); // bb 883 return this.name; 884 } 885 886 public boolean hasNameElement() { 887 return this.name != null && !this.name.isEmpty(); 888 } 889 890 public boolean hasName() { 891 return this.name != null && !this.name.isEmpty(); 892 } 893 894 /** 895 * @param value {@link #name} (Name of the location as used by humans. Does not need to be unique.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 896 */ 897 public Location setNameElement(StringType value) { 898 this.name = value; 899 return this; 900 } 901 902 /** 903 * @return Name of the location as used by humans. Does not need to be unique. 904 */ 905 public String getName() { 906 return this.name == null ? null : this.name.getValue(); 907 } 908 909 /** 910 * @param value Name of the location as used by humans. Does not need to be unique. 911 */ 912 public Location setName(String value) { 913 if (Utilities.noString(value)) 914 this.name = null; 915 else { 916 if (this.name == null) 917 this.name = new StringType(); 918 this.name.setValue(value); 919 } 920 return this; 921 } 922 923 /** 924 * @return {@link #alias} (A list of alternate names that the location is known as, or was known as in the past.) 925 */ 926 public List<StringType> getAlias() { 927 if (this.alias == null) 928 this.alias = new ArrayList<StringType>(); 929 return this.alias; 930 } 931 932 /** 933 * @return Returns a reference to <code>this</code> for easy method chaining 934 */ 935 public Location setAlias(List<StringType> theAlias) { 936 this.alias = theAlias; 937 return this; 938 } 939 940 public boolean hasAlias() { 941 if (this.alias == null) 942 return false; 943 for (StringType item : this.alias) 944 if (!item.isEmpty()) 945 return true; 946 return false; 947 } 948 949 /** 950 * @return {@link #alias} (A list of alternate names that the location is known as, or was known as in the past.) 951 */ 952 public StringType addAliasElement() {//2 953 StringType t = new StringType(); 954 if (this.alias == null) 955 this.alias = new ArrayList<StringType>(); 956 this.alias.add(t); 957 return t; 958 } 959 960 /** 961 * @param value {@link #alias} (A list of alternate names that the location is known as, or was known as in the past.) 962 */ 963 public Location addAlias(String value) { //1 964 StringType t = new StringType(); 965 t.setValue(value); 966 if (this.alias == null) 967 this.alias = new ArrayList<StringType>(); 968 this.alias.add(t); 969 return this; 970 } 971 972 /** 973 * @param value {@link #alias} (A list of alternate names that the location is known as, or was known as in the past.) 974 */ 975 public boolean hasAlias(String value) { 976 if (this.alias == null) 977 return false; 978 for (StringType v : this.alias) 979 if (v.equals(value)) // string 980 return true; 981 return false; 982 } 983 984 /** 985 * @return {@link #description} (Description of the Location, which helps in finding or referencing the place.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 986 */ 987 public StringType getDescriptionElement() { 988 if (this.description == null) 989 if (Configuration.errorOnAutoCreate()) 990 throw new Error("Attempt to auto-create Location.description"); 991 else if (Configuration.doAutoCreate()) 992 this.description = new StringType(); // bb 993 return this.description; 994 } 995 996 public boolean hasDescriptionElement() { 997 return this.description != null && !this.description.isEmpty(); 998 } 999 1000 public boolean hasDescription() { 1001 return this.description != null && !this.description.isEmpty(); 1002 } 1003 1004 /** 1005 * @param value {@link #description} (Description of the Location, which helps in finding or referencing the place.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1006 */ 1007 public Location setDescriptionElement(StringType value) { 1008 this.description = value; 1009 return this; 1010 } 1011 1012 /** 1013 * @return Description of the Location, which helps in finding or referencing the place. 1014 */ 1015 public String getDescription() { 1016 return this.description == null ? null : this.description.getValue(); 1017 } 1018 1019 /** 1020 * @param value Description of the Location, which helps in finding or referencing the place. 1021 */ 1022 public Location setDescription(String value) { 1023 if (Utilities.noString(value)) 1024 this.description = null; 1025 else { 1026 if (this.description == null) 1027 this.description = new StringType(); 1028 this.description.setValue(value); 1029 } 1030 return this; 1031 } 1032 1033 /** 1034 * @return {@link #mode} (Indicates whether a resource instance represents a specific location or a class of locations.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 1035 */ 1036 public Enumeration<LocationMode> getModeElement() { 1037 if (this.mode == null) 1038 if (Configuration.errorOnAutoCreate()) 1039 throw new Error("Attempt to auto-create Location.mode"); 1040 else if (Configuration.doAutoCreate()) 1041 this.mode = new Enumeration<LocationMode>(new LocationModeEnumFactory()); // bb 1042 return this.mode; 1043 } 1044 1045 public boolean hasModeElement() { 1046 return this.mode != null && !this.mode.isEmpty(); 1047 } 1048 1049 public boolean hasMode() { 1050 return this.mode != null && !this.mode.isEmpty(); 1051 } 1052 1053 /** 1054 * @param value {@link #mode} (Indicates whether a resource instance represents a specific location or a class of locations.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value 1055 */ 1056 public Location setModeElement(Enumeration<LocationMode> value) { 1057 this.mode = value; 1058 return this; 1059 } 1060 1061 /** 1062 * @return Indicates whether a resource instance represents a specific location or a class of locations. 1063 */ 1064 public LocationMode getMode() { 1065 return this.mode == null ? null : this.mode.getValue(); 1066 } 1067 1068 /** 1069 * @param value Indicates whether a resource instance represents a specific location or a class of locations. 1070 */ 1071 public Location setMode(LocationMode value) { 1072 if (value == null) 1073 this.mode = null; 1074 else { 1075 if (this.mode == null) 1076 this.mode = new Enumeration<LocationMode>(new LocationModeEnumFactory()); 1077 this.mode.setValue(value); 1078 } 1079 return this; 1080 } 1081 1082 /** 1083 * @return {@link #type} (Indicates the type of function performed at the location.) 1084 */ 1085 public CodeableConcept getType() { 1086 if (this.type == null) 1087 if (Configuration.errorOnAutoCreate()) 1088 throw new Error("Attempt to auto-create Location.type"); 1089 else if (Configuration.doAutoCreate()) 1090 this.type = new CodeableConcept(); // cc 1091 return this.type; 1092 } 1093 1094 public boolean hasType() { 1095 return this.type != null && !this.type.isEmpty(); 1096 } 1097 1098 /** 1099 * @param value {@link #type} (Indicates the type of function performed at the location.) 1100 */ 1101 public Location setType(CodeableConcept value) { 1102 this.type = value; 1103 return this; 1104 } 1105 1106 /** 1107 * @return {@link #telecom} (The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.) 1108 */ 1109 public List<ContactPoint> getTelecom() { 1110 if (this.telecom == null) 1111 this.telecom = new ArrayList<ContactPoint>(); 1112 return this.telecom; 1113 } 1114 1115 /** 1116 * @return Returns a reference to <code>this</code> for easy method chaining 1117 */ 1118 public Location setTelecom(List<ContactPoint> theTelecom) { 1119 this.telecom = theTelecom; 1120 return this; 1121 } 1122 1123 public boolean hasTelecom() { 1124 if (this.telecom == null) 1125 return false; 1126 for (ContactPoint item : this.telecom) 1127 if (!item.isEmpty()) 1128 return true; 1129 return false; 1130 } 1131 1132 public ContactPoint addTelecom() { //3 1133 ContactPoint t = new ContactPoint(); 1134 if (this.telecom == null) 1135 this.telecom = new ArrayList<ContactPoint>(); 1136 this.telecom.add(t); 1137 return t; 1138 } 1139 1140 public Location addTelecom(ContactPoint t) { //3 1141 if (t == null) 1142 return this; 1143 if (this.telecom == null) 1144 this.telecom = new ArrayList<ContactPoint>(); 1145 this.telecom.add(t); 1146 return this; 1147 } 1148 1149 /** 1150 * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist 1151 */ 1152 public ContactPoint getTelecomFirstRep() { 1153 if (getTelecom().isEmpty()) { 1154 addTelecom(); 1155 } 1156 return getTelecom().get(0); 1157 } 1158 1159 /** 1160 * @return {@link #address} (Physical location.) 1161 */ 1162 public Address getAddress() { 1163 if (this.address == null) 1164 if (Configuration.errorOnAutoCreate()) 1165 throw new Error("Attempt to auto-create Location.address"); 1166 else if (Configuration.doAutoCreate()) 1167 this.address = new Address(); // cc 1168 return this.address; 1169 } 1170 1171 public boolean hasAddress() { 1172 return this.address != null && !this.address.isEmpty(); 1173 } 1174 1175 /** 1176 * @param value {@link #address} (Physical location.) 1177 */ 1178 public Location setAddress(Address value) { 1179 this.address = value; 1180 return this; 1181 } 1182 1183 /** 1184 * @return {@link #physicalType} (Physical form of the location, e.g. building, room, vehicle, road.) 1185 */ 1186 public CodeableConcept getPhysicalType() { 1187 if (this.physicalType == null) 1188 if (Configuration.errorOnAutoCreate()) 1189 throw new Error("Attempt to auto-create Location.physicalType"); 1190 else if (Configuration.doAutoCreate()) 1191 this.physicalType = new CodeableConcept(); // cc 1192 return this.physicalType; 1193 } 1194 1195 public boolean hasPhysicalType() { 1196 return this.physicalType != null && !this.physicalType.isEmpty(); 1197 } 1198 1199 /** 1200 * @param value {@link #physicalType} (Physical form of the location, e.g. building, room, vehicle, road.) 1201 */ 1202 public Location setPhysicalType(CodeableConcept value) { 1203 this.physicalType = value; 1204 return this; 1205 } 1206 1207 /** 1208 * @return {@link #position} (The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).) 1209 */ 1210 public LocationPositionComponent getPosition() { 1211 if (this.position == null) 1212 if (Configuration.errorOnAutoCreate()) 1213 throw new Error("Attempt to auto-create Location.position"); 1214 else if (Configuration.doAutoCreate()) 1215 this.position = new LocationPositionComponent(); // cc 1216 return this.position; 1217 } 1218 1219 public boolean hasPosition() { 1220 return this.position != null && !this.position.isEmpty(); 1221 } 1222 1223 /** 1224 * @param value {@link #position} (The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).) 1225 */ 1226 public Location setPosition(LocationPositionComponent value) { 1227 this.position = value; 1228 return this; 1229 } 1230 1231 /** 1232 * @return {@link #managingOrganization} (The organization responsible for the provisioning and upkeep of the location.) 1233 */ 1234 public Reference getManagingOrganization() { 1235 if (this.managingOrganization == null) 1236 if (Configuration.errorOnAutoCreate()) 1237 throw new Error("Attempt to auto-create Location.managingOrganization"); 1238 else if (Configuration.doAutoCreate()) 1239 this.managingOrganization = new Reference(); // cc 1240 return this.managingOrganization; 1241 } 1242 1243 public boolean hasManagingOrganization() { 1244 return this.managingOrganization != null && !this.managingOrganization.isEmpty(); 1245 } 1246 1247 /** 1248 * @param value {@link #managingOrganization} (The organization responsible for the provisioning and upkeep of the location.) 1249 */ 1250 public Location setManagingOrganization(Reference value) { 1251 this.managingOrganization = value; 1252 return this; 1253 } 1254 1255 /** 1256 * @return {@link #managingOrganization} 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 responsible for the provisioning and upkeep of the location.) 1257 */ 1258 public Organization getManagingOrganizationTarget() { 1259 if (this.managingOrganizationTarget == null) 1260 if (Configuration.errorOnAutoCreate()) 1261 throw new Error("Attempt to auto-create Location.managingOrganization"); 1262 else if (Configuration.doAutoCreate()) 1263 this.managingOrganizationTarget = new Organization(); // aa 1264 return this.managingOrganizationTarget; 1265 } 1266 1267 /** 1268 * @param value {@link #managingOrganization} 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 responsible for the provisioning and upkeep of the location.) 1269 */ 1270 public Location setManagingOrganizationTarget(Organization value) { 1271 this.managingOrganizationTarget = value; 1272 return this; 1273 } 1274 1275 /** 1276 * @return {@link #partOf} (Another Location which this Location is physically part of.) 1277 */ 1278 public Reference getPartOf() { 1279 if (this.partOf == null) 1280 if (Configuration.errorOnAutoCreate()) 1281 throw new Error("Attempt to auto-create Location.partOf"); 1282 else if (Configuration.doAutoCreate()) 1283 this.partOf = new Reference(); // cc 1284 return this.partOf; 1285 } 1286 1287 public boolean hasPartOf() { 1288 return this.partOf != null && !this.partOf.isEmpty(); 1289 } 1290 1291 /** 1292 * @param value {@link #partOf} (Another Location which this Location is physically part of.) 1293 */ 1294 public Location setPartOf(Reference value) { 1295 this.partOf = value; 1296 return this; 1297 } 1298 1299 /** 1300 * @return {@link #partOf} 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. (Another Location which this Location is physically part of.) 1301 */ 1302 public Location getPartOfTarget() { 1303 if (this.partOfTarget == null) 1304 if (Configuration.errorOnAutoCreate()) 1305 throw new Error("Attempt to auto-create Location.partOf"); 1306 else if (Configuration.doAutoCreate()) 1307 this.partOfTarget = new Location(); // aa 1308 return this.partOfTarget; 1309 } 1310 1311 /** 1312 * @param value {@link #partOf} 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. (Another Location which this Location is physically part of.) 1313 */ 1314 public Location setPartOfTarget(Location value) { 1315 this.partOfTarget = value; 1316 return this; 1317 } 1318 1319 /** 1320 * @return {@link #endpoint} (Technical endpoints providing access to services operated for the location.) 1321 */ 1322 public List<Reference> getEndpoint() { 1323 if (this.endpoint == null) 1324 this.endpoint = new ArrayList<Reference>(); 1325 return this.endpoint; 1326 } 1327 1328 /** 1329 * @return Returns a reference to <code>this</code> for easy method chaining 1330 */ 1331 public Location setEndpoint(List<Reference> theEndpoint) { 1332 this.endpoint = theEndpoint; 1333 return this; 1334 } 1335 1336 public boolean hasEndpoint() { 1337 if (this.endpoint == null) 1338 return false; 1339 for (Reference item : this.endpoint) 1340 if (!item.isEmpty()) 1341 return true; 1342 return false; 1343 } 1344 1345 public Reference addEndpoint() { //3 1346 Reference t = new Reference(); 1347 if (this.endpoint == null) 1348 this.endpoint = new ArrayList<Reference>(); 1349 this.endpoint.add(t); 1350 return t; 1351 } 1352 1353 public Location addEndpoint(Reference t) { //3 1354 if (t == null) 1355 return this; 1356 if (this.endpoint == null) 1357 this.endpoint = new ArrayList<Reference>(); 1358 this.endpoint.add(t); 1359 return this; 1360 } 1361 1362 /** 1363 * @return The first repetition of repeating field {@link #endpoint}, creating it if it does not already exist 1364 */ 1365 public Reference getEndpointFirstRep() { 1366 if (getEndpoint().isEmpty()) { 1367 addEndpoint(); 1368 } 1369 return getEndpoint().get(0); 1370 } 1371 1372 /** 1373 * @deprecated Use Reference#setResource(IBaseResource) instead 1374 */ 1375 @Deprecated 1376 public List<Endpoint> getEndpointTarget() { 1377 if (this.endpointTarget == null) 1378 this.endpointTarget = new ArrayList<Endpoint>(); 1379 return this.endpointTarget; 1380 } 1381 1382 /** 1383 * @deprecated Use Reference#setResource(IBaseResource) instead 1384 */ 1385 @Deprecated 1386 public Endpoint addEndpointTarget() { 1387 Endpoint r = new Endpoint(); 1388 if (this.endpointTarget == null) 1389 this.endpointTarget = new ArrayList<Endpoint>(); 1390 this.endpointTarget.add(r); 1391 return r; 1392 } 1393 1394 protected void listChildren(List<Property> childrenList) { 1395 super.listChildren(childrenList); 1396 childrenList.add(new Property("identifier", "Identifier", "Unique code or number identifying the location to its users.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1397 childrenList.add(new Property("status", "code", "The status property covers the general availability of the resource, not the current value which may be covered by the operationStatus, or by a schedule/slots if they are configured for the location.", 0, java.lang.Integer.MAX_VALUE, status)); 1398 childrenList.add(new Property("operationalStatus", "Coding", "The Operational status covers operation values most relevant to beds (but can also apply to rooms/units/chair/etc such as an isolation unit/dialisys chair). This typically covers concepts such as contamination, housekeeping and other activities like maintenance.", 0, java.lang.Integer.MAX_VALUE, operationalStatus)); 1399 childrenList.add(new Property("name", "string", "Name of the location as used by humans. Does not need to be unique.", 0, java.lang.Integer.MAX_VALUE, name)); 1400 childrenList.add(new Property("alias", "string", "A list of alternate names that the location is known as, or was known as in the past.", 0, java.lang.Integer.MAX_VALUE, alias)); 1401 childrenList.add(new Property("description", "string", "Description of the Location, which helps in finding or referencing the place.", 0, java.lang.Integer.MAX_VALUE, description)); 1402 childrenList.add(new Property("mode", "code", "Indicates whether a resource instance represents a specific location or a class of locations.", 0, java.lang.Integer.MAX_VALUE, mode)); 1403 childrenList.add(new Property("type", "CodeableConcept", "Indicates the type of function performed at the location.", 0, java.lang.Integer.MAX_VALUE, type)); 1404 childrenList.add(new Property("telecom", "ContactPoint", "The contact details of communication devices available at the location. This can include phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, telecom)); 1405 childrenList.add(new Property("address", "Address", "Physical location.", 0, java.lang.Integer.MAX_VALUE, address)); 1406 childrenList.add(new Property("physicalType", "CodeableConcept", "Physical form of the location, e.g. building, room, vehicle, road.", 0, java.lang.Integer.MAX_VALUE, physicalType)); 1407 childrenList.add(new Property("position", "", "The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).", 0, java.lang.Integer.MAX_VALUE, position)); 1408 childrenList.add(new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the provisioning and upkeep of the location.", 0, java.lang.Integer.MAX_VALUE, managingOrganization)); 1409 childrenList.add(new Property("partOf", "Reference(Location)", "Another Location which this Location is physically part of.", 0, java.lang.Integer.MAX_VALUE, partOf)); 1410 childrenList.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the location.", 0, java.lang.Integer.MAX_VALUE, endpoint)); 1411 } 1412 1413 @Override 1414 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1415 switch (hash) { 1416 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1417 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<LocationStatus> 1418 case -2103166364: /*operationalStatus*/ return this.operationalStatus == null ? new Base[0] : new Base[] {this.operationalStatus}; // Coding 1419 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1420 case 92902992: /*alias*/ return this.alias == null ? new Base[0] : this.alias.toArray(new Base[this.alias.size()]); // StringType 1421 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1422 case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration<LocationMode> 1423 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept 1424 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 1425 case -1147692044: /*address*/ return this.address == null ? new Base[0] : new Base[] {this.address}; // Address 1426 case -1474715471: /*physicalType*/ return this.physicalType == null ? new Base[0] : new Base[] {this.physicalType}; // CodeableConcept 1427 case 747804969: /*position*/ return this.position == null ? new Base[0] : new Base[] {this.position}; // LocationPositionComponent 1428 case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference 1429 case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference 1430 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference 1431 default: return super.getProperty(hash, name, checkValid); 1432 } 1433 1434 } 1435 1436 @Override 1437 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1438 switch (hash) { 1439 case -1618432855: // identifier 1440 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1441 return value; 1442 case -892481550: // status 1443 value = new LocationStatusEnumFactory().fromType(castToCode(value)); 1444 this.status = (Enumeration) value; // Enumeration<LocationStatus> 1445 return value; 1446 case -2103166364: // operationalStatus 1447 this.operationalStatus = castToCoding(value); // Coding 1448 return value; 1449 case 3373707: // name 1450 this.name = castToString(value); // StringType 1451 return value; 1452 case 92902992: // alias 1453 this.getAlias().add(castToString(value)); // StringType 1454 return value; 1455 case -1724546052: // description 1456 this.description = castToString(value); // StringType 1457 return value; 1458 case 3357091: // mode 1459 value = new LocationModeEnumFactory().fromType(castToCode(value)); 1460 this.mode = (Enumeration) value; // Enumeration<LocationMode> 1461 return value; 1462 case 3575610: // type 1463 this.type = castToCodeableConcept(value); // CodeableConcept 1464 return value; 1465 case -1429363305: // telecom 1466 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 1467 return value; 1468 case -1147692044: // address 1469 this.address = castToAddress(value); // Address 1470 return value; 1471 case -1474715471: // physicalType 1472 this.physicalType = castToCodeableConcept(value); // CodeableConcept 1473 return value; 1474 case 747804969: // position 1475 this.position = (LocationPositionComponent) value; // LocationPositionComponent 1476 return value; 1477 case -2058947787: // managingOrganization 1478 this.managingOrganization = castToReference(value); // Reference 1479 return value; 1480 case -995410646: // partOf 1481 this.partOf = castToReference(value); // Reference 1482 return value; 1483 case 1741102485: // endpoint 1484 this.getEndpoint().add(castToReference(value)); // Reference 1485 return value; 1486 default: return super.setProperty(hash, name, value); 1487 } 1488 1489 } 1490 1491 @Override 1492 public Base setProperty(String name, Base value) throws FHIRException { 1493 if (name.equals("identifier")) { 1494 this.getIdentifier().add(castToIdentifier(value)); 1495 } else if (name.equals("status")) { 1496 value = new LocationStatusEnumFactory().fromType(castToCode(value)); 1497 this.status = (Enumeration) value; // Enumeration<LocationStatus> 1498 } else if (name.equals("operationalStatus")) { 1499 this.operationalStatus = castToCoding(value); // Coding 1500 } else if (name.equals("name")) { 1501 this.name = castToString(value); // StringType 1502 } else if (name.equals("alias")) { 1503 this.getAlias().add(castToString(value)); 1504 } else if (name.equals("description")) { 1505 this.description = castToString(value); // StringType 1506 } else if (name.equals("mode")) { 1507 value = new LocationModeEnumFactory().fromType(castToCode(value)); 1508 this.mode = (Enumeration) value; // Enumeration<LocationMode> 1509 } else if (name.equals("type")) { 1510 this.type = castToCodeableConcept(value); // CodeableConcept 1511 } else if (name.equals("telecom")) { 1512 this.getTelecom().add(castToContactPoint(value)); 1513 } else if (name.equals("address")) { 1514 this.address = castToAddress(value); // Address 1515 } else if (name.equals("physicalType")) { 1516 this.physicalType = castToCodeableConcept(value); // CodeableConcept 1517 } else if (name.equals("position")) { 1518 this.position = (LocationPositionComponent) value; // LocationPositionComponent 1519 } else if (name.equals("managingOrganization")) { 1520 this.managingOrganization = castToReference(value); // Reference 1521 } else if (name.equals("partOf")) { 1522 this.partOf = castToReference(value); // Reference 1523 } else if (name.equals("endpoint")) { 1524 this.getEndpoint().add(castToReference(value)); 1525 } else 1526 return super.setProperty(name, value); 1527 return value; 1528 } 1529 1530 @Override 1531 public Base makeProperty(int hash, String name) throws FHIRException { 1532 switch (hash) { 1533 case -1618432855: return addIdentifier(); 1534 case -892481550: return getStatusElement(); 1535 case -2103166364: return getOperationalStatus(); 1536 case 3373707: return getNameElement(); 1537 case 92902992: return addAliasElement(); 1538 case -1724546052: return getDescriptionElement(); 1539 case 3357091: return getModeElement(); 1540 case 3575610: return getType(); 1541 case -1429363305: return addTelecom(); 1542 case -1147692044: return getAddress(); 1543 case -1474715471: return getPhysicalType(); 1544 case 747804969: return getPosition(); 1545 case -2058947787: return getManagingOrganization(); 1546 case -995410646: return getPartOf(); 1547 case 1741102485: return addEndpoint(); 1548 default: return super.makeProperty(hash, name); 1549 } 1550 1551 } 1552 1553 @Override 1554 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1555 switch (hash) { 1556 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1557 case -892481550: /*status*/ return new String[] {"code"}; 1558 case -2103166364: /*operationalStatus*/ return new String[] {"Coding"}; 1559 case 3373707: /*name*/ return new String[] {"string"}; 1560 case 92902992: /*alias*/ return new String[] {"string"}; 1561 case -1724546052: /*description*/ return new String[] {"string"}; 1562 case 3357091: /*mode*/ return new String[] {"code"}; 1563 case 3575610: /*type*/ return new String[] {"CodeableConcept"}; 1564 case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; 1565 case -1147692044: /*address*/ return new String[] {"Address"}; 1566 case -1474715471: /*physicalType*/ return new String[] {"CodeableConcept"}; 1567 case 747804969: /*position*/ return new String[] {}; 1568 case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; 1569 case -995410646: /*partOf*/ return new String[] {"Reference"}; 1570 case 1741102485: /*endpoint*/ return new String[] {"Reference"}; 1571 default: return super.getTypesForProperty(hash, name); 1572 } 1573 1574 } 1575 1576 @Override 1577 public Base addChild(String name) throws FHIRException { 1578 if (name.equals("identifier")) { 1579 return addIdentifier(); 1580 } 1581 else if (name.equals("status")) { 1582 throw new FHIRException("Cannot call addChild on a primitive type Location.status"); 1583 } 1584 else if (name.equals("operationalStatus")) { 1585 this.operationalStatus = new Coding(); 1586 return this.operationalStatus; 1587 } 1588 else if (name.equals("name")) { 1589 throw new FHIRException("Cannot call addChild on a primitive type Location.name"); 1590 } 1591 else if (name.equals("alias")) { 1592 throw new FHIRException("Cannot call addChild on a primitive type Location.alias"); 1593 } 1594 else if (name.equals("description")) { 1595 throw new FHIRException("Cannot call addChild on a primitive type Location.description"); 1596 } 1597 else if (name.equals("mode")) { 1598 throw new FHIRException("Cannot call addChild on a primitive type Location.mode"); 1599 } 1600 else if (name.equals("type")) { 1601 this.type = new CodeableConcept(); 1602 return this.type; 1603 } 1604 else if (name.equals("telecom")) { 1605 return addTelecom(); 1606 } 1607 else if (name.equals("address")) { 1608 this.address = new Address(); 1609 return this.address; 1610 } 1611 else if (name.equals("physicalType")) { 1612 this.physicalType = new CodeableConcept(); 1613 return this.physicalType; 1614 } 1615 else if (name.equals("position")) { 1616 this.position = new LocationPositionComponent(); 1617 return this.position; 1618 } 1619 else if (name.equals("managingOrganization")) { 1620 this.managingOrganization = new Reference(); 1621 return this.managingOrganization; 1622 } 1623 else if (name.equals("partOf")) { 1624 this.partOf = new Reference(); 1625 return this.partOf; 1626 } 1627 else if (name.equals("endpoint")) { 1628 return addEndpoint(); 1629 } 1630 else 1631 return super.addChild(name); 1632 } 1633 1634 public String fhirType() { 1635 return "Location"; 1636 1637 } 1638 1639 public Location copy() { 1640 Location dst = new Location(); 1641 copyValues(dst); 1642 if (identifier != null) { 1643 dst.identifier = new ArrayList<Identifier>(); 1644 for (Identifier i : identifier) 1645 dst.identifier.add(i.copy()); 1646 }; 1647 dst.status = status == null ? null : status.copy(); 1648 dst.operationalStatus = operationalStatus == null ? null : operationalStatus.copy(); 1649 dst.name = name == null ? null : name.copy(); 1650 if (alias != null) { 1651 dst.alias = new ArrayList<StringType>(); 1652 for (StringType i : alias) 1653 dst.alias.add(i.copy()); 1654 }; 1655 dst.description = description == null ? null : description.copy(); 1656 dst.mode = mode == null ? null : mode.copy(); 1657 dst.type = type == null ? null : type.copy(); 1658 if (telecom != null) { 1659 dst.telecom = new ArrayList<ContactPoint>(); 1660 for (ContactPoint i : telecom) 1661 dst.telecom.add(i.copy()); 1662 }; 1663 dst.address = address == null ? null : address.copy(); 1664 dst.physicalType = physicalType == null ? null : physicalType.copy(); 1665 dst.position = position == null ? null : position.copy(); 1666 dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); 1667 dst.partOf = partOf == null ? null : partOf.copy(); 1668 if (endpoint != null) { 1669 dst.endpoint = new ArrayList<Reference>(); 1670 for (Reference i : endpoint) 1671 dst.endpoint.add(i.copy()); 1672 }; 1673 return dst; 1674 } 1675 1676 protected Location typedCopy() { 1677 return copy(); 1678 } 1679 1680 @Override 1681 public boolean equalsDeep(Base other) { 1682 if (!super.equalsDeep(other)) 1683 return false; 1684 if (!(other instanceof Location)) 1685 return false; 1686 Location o = (Location) other; 1687 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(operationalStatus, o.operationalStatus, true) 1688 && compareDeep(name, o.name, true) && compareDeep(alias, o.alias, true) && compareDeep(description, o.description, true) 1689 && compareDeep(mode, o.mode, true) && compareDeep(type, o.type, true) && compareDeep(telecom, o.telecom, true) 1690 && compareDeep(address, o.address, true) && compareDeep(physicalType, o.physicalType, true) && compareDeep(position, o.position, true) 1691 && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(partOf, o.partOf, true) 1692 && compareDeep(endpoint, o.endpoint, true); 1693 } 1694 1695 @Override 1696 public boolean equalsShallow(Base other) { 1697 if (!super.equalsShallow(other)) 1698 return false; 1699 if (!(other instanceof Location)) 1700 return false; 1701 Location o = (Location) other; 1702 return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(alias, o.alias, true) 1703 && compareValues(description, o.description, true) && compareValues(mode, o.mode, true); 1704 } 1705 1706 public boolean isEmpty() { 1707 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, operationalStatus 1708 , name, alias, description, mode, type, telecom, address, physicalType, position 1709 , managingOrganization, partOf, endpoint); 1710 } 1711 1712 @Override 1713 public ResourceType getResourceType() { 1714 return ResourceType.Location; 1715 } 1716 1717 /** 1718 * Search parameter: <b>identifier</b> 1719 * <p> 1720 * Description: <b>An identifier for the location</b><br> 1721 * Type: <b>token</b><br> 1722 * Path: <b>Location.identifier</b><br> 1723 * </p> 1724 */ 1725 @SearchParamDefinition(name="identifier", path="Location.identifier", description="An identifier for the location", type="token" ) 1726 public static final String SP_IDENTIFIER = "identifier"; 1727 /** 1728 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1729 * <p> 1730 * Description: <b>An identifier for the location</b><br> 1731 * Type: <b>token</b><br> 1732 * Path: <b>Location.identifier</b><br> 1733 * </p> 1734 */ 1735 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1736 1737 /** 1738 * Search parameter: <b>partof</b> 1739 * <p> 1740 * Description: <b>A location of which this location is a part</b><br> 1741 * Type: <b>reference</b><br> 1742 * Path: <b>Location.partOf</b><br> 1743 * </p> 1744 */ 1745 @SearchParamDefinition(name="partof", path="Location.partOf", description="A location of which this location is a part", type="reference", target={Location.class } ) 1746 public static final String SP_PARTOF = "partof"; 1747 /** 1748 * <b>Fluent Client</b> search parameter constant for <b>partof</b> 1749 * <p> 1750 * Description: <b>A location of which this location is a part</b><br> 1751 * Type: <b>reference</b><br> 1752 * Path: <b>Location.partOf</b><br> 1753 * </p> 1754 */ 1755 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTOF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTOF); 1756 1757/** 1758 * Constant for fluent queries to be used to add include statements. Specifies 1759 * the path value of "<b>Location:partof</b>". 1760 */ 1761 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTOF = new ca.uhn.fhir.model.api.Include("Location:partof").toLocked(); 1762 1763 /** 1764 * Search parameter: <b>near-distance</b> 1765 * <p> 1766 * Description: <b>A distance quantity to limit the near search to locations within a specific distance 1767 1768Requires the near parameter to also be included</b><br> 1769 * Type: <b>quantity</b><br> 1770 * Path: <b>Location.position</b><br> 1771 * </p> 1772 */ 1773 @SearchParamDefinition(name="near-distance", path="Location.position", description="A distance quantity to limit the near search to locations within a specific distance\n\nRequires the near parameter to also be included", type="quantity" ) 1774 public static final String SP_NEAR_DISTANCE = "near-distance"; 1775 /** 1776 * <b>Fluent Client</b> search parameter constant for <b>near-distance</b> 1777 * <p> 1778 * Description: <b>A distance quantity to limit the near search to locations within a specific distance 1779 1780Requires the near parameter to also be included</b><br> 1781 * Type: <b>quantity</b><br> 1782 * Path: <b>Location.position</b><br> 1783 * </p> 1784 */ 1785 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam NEAR_DISTANCE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_NEAR_DISTANCE); 1786 1787 /** 1788 * Search parameter: <b>address</b> 1789 * <p> 1790 * Description: <b>A (part of the) address of the location</b><br> 1791 * Type: <b>string</b><br> 1792 * Path: <b>Location.address</b><br> 1793 * </p> 1794 */ 1795 @SearchParamDefinition(name="address", path="Location.address", description="A (part of the) address of the location", type="string" ) 1796 public static final String SP_ADDRESS = "address"; 1797 /** 1798 * <b>Fluent Client</b> search parameter constant for <b>address</b> 1799 * <p> 1800 * Description: <b>A (part of the) address of the location</b><br> 1801 * Type: <b>string</b><br> 1802 * Path: <b>Location.address</b><br> 1803 * </p> 1804 */ 1805 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); 1806 1807 /** 1808 * Search parameter: <b>address-state</b> 1809 * <p> 1810 * Description: <b>A state specified in an address</b><br> 1811 * Type: <b>string</b><br> 1812 * Path: <b>Location.address.state</b><br> 1813 * </p> 1814 */ 1815 @SearchParamDefinition(name="address-state", path="Location.address.state", description="A state specified in an address", type="string" ) 1816 public static final String SP_ADDRESS_STATE = "address-state"; 1817 /** 1818 * <b>Fluent Client</b> search parameter constant for <b>address-state</b> 1819 * <p> 1820 * Description: <b>A state specified in an address</b><br> 1821 * Type: <b>string</b><br> 1822 * Path: <b>Location.address.state</b><br> 1823 * </p> 1824 */ 1825 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); 1826 1827 /** 1828 * Search parameter: <b>operational-status</b> 1829 * <p> 1830 * Description: <b>Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping)</b><br> 1831 * Type: <b>token</b><br> 1832 * Path: <b>Location.operationalStatus</b><br> 1833 * </p> 1834 */ 1835 @SearchParamDefinition(name="operational-status", path="Location.operationalStatus", description="Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping)", type="token" ) 1836 public static final String SP_OPERATIONAL_STATUS = "operational-status"; 1837 /** 1838 * <b>Fluent Client</b> search parameter constant for <b>operational-status</b> 1839 * <p> 1840 * Description: <b>Searches for locations (typically bed/room) that have an operational status (e.g. contaminated, housekeeping)</b><br> 1841 * Type: <b>token</b><br> 1842 * Path: <b>Location.operationalStatus</b><br> 1843 * </p> 1844 */ 1845 public static final ca.uhn.fhir.rest.gclient.TokenClientParam OPERATIONAL_STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_OPERATIONAL_STATUS); 1846 1847 /** 1848 * Search parameter: <b>type</b> 1849 * <p> 1850 * Description: <b>A code for the type of location</b><br> 1851 * Type: <b>token</b><br> 1852 * Path: <b>Location.type</b><br> 1853 * </p> 1854 */ 1855 @SearchParamDefinition(name="type", path="Location.type", description="A code for the type of location", type="token" ) 1856 public static final String SP_TYPE = "type"; 1857 /** 1858 * <b>Fluent Client</b> search parameter constant for <b>type</b> 1859 * <p> 1860 * Description: <b>A code for the type of location</b><br> 1861 * Type: <b>token</b><br> 1862 * Path: <b>Location.type</b><br> 1863 * </p> 1864 */ 1865 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); 1866 1867 /** 1868 * Search parameter: <b>address-postalcode</b> 1869 * <p> 1870 * Description: <b>A postal code specified in an address</b><br> 1871 * Type: <b>string</b><br> 1872 * Path: <b>Location.address.postalCode</b><br> 1873 * </p> 1874 */ 1875 @SearchParamDefinition(name="address-postalcode", path="Location.address.postalCode", description="A postal code specified in an address", type="string" ) 1876 public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; 1877 /** 1878 * <b>Fluent Client</b> search parameter constant for <b>address-postalcode</b> 1879 * <p> 1880 * Description: <b>A postal code specified in an address</b><br> 1881 * Type: <b>string</b><br> 1882 * Path: <b>Location.address.postalCode</b><br> 1883 * </p> 1884 */ 1885 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); 1886 1887 /** 1888 * Search parameter: <b>address-country</b> 1889 * <p> 1890 * Description: <b>A country specified in an address</b><br> 1891 * Type: <b>string</b><br> 1892 * Path: <b>Location.address.country</b><br> 1893 * </p> 1894 */ 1895 @SearchParamDefinition(name="address-country", path="Location.address.country", description="A country specified in an address", type="string" ) 1896 public static final String SP_ADDRESS_COUNTRY = "address-country"; 1897 /** 1898 * <b>Fluent Client</b> search parameter constant for <b>address-country</b> 1899 * <p> 1900 * Description: <b>A country specified in an address</b><br> 1901 * Type: <b>string</b><br> 1902 * Path: <b>Location.address.country</b><br> 1903 * </p> 1904 */ 1905 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); 1906 1907 /** 1908 * Search parameter: <b>endpoint</b> 1909 * <p> 1910 * Description: <b>Technical endpoints providing access to services operated for the location</b><br> 1911 * Type: <b>reference</b><br> 1912 * Path: <b>Location.endpoint</b><br> 1913 * </p> 1914 */ 1915 @SearchParamDefinition(name="endpoint", path="Location.endpoint", description="Technical endpoints providing access to services operated for the location", type="reference", target={Endpoint.class } ) 1916 public static final String SP_ENDPOINT = "endpoint"; 1917 /** 1918 * <b>Fluent Client</b> search parameter constant for <b>endpoint</b> 1919 * <p> 1920 * Description: <b>Technical endpoints providing access to services operated for the location</b><br> 1921 * Type: <b>reference</b><br> 1922 * Path: <b>Location.endpoint</b><br> 1923 * </p> 1924 */ 1925 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENDPOINT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENDPOINT); 1926 1927/** 1928 * Constant for fluent queries to be used to add include statements. Specifies 1929 * the path value of "<b>Location:endpoint</b>". 1930 */ 1931 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENDPOINT = new ca.uhn.fhir.model.api.Include("Location:endpoint").toLocked(); 1932 1933 /** 1934 * Search parameter: <b>organization</b> 1935 * <p> 1936 * Description: <b>Searches for locations that are managed by the provided organization</b><br> 1937 * Type: <b>reference</b><br> 1938 * Path: <b>Location.managingOrganization</b><br> 1939 * </p> 1940 */ 1941 @SearchParamDefinition(name="organization", path="Location.managingOrganization", description="Searches for locations that are managed by the provided organization", type="reference", target={Organization.class } ) 1942 public static final String SP_ORGANIZATION = "organization"; 1943 /** 1944 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 1945 * <p> 1946 * Description: <b>Searches for locations that are managed by the provided organization</b><br> 1947 * Type: <b>reference</b><br> 1948 * Path: <b>Location.managingOrganization</b><br> 1949 * </p> 1950 */ 1951 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ORGANIZATION); 1952 1953/** 1954 * Constant for fluent queries to be used to add include statements. Specifies 1955 * the path value of "<b>Location:organization</b>". 1956 */ 1957 public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATION = new ca.uhn.fhir.model.api.Include("Location:organization").toLocked(); 1958 1959 /** 1960 * Search parameter: <b>name</b> 1961 * <p> 1962 * Description: <b>A portion of the location's name or alias</b><br> 1963 * Type: <b>string</b><br> 1964 * Path: <b>Location.name, Location.alias</b><br> 1965 * </p> 1966 */ 1967 @SearchParamDefinition(name="name", path="Location.name | Location.alias", description="A portion of the location's name or alias", type="string" ) 1968 public static final String SP_NAME = "name"; 1969 /** 1970 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1971 * <p> 1972 * Description: <b>A portion of the location's name or alias</b><br> 1973 * Type: <b>string</b><br> 1974 * Path: <b>Location.name, Location.alias</b><br> 1975 * </p> 1976 */ 1977 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 1978 1979 /** 1980 * Search parameter: <b>address-use</b> 1981 * <p> 1982 * Description: <b>A use code specified in an address</b><br> 1983 * Type: <b>token</b><br> 1984 * Path: <b>Location.address.use</b><br> 1985 * </p> 1986 */ 1987 @SearchParamDefinition(name="address-use", path="Location.address.use", description="A use code specified in an address", type="token" ) 1988 public static final String SP_ADDRESS_USE = "address-use"; 1989 /** 1990 * <b>Fluent Client</b> search parameter constant for <b>address-use</b> 1991 * <p> 1992 * Description: <b>A use code specified in an address</b><br> 1993 * Type: <b>token</b><br> 1994 * Path: <b>Location.address.use</b><br> 1995 * </p> 1996 */ 1997 public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); 1998 1999 /** 2000 * Search parameter: <b>near</b> 2001 * <p> 2002 * Description: <b>The coordinates expressed as [latitude]:[longitude] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency) 2003 2004Requires the near-distance parameter to be provided also</b><br> 2005 * Type: <b>token</b><br> 2006 * Path: <b>Location.position</b><br> 2007 * </p> 2008 */ 2009 @SearchParamDefinition(name="near", path="Location.position", description="The coordinates expressed as [latitude]:[longitude] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency)\n\nRequires the near-distance parameter to be provided also", type="token" ) 2010 public static final String SP_NEAR = "near"; 2011 /** 2012 * <b>Fluent Client</b> search parameter constant for <b>near</b> 2013 * <p> 2014 * Description: <b>The coordinates expressed as [latitude]:[longitude] (using the WGS84 datum, see notes) to find locations near to (servers may search using a square rather than a circle for efficiency) 2015 2016Requires the near-distance parameter to be provided also</b><br> 2017 * Type: <b>token</b><br> 2018 * Path: <b>Location.position</b><br> 2019 * </p> 2020 */ 2021 public static final ca.uhn.fhir.rest.gclient.TokenClientParam NEAR = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_NEAR); 2022 2023 /** 2024 * Search parameter: <b>address-city</b> 2025 * <p> 2026 * Description: <b>A city specified in an address</b><br> 2027 * Type: <b>string</b><br> 2028 * Path: <b>Location.address.city</b><br> 2029 * </p> 2030 */ 2031 @SearchParamDefinition(name="address-city", path="Location.address.city", description="A city specified in an address", type="string" ) 2032 public static final String SP_ADDRESS_CITY = "address-city"; 2033 /** 2034 * <b>Fluent Client</b> search parameter constant for <b>address-city</b> 2035 * <p> 2036 * Description: <b>A city specified in an address</b><br> 2037 * Type: <b>string</b><br> 2038 * Path: <b>Location.address.city</b><br> 2039 * </p> 2040 */ 2041 public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); 2042 2043 /** 2044 * Search parameter: <b>status</b> 2045 * <p> 2046 * Description: <b>Searches for locations with a specific kind of status</b><br> 2047 * Type: <b>token</b><br> 2048 * Path: <b>Location.status</b><br> 2049 * </p> 2050 */ 2051 @SearchParamDefinition(name="status", path="Location.status", description="Searches for locations with a specific kind of status", type="token" ) 2052 public static final String SP_STATUS = "status"; 2053 /** 2054 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2055 * <p> 2056 * Description: <b>Searches for locations with a specific kind of status</b><br> 2057 * Type: <b>token</b><br> 2058 * Path: <b>Location.status</b><br> 2059 * </p> 2060 */ 2061 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2062 2063 2064} 2065