001package org.hl7.fhir.dstu3.model; 002 003 004 005/* 006 Copyright (c) 2011+, HL7, Inc. 007 All rights reserved. 008 009 Redistribution and use in source and binary forms, with or without modification, 010 are permitted provided that the following conditions are met: 011 012 * Redistributions of source code must retain the above copyright notice, this 013 list of conditions and the following disclaimer. 014 * Redistributions in binary form must reproduce the above copyright notice, 015 this list of conditions and the following disclaimer in the documentation 016 and/or other materials provided with the distribution. 017 * Neither the name of HL7 nor the names of its contributors may be used to 018 endorse or promote products derived from this software without specific 019 prior written permission. 020 021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 022 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 023 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 024 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 025 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 026 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 027 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 028 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 029 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 030 POSSIBILITY OF SUCH DAMAGE. 031 032*/ 033 034// Generated on Fri, Mar 16, 2018 15:21+1100 for FHIR v3.0.x 035import java.util.ArrayList; 036import java.util.Date; 037import java.util.List; 038 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 041import org.hl7.fhir.utilities.Utilities; 042 043import ca.uhn.fhir.model.api.annotation.Block; 044import ca.uhn.fhir.model.api.annotation.Child; 045import ca.uhn.fhir.model.api.annotation.Description; 046import ca.uhn.fhir.model.api.annotation.ResourceDef; 047import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 048/** 049 * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. 050 */ 051@ResourceDef(name="MessageHeader", profile="http://hl7.org/fhir/Profile/MessageHeader") 052public class MessageHeader extends DomainResource { 053 054 public enum ResponseType { 055 /** 056 * The message was accepted and processed without error. 057 */ 058 OK, 059 /** 060 * Some internal unexpected error occurred - wait and try again. Note - this is usually used for things like database unavailable, which may be expected to resolve, though human intervention may be required. 061 */ 062 TRANSIENTERROR, 063 /** 064 * The message was rejected because of a problem with the content. There is no point in re-sending without change. The response narrative SHALL describe the issue. 065 */ 066 FATALERROR, 067 /** 068 * added to help the parsers with the generic types 069 */ 070 NULL; 071 public static ResponseType fromCode(String codeString) throws FHIRException { 072 if (codeString == null || "".equals(codeString)) 073 return null; 074 if ("ok".equals(codeString)) 075 return OK; 076 if ("transient-error".equals(codeString)) 077 return TRANSIENTERROR; 078 if ("fatal-error".equals(codeString)) 079 return FATALERROR; 080 if (Configuration.isAcceptInvalidEnums()) 081 return null; 082 else 083 throw new FHIRException("Unknown ResponseType code '"+codeString+"'"); 084 } 085 public String toCode() { 086 switch (this) { 087 case OK: return "ok"; 088 case TRANSIENTERROR: return "transient-error"; 089 case FATALERROR: return "fatal-error"; 090 case NULL: return null; 091 default: return "?"; 092 } 093 } 094 public String getSystem() { 095 switch (this) { 096 case OK: return "http://hl7.org/fhir/response-code"; 097 case TRANSIENTERROR: return "http://hl7.org/fhir/response-code"; 098 case FATALERROR: return "http://hl7.org/fhir/response-code"; 099 case NULL: return null; 100 default: return "?"; 101 } 102 } 103 public String getDefinition() { 104 switch (this) { 105 case OK: return "The message was accepted and processed without error."; 106 case TRANSIENTERROR: return "Some internal unexpected error occurred - wait and try again. Note - this is usually used for things like database unavailable, which may be expected to resolve, though human intervention may be required."; 107 case FATALERROR: return "The message was rejected because of a problem with the content. There is no point in re-sending without change. The response narrative SHALL describe the issue."; 108 case NULL: return null; 109 default: return "?"; 110 } 111 } 112 public String getDisplay() { 113 switch (this) { 114 case OK: return "OK"; 115 case TRANSIENTERROR: return "Transient Error"; 116 case FATALERROR: return "Fatal Error"; 117 case NULL: return null; 118 default: return "?"; 119 } 120 } 121 } 122 123 public static class ResponseTypeEnumFactory implements EnumFactory<ResponseType> { 124 public ResponseType fromCode(String codeString) throws IllegalArgumentException { 125 if (codeString == null || "".equals(codeString)) 126 if (codeString == null || "".equals(codeString)) 127 return null; 128 if ("ok".equals(codeString)) 129 return ResponseType.OK; 130 if ("transient-error".equals(codeString)) 131 return ResponseType.TRANSIENTERROR; 132 if ("fatal-error".equals(codeString)) 133 return ResponseType.FATALERROR; 134 throw new IllegalArgumentException("Unknown ResponseType code '"+codeString+"'"); 135 } 136 public Enumeration<ResponseType> fromType(PrimitiveType<?> code) throws FHIRException { 137 if (code == null) 138 return null; 139 if (code.isEmpty()) 140 return new Enumeration<ResponseType>(this); 141 String codeString = code.asStringValue(); 142 if (codeString == null || "".equals(codeString)) 143 return null; 144 if ("ok".equals(codeString)) 145 return new Enumeration<ResponseType>(this, ResponseType.OK); 146 if ("transient-error".equals(codeString)) 147 return new Enumeration<ResponseType>(this, ResponseType.TRANSIENTERROR); 148 if ("fatal-error".equals(codeString)) 149 return new Enumeration<ResponseType>(this, ResponseType.FATALERROR); 150 throw new FHIRException("Unknown ResponseType code '"+codeString+"'"); 151 } 152 public String toCode(ResponseType code) { 153 if (code == ResponseType.NULL) 154 return null; 155 if (code == ResponseType.OK) 156 return "ok"; 157 if (code == ResponseType.TRANSIENTERROR) 158 return "transient-error"; 159 if (code == ResponseType.FATALERROR) 160 return "fatal-error"; 161 return "?"; 162 } 163 public String toSystem(ResponseType code) { 164 return code.getSystem(); 165 } 166 } 167 168 @Block() 169 public static class MessageDestinationComponent extends BackboneElement implements IBaseBackboneElement { 170 /** 171 * Human-readable name for the target system. 172 */ 173 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 174 @Description(shortDefinition="Name of system", formalDefinition="Human-readable name for the target system." ) 175 protected StringType name; 176 177 /** 178 * Identifies the target end system in situations where the initial message transmission is to an intermediary system. 179 */ 180 @Child(name = "target", type = {Device.class}, order=2, min=0, max=1, modifier=false, summary=true) 181 @Description(shortDefinition="Particular delivery destination within the destination", formalDefinition="Identifies the target end system in situations where the initial message transmission is to an intermediary system." ) 182 protected Reference target; 183 184 /** 185 * The actual object that is the target of the reference (Identifies the target end system in situations where the initial message transmission is to an intermediary system.) 186 */ 187 protected Device targetTarget; 188 189 /** 190 * Indicates where the message should be routed to. 191 */ 192 @Child(name = "endpoint", type = {UriType.class}, order=3, min=1, max=1, modifier=false, summary=true) 193 @Description(shortDefinition="Actual destination address or id", formalDefinition="Indicates where the message should be routed to." ) 194 protected UriType endpoint; 195 196 private static final long serialVersionUID = -2097633309L; 197 198 /** 199 * Constructor 200 */ 201 public MessageDestinationComponent() { 202 super(); 203 } 204 205 /** 206 * Constructor 207 */ 208 public MessageDestinationComponent(UriType endpoint) { 209 super(); 210 this.endpoint = endpoint; 211 } 212 213 /** 214 * @return {@link #name} (Human-readable name for the target system.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 215 */ 216 public StringType getNameElement() { 217 if (this.name == null) 218 if (Configuration.errorOnAutoCreate()) 219 throw new Error("Attempt to auto-create MessageDestinationComponent.name"); 220 else if (Configuration.doAutoCreate()) 221 this.name = new StringType(); // bb 222 return this.name; 223 } 224 225 public boolean hasNameElement() { 226 return this.name != null && !this.name.isEmpty(); 227 } 228 229 public boolean hasName() { 230 return this.name != null && !this.name.isEmpty(); 231 } 232 233 /** 234 * @param value {@link #name} (Human-readable name for the target system.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 235 */ 236 public MessageDestinationComponent setNameElement(StringType value) { 237 this.name = value; 238 return this; 239 } 240 241 /** 242 * @return Human-readable name for the target system. 243 */ 244 public String getName() { 245 return this.name == null ? null : this.name.getValue(); 246 } 247 248 /** 249 * @param value Human-readable name for the target system. 250 */ 251 public MessageDestinationComponent setName(String value) { 252 if (Utilities.noString(value)) 253 this.name = null; 254 else { 255 if (this.name == null) 256 this.name = new StringType(); 257 this.name.setValue(value); 258 } 259 return this; 260 } 261 262 /** 263 * @return {@link #target} (Identifies the target end system in situations where the initial message transmission is to an intermediary system.) 264 */ 265 public Reference getTarget() { 266 if (this.target == null) 267 if (Configuration.errorOnAutoCreate()) 268 throw new Error("Attempt to auto-create MessageDestinationComponent.target"); 269 else if (Configuration.doAutoCreate()) 270 this.target = new Reference(); // cc 271 return this.target; 272 } 273 274 public boolean hasTarget() { 275 return this.target != null && !this.target.isEmpty(); 276 } 277 278 /** 279 * @param value {@link #target} (Identifies the target end system in situations where the initial message transmission is to an intermediary system.) 280 */ 281 public MessageDestinationComponent setTarget(Reference value) { 282 this.target = value; 283 return this; 284 } 285 286 /** 287 * @return {@link #target} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Identifies the target end system in situations where the initial message transmission is to an intermediary system.) 288 */ 289 public Device getTargetTarget() { 290 if (this.targetTarget == null) 291 if (Configuration.errorOnAutoCreate()) 292 throw new Error("Attempt to auto-create MessageDestinationComponent.target"); 293 else if (Configuration.doAutoCreate()) 294 this.targetTarget = new Device(); // aa 295 return this.targetTarget; 296 } 297 298 /** 299 * @param value {@link #target} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Identifies the target end system in situations where the initial message transmission is to an intermediary system.) 300 */ 301 public MessageDestinationComponent setTargetTarget(Device value) { 302 this.targetTarget = value; 303 return this; 304 } 305 306 /** 307 * @return {@link #endpoint} (Indicates where the message should be routed to.). This is the underlying object with id, value and extensions. The accessor "getEndpoint" gives direct access to the value 308 */ 309 public UriType getEndpointElement() { 310 if (this.endpoint == null) 311 if (Configuration.errorOnAutoCreate()) 312 throw new Error("Attempt to auto-create MessageDestinationComponent.endpoint"); 313 else if (Configuration.doAutoCreate()) 314 this.endpoint = new UriType(); // bb 315 return this.endpoint; 316 } 317 318 public boolean hasEndpointElement() { 319 return this.endpoint != null && !this.endpoint.isEmpty(); 320 } 321 322 public boolean hasEndpoint() { 323 return this.endpoint != null && !this.endpoint.isEmpty(); 324 } 325 326 /** 327 * @param value {@link #endpoint} (Indicates where the message should be routed to.). This is the underlying object with id, value and extensions. The accessor "getEndpoint" gives direct access to the value 328 */ 329 public MessageDestinationComponent setEndpointElement(UriType value) { 330 this.endpoint = value; 331 return this; 332 } 333 334 /** 335 * @return Indicates where the message should be routed to. 336 */ 337 public String getEndpoint() { 338 return this.endpoint == null ? null : this.endpoint.getValue(); 339 } 340 341 /** 342 * @param value Indicates where the message should be routed to. 343 */ 344 public MessageDestinationComponent setEndpoint(String value) { 345 if (this.endpoint == null) 346 this.endpoint = new UriType(); 347 this.endpoint.setValue(value); 348 return this; 349 } 350 351 protected void listChildren(List<Property> children) { 352 super.listChildren(children); 353 children.add(new Property("name", "string", "Human-readable name for the target system.", 0, 1, name)); 354 children.add(new Property("target", "Reference(Device)", "Identifies the target end system in situations where the initial message transmission is to an intermediary system.", 0, 1, target)); 355 children.add(new Property("endpoint", "uri", "Indicates where the message should be routed to.", 0, 1, endpoint)); 356 } 357 358 @Override 359 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 360 switch (_hash) { 361 case 3373707: /*name*/ return new Property("name", "string", "Human-readable name for the target system.", 0, 1, name); 362 case -880905839: /*target*/ return new Property("target", "Reference(Device)", "Identifies the target end system in situations where the initial message transmission is to an intermediary system.", 0, 1, target); 363 case 1741102485: /*endpoint*/ return new Property("endpoint", "uri", "Indicates where the message should be routed to.", 0, 1, endpoint); 364 default: return super.getNamedProperty(_hash, _name, _checkValid); 365 } 366 367 } 368 369 @Override 370 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 371 switch (hash) { 372 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 373 case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Reference 374 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : new Base[] {this.endpoint}; // UriType 375 default: return super.getProperty(hash, name, checkValid); 376 } 377 378 } 379 380 @Override 381 public Base setProperty(int hash, String name, Base value) throws FHIRException { 382 switch (hash) { 383 case 3373707: // name 384 this.name = castToString(value); // StringType 385 return value; 386 case -880905839: // target 387 this.target = castToReference(value); // Reference 388 return value; 389 case 1741102485: // endpoint 390 this.endpoint = castToUri(value); // UriType 391 return value; 392 default: return super.setProperty(hash, name, value); 393 } 394 395 } 396 397 @Override 398 public Base setProperty(String name, Base value) throws FHIRException { 399 if (name.equals("name")) { 400 this.name = castToString(value); // StringType 401 } else if (name.equals("target")) { 402 this.target = castToReference(value); // Reference 403 } else if (name.equals("endpoint")) { 404 this.endpoint = castToUri(value); // UriType 405 } else 406 return super.setProperty(name, value); 407 return value; 408 } 409 410 @Override 411 public Base makeProperty(int hash, String name) throws FHIRException { 412 switch (hash) { 413 case 3373707: return getNameElement(); 414 case -880905839: return getTarget(); 415 case 1741102485: return getEndpointElement(); 416 default: return super.makeProperty(hash, name); 417 } 418 419 } 420 421 @Override 422 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 423 switch (hash) { 424 case 3373707: /*name*/ return new String[] {"string"}; 425 case -880905839: /*target*/ return new String[] {"Reference"}; 426 case 1741102485: /*endpoint*/ return new String[] {"uri"}; 427 default: return super.getTypesForProperty(hash, name); 428 } 429 430 } 431 432 @Override 433 public Base addChild(String name) throws FHIRException { 434 if (name.equals("name")) { 435 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.name"); 436 } 437 else if (name.equals("target")) { 438 this.target = new Reference(); 439 return this.target; 440 } 441 else if (name.equals("endpoint")) { 442 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.endpoint"); 443 } 444 else 445 return super.addChild(name); 446 } 447 448 public MessageDestinationComponent copy() { 449 MessageDestinationComponent dst = new MessageDestinationComponent(); 450 copyValues(dst); 451 dst.name = name == null ? null : name.copy(); 452 dst.target = target == null ? null : target.copy(); 453 dst.endpoint = endpoint == null ? null : endpoint.copy(); 454 return dst; 455 } 456 457 @Override 458 public boolean equalsDeep(Base other_) { 459 if (!super.equalsDeep(other_)) 460 return false; 461 if (!(other_ instanceof MessageDestinationComponent)) 462 return false; 463 MessageDestinationComponent o = (MessageDestinationComponent) other_; 464 return compareDeep(name, o.name, true) && compareDeep(target, o.target, true) && compareDeep(endpoint, o.endpoint, true) 465 ; 466 } 467 468 @Override 469 public boolean equalsShallow(Base other_) { 470 if (!super.equalsShallow(other_)) 471 return false; 472 if (!(other_ instanceof MessageDestinationComponent)) 473 return false; 474 MessageDestinationComponent o = (MessageDestinationComponent) other_; 475 return compareValues(name, o.name, true) && compareValues(endpoint, o.endpoint, true); 476 } 477 478 public boolean isEmpty() { 479 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, target, endpoint); 480 } 481 482 public String fhirType() { 483 return "MessageHeader.destination"; 484 485 } 486 487 } 488 489 @Block() 490 public static class MessageSourceComponent extends BackboneElement implements IBaseBackboneElement { 491 /** 492 * Human-readable name for the source system. 493 */ 494 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 495 @Description(shortDefinition="Name of system", formalDefinition="Human-readable name for the source system." ) 496 protected StringType name; 497 498 /** 499 * May include configuration or other information useful in debugging. 500 */ 501 @Child(name = "software", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 502 @Description(shortDefinition="Name of software running the system", formalDefinition="May include configuration or other information useful in debugging." ) 503 protected StringType software; 504 505 /** 506 * Can convey versions of multiple systems in situations where a message passes through multiple hands. 507 */ 508 @Child(name = "version", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 509 @Description(shortDefinition="Version of software running", formalDefinition="Can convey versions of multiple systems in situations where a message passes through multiple hands." ) 510 protected StringType version; 511 512 /** 513 * An e-mail, phone, website or other contact point to use to resolve issues with message communications. 514 */ 515 @Child(name = "contact", type = {ContactPoint.class}, order=4, min=0, max=1, modifier=false, summary=true) 516 @Description(shortDefinition="Human contact for problems", formalDefinition="An e-mail, phone, website or other contact point to use to resolve issues with message communications." ) 517 protected ContactPoint contact; 518 519 /** 520 * Identifies the routing target to send acknowledgements to. 521 */ 522 @Child(name = "endpoint", type = {UriType.class}, order=5, min=1, max=1, modifier=false, summary=true) 523 @Description(shortDefinition="Actual message source address or id", formalDefinition="Identifies the routing target to send acknowledgements to." ) 524 protected UriType endpoint; 525 526 private static final long serialVersionUID = -115878196L; 527 528 /** 529 * Constructor 530 */ 531 public MessageSourceComponent() { 532 super(); 533 } 534 535 /** 536 * Constructor 537 */ 538 public MessageSourceComponent(UriType endpoint) { 539 super(); 540 this.endpoint = endpoint; 541 } 542 543 /** 544 * @return {@link #name} (Human-readable name for the source system.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 545 */ 546 public StringType getNameElement() { 547 if (this.name == null) 548 if (Configuration.errorOnAutoCreate()) 549 throw new Error("Attempt to auto-create MessageSourceComponent.name"); 550 else if (Configuration.doAutoCreate()) 551 this.name = new StringType(); // bb 552 return this.name; 553 } 554 555 public boolean hasNameElement() { 556 return this.name != null && !this.name.isEmpty(); 557 } 558 559 public boolean hasName() { 560 return this.name != null && !this.name.isEmpty(); 561 } 562 563 /** 564 * @param value {@link #name} (Human-readable name for the source system.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 565 */ 566 public MessageSourceComponent setNameElement(StringType value) { 567 this.name = value; 568 return this; 569 } 570 571 /** 572 * @return Human-readable name for the source system. 573 */ 574 public String getName() { 575 return this.name == null ? null : this.name.getValue(); 576 } 577 578 /** 579 * @param value Human-readable name for the source system. 580 */ 581 public MessageSourceComponent setName(String value) { 582 if (Utilities.noString(value)) 583 this.name = null; 584 else { 585 if (this.name == null) 586 this.name = new StringType(); 587 this.name.setValue(value); 588 } 589 return this; 590 } 591 592 /** 593 * @return {@link #software} (May include configuration or other information useful in debugging.). This is the underlying object with id, value and extensions. The accessor "getSoftware" gives direct access to the value 594 */ 595 public StringType getSoftwareElement() { 596 if (this.software == null) 597 if (Configuration.errorOnAutoCreate()) 598 throw new Error("Attempt to auto-create MessageSourceComponent.software"); 599 else if (Configuration.doAutoCreate()) 600 this.software = new StringType(); // bb 601 return this.software; 602 } 603 604 public boolean hasSoftwareElement() { 605 return this.software != null && !this.software.isEmpty(); 606 } 607 608 public boolean hasSoftware() { 609 return this.software != null && !this.software.isEmpty(); 610 } 611 612 /** 613 * @param value {@link #software} (May include configuration or other information useful in debugging.). This is the underlying object with id, value and extensions. The accessor "getSoftware" gives direct access to the value 614 */ 615 public MessageSourceComponent setSoftwareElement(StringType value) { 616 this.software = value; 617 return this; 618 } 619 620 /** 621 * @return May include configuration or other information useful in debugging. 622 */ 623 public String getSoftware() { 624 return this.software == null ? null : this.software.getValue(); 625 } 626 627 /** 628 * @param value May include configuration or other information useful in debugging. 629 */ 630 public MessageSourceComponent setSoftware(String value) { 631 if (Utilities.noString(value)) 632 this.software = null; 633 else { 634 if (this.software == null) 635 this.software = new StringType(); 636 this.software.setValue(value); 637 } 638 return this; 639 } 640 641 /** 642 * @return {@link #version} (Can convey versions of multiple systems in situations where a message passes through multiple hands.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 643 */ 644 public StringType getVersionElement() { 645 if (this.version == null) 646 if (Configuration.errorOnAutoCreate()) 647 throw new Error("Attempt to auto-create MessageSourceComponent.version"); 648 else if (Configuration.doAutoCreate()) 649 this.version = new StringType(); // bb 650 return this.version; 651 } 652 653 public boolean hasVersionElement() { 654 return this.version != null && !this.version.isEmpty(); 655 } 656 657 public boolean hasVersion() { 658 return this.version != null && !this.version.isEmpty(); 659 } 660 661 /** 662 * @param value {@link #version} (Can convey versions of multiple systems in situations where a message passes through multiple hands.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 663 */ 664 public MessageSourceComponent setVersionElement(StringType value) { 665 this.version = value; 666 return this; 667 } 668 669 /** 670 * @return Can convey versions of multiple systems in situations where a message passes through multiple hands. 671 */ 672 public String getVersion() { 673 return this.version == null ? null : this.version.getValue(); 674 } 675 676 /** 677 * @param value Can convey versions of multiple systems in situations where a message passes through multiple hands. 678 */ 679 public MessageSourceComponent setVersion(String value) { 680 if (Utilities.noString(value)) 681 this.version = null; 682 else { 683 if (this.version == null) 684 this.version = new StringType(); 685 this.version.setValue(value); 686 } 687 return this; 688 } 689 690 /** 691 * @return {@link #contact} (An e-mail, phone, website or other contact point to use to resolve issues with message communications.) 692 */ 693 public ContactPoint getContact() { 694 if (this.contact == null) 695 if (Configuration.errorOnAutoCreate()) 696 throw new Error("Attempt to auto-create MessageSourceComponent.contact"); 697 else if (Configuration.doAutoCreate()) 698 this.contact = new ContactPoint(); // cc 699 return this.contact; 700 } 701 702 public boolean hasContact() { 703 return this.contact != null && !this.contact.isEmpty(); 704 } 705 706 /** 707 * @param value {@link #contact} (An e-mail, phone, website or other contact point to use to resolve issues with message communications.) 708 */ 709 public MessageSourceComponent setContact(ContactPoint value) { 710 this.contact = value; 711 return this; 712 } 713 714 /** 715 * @return {@link #endpoint} (Identifies the routing target to send acknowledgements to.). This is the underlying object with id, value and extensions. The accessor "getEndpoint" gives direct access to the value 716 */ 717 public UriType getEndpointElement() { 718 if (this.endpoint == null) 719 if (Configuration.errorOnAutoCreate()) 720 throw new Error("Attempt to auto-create MessageSourceComponent.endpoint"); 721 else if (Configuration.doAutoCreate()) 722 this.endpoint = new UriType(); // bb 723 return this.endpoint; 724 } 725 726 public boolean hasEndpointElement() { 727 return this.endpoint != null && !this.endpoint.isEmpty(); 728 } 729 730 public boolean hasEndpoint() { 731 return this.endpoint != null && !this.endpoint.isEmpty(); 732 } 733 734 /** 735 * @param value {@link #endpoint} (Identifies the routing target to send acknowledgements to.). This is the underlying object with id, value and extensions. The accessor "getEndpoint" gives direct access to the value 736 */ 737 public MessageSourceComponent setEndpointElement(UriType value) { 738 this.endpoint = value; 739 return this; 740 } 741 742 /** 743 * @return Identifies the routing target to send acknowledgements to. 744 */ 745 public String getEndpoint() { 746 return this.endpoint == null ? null : this.endpoint.getValue(); 747 } 748 749 /** 750 * @param value Identifies the routing target to send acknowledgements to. 751 */ 752 public MessageSourceComponent setEndpoint(String value) { 753 if (this.endpoint == null) 754 this.endpoint = new UriType(); 755 this.endpoint.setValue(value); 756 return this; 757 } 758 759 protected void listChildren(List<Property> children) { 760 super.listChildren(children); 761 children.add(new Property("name", "string", "Human-readable name for the source system.", 0, 1, name)); 762 children.add(new Property("software", "string", "May include configuration or other information useful in debugging.", 0, 1, software)); 763 children.add(new Property("version", "string", "Can convey versions of multiple systems in situations where a message passes through multiple hands.", 0, 1, version)); 764 children.add(new Property("contact", "ContactPoint", "An e-mail, phone, website or other contact point to use to resolve issues with message communications.", 0, 1, contact)); 765 children.add(new Property("endpoint", "uri", "Identifies the routing target to send acknowledgements to.", 0, 1, endpoint)); 766 } 767 768 @Override 769 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 770 switch (_hash) { 771 case 3373707: /*name*/ return new Property("name", "string", "Human-readable name for the source system.", 0, 1, name); 772 case 1319330215: /*software*/ return new Property("software", "string", "May include configuration or other information useful in debugging.", 0, 1, software); 773 case 351608024: /*version*/ return new Property("version", "string", "Can convey versions of multiple systems in situations where a message passes through multiple hands.", 0, 1, version); 774 case 951526432: /*contact*/ return new Property("contact", "ContactPoint", "An e-mail, phone, website or other contact point to use to resolve issues with message communications.", 0, 1, contact); 775 case 1741102485: /*endpoint*/ return new Property("endpoint", "uri", "Identifies the routing target to send acknowledgements to.", 0, 1, endpoint); 776 default: return super.getNamedProperty(_hash, _name, _checkValid); 777 } 778 779 } 780 781 @Override 782 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 783 switch (hash) { 784 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 785 case 1319330215: /*software*/ return this.software == null ? new Base[0] : new Base[] {this.software}; // StringType 786 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 787 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : new Base[] {this.contact}; // ContactPoint 788 case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : new Base[] {this.endpoint}; // UriType 789 default: return super.getProperty(hash, name, checkValid); 790 } 791 792 } 793 794 @Override 795 public Base setProperty(int hash, String name, Base value) throws FHIRException { 796 switch (hash) { 797 case 3373707: // name 798 this.name = castToString(value); // StringType 799 return value; 800 case 1319330215: // software 801 this.software = castToString(value); // StringType 802 return value; 803 case 351608024: // version 804 this.version = castToString(value); // StringType 805 return value; 806 case 951526432: // contact 807 this.contact = castToContactPoint(value); // ContactPoint 808 return value; 809 case 1741102485: // endpoint 810 this.endpoint = castToUri(value); // UriType 811 return value; 812 default: return super.setProperty(hash, name, value); 813 } 814 815 } 816 817 @Override 818 public Base setProperty(String name, Base value) throws FHIRException { 819 if (name.equals("name")) { 820 this.name = castToString(value); // StringType 821 } else if (name.equals("software")) { 822 this.software = castToString(value); // StringType 823 } else if (name.equals("version")) { 824 this.version = castToString(value); // StringType 825 } else if (name.equals("contact")) { 826 this.contact = castToContactPoint(value); // ContactPoint 827 } else if (name.equals("endpoint")) { 828 this.endpoint = castToUri(value); // UriType 829 } else 830 return super.setProperty(name, value); 831 return value; 832 } 833 834 @Override 835 public Base makeProperty(int hash, String name) throws FHIRException { 836 switch (hash) { 837 case 3373707: return getNameElement(); 838 case 1319330215: return getSoftwareElement(); 839 case 351608024: return getVersionElement(); 840 case 951526432: return getContact(); 841 case 1741102485: return getEndpointElement(); 842 default: return super.makeProperty(hash, name); 843 } 844 845 } 846 847 @Override 848 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 849 switch (hash) { 850 case 3373707: /*name*/ return new String[] {"string"}; 851 case 1319330215: /*software*/ return new String[] {"string"}; 852 case 351608024: /*version*/ return new String[] {"string"}; 853 case 951526432: /*contact*/ return new String[] {"ContactPoint"}; 854 case 1741102485: /*endpoint*/ return new String[] {"uri"}; 855 default: return super.getTypesForProperty(hash, name); 856 } 857 858 } 859 860 @Override 861 public Base addChild(String name) throws FHIRException { 862 if (name.equals("name")) { 863 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.name"); 864 } 865 else if (name.equals("software")) { 866 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.software"); 867 } 868 else if (name.equals("version")) { 869 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.version"); 870 } 871 else if (name.equals("contact")) { 872 this.contact = new ContactPoint(); 873 return this.contact; 874 } 875 else if (name.equals("endpoint")) { 876 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.endpoint"); 877 } 878 else 879 return super.addChild(name); 880 } 881 882 public MessageSourceComponent copy() { 883 MessageSourceComponent dst = new MessageSourceComponent(); 884 copyValues(dst); 885 dst.name = name == null ? null : name.copy(); 886 dst.software = software == null ? null : software.copy(); 887 dst.version = version == null ? null : version.copy(); 888 dst.contact = contact == null ? null : contact.copy(); 889 dst.endpoint = endpoint == null ? null : endpoint.copy(); 890 return dst; 891 } 892 893 @Override 894 public boolean equalsDeep(Base other_) { 895 if (!super.equalsDeep(other_)) 896 return false; 897 if (!(other_ instanceof MessageSourceComponent)) 898 return false; 899 MessageSourceComponent o = (MessageSourceComponent) other_; 900 return compareDeep(name, o.name, true) && compareDeep(software, o.software, true) && compareDeep(version, o.version, true) 901 && compareDeep(contact, o.contact, true) && compareDeep(endpoint, o.endpoint, true); 902 } 903 904 @Override 905 public boolean equalsShallow(Base other_) { 906 if (!super.equalsShallow(other_)) 907 return false; 908 if (!(other_ instanceof MessageSourceComponent)) 909 return false; 910 MessageSourceComponent o = (MessageSourceComponent) other_; 911 return compareValues(name, o.name, true) && compareValues(software, o.software, true) && compareValues(version, o.version, true) 912 && compareValues(endpoint, o.endpoint, true); 913 } 914 915 public boolean isEmpty() { 916 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, software, version 917 , contact, endpoint); 918 } 919 920 public String fhirType() { 921 return "MessageHeader.source"; 922 923 } 924 925 } 926 927 @Block() 928 public static class MessageHeaderResponseComponent extends BackboneElement implements IBaseBackboneElement { 929 /** 930 * The MessageHeader.id of the message to which this message is a response. 931 */ 932 @Child(name = "identifier", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) 933 @Description(shortDefinition="Id of original message", formalDefinition="The MessageHeader.id of the message to which this message is a response." ) 934 protected IdType identifier; 935 936 /** 937 * Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not. 938 */ 939 @Child(name = "code", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) 940 @Description(shortDefinition="ok | transient-error | fatal-error", formalDefinition="Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not." ) 941 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/response-code") 942 protected Enumeration<ResponseType> code; 943 944 /** 945 * Full details of any issues found in the message. 946 */ 947 @Child(name = "details", type = {OperationOutcome.class}, order=3, min=0, max=1, modifier=false, summary=true) 948 @Description(shortDefinition="Specific list of hints/warnings/errors", formalDefinition="Full details of any issues found in the message." ) 949 protected Reference details; 950 951 /** 952 * The actual object that is the target of the reference (Full details of any issues found in the message.) 953 */ 954 protected OperationOutcome detailsTarget; 955 956 private static final long serialVersionUID = -1008716838L; 957 958 /** 959 * Constructor 960 */ 961 public MessageHeaderResponseComponent() { 962 super(); 963 } 964 965 /** 966 * Constructor 967 */ 968 public MessageHeaderResponseComponent(IdType identifier, Enumeration<ResponseType> code) { 969 super(); 970 this.identifier = identifier; 971 this.code = code; 972 } 973 974 /** 975 * @return {@link #identifier} (The MessageHeader.id of the message to which this message is a response.). This is the underlying object with id, value and extensions. The accessor "getIdentifier" gives direct access to the value 976 */ 977 public IdType getIdentifierElement() { 978 if (this.identifier == null) 979 if (Configuration.errorOnAutoCreate()) 980 throw new Error("Attempt to auto-create MessageHeaderResponseComponent.identifier"); 981 else if (Configuration.doAutoCreate()) 982 this.identifier = new IdType(); // bb 983 return this.identifier; 984 } 985 986 public boolean hasIdentifierElement() { 987 return this.identifier != null && !this.identifier.isEmpty(); 988 } 989 990 public boolean hasIdentifier() { 991 return this.identifier != null && !this.identifier.isEmpty(); 992 } 993 994 /** 995 * @param value {@link #identifier} (The MessageHeader.id of the message to which this message is a response.). This is the underlying object with id, value and extensions. The accessor "getIdentifier" gives direct access to the value 996 */ 997 public MessageHeaderResponseComponent setIdentifierElement(IdType value) { 998 this.identifier = value; 999 return this; 1000 } 1001 1002 /** 1003 * @return The MessageHeader.id of the message to which this message is a response. 1004 */ 1005 public String getIdentifier() { 1006 return this.identifier == null ? null : this.identifier.getValue(); 1007 } 1008 1009 /** 1010 * @param value The MessageHeader.id of the message to which this message is a response. 1011 */ 1012 public MessageHeaderResponseComponent setIdentifier(String value) { 1013 if (this.identifier == null) 1014 this.identifier = new IdType(); 1015 this.identifier.setValue(value); 1016 return this; 1017 } 1018 1019 /** 1020 * @return {@link #code} (Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1021 */ 1022 public Enumeration<ResponseType> getCodeElement() { 1023 if (this.code == null) 1024 if (Configuration.errorOnAutoCreate()) 1025 throw new Error("Attempt to auto-create MessageHeaderResponseComponent.code"); 1026 else if (Configuration.doAutoCreate()) 1027 this.code = new Enumeration<ResponseType>(new ResponseTypeEnumFactory()); // bb 1028 return this.code; 1029 } 1030 1031 public boolean hasCodeElement() { 1032 return this.code != null && !this.code.isEmpty(); 1033 } 1034 1035 public boolean hasCode() { 1036 return this.code != null && !this.code.isEmpty(); 1037 } 1038 1039 /** 1040 * @param value {@link #code} (Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1041 */ 1042 public MessageHeaderResponseComponent setCodeElement(Enumeration<ResponseType> value) { 1043 this.code = value; 1044 return this; 1045 } 1046 1047 /** 1048 * @return Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not. 1049 */ 1050 public ResponseType getCode() { 1051 return this.code == null ? null : this.code.getValue(); 1052 } 1053 1054 /** 1055 * @param value Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not. 1056 */ 1057 public MessageHeaderResponseComponent setCode(ResponseType value) { 1058 if (this.code == null) 1059 this.code = new Enumeration<ResponseType>(new ResponseTypeEnumFactory()); 1060 this.code.setValue(value); 1061 return this; 1062 } 1063 1064 /** 1065 * @return {@link #details} (Full details of any issues found in the message.) 1066 */ 1067 public Reference getDetails() { 1068 if (this.details == null) 1069 if (Configuration.errorOnAutoCreate()) 1070 throw new Error("Attempt to auto-create MessageHeaderResponseComponent.details"); 1071 else if (Configuration.doAutoCreate()) 1072 this.details = new Reference(); // cc 1073 return this.details; 1074 } 1075 1076 public boolean hasDetails() { 1077 return this.details != null && !this.details.isEmpty(); 1078 } 1079 1080 /** 1081 * @param value {@link #details} (Full details of any issues found in the message.) 1082 */ 1083 public MessageHeaderResponseComponent setDetails(Reference value) { 1084 this.details = value; 1085 return this; 1086 } 1087 1088 /** 1089 * @return {@link #details} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Full details of any issues found in the message.) 1090 */ 1091 public OperationOutcome getDetailsTarget() { 1092 if (this.detailsTarget == null) 1093 if (Configuration.errorOnAutoCreate()) 1094 throw new Error("Attempt to auto-create MessageHeaderResponseComponent.details"); 1095 else if (Configuration.doAutoCreate()) 1096 this.detailsTarget = new OperationOutcome(); // aa 1097 return this.detailsTarget; 1098 } 1099 1100 /** 1101 * @param value {@link #details} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Full details of any issues found in the message.) 1102 */ 1103 public MessageHeaderResponseComponent setDetailsTarget(OperationOutcome value) { 1104 this.detailsTarget = value; 1105 return this; 1106 } 1107 1108 protected void listChildren(List<Property> children) { 1109 super.listChildren(children); 1110 children.add(new Property("identifier", "id", "The MessageHeader.id of the message to which this message is a response.", 0, 1, identifier)); 1111 children.add(new Property("code", "code", "Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.", 0, 1, code)); 1112 children.add(new Property("details", "Reference(OperationOutcome)", "Full details of any issues found in the message.", 0, 1, details)); 1113 } 1114 1115 @Override 1116 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1117 switch (_hash) { 1118 case -1618432855: /*identifier*/ return new Property("identifier", "id", "The MessageHeader.id of the message to which this message is a response.", 0, 1, identifier); 1119 case 3059181: /*code*/ return new Property("code", "code", "Code that identifies the type of response to the message - whether it was successful or not, and whether it should be resent or not.", 0, 1, code); 1120 case 1557721666: /*details*/ return new Property("details", "Reference(OperationOutcome)", "Full details of any issues found in the message.", 0, 1, details); 1121 default: return super.getNamedProperty(_hash, _name, _checkValid); 1122 } 1123 1124 } 1125 1126 @Override 1127 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1128 switch (hash) { 1129 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // IdType 1130 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration<ResponseType> 1131 case 1557721666: /*details*/ return this.details == null ? new Base[0] : new Base[] {this.details}; // Reference 1132 default: return super.getProperty(hash, name, checkValid); 1133 } 1134 1135 } 1136 1137 @Override 1138 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1139 switch (hash) { 1140 case -1618432855: // identifier 1141 this.identifier = castToId(value); // IdType 1142 return value; 1143 case 3059181: // code 1144 value = new ResponseTypeEnumFactory().fromType(castToCode(value)); 1145 this.code = (Enumeration) value; // Enumeration<ResponseType> 1146 return value; 1147 case 1557721666: // details 1148 this.details = castToReference(value); // Reference 1149 return value; 1150 default: return super.setProperty(hash, name, value); 1151 } 1152 1153 } 1154 1155 @Override 1156 public Base setProperty(String name, Base value) throws FHIRException { 1157 if (name.equals("identifier")) { 1158 this.identifier = castToId(value); // IdType 1159 } else if (name.equals("code")) { 1160 value = new ResponseTypeEnumFactory().fromType(castToCode(value)); 1161 this.code = (Enumeration) value; // Enumeration<ResponseType> 1162 } else if (name.equals("details")) { 1163 this.details = castToReference(value); // Reference 1164 } else 1165 return super.setProperty(name, value); 1166 return value; 1167 } 1168 1169 @Override 1170 public Base makeProperty(int hash, String name) throws FHIRException { 1171 switch (hash) { 1172 case -1618432855: return getIdentifierElement(); 1173 case 3059181: return getCodeElement(); 1174 case 1557721666: return getDetails(); 1175 default: return super.makeProperty(hash, name); 1176 } 1177 1178 } 1179 1180 @Override 1181 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1182 switch (hash) { 1183 case -1618432855: /*identifier*/ return new String[] {"id"}; 1184 case 3059181: /*code*/ return new String[] {"code"}; 1185 case 1557721666: /*details*/ return new String[] {"Reference"}; 1186 default: return super.getTypesForProperty(hash, name); 1187 } 1188 1189 } 1190 1191 @Override 1192 public Base addChild(String name) throws FHIRException { 1193 if (name.equals("identifier")) { 1194 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.identifier"); 1195 } 1196 else if (name.equals("code")) { 1197 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.code"); 1198 } 1199 else if (name.equals("details")) { 1200 this.details = new Reference(); 1201 return this.details; 1202 } 1203 else 1204 return super.addChild(name); 1205 } 1206 1207 public MessageHeaderResponseComponent copy() { 1208 MessageHeaderResponseComponent dst = new MessageHeaderResponseComponent(); 1209 copyValues(dst); 1210 dst.identifier = identifier == null ? null : identifier.copy(); 1211 dst.code = code == null ? null : code.copy(); 1212 dst.details = details == null ? null : details.copy(); 1213 return dst; 1214 } 1215 1216 @Override 1217 public boolean equalsDeep(Base other_) { 1218 if (!super.equalsDeep(other_)) 1219 return false; 1220 if (!(other_ instanceof MessageHeaderResponseComponent)) 1221 return false; 1222 MessageHeaderResponseComponent o = (MessageHeaderResponseComponent) other_; 1223 return compareDeep(identifier, o.identifier, true) && compareDeep(code, o.code, true) && compareDeep(details, o.details, true) 1224 ; 1225 } 1226 1227 @Override 1228 public boolean equalsShallow(Base other_) { 1229 if (!super.equalsShallow(other_)) 1230 return false; 1231 if (!(other_ instanceof MessageHeaderResponseComponent)) 1232 return false; 1233 MessageHeaderResponseComponent o = (MessageHeaderResponseComponent) other_; 1234 return compareValues(identifier, o.identifier, true) && compareValues(code, o.code, true); 1235 } 1236 1237 public boolean isEmpty() { 1238 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, code, details 1239 ); 1240 } 1241 1242 public String fhirType() { 1243 return "MessageHeader.response"; 1244 1245 } 1246 1247 } 1248 1249 /** 1250 * Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events". 1251 */ 1252 @Child(name = "event", type = {Coding.class}, order=0, min=1, max=1, modifier=false, summary=true) 1253 @Description(shortDefinition="Code for the event this message represents", formalDefinition="Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://hl7.org/fhir/message-events\"." ) 1254 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/message-events") 1255 protected Coding event; 1256 1257 /** 1258 * The destination application which the message is intended for. 1259 */ 1260 @Child(name = "destination", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1261 @Description(shortDefinition="Message destination application(s)", formalDefinition="The destination application which the message is intended for." ) 1262 protected List<MessageDestinationComponent> destination; 1263 1264 /** 1265 * Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient. 1266 */ 1267 @Child(name = "receiver", type = {Practitioner.class, Organization.class}, order=2, min=0, max=1, modifier=false, summary=true) 1268 @Description(shortDefinition="Intended \"real-world\" recipient for the data", formalDefinition="Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient." ) 1269 protected Reference receiver; 1270 1271 /** 1272 * The actual object that is the target of the reference (Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.) 1273 */ 1274 protected Resource receiverTarget; 1275 1276 /** 1277 * Identifies the sending system to allow the use of a trust relationship. 1278 */ 1279 @Child(name = "sender", type = {Practitioner.class, Organization.class}, order=3, min=0, max=1, modifier=false, summary=true) 1280 @Description(shortDefinition="Real world sender of the message", formalDefinition="Identifies the sending system to allow the use of a trust relationship." ) 1281 protected Reference sender; 1282 1283 /** 1284 * The actual object that is the target of the reference (Identifies the sending system to allow the use of a trust relationship.) 1285 */ 1286 protected Resource senderTarget; 1287 1288 /** 1289 * The time that the message was sent. 1290 */ 1291 @Child(name = "timestamp", type = {InstantType.class}, order=4, min=1, max=1, modifier=false, summary=true) 1292 @Description(shortDefinition="Time that the message was sent", formalDefinition="The time that the message was sent." ) 1293 protected InstantType timestamp; 1294 1295 /** 1296 * The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions. 1297 */ 1298 @Child(name = "enterer", type = {Practitioner.class}, order=5, min=0, max=1, modifier=false, summary=true) 1299 @Description(shortDefinition="The source of the data entry", formalDefinition="The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions." ) 1300 protected Reference enterer; 1301 1302 /** 1303 * The actual object that is the target of the reference (The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.) 1304 */ 1305 protected Practitioner entererTarget; 1306 1307 /** 1308 * The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions. 1309 */ 1310 @Child(name = "author", type = {Practitioner.class}, order=6, min=0, max=1, modifier=false, summary=true) 1311 @Description(shortDefinition="The source of the decision", formalDefinition="The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions." ) 1312 protected Reference author; 1313 1314 /** 1315 * The actual object that is the target of the reference (The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.) 1316 */ 1317 protected Practitioner authorTarget; 1318 1319 /** 1320 * The source application from which this message originated. 1321 */ 1322 @Child(name = "source", type = {}, order=7, min=1, max=1, modifier=false, summary=true) 1323 @Description(shortDefinition="Message source application", formalDefinition="The source application from which this message originated." ) 1324 protected MessageSourceComponent source; 1325 1326 /** 1327 * The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party. 1328 */ 1329 @Child(name = "responsible", type = {Practitioner.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=true) 1330 @Description(shortDefinition="Final responsibility for event", formalDefinition="The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party." ) 1331 protected Reference responsible; 1332 1333 /** 1334 * The actual object that is the target of the reference (The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.) 1335 */ 1336 protected Resource responsibleTarget; 1337 1338 /** 1339 * Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message. 1340 */ 1341 @Child(name = "reason", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) 1342 @Description(shortDefinition="Cause of event", formalDefinition="Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message." ) 1343 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/message-reason-encounter") 1344 protected CodeableConcept reason; 1345 1346 /** 1347 * Information about the message that this message is a response to. Only present if this message is a response. 1348 */ 1349 @Child(name = "response", type = {}, order=10, min=0, max=1, modifier=false, summary=true) 1350 @Description(shortDefinition="If this is a reply to prior message", formalDefinition="Information about the message that this message is a response to. Only present if this message is a response." ) 1351 protected MessageHeaderResponseComponent response; 1352 1353 /** 1354 * The actual data of the message - a reference to the root/focus class of the event. 1355 */ 1356 @Child(name = "focus", type = {Reference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1357 @Description(shortDefinition="The actual content of the message", formalDefinition="The actual data of the message - a reference to the root/focus class of the event." ) 1358 protected List<Reference> focus; 1359 /** 1360 * The actual objects that are the target of the reference (The actual data of the message - a reference to the root/focus class of the event.) 1361 */ 1362 protected List<Resource> focusTarget; 1363 1364 1365 private static final long serialVersionUID = 1142547869L; 1366 1367 /** 1368 * Constructor 1369 */ 1370 public MessageHeader() { 1371 super(); 1372 } 1373 1374 /** 1375 * Constructor 1376 */ 1377 public MessageHeader(Coding event, InstantType timestamp, MessageSourceComponent source) { 1378 super(); 1379 this.event = event; 1380 this.timestamp = timestamp; 1381 this.source = source; 1382 } 1383 1384 /** 1385 * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events".) 1386 */ 1387 public Coding getEvent() { 1388 if (this.event == null) 1389 if (Configuration.errorOnAutoCreate()) 1390 throw new Error("Attempt to auto-create MessageHeader.event"); 1391 else if (Configuration.doAutoCreate()) 1392 this.event = new Coding(); // cc 1393 return this.event; 1394 } 1395 1396 public boolean hasEvent() { 1397 return this.event != null && !this.event.isEmpty(); 1398 } 1399 1400 /** 1401 * @param value {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://hl7.org/fhir/message-events".) 1402 */ 1403 public MessageHeader setEvent(Coding value) { 1404 this.event = value; 1405 return this; 1406 } 1407 1408 /** 1409 * @return {@link #destination} (The destination application which the message is intended for.) 1410 */ 1411 public List<MessageDestinationComponent> getDestination() { 1412 if (this.destination == null) 1413 this.destination = new ArrayList<MessageDestinationComponent>(); 1414 return this.destination; 1415 } 1416 1417 /** 1418 * @return Returns a reference to <code>this</code> for easy method chaining 1419 */ 1420 public MessageHeader setDestination(List<MessageDestinationComponent> theDestination) { 1421 this.destination = theDestination; 1422 return this; 1423 } 1424 1425 public boolean hasDestination() { 1426 if (this.destination == null) 1427 return false; 1428 for (MessageDestinationComponent item : this.destination) 1429 if (!item.isEmpty()) 1430 return true; 1431 return false; 1432 } 1433 1434 public MessageDestinationComponent addDestination() { //3 1435 MessageDestinationComponent t = new MessageDestinationComponent(); 1436 if (this.destination == null) 1437 this.destination = new ArrayList<MessageDestinationComponent>(); 1438 this.destination.add(t); 1439 return t; 1440 } 1441 1442 public MessageHeader addDestination(MessageDestinationComponent t) { //3 1443 if (t == null) 1444 return this; 1445 if (this.destination == null) 1446 this.destination = new ArrayList<MessageDestinationComponent>(); 1447 this.destination.add(t); 1448 return this; 1449 } 1450 1451 /** 1452 * @return The first repetition of repeating field {@link #destination}, creating it if it does not already exist 1453 */ 1454 public MessageDestinationComponent getDestinationFirstRep() { 1455 if (getDestination().isEmpty()) { 1456 addDestination(); 1457 } 1458 return getDestination().get(0); 1459 } 1460 1461 /** 1462 * @return {@link #receiver} (Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.) 1463 */ 1464 public Reference getReceiver() { 1465 if (this.receiver == null) 1466 if (Configuration.errorOnAutoCreate()) 1467 throw new Error("Attempt to auto-create MessageHeader.receiver"); 1468 else if (Configuration.doAutoCreate()) 1469 this.receiver = new Reference(); // cc 1470 return this.receiver; 1471 } 1472 1473 public boolean hasReceiver() { 1474 return this.receiver != null && !this.receiver.isEmpty(); 1475 } 1476 1477 /** 1478 * @param value {@link #receiver} (Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.) 1479 */ 1480 public MessageHeader setReceiver(Reference value) { 1481 this.receiver = value; 1482 return this; 1483 } 1484 1485 /** 1486 * @return {@link #receiver} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.) 1487 */ 1488 public Resource getReceiverTarget() { 1489 return this.receiverTarget; 1490 } 1491 1492 /** 1493 * @param value {@link #receiver} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.) 1494 */ 1495 public MessageHeader setReceiverTarget(Resource value) { 1496 this.receiverTarget = value; 1497 return this; 1498 } 1499 1500 /** 1501 * @return {@link #sender} (Identifies the sending system to allow the use of a trust relationship.) 1502 */ 1503 public Reference getSender() { 1504 if (this.sender == null) 1505 if (Configuration.errorOnAutoCreate()) 1506 throw new Error("Attempt to auto-create MessageHeader.sender"); 1507 else if (Configuration.doAutoCreate()) 1508 this.sender = new Reference(); // cc 1509 return this.sender; 1510 } 1511 1512 public boolean hasSender() { 1513 return this.sender != null && !this.sender.isEmpty(); 1514 } 1515 1516 /** 1517 * @param value {@link #sender} (Identifies the sending system to allow the use of a trust relationship.) 1518 */ 1519 public MessageHeader setSender(Reference value) { 1520 this.sender = value; 1521 return this; 1522 } 1523 1524 /** 1525 * @return {@link #sender} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (Identifies the sending system to allow the use of a trust relationship.) 1526 */ 1527 public Resource getSenderTarget() { 1528 return this.senderTarget; 1529 } 1530 1531 /** 1532 * @param value {@link #sender} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (Identifies the sending system to allow the use of a trust relationship.) 1533 */ 1534 public MessageHeader setSenderTarget(Resource value) { 1535 this.senderTarget = value; 1536 return this; 1537 } 1538 1539 /** 1540 * @return {@link #timestamp} (The time that the message was sent.). This is the underlying object with id, value and extensions. The accessor "getTimestamp" gives direct access to the value 1541 */ 1542 public InstantType getTimestampElement() { 1543 if (this.timestamp == null) 1544 if (Configuration.errorOnAutoCreate()) 1545 throw new Error("Attempt to auto-create MessageHeader.timestamp"); 1546 else if (Configuration.doAutoCreate()) 1547 this.timestamp = new InstantType(); // bb 1548 return this.timestamp; 1549 } 1550 1551 public boolean hasTimestampElement() { 1552 return this.timestamp != null && !this.timestamp.isEmpty(); 1553 } 1554 1555 public boolean hasTimestamp() { 1556 return this.timestamp != null && !this.timestamp.isEmpty(); 1557 } 1558 1559 /** 1560 * @param value {@link #timestamp} (The time that the message was sent.). This is the underlying object with id, value and extensions. The accessor "getTimestamp" gives direct access to the value 1561 */ 1562 public MessageHeader setTimestampElement(InstantType value) { 1563 this.timestamp = value; 1564 return this; 1565 } 1566 1567 /** 1568 * @return The time that the message was sent. 1569 */ 1570 public Date getTimestamp() { 1571 return this.timestamp == null ? null : this.timestamp.getValue(); 1572 } 1573 1574 /** 1575 * @param value The time that the message was sent. 1576 */ 1577 public MessageHeader setTimestamp(Date value) { 1578 if (this.timestamp == null) 1579 this.timestamp = new InstantType(); 1580 this.timestamp.setValue(value); 1581 return this; 1582 } 1583 1584 /** 1585 * @return {@link #enterer} (The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.) 1586 */ 1587 public Reference getEnterer() { 1588 if (this.enterer == null) 1589 if (Configuration.errorOnAutoCreate()) 1590 throw new Error("Attempt to auto-create MessageHeader.enterer"); 1591 else if (Configuration.doAutoCreate()) 1592 this.enterer = new Reference(); // cc 1593 return this.enterer; 1594 } 1595 1596 public boolean hasEnterer() { 1597 return this.enterer != null && !this.enterer.isEmpty(); 1598 } 1599 1600 /** 1601 * @param value {@link #enterer} (The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.) 1602 */ 1603 public MessageHeader setEnterer(Reference value) { 1604 this.enterer = value; 1605 return this; 1606 } 1607 1608 /** 1609 * @return {@link #enterer} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.) 1610 */ 1611 public Practitioner getEntererTarget() { 1612 if (this.entererTarget == null) 1613 if (Configuration.errorOnAutoCreate()) 1614 throw new Error("Attempt to auto-create MessageHeader.enterer"); 1615 else if (Configuration.doAutoCreate()) 1616 this.entererTarget = new Practitioner(); // aa 1617 return this.entererTarget; 1618 } 1619 1620 /** 1621 * @param value {@link #enterer} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.) 1622 */ 1623 public MessageHeader setEntererTarget(Practitioner value) { 1624 this.entererTarget = value; 1625 return this; 1626 } 1627 1628 /** 1629 * @return {@link #author} (The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.) 1630 */ 1631 public Reference getAuthor() { 1632 if (this.author == null) 1633 if (Configuration.errorOnAutoCreate()) 1634 throw new Error("Attempt to auto-create MessageHeader.author"); 1635 else if (Configuration.doAutoCreate()) 1636 this.author = new Reference(); // cc 1637 return this.author; 1638 } 1639 1640 public boolean hasAuthor() { 1641 return this.author != null && !this.author.isEmpty(); 1642 } 1643 1644 /** 1645 * @param value {@link #author} (The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.) 1646 */ 1647 public MessageHeader setAuthor(Reference value) { 1648 this.author = value; 1649 return this; 1650 } 1651 1652 /** 1653 * @return {@link #author} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.) 1654 */ 1655 public Practitioner getAuthorTarget() { 1656 if (this.authorTarget == null) 1657 if (Configuration.errorOnAutoCreate()) 1658 throw new Error("Attempt to auto-create MessageHeader.author"); 1659 else if (Configuration.doAutoCreate()) 1660 this.authorTarget = new Practitioner(); // aa 1661 return this.authorTarget; 1662 } 1663 1664 /** 1665 * @param value {@link #author} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.) 1666 */ 1667 public MessageHeader setAuthorTarget(Practitioner value) { 1668 this.authorTarget = value; 1669 return this; 1670 } 1671 1672 /** 1673 * @return {@link #source} (The source application from which this message originated.) 1674 */ 1675 public MessageSourceComponent getSource() { 1676 if (this.source == null) 1677 if (Configuration.errorOnAutoCreate()) 1678 throw new Error("Attempt to auto-create MessageHeader.source"); 1679 else if (Configuration.doAutoCreate()) 1680 this.source = new MessageSourceComponent(); // cc 1681 return this.source; 1682 } 1683 1684 public boolean hasSource() { 1685 return this.source != null && !this.source.isEmpty(); 1686 } 1687 1688 /** 1689 * @param value {@link #source} (The source application from which this message originated.) 1690 */ 1691 public MessageHeader setSource(MessageSourceComponent value) { 1692 this.source = value; 1693 return this; 1694 } 1695 1696 /** 1697 * @return {@link #responsible} (The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.) 1698 */ 1699 public Reference getResponsible() { 1700 if (this.responsible == null) 1701 if (Configuration.errorOnAutoCreate()) 1702 throw new Error("Attempt to auto-create MessageHeader.responsible"); 1703 else if (Configuration.doAutoCreate()) 1704 this.responsible = new Reference(); // cc 1705 return this.responsible; 1706 } 1707 1708 public boolean hasResponsible() { 1709 return this.responsible != null && !this.responsible.isEmpty(); 1710 } 1711 1712 /** 1713 * @param value {@link #responsible} (The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.) 1714 */ 1715 public MessageHeader setResponsible(Reference value) { 1716 this.responsible = value; 1717 return this; 1718 } 1719 1720 /** 1721 * @return {@link #responsible} The actual object that is the target of the reference. The reference library doesn't populate this, but you can use it to hold the resource if you resolve it. (The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.) 1722 */ 1723 public Resource getResponsibleTarget() { 1724 return this.responsibleTarget; 1725 } 1726 1727 /** 1728 * @param value {@link #responsible} The actual object that is the target of the reference. The reference library doesn't use these, but you can use it to hold the resource if you resolve it. (The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.) 1729 */ 1730 public MessageHeader setResponsibleTarget(Resource value) { 1731 this.responsibleTarget = value; 1732 return this; 1733 } 1734 1735 /** 1736 * @return {@link #reason} (Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.) 1737 */ 1738 public CodeableConcept getReason() { 1739 if (this.reason == null) 1740 if (Configuration.errorOnAutoCreate()) 1741 throw new Error("Attempt to auto-create MessageHeader.reason"); 1742 else if (Configuration.doAutoCreate()) 1743 this.reason = new CodeableConcept(); // cc 1744 return this.reason; 1745 } 1746 1747 public boolean hasReason() { 1748 return this.reason != null && !this.reason.isEmpty(); 1749 } 1750 1751 /** 1752 * @param value {@link #reason} (Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.) 1753 */ 1754 public MessageHeader setReason(CodeableConcept value) { 1755 this.reason = value; 1756 return this; 1757 } 1758 1759 /** 1760 * @return {@link #response} (Information about the message that this message is a response to. Only present if this message is a response.) 1761 */ 1762 public MessageHeaderResponseComponent getResponse() { 1763 if (this.response == null) 1764 if (Configuration.errorOnAutoCreate()) 1765 throw new Error("Attempt to auto-create MessageHeader.response"); 1766 else if (Configuration.doAutoCreate()) 1767 this.response = new MessageHeaderResponseComponent(); // cc 1768 return this.response; 1769 } 1770 1771 public boolean hasResponse() { 1772 return this.response != null && !this.response.isEmpty(); 1773 } 1774 1775 /** 1776 * @param value {@link #response} (Information about the message that this message is a response to. Only present if this message is a response.) 1777 */ 1778 public MessageHeader setResponse(MessageHeaderResponseComponent value) { 1779 this.response = value; 1780 return this; 1781 } 1782 1783 /** 1784 * @return {@link #focus} (The actual data of the message - a reference to the root/focus class of the event.) 1785 */ 1786 public List<Reference> getFocus() { 1787 if (this.focus == null) 1788 this.focus = new ArrayList<Reference>(); 1789 return this.focus; 1790 } 1791 1792 /** 1793 * @return Returns a reference to <code>this</code> for easy method chaining 1794 */ 1795 public MessageHeader setFocus(List<Reference> theFocus) { 1796 this.focus = theFocus; 1797 return this; 1798 } 1799 1800 public boolean hasFocus() { 1801 if (this.focus == null) 1802 return false; 1803 for (Reference item : this.focus) 1804 if (!item.isEmpty()) 1805 return true; 1806 return false; 1807 } 1808 1809 public Reference addFocus() { //3 1810 Reference t = new Reference(); 1811 if (this.focus == null) 1812 this.focus = new ArrayList<Reference>(); 1813 this.focus.add(t); 1814 return t; 1815 } 1816 1817 public MessageHeader addFocus(Reference t) { //3 1818 if (t == null) 1819 return this; 1820 if (this.focus == null) 1821 this.focus = new ArrayList<Reference>(); 1822 this.focus.add(t); 1823 return this; 1824 } 1825 1826 /** 1827 * @return The first repetition of repeating field {@link #focus}, creating it if it does not already exist 1828 */ 1829 public Reference getFocusFirstRep() { 1830 if (getFocus().isEmpty()) { 1831 addFocus(); 1832 } 1833 return getFocus().get(0); 1834 } 1835 1836 /** 1837 * @deprecated Use Reference#setResource(IBaseResource) instead 1838 */ 1839 @Deprecated 1840 public List<Resource> getFocusTarget() { 1841 if (this.focusTarget == null) 1842 this.focusTarget = new ArrayList<Resource>(); 1843 return this.focusTarget; 1844 } 1845 1846 protected void listChildren(List<Property> children) { 1847 super.listChildren(children); 1848 children.add(new Property("event", "Coding", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://hl7.org/fhir/message-events\".", 0, 1, event)); 1849 children.add(new Property("destination", "", "The destination application which the message is intended for.", 0, java.lang.Integer.MAX_VALUE, destination)); 1850 children.add(new Property("receiver", "Reference(Practitioner|Organization)", "Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.", 0, 1, receiver)); 1851 children.add(new Property("sender", "Reference(Practitioner|Organization)", "Identifies the sending system to allow the use of a trust relationship.", 0, 1, sender)); 1852 children.add(new Property("timestamp", "instant", "The time that the message was sent.", 0, 1, timestamp)); 1853 children.add(new Property("enterer", "Reference(Practitioner)", "The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.", 0, 1, enterer)); 1854 children.add(new Property("author", "Reference(Practitioner)", "The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.", 0, 1, author)); 1855 children.add(new Property("source", "", "The source application from which this message originated.", 0, 1, source)); 1856 children.add(new Property("responsible", "Reference(Practitioner|Organization)", "The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.", 0, 1, responsible)); 1857 children.add(new Property("reason", "CodeableConcept", "Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.", 0, 1, reason)); 1858 children.add(new Property("response", "", "Information about the message that this message is a response to. Only present if this message is a response.", 0, 1, response)); 1859 children.add(new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event.", 0, java.lang.Integer.MAX_VALUE, focus)); 1860 } 1861 1862 @Override 1863 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1864 switch (_hash) { 1865 case 96891546: /*event*/ return new Property("event", "Coding", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://hl7.org/fhir/message-events\".", 0, 1, event); 1866 case -1429847026: /*destination*/ return new Property("destination", "", "The destination application which the message is intended for.", 0, java.lang.Integer.MAX_VALUE, destination); 1867 case -808719889: /*receiver*/ return new Property("receiver", "Reference(Practitioner|Organization)", "Allows data conveyed by a message to be addressed to a particular person or department when routing to a specific application isn't sufficient.", 0, 1, receiver); 1868 case -905962955: /*sender*/ return new Property("sender", "Reference(Practitioner|Organization)", "Identifies the sending system to allow the use of a trust relationship.", 0, 1, sender); 1869 case 55126294: /*timestamp*/ return new Property("timestamp", "instant", "The time that the message was sent.", 0, 1, timestamp); 1870 case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner)", "The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.", 0, 1, enterer); 1871 case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner)", "The logical author of the message - the person or device that decided the described event should happen. When there is more than one candidate, pick the most proximal to the MessageHeader. Can provide other authors in extensions.", 0, 1, author); 1872 case -896505829: /*source*/ return new Property("source", "", "The source application from which this message originated.", 0, 1, source); 1873 case 1847674614: /*responsible*/ return new Property("responsible", "Reference(Practitioner|Organization)", "The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.", 0, 1, responsible); 1874 case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.", 0, 1, reason); 1875 case -340323263: /*response*/ return new Property("response", "", "Information about the message that this message is a response to. Only present if this message is a response.", 0, 1, response); 1876 case 97604824: /*focus*/ return new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event.", 0, java.lang.Integer.MAX_VALUE, focus); 1877 default: return super.getNamedProperty(_hash, _name, _checkValid); 1878 } 1879 1880 } 1881 1882 @Override 1883 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1884 switch (hash) { 1885 case 96891546: /*event*/ return this.event == null ? new Base[0] : new Base[] {this.event}; // Coding 1886 case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : this.destination.toArray(new Base[this.destination.size()]); // MessageDestinationComponent 1887 case -808719889: /*receiver*/ return this.receiver == null ? new Base[0] : new Base[] {this.receiver}; // Reference 1888 case -905962955: /*sender*/ return this.sender == null ? new Base[0] : new Base[] {this.sender}; // Reference 1889 case 55126294: /*timestamp*/ return this.timestamp == null ? new Base[0] : new Base[] {this.timestamp}; // InstantType 1890 case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference 1891 case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference 1892 case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // MessageSourceComponent 1893 case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // Reference 1894 case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // CodeableConcept 1895 case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // MessageHeaderResponseComponent 1896 case 97604824: /*focus*/ return this.focus == null ? new Base[0] : this.focus.toArray(new Base[this.focus.size()]); // Reference 1897 default: return super.getProperty(hash, name, checkValid); 1898 } 1899 1900 } 1901 1902 @Override 1903 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1904 switch (hash) { 1905 case 96891546: // event 1906 this.event = castToCoding(value); // Coding 1907 return value; 1908 case -1429847026: // destination 1909 this.getDestination().add((MessageDestinationComponent) value); // MessageDestinationComponent 1910 return value; 1911 case -808719889: // receiver 1912 this.receiver = castToReference(value); // Reference 1913 return value; 1914 case -905962955: // sender 1915 this.sender = castToReference(value); // Reference 1916 return value; 1917 case 55126294: // timestamp 1918 this.timestamp = castToInstant(value); // InstantType 1919 return value; 1920 case -1591951995: // enterer 1921 this.enterer = castToReference(value); // Reference 1922 return value; 1923 case -1406328437: // author 1924 this.author = castToReference(value); // Reference 1925 return value; 1926 case -896505829: // source 1927 this.source = (MessageSourceComponent) value; // MessageSourceComponent 1928 return value; 1929 case 1847674614: // responsible 1930 this.responsible = castToReference(value); // Reference 1931 return value; 1932 case -934964668: // reason 1933 this.reason = castToCodeableConcept(value); // CodeableConcept 1934 return value; 1935 case -340323263: // response 1936 this.response = (MessageHeaderResponseComponent) value; // MessageHeaderResponseComponent 1937 return value; 1938 case 97604824: // focus 1939 this.getFocus().add(castToReference(value)); // Reference 1940 return value; 1941 default: return super.setProperty(hash, name, value); 1942 } 1943 1944 } 1945 1946 @Override 1947 public Base setProperty(String name, Base value) throws FHIRException { 1948 if (name.equals("event")) { 1949 this.event = castToCoding(value); // Coding 1950 } else if (name.equals("destination")) { 1951 this.getDestination().add((MessageDestinationComponent) value); 1952 } else if (name.equals("receiver")) { 1953 this.receiver = castToReference(value); // Reference 1954 } else if (name.equals("sender")) { 1955 this.sender = castToReference(value); // Reference 1956 } else if (name.equals("timestamp")) { 1957 this.timestamp = castToInstant(value); // InstantType 1958 } else if (name.equals("enterer")) { 1959 this.enterer = castToReference(value); // Reference 1960 } else if (name.equals("author")) { 1961 this.author = castToReference(value); // Reference 1962 } else if (name.equals("source")) { 1963 this.source = (MessageSourceComponent) value; // MessageSourceComponent 1964 } else if (name.equals("responsible")) { 1965 this.responsible = castToReference(value); // Reference 1966 } else if (name.equals("reason")) { 1967 this.reason = castToCodeableConcept(value); // CodeableConcept 1968 } else if (name.equals("response")) { 1969 this.response = (MessageHeaderResponseComponent) value; // MessageHeaderResponseComponent 1970 } else if (name.equals("focus")) { 1971 this.getFocus().add(castToReference(value)); 1972 } else 1973 return super.setProperty(name, value); 1974 return value; 1975 } 1976 1977 @Override 1978 public Base makeProperty(int hash, String name) throws FHIRException { 1979 switch (hash) { 1980 case 96891546: return getEvent(); 1981 case -1429847026: return addDestination(); 1982 case -808719889: return getReceiver(); 1983 case -905962955: return getSender(); 1984 case 55126294: return getTimestampElement(); 1985 case -1591951995: return getEnterer(); 1986 case -1406328437: return getAuthor(); 1987 case -896505829: return getSource(); 1988 case 1847674614: return getResponsible(); 1989 case -934964668: return getReason(); 1990 case -340323263: return getResponse(); 1991 case 97604824: return addFocus(); 1992 default: return super.makeProperty(hash, name); 1993 } 1994 1995 } 1996 1997 @Override 1998 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1999 switch (hash) { 2000 case 96891546: /*event*/ return new String[] {"Coding"}; 2001 case -1429847026: /*destination*/ return new String[] {}; 2002 case -808719889: /*receiver*/ return new String[] {"Reference"}; 2003 case -905962955: /*sender*/ return new String[] {"Reference"}; 2004 case 55126294: /*timestamp*/ return new String[] {"instant"}; 2005 case -1591951995: /*enterer*/ return new String[] {"Reference"}; 2006 case -1406328437: /*author*/ return new String[] {"Reference"}; 2007 case -896505829: /*source*/ return new String[] {}; 2008 case 1847674614: /*responsible*/ return new String[] {"Reference"}; 2009 case -934964668: /*reason*/ return new String[] {"CodeableConcept"}; 2010 case -340323263: /*response*/ return new String[] {}; 2011 case 97604824: /*focus*/ return new String[] {"Reference"}; 2012 default: return super.getTypesForProperty(hash, name); 2013 } 2014 2015 } 2016 2017 @Override 2018 public Base addChild(String name) throws FHIRException { 2019 if (name.equals("event")) { 2020 this.event = new Coding(); 2021 return this.event; 2022 } 2023 else if (name.equals("destination")) { 2024 return addDestination(); 2025 } 2026 else if (name.equals("receiver")) { 2027 this.receiver = new Reference(); 2028 return this.receiver; 2029 } 2030 else if (name.equals("sender")) { 2031 this.sender = new Reference(); 2032 return this.sender; 2033 } 2034 else if (name.equals("timestamp")) { 2035 throw new FHIRException("Cannot call addChild on a singleton property MessageHeader.timestamp"); 2036 } 2037 else if (name.equals("enterer")) { 2038 this.enterer = new Reference(); 2039 return this.enterer; 2040 } 2041 else if (name.equals("author")) { 2042 this.author = new Reference(); 2043 return this.author; 2044 } 2045 else if (name.equals("source")) { 2046 this.source = new MessageSourceComponent(); 2047 return this.source; 2048 } 2049 else if (name.equals("responsible")) { 2050 this.responsible = new Reference(); 2051 return this.responsible; 2052 } 2053 else if (name.equals("reason")) { 2054 this.reason = new CodeableConcept(); 2055 return this.reason; 2056 } 2057 else if (name.equals("response")) { 2058 this.response = new MessageHeaderResponseComponent(); 2059 return this.response; 2060 } 2061 else if (name.equals("focus")) { 2062 return addFocus(); 2063 } 2064 else 2065 return super.addChild(name); 2066 } 2067 2068 public String fhirType() { 2069 return "MessageHeader"; 2070 2071 } 2072 2073 public MessageHeader copy() { 2074 MessageHeader dst = new MessageHeader(); 2075 copyValues(dst); 2076 dst.event = event == null ? null : event.copy(); 2077 if (destination != null) { 2078 dst.destination = new ArrayList<MessageDestinationComponent>(); 2079 for (MessageDestinationComponent i : destination) 2080 dst.destination.add(i.copy()); 2081 }; 2082 dst.receiver = receiver == null ? null : receiver.copy(); 2083 dst.sender = sender == null ? null : sender.copy(); 2084 dst.timestamp = timestamp == null ? null : timestamp.copy(); 2085 dst.enterer = enterer == null ? null : enterer.copy(); 2086 dst.author = author == null ? null : author.copy(); 2087 dst.source = source == null ? null : source.copy(); 2088 dst.responsible = responsible == null ? null : responsible.copy(); 2089 dst.reason = reason == null ? null : reason.copy(); 2090 dst.response = response == null ? null : response.copy(); 2091 if (focus != null) { 2092 dst.focus = new ArrayList<Reference>(); 2093 for (Reference i : focus) 2094 dst.focus.add(i.copy()); 2095 }; 2096 return dst; 2097 } 2098 2099 protected MessageHeader typedCopy() { 2100 return copy(); 2101 } 2102 2103 @Override 2104 public boolean equalsDeep(Base other_) { 2105 if (!super.equalsDeep(other_)) 2106 return false; 2107 if (!(other_ instanceof MessageHeader)) 2108 return false; 2109 MessageHeader o = (MessageHeader) other_; 2110 return compareDeep(event, o.event, true) && compareDeep(destination, o.destination, true) && compareDeep(receiver, o.receiver, true) 2111 && compareDeep(sender, o.sender, true) && compareDeep(timestamp, o.timestamp, true) && compareDeep(enterer, o.enterer, true) 2112 && compareDeep(author, o.author, true) && compareDeep(source, o.source, true) && compareDeep(responsible, o.responsible, true) 2113 && compareDeep(reason, o.reason, true) && compareDeep(response, o.response, true) && compareDeep(focus, o.focus, true) 2114 ; 2115 } 2116 2117 @Override 2118 public boolean equalsShallow(Base other_) { 2119 if (!super.equalsShallow(other_)) 2120 return false; 2121 if (!(other_ instanceof MessageHeader)) 2122 return false; 2123 MessageHeader o = (MessageHeader) other_; 2124 return compareValues(timestamp, o.timestamp, true); 2125 } 2126 2127 public boolean isEmpty() { 2128 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(event, destination, receiver 2129 , sender, timestamp, enterer, author, source, responsible, reason, response 2130 , focus); 2131 } 2132 2133 @Override 2134 public ResourceType getResourceType() { 2135 return ResourceType.MessageHeader; 2136 } 2137 2138 /** 2139 * Search parameter: <b>code</b> 2140 * <p> 2141 * Description: <b>ok | transient-error | fatal-error</b><br> 2142 * Type: <b>token</b><br> 2143 * Path: <b>MessageHeader.response.code</b><br> 2144 * </p> 2145 */ 2146 @SearchParamDefinition(name="code", path="MessageHeader.response.code", description="ok | transient-error | fatal-error", type="token" ) 2147 public static final String SP_CODE = "code"; 2148 /** 2149 * <b>Fluent Client</b> search parameter constant for <b>code</b> 2150 * <p> 2151 * Description: <b>ok | transient-error | fatal-error</b><br> 2152 * Type: <b>token</b><br> 2153 * Path: <b>MessageHeader.response.code</b><br> 2154 * </p> 2155 */ 2156 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 2157 2158 /** 2159 * Search parameter: <b>receiver</b> 2160 * <p> 2161 * Description: <b>Intended "real-world" recipient for the data</b><br> 2162 * Type: <b>reference</b><br> 2163 * Path: <b>MessageHeader.receiver</b><br> 2164 * </p> 2165 */ 2166 @SearchParamDefinition(name="receiver", path="MessageHeader.receiver", description="Intended \"real-world\" recipient for the data", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Organization.class, Practitioner.class } ) 2167 public static final String SP_RECEIVER = "receiver"; 2168 /** 2169 * <b>Fluent Client</b> search parameter constant for <b>receiver</b> 2170 * <p> 2171 * Description: <b>Intended "real-world" recipient for the data</b><br> 2172 * Type: <b>reference</b><br> 2173 * Path: <b>MessageHeader.receiver</b><br> 2174 * </p> 2175 */ 2176 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RECEIVER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RECEIVER); 2177 2178/** 2179 * Constant for fluent queries to be used to add include statements. Specifies 2180 * the path value of "<b>MessageHeader:receiver</b>". 2181 */ 2182 public static final ca.uhn.fhir.model.api.Include INCLUDE_RECEIVER = new ca.uhn.fhir.model.api.Include("MessageHeader:receiver").toLocked(); 2183 2184 /** 2185 * Search parameter: <b>author</b> 2186 * <p> 2187 * Description: <b>The source of the decision</b><br> 2188 * Type: <b>reference</b><br> 2189 * Path: <b>MessageHeader.author</b><br> 2190 * </p> 2191 */ 2192 @SearchParamDefinition(name="author", path="MessageHeader.author", description="The source of the decision", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Practitioner.class } ) 2193 public static final String SP_AUTHOR = "author"; 2194 /** 2195 * <b>Fluent Client</b> search parameter constant for <b>author</b> 2196 * <p> 2197 * Description: <b>The source of the decision</b><br> 2198 * Type: <b>reference</b><br> 2199 * Path: <b>MessageHeader.author</b><br> 2200 * </p> 2201 */ 2202 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); 2203 2204/** 2205 * Constant for fluent queries to be used to add include statements. Specifies 2206 * the path value of "<b>MessageHeader:author</b>". 2207 */ 2208 public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("MessageHeader:author").toLocked(); 2209 2210 /** 2211 * Search parameter: <b>destination</b> 2212 * <p> 2213 * Description: <b>Name of system</b><br> 2214 * Type: <b>string</b><br> 2215 * Path: <b>MessageHeader.destination.name</b><br> 2216 * </p> 2217 */ 2218 @SearchParamDefinition(name="destination", path="MessageHeader.destination.name", description="Name of system", type="string" ) 2219 public static final String SP_DESTINATION = "destination"; 2220 /** 2221 * <b>Fluent Client</b> search parameter constant for <b>destination</b> 2222 * <p> 2223 * Description: <b>Name of system</b><br> 2224 * Type: <b>string</b><br> 2225 * Path: <b>MessageHeader.destination.name</b><br> 2226 * </p> 2227 */ 2228 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESTINATION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESTINATION); 2229 2230 /** 2231 * Search parameter: <b>focus</b> 2232 * <p> 2233 * Description: <b>The actual content of the message</b><br> 2234 * Type: <b>reference</b><br> 2235 * Path: <b>MessageHeader.focus</b><br> 2236 * </p> 2237 */ 2238 @SearchParamDefinition(name="focus", path="MessageHeader.focus", description="The actual content of the message", type="reference" ) 2239 public static final String SP_FOCUS = "focus"; 2240 /** 2241 * <b>Fluent Client</b> search parameter constant for <b>focus</b> 2242 * <p> 2243 * Description: <b>The actual content of the message</b><br> 2244 * Type: <b>reference</b><br> 2245 * Path: <b>MessageHeader.focus</b><br> 2246 * </p> 2247 */ 2248 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam FOCUS = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_FOCUS); 2249 2250/** 2251 * Constant for fluent queries to be used to add include statements. Specifies 2252 * the path value of "<b>MessageHeader:focus</b>". 2253 */ 2254 public static final ca.uhn.fhir.model.api.Include INCLUDE_FOCUS = new ca.uhn.fhir.model.api.Include("MessageHeader:focus").toLocked(); 2255 2256 /** 2257 * Search parameter: <b>source</b> 2258 * <p> 2259 * Description: <b>Name of system</b><br> 2260 * Type: <b>string</b><br> 2261 * Path: <b>MessageHeader.source.name</b><br> 2262 * </p> 2263 */ 2264 @SearchParamDefinition(name="source", path="MessageHeader.source.name", description="Name of system", type="string" ) 2265 public static final String SP_SOURCE = "source"; 2266 /** 2267 * <b>Fluent Client</b> search parameter constant for <b>source</b> 2268 * <p> 2269 * Description: <b>Name of system</b><br> 2270 * Type: <b>string</b><br> 2271 * Path: <b>MessageHeader.source.name</b><br> 2272 * </p> 2273 */ 2274 public static final ca.uhn.fhir.rest.gclient.StringClientParam SOURCE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_SOURCE); 2275 2276 /** 2277 * Search parameter: <b>target</b> 2278 * <p> 2279 * Description: <b>Particular delivery destination within the destination</b><br> 2280 * Type: <b>reference</b><br> 2281 * Path: <b>MessageHeader.destination.target</b><br> 2282 * </p> 2283 */ 2284 @SearchParamDefinition(name="target", path="MessageHeader.destination.target", description="Particular delivery destination within the destination", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Device") }, target={Device.class } ) 2285 public static final String SP_TARGET = "target"; 2286 /** 2287 * <b>Fluent Client</b> search parameter constant for <b>target</b> 2288 * <p> 2289 * Description: <b>Particular delivery destination within the destination</b><br> 2290 * Type: <b>reference</b><br> 2291 * Path: <b>MessageHeader.destination.target</b><br> 2292 * </p> 2293 */ 2294 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET); 2295 2296/** 2297 * Constant for fluent queries to be used to add include statements. Specifies 2298 * the path value of "<b>MessageHeader:target</b>". 2299 */ 2300 public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include("MessageHeader:target").toLocked(); 2301 2302 /** 2303 * Search parameter: <b>destination-uri</b> 2304 * <p> 2305 * Description: <b>Actual destination address or id</b><br> 2306 * Type: <b>uri</b><br> 2307 * Path: <b>MessageHeader.destination.endpoint</b><br> 2308 * </p> 2309 */ 2310 @SearchParamDefinition(name="destination-uri", path="MessageHeader.destination.endpoint", description="Actual destination address or id", type="uri" ) 2311 public static final String SP_DESTINATION_URI = "destination-uri"; 2312 /** 2313 * <b>Fluent Client</b> search parameter constant for <b>destination-uri</b> 2314 * <p> 2315 * Description: <b>Actual destination address or id</b><br> 2316 * Type: <b>uri</b><br> 2317 * Path: <b>MessageHeader.destination.endpoint</b><br> 2318 * </p> 2319 */ 2320 public static final ca.uhn.fhir.rest.gclient.UriClientParam DESTINATION_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_DESTINATION_URI); 2321 2322 /** 2323 * Search parameter: <b>source-uri</b> 2324 * <p> 2325 * Description: <b>Actual message source address or id</b><br> 2326 * Type: <b>uri</b><br> 2327 * Path: <b>MessageHeader.source.endpoint</b><br> 2328 * </p> 2329 */ 2330 @SearchParamDefinition(name="source-uri", path="MessageHeader.source.endpoint", description="Actual message source address or id", type="uri" ) 2331 public static final String SP_SOURCE_URI = "source-uri"; 2332 /** 2333 * <b>Fluent Client</b> search parameter constant for <b>source-uri</b> 2334 * <p> 2335 * Description: <b>Actual message source address or id</b><br> 2336 * Type: <b>uri</b><br> 2337 * Path: <b>MessageHeader.source.endpoint</b><br> 2338 * </p> 2339 */ 2340 public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE_URI); 2341 2342 /** 2343 * Search parameter: <b>sender</b> 2344 * <p> 2345 * Description: <b>Real world sender of the message</b><br> 2346 * Type: <b>reference</b><br> 2347 * Path: <b>MessageHeader.sender</b><br> 2348 * </p> 2349 */ 2350 @SearchParamDefinition(name="sender", path="MessageHeader.sender", description="Real world sender of the message", type="reference", target={Organization.class, Practitioner.class } ) 2351 public static final String SP_SENDER = "sender"; 2352 /** 2353 * <b>Fluent Client</b> search parameter constant for <b>sender</b> 2354 * <p> 2355 * Description: <b>Real world sender of the message</b><br> 2356 * Type: <b>reference</b><br> 2357 * Path: <b>MessageHeader.sender</b><br> 2358 * </p> 2359 */ 2360 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SENDER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SENDER); 2361 2362/** 2363 * Constant for fluent queries to be used to add include statements. Specifies 2364 * the path value of "<b>MessageHeader:sender</b>". 2365 */ 2366 public static final ca.uhn.fhir.model.api.Include INCLUDE_SENDER = new ca.uhn.fhir.model.api.Include("MessageHeader:sender").toLocked(); 2367 2368 /** 2369 * Search parameter: <b>responsible</b> 2370 * <p> 2371 * Description: <b>Final responsibility for event</b><br> 2372 * Type: <b>reference</b><br> 2373 * Path: <b>MessageHeader.responsible</b><br> 2374 * </p> 2375 */ 2376 @SearchParamDefinition(name="responsible", path="MessageHeader.responsible", description="Final responsibility for event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Organization.class, Practitioner.class } ) 2377 public static final String SP_RESPONSIBLE = "responsible"; 2378 /** 2379 * <b>Fluent Client</b> search parameter constant for <b>responsible</b> 2380 * <p> 2381 * Description: <b>Final responsibility for event</b><br> 2382 * Type: <b>reference</b><br> 2383 * Path: <b>MessageHeader.responsible</b><br> 2384 * </p> 2385 */ 2386 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESPONSIBLE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESPONSIBLE); 2387 2388/** 2389 * Constant for fluent queries to be used to add include statements. Specifies 2390 * the path value of "<b>MessageHeader:responsible</b>". 2391 */ 2392 public static final ca.uhn.fhir.model.api.Include INCLUDE_RESPONSIBLE = new ca.uhn.fhir.model.api.Include("MessageHeader:responsible").toLocked(); 2393 2394 /** 2395 * Search parameter: <b>enterer</b> 2396 * <p> 2397 * Description: <b>The source of the data entry</b><br> 2398 * Type: <b>reference</b><br> 2399 * Path: <b>MessageHeader.enterer</b><br> 2400 * </p> 2401 */ 2402 @SearchParamDefinition(name="enterer", path="MessageHeader.enterer", description="The source of the data entry", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Practitioner") }, target={Practitioner.class } ) 2403 public static final String SP_ENTERER = "enterer"; 2404 /** 2405 * <b>Fluent Client</b> search parameter constant for <b>enterer</b> 2406 * <p> 2407 * Description: <b>The source of the data entry</b><br> 2408 * Type: <b>reference</b><br> 2409 * Path: <b>MessageHeader.enterer</b><br> 2410 * </p> 2411 */ 2412 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENTERER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENTERER); 2413 2414/** 2415 * Constant for fluent queries to be used to add include statements. Specifies 2416 * the path value of "<b>MessageHeader:enterer</b>". 2417 */ 2418 public static final ca.uhn.fhir.model.api.Include INCLUDE_ENTERER = new ca.uhn.fhir.model.api.Include("MessageHeader:enterer").toLocked(); 2419 2420 /** 2421 * Search parameter: <b>response-id</b> 2422 * <p> 2423 * Description: <b>Id of original message</b><br> 2424 * Type: <b>token</b><br> 2425 * Path: <b>MessageHeader.response.identifier</b><br> 2426 * </p> 2427 */ 2428 @SearchParamDefinition(name="response-id", path="MessageHeader.response.identifier", description="Id of original message", type="token" ) 2429 public static final String SP_RESPONSE_ID = "response-id"; 2430 /** 2431 * <b>Fluent Client</b> search parameter constant for <b>response-id</b> 2432 * <p> 2433 * Description: <b>Id of original message</b><br> 2434 * Type: <b>token</b><br> 2435 * Path: <b>MessageHeader.response.identifier</b><br> 2436 * </p> 2437 */ 2438 public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESPONSE_ID = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESPONSE_ID); 2439 2440 /** 2441 * Search parameter: <b>event</b> 2442 * <p> 2443 * Description: <b>Code for the event this message represents</b><br> 2444 * Type: <b>token</b><br> 2445 * Path: <b>MessageHeader.event</b><br> 2446 * </p> 2447 */ 2448 @SearchParamDefinition(name="event", path="MessageHeader.event", description="Code for the event this message represents", type="token" ) 2449 public static final String SP_EVENT = "event"; 2450 /** 2451 * <b>Fluent Client</b> search parameter constant for <b>event</b> 2452 * <p> 2453 * Description: <b>Code for the event this message represents</b><br> 2454 * Type: <b>token</b><br> 2455 * Path: <b>MessageHeader.event</b><br> 2456 * </p> 2457 */ 2458 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVENT); 2459 2460 /** 2461 * Search parameter: <b>timestamp</b> 2462 * <p> 2463 * Description: <b>Time that the message was sent</b><br> 2464 * Type: <b>date</b><br> 2465 * Path: <b>MessageHeader.timestamp</b><br> 2466 * </p> 2467 */ 2468 @SearchParamDefinition(name="timestamp", path="MessageHeader.timestamp", description="Time that the message was sent", type="date" ) 2469 public static final String SP_TIMESTAMP = "timestamp"; 2470 /** 2471 * <b>Fluent Client</b> search parameter constant for <b>timestamp</b> 2472 * <p> 2473 * Description: <b>Time that the message was sent</b><br> 2474 * Type: <b>date</b><br> 2475 * Path: <b>MessageHeader.timestamp</b><br> 2476 * </p> 2477 */ 2478 public static final ca.uhn.fhir.rest.gclient.DateClientParam TIMESTAMP = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_TIMESTAMP); 2479 2480 2481}