![](/hapi-fhir/images/logos/raccoon-forwards.png)
001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 033import java.util.ArrayList; 034import java.util.List; 035 036import org.hl7.fhir.exceptions.FHIRException; 037import org.hl7.fhir.utilities.Utilities; 038 039import ca.uhn.fhir.model.api.annotation.Child; 040import ca.uhn.fhir.model.api.annotation.Description; 041import ca.uhn.fhir.model.api.annotation.ResourceDef; 042import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 043 044/** 045 * The technical details of an endpoint that can be used for electronic 046 * services, such as for web services providing XDS.b or a REST endpoint for 047 * another FHIR server. This may include any security context information. 048 */ 049@ResourceDef(name = "Endpoint", profile = "http://hl7.org/fhir/StructureDefinition/Endpoint") 050public class Endpoint extends DomainResource { 051 052 public enum EndpointStatus { 053 /** 054 * This endpoint is expected to be active and can be used. 055 */ 056 ACTIVE, 057 /** 058 * This endpoint is temporarily unavailable. 059 */ 060 SUSPENDED, 061 /** 062 * This endpoint has exceeded connectivity thresholds and is considered in an 063 * error state and should no longer be attempted to connect to until corrective 064 * action is taken. 065 */ 066 ERROR, 067 /** 068 * This endpoint is no longer to be used. 069 */ 070 OFF, 071 /** 072 * This instance should not have been part of this patient's medical record. 073 */ 074 ENTEREDINERROR, 075 /** 076 * This endpoint is not intended for production usage. 077 */ 078 TEST, 079 /** 080 * added to help the parsers with the generic types 081 */ 082 NULL; 083 084 public static EndpointStatus fromCode(String codeString) throws FHIRException { 085 if (codeString == null || "".equals(codeString)) 086 return null; 087 if ("active".equals(codeString)) 088 return ACTIVE; 089 if ("suspended".equals(codeString)) 090 return SUSPENDED; 091 if ("error".equals(codeString)) 092 return ERROR; 093 if ("off".equals(codeString)) 094 return OFF; 095 if ("entered-in-error".equals(codeString)) 096 return ENTEREDINERROR; 097 if ("test".equals(codeString)) 098 return TEST; 099 if (Configuration.isAcceptInvalidEnums()) 100 return null; 101 else 102 throw new FHIRException("Unknown EndpointStatus code '" + codeString + "'"); 103 } 104 105 public String toCode() { 106 switch (this) { 107 case ACTIVE: 108 return "active"; 109 case SUSPENDED: 110 return "suspended"; 111 case ERROR: 112 return "error"; 113 case OFF: 114 return "off"; 115 case ENTEREDINERROR: 116 return "entered-in-error"; 117 case TEST: 118 return "test"; 119 case NULL: 120 return null; 121 default: 122 return "?"; 123 } 124 } 125 126 public String getSystem() { 127 switch (this) { 128 case ACTIVE: 129 return "http://hl7.org/fhir/endpoint-status"; 130 case SUSPENDED: 131 return "http://hl7.org/fhir/endpoint-status"; 132 case ERROR: 133 return "http://hl7.org/fhir/endpoint-status"; 134 case OFF: 135 return "http://hl7.org/fhir/endpoint-status"; 136 case ENTEREDINERROR: 137 return "http://hl7.org/fhir/endpoint-status"; 138 case TEST: 139 return "http://hl7.org/fhir/endpoint-status"; 140 case NULL: 141 return null; 142 default: 143 return "?"; 144 } 145 } 146 147 public String getDefinition() { 148 switch (this) { 149 case ACTIVE: 150 return "This endpoint is expected to be active and can be used."; 151 case SUSPENDED: 152 return "This endpoint is temporarily unavailable."; 153 case ERROR: 154 return "This endpoint has exceeded connectivity thresholds and is considered in an error state and should no longer be attempted to connect to until corrective action is taken."; 155 case OFF: 156 return "This endpoint is no longer to be used."; 157 case ENTEREDINERROR: 158 return "This instance should not have been part of this patient's medical record."; 159 case TEST: 160 return "This endpoint is not intended for production usage."; 161 case NULL: 162 return null; 163 default: 164 return "?"; 165 } 166 } 167 168 public String getDisplay() { 169 switch (this) { 170 case ACTIVE: 171 return "Active"; 172 case SUSPENDED: 173 return "Suspended"; 174 case ERROR: 175 return "Error"; 176 case OFF: 177 return "Off"; 178 case ENTEREDINERROR: 179 return "Entered in error"; 180 case TEST: 181 return "Test"; 182 case NULL: 183 return null; 184 default: 185 return "?"; 186 } 187 } 188 } 189 190 public static class EndpointStatusEnumFactory implements EnumFactory<EndpointStatus> { 191 public EndpointStatus fromCode(String codeString) throws IllegalArgumentException { 192 if (codeString == null || "".equals(codeString)) 193 if (codeString == null || "".equals(codeString)) 194 return null; 195 if ("active".equals(codeString)) 196 return EndpointStatus.ACTIVE; 197 if ("suspended".equals(codeString)) 198 return EndpointStatus.SUSPENDED; 199 if ("error".equals(codeString)) 200 return EndpointStatus.ERROR; 201 if ("off".equals(codeString)) 202 return EndpointStatus.OFF; 203 if ("entered-in-error".equals(codeString)) 204 return EndpointStatus.ENTEREDINERROR; 205 if ("test".equals(codeString)) 206 return EndpointStatus.TEST; 207 throw new IllegalArgumentException("Unknown EndpointStatus code '" + codeString + "'"); 208 } 209 210 public Enumeration<EndpointStatus> fromType(PrimitiveType<?> code) throws FHIRException { 211 if (code == null) 212 return null; 213 if (code.isEmpty()) 214 return new Enumeration<EndpointStatus>(this, EndpointStatus.NULL, code); 215 String codeString = code.asStringValue(); 216 if (codeString == null || "".equals(codeString)) 217 return new Enumeration<EndpointStatus>(this, EndpointStatus.NULL, code); 218 if ("active".equals(codeString)) 219 return new Enumeration<EndpointStatus>(this, EndpointStatus.ACTIVE, code); 220 if ("suspended".equals(codeString)) 221 return new Enumeration<EndpointStatus>(this, EndpointStatus.SUSPENDED, code); 222 if ("error".equals(codeString)) 223 return new Enumeration<EndpointStatus>(this, EndpointStatus.ERROR, code); 224 if ("off".equals(codeString)) 225 return new Enumeration<EndpointStatus>(this, EndpointStatus.OFF, code); 226 if ("entered-in-error".equals(codeString)) 227 return new Enumeration<EndpointStatus>(this, EndpointStatus.ENTEREDINERROR, code); 228 if ("test".equals(codeString)) 229 return new Enumeration<EndpointStatus>(this, EndpointStatus.TEST, code); 230 throw new FHIRException("Unknown EndpointStatus code '" + codeString + "'"); 231 } 232 233 public String toCode(EndpointStatus code) { 234 if (code == EndpointStatus.ACTIVE) 235 return "active"; 236 if (code == EndpointStatus.SUSPENDED) 237 return "suspended"; 238 if (code == EndpointStatus.ERROR) 239 return "error"; 240 if (code == EndpointStatus.OFF) 241 return "off"; 242 if (code == EndpointStatus.ENTEREDINERROR) 243 return "entered-in-error"; 244 if (code == EndpointStatus.TEST) 245 return "test"; 246 return "?"; 247 } 248 249 public String toSystem(EndpointStatus code) { 250 return code.getSystem(); 251 } 252 } 253 254 /** 255 * Identifier for the organization that is used to identify the endpoint across 256 * multiple disparate systems. 257 */ 258 @Child(name = "identifier", type = { 259 Identifier.class }, order = 0, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 260 @Description(shortDefinition = "Identifies this endpoint across multiple systems", formalDefinition = "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.") 261 protected List<Identifier> identifier; 262 263 /** 264 * active | suspended | error | off | test. 265 */ 266 @Child(name = "status", type = { CodeType.class }, order = 1, min = 1, max = 1, modifier = true, summary = true) 267 @Description(shortDefinition = "active | suspended | error | off | entered-in-error | test", formalDefinition = "active | suspended | error | off | test.") 268 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/endpoint-status") 269 protected Enumeration<EndpointStatus> status; 270 271 /** 272 * A coded value that represents the technical details of the usage of this 273 * endpoint, such as what WSDLs should be used in what way. (e.g. 274 * XDS.b/DICOM/cds-hook). 275 */ 276 @Child(name = "connectionType", type = { 277 Coding.class }, order = 2, min = 1, max = 1, modifier = false, summary = true) 278 @Description(shortDefinition = "Protocol/Profile/Standard to be used with this endpoint connection", formalDefinition = "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).") 279 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/endpoint-connection-type") 280 protected Coding connectionType; 281 282 /** 283 * A friendly name that this endpoint can be referred to with. 284 */ 285 @Child(name = "name", type = { StringType.class }, order = 3, min = 0, max = 1, modifier = false, summary = true) 286 @Description(shortDefinition = "A name that this endpoint can be identified by", formalDefinition = "A friendly name that this endpoint can be referred to with.") 287 protected StringType name; 288 289 /** 290 * The organization that manages this endpoint (even if technically another 291 * organization is hosting this in the cloud, it is the organization associated 292 * with the data). 293 */ 294 @Child(name = "managingOrganization", type = { 295 Organization.class }, order = 4, min = 0, max = 1, modifier = false, summary = true) 296 @Description(shortDefinition = "Organization that manages this endpoint (might not be the organization that exposes the endpoint)", formalDefinition = "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).") 297 protected Reference managingOrganization; 298 299 /** 300 * The actual object that is the target of the reference (The organization that 301 * manages this endpoint (even if technically another organization is hosting 302 * this in the cloud, it is the organization associated with the data).) 303 */ 304 protected Organization managingOrganizationTarget; 305 306 /** 307 * Contact details for a human to contact about the subscription. The primary 308 * use of this for system administrator troubleshooting. 309 */ 310 @Child(name = "contact", type = { 311 ContactPoint.class }, order = 5, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 312 @Description(shortDefinition = "Contact details for source (e.g. troubleshooting)", formalDefinition = "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.") 313 protected List<ContactPoint> contact; 314 315 /** 316 * The interval during which the endpoint is expected to be operational. 317 */ 318 @Child(name = "period", type = { Period.class }, order = 6, min = 0, max = 1, modifier = false, summary = true) 319 @Description(shortDefinition = "Interval the endpoint is expected to be operational", formalDefinition = "The interval during which the endpoint is expected to be operational.") 320 protected Period period; 321 322 /** 323 * The payload type describes the acceptable content that can be communicated on 324 * the endpoint. 325 */ 326 @Child(name = "payloadType", type = { 327 CodeableConcept.class }, order = 7, min = 1, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 328 @Description(shortDefinition = "The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)", formalDefinition = "The payload type describes the acceptable content that can be communicated on the endpoint.") 329 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/endpoint-payload-type") 330 protected List<CodeableConcept> payloadType; 331 332 /** 333 * The mime type to send the payload in - e.g. application/fhir+xml, 334 * application/fhir+json. If the mime type is not specified, then the sender 335 * could send any content (including no content depending on the 336 * connectionType). 337 */ 338 @Child(name = "payloadMimeType", type = { 339 CodeType.class }, order = 8, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 340 @Description(shortDefinition = "Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)", formalDefinition = "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).") 341 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/mimetypes") 342 protected List<CodeType> payloadMimeType; 343 344 /** 345 * The uri that describes the actual end-point to connect to. 346 */ 347 @Child(name = "address", type = { UrlType.class }, order = 9, min = 1, max = 1, modifier = false, summary = true) 348 @Description(shortDefinition = "The technical base address for connecting to this endpoint", formalDefinition = "The uri that describes the actual end-point to connect to.") 349 protected UrlType address; 350 351 /** 352 * Additional headers / information to send as part of the notification. 353 */ 354 @Child(name = "header", type = { 355 StringType.class }, order = 10, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 356 @Description(shortDefinition = "Usage depends on the channel type", formalDefinition = "Additional headers / information to send as part of the notification.") 357 protected List<StringType> header; 358 359 private static final long serialVersionUID = 755181080L; 360 361 /** 362 * Constructor 363 */ 364 public Endpoint() { 365 super(); 366 } 367 368 /** 369 * Constructor 370 */ 371 public Endpoint(Enumeration<EndpointStatus> status, Coding connectionType, UrlType address) { 372 super(); 373 this.status = status; 374 this.connectionType = connectionType; 375 this.address = address; 376 } 377 378 /** 379 * @return {@link #identifier} (Identifier for the organization that is used to 380 * identify the endpoint across multiple disparate systems.) 381 */ 382 public List<Identifier> getIdentifier() { 383 if (this.identifier == null) 384 this.identifier = new ArrayList<Identifier>(); 385 return this.identifier; 386 } 387 388 /** 389 * @return Returns a reference to <code>this</code> for easy method chaining 390 */ 391 public Endpoint setIdentifier(List<Identifier> theIdentifier) { 392 this.identifier = theIdentifier; 393 return this; 394 } 395 396 public boolean hasIdentifier() { 397 if (this.identifier == null) 398 return false; 399 for (Identifier item : this.identifier) 400 if (!item.isEmpty()) 401 return true; 402 return false; 403 } 404 405 public Identifier addIdentifier() { // 3 406 Identifier t = new Identifier(); 407 if (this.identifier == null) 408 this.identifier = new ArrayList<Identifier>(); 409 this.identifier.add(t); 410 return t; 411 } 412 413 public Endpoint addIdentifier(Identifier t) { // 3 414 if (t == null) 415 return this; 416 if (this.identifier == null) 417 this.identifier = new ArrayList<Identifier>(); 418 this.identifier.add(t); 419 return this; 420 } 421 422 /** 423 * @return The first repetition of repeating field {@link #identifier}, creating 424 * it if it does not already exist 425 */ 426 public Identifier getIdentifierFirstRep() { 427 if (getIdentifier().isEmpty()) { 428 addIdentifier(); 429 } 430 return getIdentifier().get(0); 431 } 432 433 /** 434 * @return {@link #status} (active | suspended | error | off | test.). This is 435 * the underlying object with id, value and extensions. The accessor 436 * "getStatus" gives direct access to the value 437 */ 438 public Enumeration<EndpointStatus> getStatusElement() { 439 if (this.status == null) 440 if (Configuration.errorOnAutoCreate()) 441 throw new Error("Attempt to auto-create Endpoint.status"); 442 else if (Configuration.doAutoCreate()) 443 this.status = new Enumeration<EndpointStatus>(new EndpointStatusEnumFactory()); // bb 444 return this.status; 445 } 446 447 public boolean hasStatusElement() { 448 return this.status != null && !this.status.isEmpty(); 449 } 450 451 public boolean hasStatus() { 452 return this.status != null && !this.status.isEmpty(); 453 } 454 455 /** 456 * @param value {@link #status} (active | suspended | error | off | test.). This 457 * is the underlying object with id, value and extensions. The 458 * accessor "getStatus" gives direct access to the value 459 */ 460 public Endpoint setStatusElement(Enumeration<EndpointStatus> value) { 461 this.status = value; 462 return this; 463 } 464 465 /** 466 * @return active | suspended | error | off | test. 467 */ 468 public EndpointStatus getStatus() { 469 return this.status == null ? null : this.status.getValue(); 470 } 471 472 /** 473 * @param value active | suspended | error | off | test. 474 */ 475 public Endpoint setStatus(EndpointStatus value) { 476 if (this.status == null) 477 this.status = new Enumeration<EndpointStatus>(new EndpointStatusEnumFactory()); 478 this.status.setValue(value); 479 return this; 480 } 481 482 /** 483 * @return {@link #connectionType} (A coded value that represents the technical 484 * details of the usage of this endpoint, such as what WSDLs should be 485 * used in what way. (e.g. XDS.b/DICOM/cds-hook).) 486 */ 487 public Coding getConnectionType() { 488 if (this.connectionType == null) 489 if (Configuration.errorOnAutoCreate()) 490 throw new Error("Attempt to auto-create Endpoint.connectionType"); 491 else if (Configuration.doAutoCreate()) 492 this.connectionType = new Coding(); // cc 493 return this.connectionType; 494 } 495 496 public boolean hasConnectionType() { 497 return this.connectionType != null && !this.connectionType.isEmpty(); 498 } 499 500 /** 501 * @param value {@link #connectionType} (A coded value that represents the 502 * technical details of the usage of this endpoint, such as what 503 * WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).) 504 */ 505 public Endpoint setConnectionType(Coding value) { 506 this.connectionType = value; 507 return this; 508 } 509 510 /** 511 * @return {@link #name} (A friendly name that this endpoint can be referred to 512 * with.). This is the underlying object with id, value and extensions. 513 * The accessor "getName" gives direct access to the value 514 */ 515 public StringType getNameElement() { 516 if (this.name == null) 517 if (Configuration.errorOnAutoCreate()) 518 throw new Error("Attempt to auto-create Endpoint.name"); 519 else if (Configuration.doAutoCreate()) 520 this.name = new StringType(); // bb 521 return this.name; 522 } 523 524 public boolean hasNameElement() { 525 return this.name != null && !this.name.isEmpty(); 526 } 527 528 public boolean hasName() { 529 return this.name != null && !this.name.isEmpty(); 530 } 531 532 /** 533 * @param value {@link #name} (A friendly name that this endpoint can be 534 * referred to with.). This is the underlying object with id, value 535 * and extensions. The accessor "getName" gives direct access to 536 * the value 537 */ 538 public Endpoint setNameElement(StringType value) { 539 this.name = value; 540 return this; 541 } 542 543 /** 544 * @return A friendly name that this endpoint can be referred to with. 545 */ 546 public String getName() { 547 return this.name == null ? null : this.name.getValue(); 548 } 549 550 /** 551 * @param value A friendly name that this endpoint can be referred to with. 552 */ 553 public Endpoint setName(String value) { 554 if (Utilities.noString(value)) 555 this.name = null; 556 else { 557 if (this.name == null) 558 this.name = new StringType(); 559 this.name.setValue(value); 560 } 561 return this; 562 } 563 564 /** 565 * @return {@link #managingOrganization} (The organization that manages this 566 * endpoint (even if technically another organization is hosting this in 567 * the cloud, it is the organization associated with the data).) 568 */ 569 public Reference getManagingOrganization() { 570 if (this.managingOrganization == null) 571 if (Configuration.errorOnAutoCreate()) 572 throw new Error("Attempt to auto-create Endpoint.managingOrganization"); 573 else if (Configuration.doAutoCreate()) 574 this.managingOrganization = new Reference(); // cc 575 return this.managingOrganization; 576 } 577 578 public boolean hasManagingOrganization() { 579 return this.managingOrganization != null && !this.managingOrganization.isEmpty(); 580 } 581 582 /** 583 * @param value {@link #managingOrganization} (The organization that manages 584 * this endpoint (even if technically another organization is 585 * hosting this in the cloud, it is the organization associated 586 * with the data).) 587 */ 588 public Endpoint setManagingOrganization(Reference value) { 589 this.managingOrganization = value; 590 return this; 591 } 592 593 /** 594 * @return {@link #managingOrganization} The actual object that is the target of 595 * the reference. The reference library doesn't populate this, but you 596 * can use it to hold the resource if you resolve it. (The organization 597 * that manages this endpoint (even if technically another organization 598 * is hosting this in the cloud, it is the organization associated with 599 * the data).) 600 */ 601 public Organization getManagingOrganizationTarget() { 602 if (this.managingOrganizationTarget == null) 603 if (Configuration.errorOnAutoCreate()) 604 throw new Error("Attempt to auto-create Endpoint.managingOrganization"); 605 else if (Configuration.doAutoCreate()) 606 this.managingOrganizationTarget = new Organization(); // aa 607 return this.managingOrganizationTarget; 608 } 609 610 /** 611 * @param value {@link #managingOrganization} The actual object that is the 612 * target of the reference. The reference library doesn't use 613 * these, but you can use it to hold the resource if you resolve 614 * it. (The organization that manages this endpoint (even if 615 * technically another organization is hosting this in the cloud, 616 * it is the organization associated with the data).) 617 */ 618 public Endpoint setManagingOrganizationTarget(Organization value) { 619 this.managingOrganizationTarget = value; 620 return this; 621 } 622 623 /** 624 * @return {@link #contact} (Contact details for a human to contact about the 625 * subscription. The primary use of this for system administrator 626 * troubleshooting.) 627 */ 628 public List<ContactPoint> getContact() { 629 if (this.contact == null) 630 this.contact = new ArrayList<ContactPoint>(); 631 return this.contact; 632 } 633 634 /** 635 * @return Returns a reference to <code>this</code> for easy method chaining 636 */ 637 public Endpoint setContact(List<ContactPoint> theContact) { 638 this.contact = theContact; 639 return this; 640 } 641 642 public boolean hasContact() { 643 if (this.contact == null) 644 return false; 645 for (ContactPoint item : this.contact) 646 if (!item.isEmpty()) 647 return true; 648 return false; 649 } 650 651 public ContactPoint addContact() { // 3 652 ContactPoint t = new ContactPoint(); 653 if (this.contact == null) 654 this.contact = new ArrayList<ContactPoint>(); 655 this.contact.add(t); 656 return t; 657 } 658 659 public Endpoint addContact(ContactPoint t) { // 3 660 if (t == null) 661 return this; 662 if (this.contact == null) 663 this.contact = new ArrayList<ContactPoint>(); 664 this.contact.add(t); 665 return this; 666 } 667 668 /** 669 * @return The first repetition of repeating field {@link #contact}, creating it 670 * if it does not already exist 671 */ 672 public ContactPoint getContactFirstRep() { 673 if (getContact().isEmpty()) { 674 addContact(); 675 } 676 return getContact().get(0); 677 } 678 679 /** 680 * @return {@link #period} (The interval during which the endpoint is expected 681 * to be operational.) 682 */ 683 public Period getPeriod() { 684 if (this.period == null) 685 if (Configuration.errorOnAutoCreate()) 686 throw new Error("Attempt to auto-create Endpoint.period"); 687 else if (Configuration.doAutoCreate()) 688 this.period = new Period(); // cc 689 return this.period; 690 } 691 692 public boolean hasPeriod() { 693 return this.period != null && !this.period.isEmpty(); 694 } 695 696 /** 697 * @param value {@link #period} (The interval during which the endpoint is 698 * expected to be operational.) 699 */ 700 public Endpoint setPeriod(Period value) { 701 this.period = value; 702 return this; 703 } 704 705 /** 706 * @return {@link #payloadType} (The payload type describes the acceptable 707 * content that can be communicated on the endpoint.) 708 */ 709 public List<CodeableConcept> getPayloadType() { 710 if (this.payloadType == null) 711 this.payloadType = new ArrayList<CodeableConcept>(); 712 return this.payloadType; 713 } 714 715 /** 716 * @return Returns a reference to <code>this</code> for easy method chaining 717 */ 718 public Endpoint setPayloadType(List<CodeableConcept> thePayloadType) { 719 this.payloadType = thePayloadType; 720 return this; 721 } 722 723 public boolean hasPayloadType() { 724 if (this.payloadType == null) 725 return false; 726 for (CodeableConcept item : this.payloadType) 727 if (!item.isEmpty()) 728 return true; 729 return false; 730 } 731 732 public CodeableConcept addPayloadType() { // 3 733 CodeableConcept t = new CodeableConcept(); 734 if (this.payloadType == null) 735 this.payloadType = new ArrayList<CodeableConcept>(); 736 this.payloadType.add(t); 737 return t; 738 } 739 740 public Endpoint addPayloadType(CodeableConcept t) { // 3 741 if (t == null) 742 return this; 743 if (this.payloadType == null) 744 this.payloadType = new ArrayList<CodeableConcept>(); 745 this.payloadType.add(t); 746 return this; 747 } 748 749 /** 750 * @return The first repetition of repeating field {@link #payloadType}, 751 * creating it if it does not already exist 752 */ 753 public CodeableConcept getPayloadTypeFirstRep() { 754 if (getPayloadType().isEmpty()) { 755 addPayloadType(); 756 } 757 return getPayloadType().get(0); 758 } 759 760 /** 761 * @return {@link #payloadMimeType} (The mime type to send the payload in - e.g. 762 * application/fhir+xml, application/fhir+json. If the mime type is not 763 * specified, then the sender could send any content (including no 764 * content depending on the connectionType).) 765 */ 766 public List<CodeType> getPayloadMimeType() { 767 if (this.payloadMimeType == null) 768 this.payloadMimeType = new ArrayList<CodeType>(); 769 return this.payloadMimeType; 770 } 771 772 /** 773 * @return Returns a reference to <code>this</code> for easy method chaining 774 */ 775 public Endpoint setPayloadMimeType(List<CodeType> thePayloadMimeType) { 776 this.payloadMimeType = thePayloadMimeType; 777 return this; 778 } 779 780 public boolean hasPayloadMimeType() { 781 if (this.payloadMimeType == null) 782 return false; 783 for (CodeType item : this.payloadMimeType) 784 if (!item.isEmpty()) 785 return true; 786 return false; 787 } 788 789 /** 790 * @return {@link #payloadMimeType} (The mime type to send the payload in - e.g. 791 * application/fhir+xml, application/fhir+json. If the mime type is not 792 * specified, then the sender could send any content (including no 793 * content depending on the connectionType).) 794 */ 795 public CodeType addPayloadMimeTypeElement() {// 2 796 CodeType t = new CodeType(); 797 if (this.payloadMimeType == null) 798 this.payloadMimeType = new ArrayList<CodeType>(); 799 this.payloadMimeType.add(t); 800 return t; 801 } 802 803 /** 804 * @param value {@link #payloadMimeType} (The mime type to send the payload in - 805 * e.g. application/fhir+xml, application/fhir+json. If the mime 806 * type is not specified, then the sender could send any content 807 * (including no content depending on the connectionType).) 808 */ 809 public Endpoint addPayloadMimeType(String value) { // 1 810 CodeType t = new CodeType(); 811 t.setValue(value); 812 if (this.payloadMimeType == null) 813 this.payloadMimeType = new ArrayList<CodeType>(); 814 this.payloadMimeType.add(t); 815 return this; 816 } 817 818 /** 819 * @param value {@link #payloadMimeType} (The mime type to send the payload in - 820 * e.g. application/fhir+xml, application/fhir+json. If the mime 821 * type is not specified, then the sender could send any content 822 * (including no content depending on the connectionType).) 823 */ 824 public boolean hasPayloadMimeType(String value) { 825 if (this.payloadMimeType == null) 826 return false; 827 for (CodeType v : this.payloadMimeType) 828 if (v.getValue().equals(value)) // code 829 return true; 830 return false; 831 } 832 833 /** 834 * @return {@link #address} (The uri that describes the actual end-point to 835 * connect to.). This is the underlying object with id, value and 836 * extensions. The accessor "getAddress" gives direct access to the 837 * value 838 */ 839 public UrlType getAddressElement() { 840 if (this.address == null) 841 if (Configuration.errorOnAutoCreate()) 842 throw new Error("Attempt to auto-create Endpoint.address"); 843 else if (Configuration.doAutoCreate()) 844 this.address = new UrlType(); // bb 845 return this.address; 846 } 847 848 public boolean hasAddressElement() { 849 return this.address != null && !this.address.isEmpty(); 850 } 851 852 public boolean hasAddress() { 853 return this.address != null && !this.address.isEmpty(); 854 } 855 856 /** 857 * @param value {@link #address} (The uri that describes the actual end-point to 858 * connect to.). This is the underlying object with id, value and 859 * extensions. The accessor "getAddress" gives direct access to the 860 * value 861 */ 862 public Endpoint setAddressElement(UrlType value) { 863 this.address = value; 864 return this; 865 } 866 867 /** 868 * @return The uri that describes the actual end-point to connect to. 869 */ 870 public String getAddress() { 871 return this.address == null ? null : this.address.getValue(); 872 } 873 874 /** 875 * @param value The uri that describes the actual end-point to connect to. 876 */ 877 public Endpoint setAddress(String value) { 878 if (this.address == null) 879 this.address = new UrlType(); 880 this.address.setValue(value); 881 return this; 882 } 883 884 /** 885 * @return {@link #header} (Additional headers / information to send as part of 886 * the notification.) 887 */ 888 public List<StringType> getHeader() { 889 if (this.header == null) 890 this.header = new ArrayList<StringType>(); 891 return this.header; 892 } 893 894 /** 895 * @return Returns a reference to <code>this</code> for easy method chaining 896 */ 897 public Endpoint setHeader(List<StringType> theHeader) { 898 this.header = theHeader; 899 return this; 900 } 901 902 public boolean hasHeader() { 903 if (this.header == null) 904 return false; 905 for (StringType item : this.header) 906 if (!item.isEmpty()) 907 return true; 908 return false; 909 } 910 911 /** 912 * @return {@link #header} (Additional headers / information to send as part of 913 * the notification.) 914 */ 915 public StringType addHeaderElement() {// 2 916 StringType t = new StringType(); 917 if (this.header == null) 918 this.header = new ArrayList<StringType>(); 919 this.header.add(t); 920 return t; 921 } 922 923 /** 924 * @param value {@link #header} (Additional headers / information to send as 925 * part of the notification.) 926 */ 927 public Endpoint addHeader(String value) { // 1 928 StringType t = new StringType(); 929 t.setValue(value); 930 if (this.header == null) 931 this.header = new ArrayList<StringType>(); 932 this.header.add(t); 933 return this; 934 } 935 936 /** 937 * @param value {@link #header} (Additional headers / information to send as 938 * part of the notification.) 939 */ 940 public boolean hasHeader(String value) { 941 if (this.header == null) 942 return false; 943 for (StringType v : this.header) 944 if (v.getValue().equals(value)) // string 945 return true; 946 return false; 947 } 948 949 protected void listChildren(List<Property> children) { 950 super.listChildren(children); 951 children.add(new Property("identifier", "Identifier", 952 "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.", 0, 953 java.lang.Integer.MAX_VALUE, identifier)); 954 children.add(new Property("status", "code", "active | suspended | error | off | test.", 0, 1, status)); 955 children.add(new Property("connectionType", "Coding", 956 "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 957 0, 1, connectionType)); 958 children 959 .add(new Property("name", "string", "A friendly name that this endpoint can be referred to with.", 0, 1, name)); 960 children.add(new Property("managingOrganization", "Reference(Organization)", 961 "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).", 962 0, 1, managingOrganization)); 963 children.add(new Property("contact", "ContactPoint", 964 "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 965 0, java.lang.Integer.MAX_VALUE, contact)); 966 children.add(new Property("period", "Period", 967 "The interval during which the endpoint is expected to be operational.", 0, 1, period)); 968 children.add(new Property("payloadType", "CodeableConcept", 969 "The payload type describes the acceptable content that can be communicated on the endpoint.", 0, 970 java.lang.Integer.MAX_VALUE, payloadType)); 971 children.add(new Property("payloadMimeType", "code", 972 "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).", 973 0, java.lang.Integer.MAX_VALUE, payloadMimeType)); 974 children.add( 975 new Property("address", "url", "The uri that describes the actual end-point to connect to.", 0, 1, address)); 976 children 977 .add(new Property("header", "string", "Additional headers / information to send as part of the notification.", 978 0, java.lang.Integer.MAX_VALUE, header)); 979 } 980 981 @Override 982 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 983 switch (_hash) { 984 case -1618432855: 985 /* identifier */ return new Property("identifier", "Identifier", 986 "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.", 0, 987 java.lang.Integer.MAX_VALUE, identifier); 988 case -892481550: 989 /* status */ return new Property("status", "code", "active | suspended | error | off | test.", 0, 1, status); 990 case 1270211384: 991 /* connectionType */ return new Property("connectionType", "Coding", 992 "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 993 0, 1, connectionType); 994 case 3373707: 995 /* name */ return new Property("name", "string", "A friendly name that this endpoint can be referred to with.", 0, 996 1, name); 997 case -2058947787: 998 /* managingOrganization */ return new Property("managingOrganization", "Reference(Organization)", 999 "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).", 1000 0, 1, managingOrganization); 1001 case 951526432: 1002 /* contact */ return new Property("contact", "ContactPoint", 1003 "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 1004 0, java.lang.Integer.MAX_VALUE, contact); 1005 case -991726143: 1006 /* period */ return new Property("period", "Period", 1007 "The interval during which the endpoint is expected to be operational.", 0, 1, period); 1008 case 909929960: 1009 /* payloadType */ return new Property("payloadType", "CodeableConcept", 1010 "The payload type describes the acceptable content that can be communicated on the endpoint.", 0, 1011 java.lang.Integer.MAX_VALUE, payloadType); 1012 case -1702836932: 1013 /* payloadMimeType */ return new Property("payloadMimeType", "code", 1014 "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).", 1015 0, java.lang.Integer.MAX_VALUE, payloadMimeType); 1016 case -1147692044: 1017 /* address */ return new Property("address", "url", "The uri that describes the actual end-point to connect to.", 1018 0, 1, address); 1019 case -1221270899: 1020 /* header */ return new Property("header", "string", 1021 "Additional headers / information to send as part of the notification.", 0, java.lang.Integer.MAX_VALUE, 1022 header); 1023 default: 1024 return super.getNamedProperty(_hash, _name, _checkValid); 1025 } 1026 1027 } 1028 1029 @Override 1030 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1031 switch (hash) { 1032 case -1618432855: 1033 /* identifier */ return this.identifier == null ? new Base[0] 1034 : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1035 case -892481550: 1036 /* status */ return this.status == null ? new Base[0] : new Base[] { this.status }; // Enumeration<EndpointStatus> 1037 case 1270211384: 1038 /* connectionType */ return this.connectionType == null ? new Base[0] : new Base[] { this.connectionType }; // Coding 1039 case 3373707: 1040 /* name */ return this.name == null ? new Base[0] : new Base[] { this.name }; // StringType 1041 case -2058947787: 1042 /* managingOrganization */ return this.managingOrganization == null ? new Base[0] 1043 : new Base[] { this.managingOrganization }; // Reference 1044 case 951526432: 1045 /* contact */ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactPoint 1046 case -991726143: 1047 /* period */ return this.period == null ? new Base[0] : new Base[] { this.period }; // Period 1048 case 909929960: 1049 /* payloadType */ return this.payloadType == null ? new Base[0] 1050 : this.payloadType.toArray(new Base[this.payloadType.size()]); // CodeableConcept 1051 case -1702836932: 1052 /* payloadMimeType */ return this.payloadMimeType == null ? new Base[0] 1053 : this.payloadMimeType.toArray(new Base[this.payloadMimeType.size()]); // CodeType 1054 case -1147692044: 1055 /* address */ return this.address == null ? new Base[0] : new Base[] { this.address }; // UrlType 1056 case -1221270899: 1057 /* header */ return this.header == null ? new Base[0] : this.header.toArray(new Base[this.header.size()]); // StringType 1058 default: 1059 return super.getProperty(hash, name, checkValid); 1060 } 1061 1062 } 1063 1064 @Override 1065 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1066 switch (hash) { 1067 case -1618432855: // identifier 1068 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1069 return value; 1070 case -892481550: // status 1071 value = new EndpointStatusEnumFactory().fromType(castToCode(value)); 1072 this.status = (Enumeration) value; // Enumeration<EndpointStatus> 1073 return value; 1074 case 1270211384: // connectionType 1075 this.connectionType = castToCoding(value); // Coding 1076 return value; 1077 case 3373707: // name 1078 this.name = castToString(value); // StringType 1079 return value; 1080 case -2058947787: // managingOrganization 1081 this.managingOrganization = castToReference(value); // Reference 1082 return value; 1083 case 951526432: // contact 1084 this.getContact().add(castToContactPoint(value)); // ContactPoint 1085 return value; 1086 case -991726143: // period 1087 this.period = castToPeriod(value); // Period 1088 return value; 1089 case 909929960: // payloadType 1090 this.getPayloadType().add(castToCodeableConcept(value)); // CodeableConcept 1091 return value; 1092 case -1702836932: // payloadMimeType 1093 this.getPayloadMimeType().add(castToCode(value)); // CodeType 1094 return value; 1095 case -1147692044: // address 1096 this.address = castToUrl(value); // UrlType 1097 return value; 1098 case -1221270899: // header 1099 this.getHeader().add(castToString(value)); // StringType 1100 return value; 1101 default: 1102 return super.setProperty(hash, name, value); 1103 } 1104 1105 } 1106 1107 @Override 1108 public Base setProperty(String name, Base value) throws FHIRException { 1109 if (name.equals("identifier")) { 1110 this.getIdentifier().add(castToIdentifier(value)); 1111 } else if (name.equals("status")) { 1112 value = new EndpointStatusEnumFactory().fromType(castToCode(value)); 1113 this.status = (Enumeration) value; // Enumeration<EndpointStatus> 1114 } else if (name.equals("connectionType")) { 1115 this.connectionType = castToCoding(value); // Coding 1116 } else if (name.equals("name")) { 1117 this.name = castToString(value); // StringType 1118 } else if (name.equals("managingOrganization")) { 1119 this.managingOrganization = castToReference(value); // Reference 1120 } else if (name.equals("contact")) { 1121 this.getContact().add(castToContactPoint(value)); 1122 } else if (name.equals("period")) { 1123 this.period = castToPeriod(value); // Period 1124 } else if (name.equals("payloadType")) { 1125 this.getPayloadType().add(castToCodeableConcept(value)); 1126 } else if (name.equals("payloadMimeType")) { 1127 this.getPayloadMimeType().add(castToCode(value)); 1128 } else if (name.equals("address")) { 1129 this.address = castToUrl(value); // UrlType 1130 } else if (name.equals("header")) { 1131 this.getHeader().add(castToString(value)); 1132 } else 1133 return super.setProperty(name, value); 1134 return value; 1135 } 1136 1137 @Override 1138 public void removeChild(String name, Base value) throws FHIRException { 1139 if (name.equals("identifier")) { 1140 this.getIdentifier().remove(castToIdentifier(value)); 1141 } else if (name.equals("status")) { 1142 this.status = null; 1143 } else if (name.equals("connectionType")) { 1144 this.connectionType = null; 1145 } else if (name.equals("name")) { 1146 this.name = null; 1147 } else if (name.equals("managingOrganization")) { 1148 this.managingOrganization = null; 1149 } else if (name.equals("contact")) { 1150 this.getContact().remove(castToContactPoint(value)); 1151 } else if (name.equals("period")) { 1152 this.period = null; 1153 } else if (name.equals("payloadType")) { 1154 this.getPayloadType().remove(castToCodeableConcept(value)); 1155 } else if (name.equals("payloadMimeType")) { 1156 this.getPayloadMimeType().remove(castToCode(value)); 1157 } else if (name.equals("address")) { 1158 this.address = null; 1159 } else if (name.equals("header")) { 1160 this.getHeader().remove(castToString(value)); 1161 } else 1162 super.removeChild(name, value); 1163 1164 } 1165 1166 @Override 1167 public Base makeProperty(int hash, String name) throws FHIRException { 1168 switch (hash) { 1169 case -1618432855: 1170 return addIdentifier(); 1171 case -892481550: 1172 return getStatusElement(); 1173 case 1270211384: 1174 return getConnectionType(); 1175 case 3373707: 1176 return getNameElement(); 1177 case -2058947787: 1178 return getManagingOrganization(); 1179 case 951526432: 1180 return addContact(); 1181 case -991726143: 1182 return getPeriod(); 1183 case 909929960: 1184 return addPayloadType(); 1185 case -1702836932: 1186 return addPayloadMimeTypeElement(); 1187 case -1147692044: 1188 return getAddressElement(); 1189 case -1221270899: 1190 return addHeaderElement(); 1191 default: 1192 return super.makeProperty(hash, name); 1193 } 1194 1195 } 1196 1197 @Override 1198 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1199 switch (hash) { 1200 case -1618432855: 1201 /* identifier */ return new String[] { "Identifier" }; 1202 case -892481550: 1203 /* status */ return new String[] { "code" }; 1204 case 1270211384: 1205 /* connectionType */ return new String[] { "Coding" }; 1206 case 3373707: 1207 /* name */ return new String[] { "string" }; 1208 case -2058947787: 1209 /* managingOrganization */ return new String[] { "Reference" }; 1210 case 951526432: 1211 /* contact */ return new String[] { "ContactPoint" }; 1212 case -991726143: 1213 /* period */ return new String[] { "Period" }; 1214 case 909929960: 1215 /* payloadType */ return new String[] { "CodeableConcept" }; 1216 case -1702836932: 1217 /* payloadMimeType */ return new String[] { "code" }; 1218 case -1147692044: 1219 /* address */ return new String[] { "url" }; 1220 case -1221270899: 1221 /* header */ return new String[] { "string" }; 1222 default: 1223 return super.getTypesForProperty(hash, name); 1224 } 1225 1226 } 1227 1228 @Override 1229 public Base addChild(String name) throws FHIRException { 1230 if (name.equals("identifier")) { 1231 return addIdentifier(); 1232 } else if (name.equals("status")) { 1233 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.status"); 1234 } else if (name.equals("connectionType")) { 1235 this.connectionType = new Coding(); 1236 return this.connectionType; 1237 } else if (name.equals("name")) { 1238 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.name"); 1239 } else if (name.equals("managingOrganization")) { 1240 this.managingOrganization = new Reference(); 1241 return this.managingOrganization; 1242 } else if (name.equals("contact")) { 1243 return addContact(); 1244 } else if (name.equals("period")) { 1245 this.period = new Period(); 1246 return this.period; 1247 } else if (name.equals("payloadType")) { 1248 return addPayloadType(); 1249 } else if (name.equals("payloadMimeType")) { 1250 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.payloadMimeType"); 1251 } else if (name.equals("address")) { 1252 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.address"); 1253 } else if (name.equals("header")) { 1254 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.header"); 1255 } else 1256 return super.addChild(name); 1257 } 1258 1259 public String fhirType() { 1260 return "Endpoint"; 1261 1262 } 1263 1264 public Endpoint copy() { 1265 Endpoint dst = new Endpoint(); 1266 copyValues(dst); 1267 return dst; 1268 } 1269 1270 public void copyValues(Endpoint dst) { 1271 super.copyValues(dst); 1272 if (identifier != null) { 1273 dst.identifier = new ArrayList<Identifier>(); 1274 for (Identifier i : identifier) 1275 dst.identifier.add(i.copy()); 1276 } 1277 ; 1278 dst.status = status == null ? null : status.copy(); 1279 dst.connectionType = connectionType == null ? null : connectionType.copy(); 1280 dst.name = name == null ? null : name.copy(); 1281 dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); 1282 if (contact != null) { 1283 dst.contact = new ArrayList<ContactPoint>(); 1284 for (ContactPoint i : contact) 1285 dst.contact.add(i.copy()); 1286 } 1287 ; 1288 dst.period = period == null ? null : period.copy(); 1289 if (payloadType != null) { 1290 dst.payloadType = new ArrayList<CodeableConcept>(); 1291 for (CodeableConcept i : payloadType) 1292 dst.payloadType.add(i.copy()); 1293 } 1294 ; 1295 if (payloadMimeType != null) { 1296 dst.payloadMimeType = new ArrayList<CodeType>(); 1297 for (CodeType i : payloadMimeType) 1298 dst.payloadMimeType.add(i.copy()); 1299 } 1300 ; 1301 dst.address = address == null ? null : address.copy(); 1302 if (header != null) { 1303 dst.header = new ArrayList<StringType>(); 1304 for (StringType i : header) 1305 dst.header.add(i.copy()); 1306 } 1307 ; 1308 } 1309 1310 protected Endpoint typedCopy() { 1311 return copy(); 1312 } 1313 1314 @Override 1315 public boolean equalsDeep(Base other_) { 1316 if (!super.equalsDeep(other_)) 1317 return false; 1318 if (!(other_ instanceof Endpoint)) 1319 return false; 1320 Endpoint o = (Endpoint) other_; 1321 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) 1322 && compareDeep(connectionType, o.connectionType, true) && compareDeep(name, o.name, true) 1323 && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(contact, o.contact, true) 1324 && compareDeep(period, o.period, true) && compareDeep(payloadType, o.payloadType, true) 1325 && compareDeep(payloadMimeType, o.payloadMimeType, true) && compareDeep(address, o.address, true) 1326 && compareDeep(header, o.header, true); 1327 } 1328 1329 @Override 1330 public boolean equalsShallow(Base other_) { 1331 if (!super.equalsShallow(other_)) 1332 return false; 1333 if (!(other_ instanceof Endpoint)) 1334 return false; 1335 Endpoint o = (Endpoint) other_; 1336 return compareValues(status, o.status, true) && compareValues(name, o.name, true) 1337 && compareValues(payloadMimeType, o.payloadMimeType, true) && compareValues(address, o.address, true) 1338 && compareValues(header, o.header, true); 1339 } 1340 1341 public boolean isEmpty() { 1342 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, connectionType, name, 1343 managingOrganization, contact, period, payloadType, payloadMimeType, address, header); 1344 } 1345 1346 @Override 1347 public ResourceType getResourceType() { 1348 return ResourceType.Endpoint; 1349 } 1350 1351 /** 1352 * Search parameter: <b>payload-type</b> 1353 * <p> 1354 * Description: <b>The type of content that may be used at this endpoint (e.g. 1355 * XDS Discharge summaries)</b><br> 1356 * Type: <b>token</b><br> 1357 * Path: <b>Endpoint.payloadType</b><br> 1358 * </p> 1359 */ 1360 @SearchParamDefinition(name = "payload-type", path = "Endpoint.payloadType", description = "The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)", type = "token") 1361 public static final String SP_PAYLOAD_TYPE = "payload-type"; 1362 /** 1363 * <b>Fluent Client</b> search parameter constant for <b>payload-type</b> 1364 * <p> 1365 * Description: <b>The type of content that may be used at this endpoint (e.g. 1366 * XDS Discharge summaries)</b><br> 1367 * Type: <b>token</b><br> 1368 * Path: <b>Endpoint.payloadType</b><br> 1369 * </p> 1370 */ 1371 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PAYLOAD_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1372 SP_PAYLOAD_TYPE); 1373 1374 /** 1375 * Search parameter: <b>identifier</b> 1376 * <p> 1377 * Description: <b>Identifies this endpoint across multiple systems</b><br> 1378 * Type: <b>token</b><br> 1379 * Path: <b>Endpoint.identifier</b><br> 1380 * </p> 1381 */ 1382 @SearchParamDefinition(name = "identifier", path = "Endpoint.identifier", description = "Identifies this endpoint across multiple systems", type = "token") 1383 public static final String SP_IDENTIFIER = "identifier"; 1384 /** 1385 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1386 * <p> 1387 * Description: <b>Identifies this endpoint across multiple systems</b><br> 1388 * Type: <b>token</b><br> 1389 * Path: <b>Endpoint.identifier</b><br> 1390 * </p> 1391 */ 1392 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1393 SP_IDENTIFIER); 1394 1395 /** 1396 * Search parameter: <b>organization</b> 1397 * <p> 1398 * Description: <b>The organization that is managing the endpoint</b><br> 1399 * Type: <b>reference</b><br> 1400 * Path: <b>Endpoint.managingOrganization</b><br> 1401 * </p> 1402 */ 1403 @SearchParamDefinition(name = "organization", path = "Endpoint.managingOrganization", description = "The organization that is managing the endpoint", type = "reference", target = { 1404 Organization.class }) 1405 public static final String SP_ORGANIZATION = "organization"; 1406 /** 1407 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 1408 * <p> 1409 * Description: <b>The organization that is managing the endpoint</b><br> 1410 * Type: <b>reference</b><br> 1411 * Path: <b>Endpoint.managingOrganization</b><br> 1412 * </p> 1413 */ 1414 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 1415 SP_ORGANIZATION); 1416 1417 /** 1418 * Constant for fluent queries to be used to add include statements. Specifies 1419 * the path value of "<b>Endpoint:organization</b>". 1420 */ 1421 public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATION = new ca.uhn.fhir.model.api.Include( 1422 "Endpoint:organization").toLocked(); 1423 1424 /** 1425 * Search parameter: <b>connection-type</b> 1426 * <p> 1427 * Description: <b>Protocol/Profile/Standard to be used with this endpoint 1428 * connection</b><br> 1429 * Type: <b>token</b><br> 1430 * Path: <b>Endpoint.connectionType</b><br> 1431 * </p> 1432 */ 1433 @SearchParamDefinition(name = "connection-type", path = "Endpoint.connectionType", description = "Protocol/Profile/Standard to be used with this endpoint connection", type = "token") 1434 public static final String SP_CONNECTION_TYPE = "connection-type"; 1435 /** 1436 * <b>Fluent Client</b> search parameter constant for <b>connection-type</b> 1437 * <p> 1438 * Description: <b>Protocol/Profile/Standard to be used with this endpoint 1439 * connection</b><br> 1440 * Type: <b>token</b><br> 1441 * Path: <b>Endpoint.connectionType</b><br> 1442 * </p> 1443 */ 1444 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONNECTION_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1445 SP_CONNECTION_TYPE); 1446 1447 /** 1448 * Search parameter: <b>name</b> 1449 * <p> 1450 * Description: <b>A name that this endpoint can be identified by</b><br> 1451 * Type: <b>string</b><br> 1452 * Path: <b>Endpoint.name</b><br> 1453 * </p> 1454 */ 1455 @SearchParamDefinition(name = "name", path = "Endpoint.name", description = "A name that this endpoint can be identified by", type = "string") 1456 public static final String SP_NAME = "name"; 1457 /** 1458 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1459 * <p> 1460 * Description: <b>A name that this endpoint can be identified by</b><br> 1461 * Type: <b>string</b><br> 1462 * Path: <b>Endpoint.name</b><br> 1463 * </p> 1464 */ 1465 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam( 1466 SP_NAME); 1467 1468 /** 1469 * Search parameter: <b>status</b> 1470 * <p> 1471 * Description: <b>The current status of the Endpoint (usually expected to be 1472 * active)</b><br> 1473 * Type: <b>token</b><br> 1474 * Path: <b>Endpoint.status</b><br> 1475 * </p> 1476 */ 1477 @SearchParamDefinition(name = "status", path = "Endpoint.status", description = "The current status of the Endpoint (usually expected to be active)", type = "token") 1478 public static final String SP_STATUS = "status"; 1479 /** 1480 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1481 * <p> 1482 * Description: <b>The current status of the Endpoint (usually expected to be 1483 * active)</b><br> 1484 * Type: <b>token</b><br> 1485 * Path: <b>Endpoint.status</b><br> 1486 * </p> 1487 */ 1488 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1489 SP_STATUS); 1490 1491}