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