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 Base makeProperty(int hash, String name) throws FHIRException { 1139 switch (hash) { 1140 case -1618432855: 1141 return addIdentifier(); 1142 case -892481550: 1143 return getStatusElement(); 1144 case 1270211384: 1145 return getConnectionType(); 1146 case 3373707: 1147 return getNameElement(); 1148 case -2058947787: 1149 return getManagingOrganization(); 1150 case 951526432: 1151 return addContact(); 1152 case -991726143: 1153 return getPeriod(); 1154 case 909929960: 1155 return addPayloadType(); 1156 case -1702836932: 1157 return addPayloadMimeTypeElement(); 1158 case -1147692044: 1159 return getAddressElement(); 1160 case -1221270899: 1161 return addHeaderElement(); 1162 default: 1163 return super.makeProperty(hash, name); 1164 } 1165 1166 } 1167 1168 @Override 1169 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1170 switch (hash) { 1171 case -1618432855: 1172 /* identifier */ return new String[] { "Identifier" }; 1173 case -892481550: 1174 /* status */ return new String[] { "code" }; 1175 case 1270211384: 1176 /* connectionType */ return new String[] { "Coding" }; 1177 case 3373707: 1178 /* name */ return new String[] { "string" }; 1179 case -2058947787: 1180 /* managingOrganization */ return new String[] { "Reference" }; 1181 case 951526432: 1182 /* contact */ return new String[] { "ContactPoint" }; 1183 case -991726143: 1184 /* period */ return new String[] { "Period" }; 1185 case 909929960: 1186 /* payloadType */ return new String[] { "CodeableConcept" }; 1187 case -1702836932: 1188 /* payloadMimeType */ return new String[] { "code" }; 1189 case -1147692044: 1190 /* address */ return new String[] { "url" }; 1191 case -1221270899: 1192 /* header */ return new String[] { "string" }; 1193 default: 1194 return super.getTypesForProperty(hash, name); 1195 } 1196 1197 } 1198 1199 @Override 1200 public Base addChild(String name) throws FHIRException { 1201 if (name.equals("identifier")) { 1202 return addIdentifier(); 1203 } else if (name.equals("status")) { 1204 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.status"); 1205 } else if (name.equals("connectionType")) { 1206 this.connectionType = new Coding(); 1207 return this.connectionType; 1208 } else if (name.equals("name")) { 1209 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.name"); 1210 } else if (name.equals("managingOrganization")) { 1211 this.managingOrganization = new Reference(); 1212 return this.managingOrganization; 1213 } else if (name.equals("contact")) { 1214 return addContact(); 1215 } else if (name.equals("period")) { 1216 this.period = new Period(); 1217 return this.period; 1218 } else if (name.equals("payloadType")) { 1219 return addPayloadType(); 1220 } else if (name.equals("payloadMimeType")) { 1221 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.payloadMimeType"); 1222 } else if (name.equals("address")) { 1223 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.address"); 1224 } else if (name.equals("header")) { 1225 throw new FHIRException("Cannot call addChild on a singleton property Endpoint.header"); 1226 } else 1227 return super.addChild(name); 1228 } 1229 1230 public String fhirType() { 1231 return "Endpoint"; 1232 1233 } 1234 1235 public Endpoint copy() { 1236 Endpoint dst = new Endpoint(); 1237 copyValues(dst); 1238 return dst; 1239 } 1240 1241 public void copyValues(Endpoint dst) { 1242 super.copyValues(dst); 1243 if (identifier != null) { 1244 dst.identifier = new ArrayList<Identifier>(); 1245 for (Identifier i : identifier) 1246 dst.identifier.add(i.copy()); 1247 } 1248 ; 1249 dst.status = status == null ? null : status.copy(); 1250 dst.connectionType = connectionType == null ? null : connectionType.copy(); 1251 dst.name = name == null ? null : name.copy(); 1252 dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); 1253 if (contact != null) { 1254 dst.contact = new ArrayList<ContactPoint>(); 1255 for (ContactPoint i : contact) 1256 dst.contact.add(i.copy()); 1257 } 1258 ; 1259 dst.period = period == null ? null : period.copy(); 1260 if (payloadType != null) { 1261 dst.payloadType = new ArrayList<CodeableConcept>(); 1262 for (CodeableConcept i : payloadType) 1263 dst.payloadType.add(i.copy()); 1264 } 1265 ; 1266 if (payloadMimeType != null) { 1267 dst.payloadMimeType = new ArrayList<CodeType>(); 1268 for (CodeType i : payloadMimeType) 1269 dst.payloadMimeType.add(i.copy()); 1270 } 1271 ; 1272 dst.address = address == null ? null : address.copy(); 1273 if (header != null) { 1274 dst.header = new ArrayList<StringType>(); 1275 for (StringType i : header) 1276 dst.header.add(i.copy()); 1277 } 1278 ; 1279 } 1280 1281 protected Endpoint typedCopy() { 1282 return copy(); 1283 } 1284 1285 @Override 1286 public boolean equalsDeep(Base other_) { 1287 if (!super.equalsDeep(other_)) 1288 return false; 1289 if (!(other_ instanceof Endpoint)) 1290 return false; 1291 Endpoint o = (Endpoint) other_; 1292 return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) 1293 && compareDeep(connectionType, o.connectionType, true) && compareDeep(name, o.name, true) 1294 && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(contact, o.contact, true) 1295 && compareDeep(period, o.period, true) && compareDeep(payloadType, o.payloadType, true) 1296 && compareDeep(payloadMimeType, o.payloadMimeType, true) && compareDeep(address, o.address, true) 1297 && compareDeep(header, o.header, true); 1298 } 1299 1300 @Override 1301 public boolean equalsShallow(Base other_) { 1302 if (!super.equalsShallow(other_)) 1303 return false; 1304 if (!(other_ instanceof Endpoint)) 1305 return false; 1306 Endpoint o = (Endpoint) other_; 1307 return compareValues(status, o.status, true) && compareValues(name, o.name, true) 1308 && compareValues(payloadMimeType, o.payloadMimeType, true) && compareValues(address, o.address, true) 1309 && compareValues(header, o.header, true); 1310 } 1311 1312 public boolean isEmpty() { 1313 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, connectionType, name, 1314 managingOrganization, contact, period, payloadType, payloadMimeType, address, header); 1315 } 1316 1317 @Override 1318 public ResourceType getResourceType() { 1319 return ResourceType.Endpoint; 1320 } 1321 1322 /** 1323 * Search parameter: <b>payload-type</b> 1324 * <p> 1325 * Description: <b>The type of content that may be used at this endpoint (e.g. 1326 * XDS Discharge summaries)</b><br> 1327 * Type: <b>token</b><br> 1328 * Path: <b>Endpoint.payloadType</b><br> 1329 * </p> 1330 */ 1331 @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") 1332 public static final String SP_PAYLOAD_TYPE = "payload-type"; 1333 /** 1334 * <b>Fluent Client</b> search parameter constant for <b>payload-type</b> 1335 * <p> 1336 * Description: <b>The type of content that may be used at this endpoint (e.g. 1337 * XDS Discharge summaries)</b><br> 1338 * Type: <b>token</b><br> 1339 * Path: <b>Endpoint.payloadType</b><br> 1340 * </p> 1341 */ 1342 public static final ca.uhn.fhir.rest.gclient.TokenClientParam PAYLOAD_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1343 SP_PAYLOAD_TYPE); 1344 1345 /** 1346 * Search parameter: <b>identifier</b> 1347 * <p> 1348 * Description: <b>Identifies this endpoint across multiple systems</b><br> 1349 * Type: <b>token</b><br> 1350 * Path: <b>Endpoint.identifier</b><br> 1351 * </p> 1352 */ 1353 @SearchParamDefinition(name = "identifier", path = "Endpoint.identifier", description = "Identifies this endpoint across multiple systems", type = "token") 1354 public static final String SP_IDENTIFIER = "identifier"; 1355 /** 1356 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1357 * <p> 1358 * Description: <b>Identifies this endpoint across multiple systems</b><br> 1359 * Type: <b>token</b><br> 1360 * Path: <b>Endpoint.identifier</b><br> 1361 * </p> 1362 */ 1363 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1364 SP_IDENTIFIER); 1365 1366 /** 1367 * Search parameter: <b>organization</b> 1368 * <p> 1369 * Description: <b>The organization that is managing the endpoint</b><br> 1370 * Type: <b>reference</b><br> 1371 * Path: <b>Endpoint.managingOrganization</b><br> 1372 * </p> 1373 */ 1374 @SearchParamDefinition(name = "organization", path = "Endpoint.managingOrganization", description = "The organization that is managing the endpoint", type = "reference", target = { 1375 Organization.class }) 1376 public static final String SP_ORGANIZATION = "organization"; 1377 /** 1378 * <b>Fluent Client</b> search parameter constant for <b>organization</b> 1379 * <p> 1380 * Description: <b>The organization that is managing the endpoint</b><br> 1381 * Type: <b>reference</b><br> 1382 * Path: <b>Endpoint.managingOrganization</b><br> 1383 * </p> 1384 */ 1385 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ORGANIZATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 1386 SP_ORGANIZATION); 1387 1388 /** 1389 * Constant for fluent queries to be used to add include statements. Specifies 1390 * the path value of "<b>Endpoint:organization</b>". 1391 */ 1392 public static final ca.uhn.fhir.model.api.Include INCLUDE_ORGANIZATION = new ca.uhn.fhir.model.api.Include( 1393 "Endpoint:organization").toLocked(); 1394 1395 /** 1396 * Search parameter: <b>connection-type</b> 1397 * <p> 1398 * Description: <b>Protocol/Profile/Standard to be used with this endpoint 1399 * connection</b><br> 1400 * Type: <b>token</b><br> 1401 * Path: <b>Endpoint.connectionType</b><br> 1402 * </p> 1403 */ 1404 @SearchParamDefinition(name = "connection-type", path = "Endpoint.connectionType", description = "Protocol/Profile/Standard to be used with this endpoint connection", type = "token") 1405 public static final String SP_CONNECTION_TYPE = "connection-type"; 1406 /** 1407 * <b>Fluent Client</b> search parameter constant for <b>connection-type</b> 1408 * <p> 1409 * Description: <b>Protocol/Profile/Standard to be used with this endpoint 1410 * connection</b><br> 1411 * Type: <b>token</b><br> 1412 * Path: <b>Endpoint.connectionType</b><br> 1413 * </p> 1414 */ 1415 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONNECTION_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1416 SP_CONNECTION_TYPE); 1417 1418 /** 1419 * Search parameter: <b>name</b> 1420 * <p> 1421 * Description: <b>A name that this endpoint can be identified by</b><br> 1422 * Type: <b>string</b><br> 1423 * Path: <b>Endpoint.name</b><br> 1424 * </p> 1425 */ 1426 @SearchParamDefinition(name = "name", path = "Endpoint.name", description = "A name that this endpoint can be identified by", type = "string") 1427 public static final String SP_NAME = "name"; 1428 /** 1429 * <b>Fluent Client</b> search parameter constant for <b>name</b> 1430 * <p> 1431 * Description: <b>A name that this endpoint can be identified by</b><br> 1432 * Type: <b>string</b><br> 1433 * Path: <b>Endpoint.name</b><br> 1434 * </p> 1435 */ 1436 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam( 1437 SP_NAME); 1438 1439 /** 1440 * Search parameter: <b>status</b> 1441 * <p> 1442 * Description: <b>The current status of the Endpoint (usually expected to be 1443 * active)</b><br> 1444 * Type: <b>token</b><br> 1445 * Path: <b>Endpoint.status</b><br> 1446 * </p> 1447 */ 1448 @SearchParamDefinition(name = "status", path = "Endpoint.status", description = "The current status of the Endpoint (usually expected to be active)", type = "token") 1449 public static final String SP_STATUS = "status"; 1450 /** 1451 * <b>Fluent Client</b> search parameter constant for <b>status</b> 1452 * <p> 1453 * Description: <b>The current status of the Endpoint (usually expected to be 1454 * active)</b><br> 1455 * Type: <b>token</b><br> 1456 * Path: <b>Endpoint.status</b><br> 1457 * </p> 1458 */ 1459 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 1460 SP_STATUS); 1461 1462}