![](/hapi-fhir/images/logos/raccoon-forwards.png)
001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.exceptions.FHIRException; 038import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 039import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; 040import org.hl7.fhir.r4.model.Enumerations.PublicationStatusEnumFactory; 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.ChildOrder; 046import ca.uhn.fhir.model.api.annotation.Description; 047import ca.uhn.fhir.model.api.annotation.ResourceDef; 048import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 049 050/** 051 * Defines the characteristics of a message that can be shared between systems, 052 * including the type of event that initiates the message, the content to be 053 * transmitted and what response(s), if any, are permitted. 054 */ 055@ResourceDef(name = "MessageDefinition", profile = "http://hl7.org/fhir/StructureDefinition/MessageDefinition") 056@ChildOrder(names = { "url", "identifier", "version", "name", "title", "replaces", "status", "experimental", "date", 057 "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "copyright", "base", "parent", 058 "event[x]", "category", "focus", "responseRequired", "allowedResponse", "graph" }) 059public class MessageDefinition extends MetadataResource { 060 061 public enum MessageSignificanceCategory { 062 /** 063 * The message represents/requests a change that should not be processed more 064 * than once; e.g., making a booking for an appointment. 065 */ 066 CONSEQUENCE, 067 /** 068 * The message represents a response to query for current information. 069 * Retrospective processing is wrong and/or wasteful. 070 */ 071 CURRENCY, 072 /** 073 * The content is not necessarily intended to be current, and it can be 074 * reprocessed, though there may be version issues created by processing old 075 * notifications. 076 */ 077 NOTIFICATION, 078 /** 079 * added to help the parsers with the generic types 080 */ 081 NULL; 082 083 public static MessageSignificanceCategory fromCode(String codeString) throws FHIRException { 084 if (codeString == null || "".equals(codeString)) 085 return null; 086 if ("consequence".equals(codeString)) 087 return CONSEQUENCE; 088 if ("currency".equals(codeString)) 089 return CURRENCY; 090 if ("notification".equals(codeString)) 091 return NOTIFICATION; 092 if (Configuration.isAcceptInvalidEnums()) 093 return null; 094 else 095 throw new FHIRException("Unknown MessageSignificanceCategory code '" + codeString + "'"); 096 } 097 098 public String toCode() { 099 switch (this) { 100 case CONSEQUENCE: 101 return "consequence"; 102 case CURRENCY: 103 return "currency"; 104 case NOTIFICATION: 105 return "notification"; 106 case NULL: 107 return null; 108 default: 109 return "?"; 110 } 111 } 112 113 public String getSystem() { 114 switch (this) { 115 case CONSEQUENCE: 116 return "http://hl7.org/fhir/message-significance-category"; 117 case CURRENCY: 118 return "http://hl7.org/fhir/message-significance-category"; 119 case NOTIFICATION: 120 return "http://hl7.org/fhir/message-significance-category"; 121 case NULL: 122 return null; 123 default: 124 return "?"; 125 } 126 } 127 128 public String getDefinition() { 129 switch (this) { 130 case CONSEQUENCE: 131 return "The message represents/requests a change that should not be processed more than once; e.g., making a booking for an appointment."; 132 case CURRENCY: 133 return "The message represents a response to query for current information. Retrospective processing is wrong and/or wasteful."; 134 case NOTIFICATION: 135 return "The content is not necessarily intended to be current, and it can be reprocessed, though there may be version issues created by processing old notifications."; 136 case NULL: 137 return null; 138 default: 139 return "?"; 140 } 141 } 142 143 public String getDisplay() { 144 switch (this) { 145 case CONSEQUENCE: 146 return "Consequence"; 147 case CURRENCY: 148 return "Currency"; 149 case NOTIFICATION: 150 return "Notification"; 151 case NULL: 152 return null; 153 default: 154 return "?"; 155 } 156 } 157 } 158 159 public static class MessageSignificanceCategoryEnumFactory implements EnumFactory<MessageSignificanceCategory> { 160 public MessageSignificanceCategory fromCode(String codeString) throws IllegalArgumentException { 161 if (codeString == null || "".equals(codeString)) 162 if (codeString == null || "".equals(codeString)) 163 return null; 164 if ("consequence".equals(codeString)) 165 return MessageSignificanceCategory.CONSEQUENCE; 166 if ("currency".equals(codeString)) 167 return MessageSignificanceCategory.CURRENCY; 168 if ("notification".equals(codeString)) 169 return MessageSignificanceCategory.NOTIFICATION; 170 throw new IllegalArgumentException("Unknown MessageSignificanceCategory code '" + codeString + "'"); 171 } 172 173 public Enumeration<MessageSignificanceCategory> fromType(PrimitiveType<?> code) throws FHIRException { 174 if (code == null) 175 return null; 176 if (code.isEmpty()) 177 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.NULL, code); 178 String codeString = code.asStringValue(); 179 if (codeString == null || "".equals(codeString)) 180 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.NULL, code); 181 if ("consequence".equals(codeString)) 182 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.CONSEQUENCE, code); 183 if ("currency".equals(codeString)) 184 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.CURRENCY, code); 185 if ("notification".equals(codeString)) 186 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.NOTIFICATION, code); 187 throw new FHIRException("Unknown MessageSignificanceCategory code '" + codeString + "'"); 188 } 189 190 public String toCode(MessageSignificanceCategory code) { 191 if (code == MessageSignificanceCategory.CONSEQUENCE) 192 return "consequence"; 193 if (code == MessageSignificanceCategory.CURRENCY) 194 return "currency"; 195 if (code == MessageSignificanceCategory.NOTIFICATION) 196 return "notification"; 197 return "?"; 198 } 199 200 public String toSystem(MessageSignificanceCategory code) { 201 return code.getSystem(); 202 } 203 } 204 205 public enum MessageheaderResponseRequest { 206 /** 207 * initiator expects a response for this message. 208 */ 209 ALWAYS, 210 /** 211 * initiator expects a response only if in error. 212 */ 213 ONERROR, 214 /** 215 * initiator does not expect a response. 216 */ 217 NEVER, 218 /** 219 * initiator expects a response only if successful. 220 */ 221 ONSUCCESS, 222 /** 223 * added to help the parsers with the generic types 224 */ 225 NULL; 226 227 public static MessageheaderResponseRequest fromCode(String codeString) throws FHIRException { 228 if (codeString == null || "".equals(codeString)) 229 return null; 230 if ("always".equals(codeString)) 231 return ALWAYS; 232 if ("on-error".equals(codeString)) 233 return ONERROR; 234 if ("never".equals(codeString)) 235 return NEVER; 236 if ("on-success".equals(codeString)) 237 return ONSUCCESS; 238 if (Configuration.isAcceptInvalidEnums()) 239 return null; 240 else 241 throw new FHIRException("Unknown MessageheaderResponseRequest code '" + codeString + "'"); 242 } 243 244 public String toCode() { 245 switch (this) { 246 case ALWAYS: 247 return "always"; 248 case ONERROR: 249 return "on-error"; 250 case NEVER: 251 return "never"; 252 case ONSUCCESS: 253 return "on-success"; 254 case NULL: 255 return null; 256 default: 257 return "?"; 258 } 259 } 260 261 public String getSystem() { 262 switch (this) { 263 case ALWAYS: 264 return "http://hl7.org/fhir/messageheader-response-request"; 265 case ONERROR: 266 return "http://hl7.org/fhir/messageheader-response-request"; 267 case NEVER: 268 return "http://hl7.org/fhir/messageheader-response-request"; 269 case ONSUCCESS: 270 return "http://hl7.org/fhir/messageheader-response-request"; 271 case NULL: 272 return null; 273 default: 274 return "?"; 275 } 276 } 277 278 public String getDefinition() { 279 switch (this) { 280 case ALWAYS: 281 return "initiator expects a response for this message."; 282 case ONERROR: 283 return "initiator expects a response only if in error."; 284 case NEVER: 285 return "initiator does not expect a response."; 286 case ONSUCCESS: 287 return "initiator expects a response only if successful."; 288 case NULL: 289 return null; 290 default: 291 return "?"; 292 } 293 } 294 295 public String getDisplay() { 296 switch (this) { 297 case ALWAYS: 298 return "Always"; 299 case ONERROR: 300 return "Error/reject conditions only"; 301 case NEVER: 302 return "Never"; 303 case ONSUCCESS: 304 return "Successful completion only"; 305 case NULL: 306 return null; 307 default: 308 return "?"; 309 } 310 } 311 } 312 313 public static class MessageheaderResponseRequestEnumFactory implements EnumFactory<MessageheaderResponseRequest> { 314 public MessageheaderResponseRequest fromCode(String codeString) throws IllegalArgumentException { 315 if (codeString == null || "".equals(codeString)) 316 if (codeString == null || "".equals(codeString)) 317 return null; 318 if ("always".equals(codeString)) 319 return MessageheaderResponseRequest.ALWAYS; 320 if ("on-error".equals(codeString)) 321 return MessageheaderResponseRequest.ONERROR; 322 if ("never".equals(codeString)) 323 return MessageheaderResponseRequest.NEVER; 324 if ("on-success".equals(codeString)) 325 return MessageheaderResponseRequest.ONSUCCESS; 326 throw new IllegalArgumentException("Unknown MessageheaderResponseRequest code '" + codeString + "'"); 327 } 328 329 public Enumeration<MessageheaderResponseRequest> fromType(PrimitiveType<?> code) throws FHIRException { 330 if (code == null) 331 return null; 332 if (code.isEmpty()) 333 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.NULL, code); 334 String codeString = code.asStringValue(); 335 if (codeString == null || "".equals(codeString)) 336 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.NULL, code); 337 if ("always".equals(codeString)) 338 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ALWAYS, code); 339 if ("on-error".equals(codeString)) 340 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ONERROR, code); 341 if ("never".equals(codeString)) 342 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.NEVER, code); 343 if ("on-success".equals(codeString)) 344 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ONSUCCESS, code); 345 throw new FHIRException("Unknown MessageheaderResponseRequest code '" + codeString + "'"); 346 } 347 348 public String toCode(MessageheaderResponseRequest code) { 349 if (code == MessageheaderResponseRequest.ALWAYS) 350 return "always"; 351 if (code == MessageheaderResponseRequest.ONERROR) 352 return "on-error"; 353 if (code == MessageheaderResponseRequest.NEVER) 354 return "never"; 355 if (code == MessageheaderResponseRequest.ONSUCCESS) 356 return "on-success"; 357 return "?"; 358 } 359 360 public String toSystem(MessageheaderResponseRequest code) { 361 return code.getSystem(); 362 } 363 } 364 365 @Block() 366 public static class MessageDefinitionFocusComponent extends BackboneElement implements IBaseBackboneElement { 367 /** 368 * The kind of resource that must be the focus for this message. 369 */ 370 @Child(name = "code", type = { CodeType.class }, order = 1, min = 1, max = 1, modifier = false, summary = true) 371 @Description(shortDefinition = "Type of resource", formalDefinition = "The kind of resource that must be the focus for this message.") 372 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/resource-types") 373 protected CodeType code; 374 375 /** 376 * A profile that reflects constraints for the focal resource (and potentially 377 * for related resources). 378 */ 379 @Child(name = "profile", type = { 380 CanonicalType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 381 @Description(shortDefinition = "Profile that must be adhered to by focus", formalDefinition = "A profile that reflects constraints for the focal resource (and potentially for related resources).") 382 protected CanonicalType profile; 383 384 /** 385 * Identifies the minimum number of resources of this type that must be pointed 386 * to by a message in order for it to be valid against this MessageDefinition. 387 */ 388 @Child(name = "min", type = { 389 UnsignedIntType.class }, order = 3, min = 1, max = 1, modifier = false, summary = true) 390 @Description(shortDefinition = "Minimum number of focuses of this type", formalDefinition = "Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.") 391 protected UnsignedIntType min; 392 393 /** 394 * Identifies the maximum number of resources of this type that must be pointed 395 * to by a message in order for it to be valid against this MessageDefinition. 396 */ 397 @Child(name = "max", type = { StringType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 398 @Description(shortDefinition = "Maximum number of focuses of this type", formalDefinition = "Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.") 399 protected StringType max; 400 401 private static final long serialVersionUID = -68504836L; 402 403 /** 404 * Constructor 405 */ 406 public MessageDefinitionFocusComponent() { 407 super(); 408 } 409 410 /** 411 * Constructor 412 */ 413 public MessageDefinitionFocusComponent(CodeType code, UnsignedIntType min) { 414 super(); 415 this.code = code; 416 this.min = min; 417 } 418 419 /** 420 * @return {@link #code} (The kind of resource that must be the focus for this 421 * message.). This is the underlying object with id, value and 422 * extensions. The accessor "getCode" gives direct access to the value 423 */ 424 public CodeType getCodeElement() { 425 if (this.code == null) 426 if (Configuration.errorOnAutoCreate()) 427 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.code"); 428 else if (Configuration.doAutoCreate()) 429 this.code = new CodeType(); // bb 430 return this.code; 431 } 432 433 public boolean hasCodeElement() { 434 return this.code != null && !this.code.isEmpty(); 435 } 436 437 public boolean hasCode() { 438 return this.code != null && !this.code.isEmpty(); 439 } 440 441 /** 442 * @param value {@link #code} (The kind of resource that must be the focus for 443 * this message.). This is the underlying object with id, value and 444 * extensions. The accessor "getCode" gives direct access to the 445 * value 446 */ 447 public MessageDefinitionFocusComponent setCodeElement(CodeType value) { 448 this.code = value; 449 return this; 450 } 451 452 /** 453 * @return The kind of resource that must be the focus for this message. 454 */ 455 public String getCode() { 456 return this.code == null ? null : this.code.getValue(); 457 } 458 459 /** 460 * @param value The kind of resource that must be the focus for this message. 461 */ 462 public MessageDefinitionFocusComponent setCode(String value) { 463 if (this.code == null) 464 this.code = new CodeType(); 465 this.code.setValue(value); 466 return this; 467 } 468 469 /** 470 * @return {@link #profile} (A profile that reflects constraints for the focal 471 * resource (and potentially for related resources).). This is the 472 * underlying object with id, value and extensions. The accessor 473 * "getProfile" gives direct access to the value 474 */ 475 public CanonicalType getProfileElement() { 476 if (this.profile == null) 477 if (Configuration.errorOnAutoCreate()) 478 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.profile"); 479 else if (Configuration.doAutoCreate()) 480 this.profile = new CanonicalType(); // bb 481 return this.profile; 482 } 483 484 public boolean hasProfileElement() { 485 return this.profile != null && !this.profile.isEmpty(); 486 } 487 488 public boolean hasProfile() { 489 return this.profile != null && !this.profile.isEmpty(); 490 } 491 492 /** 493 * @param value {@link #profile} (A profile that reflects constraints for the 494 * focal resource (and potentially for related resources).). This 495 * is the underlying object with id, value and extensions. The 496 * accessor "getProfile" gives direct access to the value 497 */ 498 public MessageDefinitionFocusComponent setProfileElement(CanonicalType value) { 499 this.profile = value; 500 return this; 501 } 502 503 /** 504 * @return A profile that reflects constraints for the focal resource (and 505 * potentially for related resources). 506 */ 507 public String getProfile() { 508 return this.profile == null ? null : this.profile.getValue(); 509 } 510 511 /** 512 * @param value A profile that reflects constraints for the focal resource (and 513 * potentially for related resources). 514 */ 515 public MessageDefinitionFocusComponent setProfile(String value) { 516 if (Utilities.noString(value)) 517 this.profile = null; 518 else { 519 if (this.profile == null) 520 this.profile = new CanonicalType(); 521 this.profile.setValue(value); 522 } 523 return this; 524 } 525 526 /** 527 * @return {@link #min} (Identifies the minimum number of resources of this type 528 * that must be pointed to by a message in order for it to be valid 529 * against this MessageDefinition.). This is the underlying object with 530 * id, value and extensions. The accessor "getMin" gives direct access 531 * to the value 532 */ 533 public UnsignedIntType getMinElement() { 534 if (this.min == null) 535 if (Configuration.errorOnAutoCreate()) 536 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.min"); 537 else if (Configuration.doAutoCreate()) 538 this.min = new UnsignedIntType(); // bb 539 return this.min; 540 } 541 542 public boolean hasMinElement() { 543 return this.min != null && !this.min.isEmpty(); 544 } 545 546 public boolean hasMin() { 547 return this.min != null && !this.min.isEmpty(); 548 } 549 550 /** 551 * @param value {@link #min} (Identifies the minimum number of resources of this 552 * type that must be pointed to by a message in order for it to be 553 * valid against this MessageDefinition.). This is the underlying 554 * object with id, value and extensions. The accessor "getMin" 555 * gives direct access to the value 556 */ 557 public MessageDefinitionFocusComponent setMinElement(UnsignedIntType value) { 558 this.min = value; 559 return this; 560 } 561 562 /** 563 * @return Identifies the minimum number of resources of this type that must be 564 * pointed to by a message in order for it to be valid against this 565 * MessageDefinition. 566 */ 567 public int getMin() { 568 return this.min == null || this.min.isEmpty() ? 0 : this.min.getValue(); 569 } 570 571 /** 572 * @param value Identifies the minimum number of resources of this type that 573 * must be pointed to by a message in order for it to be valid 574 * against this MessageDefinition. 575 */ 576 public MessageDefinitionFocusComponent setMin(int value) { 577 if (this.min == null) 578 this.min = new UnsignedIntType(); 579 this.min.setValue(value); 580 return this; 581 } 582 583 /** 584 * @return {@link #max} (Identifies the maximum number of resources of this type 585 * that must be pointed to by a message in order for it to be valid 586 * against this MessageDefinition.). This is the underlying object with 587 * id, value and extensions. The accessor "getMax" gives direct access 588 * to the value 589 */ 590 public StringType getMaxElement() { 591 if (this.max == null) 592 if (Configuration.errorOnAutoCreate()) 593 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.max"); 594 else if (Configuration.doAutoCreate()) 595 this.max = new StringType(); // bb 596 return this.max; 597 } 598 599 public boolean hasMaxElement() { 600 return this.max != null && !this.max.isEmpty(); 601 } 602 603 public boolean hasMax() { 604 return this.max != null && !this.max.isEmpty(); 605 } 606 607 /** 608 * @param value {@link #max} (Identifies the maximum number of resources of this 609 * type that must be pointed to by a message in order for it to be 610 * valid against this MessageDefinition.). This is the underlying 611 * object with id, value and extensions. The accessor "getMax" 612 * gives direct access to the value 613 */ 614 public MessageDefinitionFocusComponent setMaxElement(StringType value) { 615 this.max = value; 616 return this; 617 } 618 619 /** 620 * @return Identifies the maximum number of resources of this type that must be 621 * pointed to by a message in order for it to be valid against this 622 * MessageDefinition. 623 */ 624 public String getMax() { 625 return this.max == null ? null : this.max.getValue(); 626 } 627 628 /** 629 * @param value Identifies the maximum number of resources of this type that 630 * must be pointed to by a message in order for it to be valid 631 * against this MessageDefinition. 632 */ 633 public MessageDefinitionFocusComponent setMax(String value) { 634 if (Utilities.noString(value)) 635 this.max = null; 636 else { 637 if (this.max == null) 638 this.max = new StringType(); 639 this.max.setValue(value); 640 } 641 return this; 642 } 643 644 protected void listChildren(List<Property> children) { 645 super.listChildren(children); 646 children.add( 647 new Property("code", "code", "The kind of resource that must be the focus for this message.", 0, 1, code)); 648 children.add(new Property("profile", "canonical(StructureDefinition)", 649 "A profile that reflects constraints for the focal resource (and potentially for related resources).", 0, 1, 650 profile)); 651 children.add(new Property("min", "unsignedInt", 652 "Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.", 653 0, 1, min)); 654 children.add(new Property("max", "string", 655 "Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.", 656 0, 1, max)); 657 } 658 659 @Override 660 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 661 switch (_hash) { 662 case 3059181: 663 /* code */ return new Property("code", "code", "The kind of resource that must be the focus for this message.", 664 0, 1, code); 665 case -309425751: 666 /* profile */ return new Property("profile", "canonical(StructureDefinition)", 667 "A profile that reflects constraints for the focal resource (and potentially for related resources).", 0, 1, 668 profile); 669 case 108114: 670 /* min */ return new Property("min", "unsignedInt", 671 "Identifies the minimum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.", 672 0, 1, min); 673 case 107876: 674 /* max */ return new Property("max", "string", 675 "Identifies the maximum number of resources of this type that must be pointed to by a message in order for it to be valid against this MessageDefinition.", 676 0, 1, max); 677 default: 678 return super.getNamedProperty(_hash, _name, _checkValid); 679 } 680 681 } 682 683 @Override 684 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 685 switch (hash) { 686 case 3059181: 687 /* code */ return this.code == null ? new Base[0] : new Base[] { this.code }; // CodeType 688 case -309425751: 689 /* profile */ return this.profile == null ? new Base[0] : new Base[] { this.profile }; // CanonicalType 690 case 108114: 691 /* min */ return this.min == null ? new Base[0] : new Base[] { this.min }; // UnsignedIntType 692 case 107876: 693 /* max */ return this.max == null ? new Base[0] : new Base[] { this.max }; // StringType 694 default: 695 return super.getProperty(hash, name, checkValid); 696 } 697 698 } 699 700 @Override 701 public Base setProperty(int hash, String name, Base value) throws FHIRException { 702 switch (hash) { 703 case 3059181: // code 704 this.code = castToCode(value); // CodeType 705 return value; 706 case -309425751: // profile 707 this.profile = castToCanonical(value); // CanonicalType 708 return value; 709 case 108114: // min 710 this.min = castToUnsignedInt(value); // UnsignedIntType 711 return value; 712 case 107876: // max 713 this.max = castToString(value); // StringType 714 return value; 715 default: 716 return super.setProperty(hash, name, value); 717 } 718 719 } 720 721 @Override 722 public Base setProperty(String name, Base value) throws FHIRException { 723 if (name.equals("code")) { 724 this.code = castToCode(value); // CodeType 725 } else if (name.equals("profile")) { 726 this.profile = castToCanonical(value); // CanonicalType 727 } else if (name.equals("min")) { 728 this.min = castToUnsignedInt(value); // UnsignedIntType 729 } else if (name.equals("max")) { 730 this.max = castToString(value); // StringType 731 } else 732 return super.setProperty(name, value); 733 return value; 734 } 735 736 @Override 737 public void removeChild(String name, Base value) throws FHIRException { 738 if (name.equals("code")) { 739 this.code = null; 740 } else if (name.equals("profile")) { 741 this.profile = null; 742 } else if (name.equals("min")) { 743 this.min = null; 744 } else if (name.equals("max")) { 745 this.max = null; 746 } else 747 super.removeChild(name, value); 748 749 } 750 751 @Override 752 public Base makeProperty(int hash, String name) throws FHIRException { 753 switch (hash) { 754 case 3059181: 755 return getCodeElement(); 756 case -309425751: 757 return getProfileElement(); 758 case 108114: 759 return getMinElement(); 760 case 107876: 761 return getMaxElement(); 762 default: 763 return super.makeProperty(hash, name); 764 } 765 766 } 767 768 @Override 769 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 770 switch (hash) { 771 case 3059181: 772 /* code */ return new String[] { "code" }; 773 case -309425751: 774 /* profile */ return new String[] { "canonical" }; 775 case 108114: 776 /* min */ return new String[] { "unsignedInt" }; 777 case 107876: 778 /* max */ return new String[] { "string" }; 779 default: 780 return super.getTypesForProperty(hash, name); 781 } 782 783 } 784 785 @Override 786 public Base addChild(String name) throws FHIRException { 787 if (name.equals("code")) { 788 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.code"); 789 } else if (name.equals("profile")) { 790 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.profile"); 791 } else if (name.equals("min")) { 792 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.min"); 793 } else if (name.equals("max")) { 794 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.max"); 795 } else 796 return super.addChild(name); 797 } 798 799 public MessageDefinitionFocusComponent copy() { 800 MessageDefinitionFocusComponent dst = new MessageDefinitionFocusComponent(); 801 copyValues(dst); 802 return dst; 803 } 804 805 public void copyValues(MessageDefinitionFocusComponent dst) { 806 super.copyValues(dst); 807 dst.code = code == null ? null : code.copy(); 808 dst.profile = profile == null ? null : profile.copy(); 809 dst.min = min == null ? null : min.copy(); 810 dst.max = max == null ? null : max.copy(); 811 } 812 813 @Override 814 public boolean equalsDeep(Base other_) { 815 if (!super.equalsDeep(other_)) 816 return false; 817 if (!(other_ instanceof MessageDefinitionFocusComponent)) 818 return false; 819 MessageDefinitionFocusComponent o = (MessageDefinitionFocusComponent) other_; 820 return compareDeep(code, o.code, true) && compareDeep(profile, o.profile, true) && compareDeep(min, o.min, true) 821 && compareDeep(max, o.max, true); 822 } 823 824 @Override 825 public boolean equalsShallow(Base other_) { 826 if (!super.equalsShallow(other_)) 827 return false; 828 if (!(other_ instanceof MessageDefinitionFocusComponent)) 829 return false; 830 MessageDefinitionFocusComponent o = (MessageDefinitionFocusComponent) other_; 831 return compareValues(code, o.code, true) && compareValues(min, o.min, true) && compareValues(max, o.max, true); 832 } 833 834 public boolean isEmpty() { 835 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, profile, min, max); 836 } 837 838 public String fhirType() { 839 return "MessageDefinition.focus"; 840 841 } 842 843 } 844 845 @Block() 846 public static class MessageDefinitionAllowedResponseComponent extends BackboneElement 847 implements IBaseBackboneElement { 848 /** 849 * A reference to the message definition that must be adhered to by this 850 * supported response. 851 */ 852 @Child(name = "message", type = { 853 CanonicalType.class }, order = 1, min = 1, max = 1, modifier = false, summary = false) 854 @Description(shortDefinition = "Reference to allowed message definition response", formalDefinition = "A reference to the message definition that must be adhered to by this supported response.") 855 protected CanonicalType message; 856 857 /** 858 * Provides a description of the circumstances in which this response should be 859 * used (as opposed to one of the alternative responses). 860 */ 861 @Child(name = "situation", type = { 862 MarkdownType.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 863 @Description(shortDefinition = "When should this response be used", formalDefinition = "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).") 864 protected MarkdownType situation; 865 866 private static final long serialVersionUID = -1943810550L; 867 868 /** 869 * Constructor 870 */ 871 public MessageDefinitionAllowedResponseComponent() { 872 super(); 873 } 874 875 /** 876 * Constructor 877 */ 878 public MessageDefinitionAllowedResponseComponent(CanonicalType message) { 879 super(); 880 this.message = message; 881 } 882 883 /** 884 * @return {@link #message} (A reference to the message definition that must be 885 * adhered to by this supported response.). This is the underlying 886 * object with id, value and extensions. The accessor "getMessage" gives 887 * direct access to the value 888 */ 889 public CanonicalType getMessageElement() { 890 if (this.message == null) 891 if (Configuration.errorOnAutoCreate()) 892 throw new Error("Attempt to auto-create MessageDefinitionAllowedResponseComponent.message"); 893 else if (Configuration.doAutoCreate()) 894 this.message = new CanonicalType(); // bb 895 return this.message; 896 } 897 898 public boolean hasMessageElement() { 899 return this.message != null && !this.message.isEmpty(); 900 } 901 902 public boolean hasMessage() { 903 return this.message != null && !this.message.isEmpty(); 904 } 905 906 /** 907 * @param value {@link #message} (A reference to the message definition that 908 * must be adhered to by this supported response.). This is the 909 * underlying object with id, value and extensions. The accessor 910 * "getMessage" gives direct access to the value 911 */ 912 public MessageDefinitionAllowedResponseComponent setMessageElement(CanonicalType value) { 913 this.message = value; 914 return this; 915 } 916 917 /** 918 * @return A reference to the message definition that must be adhered to by this 919 * supported response. 920 */ 921 public String getMessage() { 922 return this.message == null ? null : this.message.getValue(); 923 } 924 925 /** 926 * @param value A reference to the message definition that must be adhered to by 927 * this supported response. 928 */ 929 public MessageDefinitionAllowedResponseComponent setMessage(String value) { 930 if (this.message == null) 931 this.message = new CanonicalType(); 932 this.message.setValue(value); 933 return this; 934 } 935 936 /** 937 * @return {@link #situation} (Provides a description of the circumstances in 938 * which this response should be used (as opposed to one of the 939 * alternative responses).). This is the underlying object with id, 940 * value and extensions. The accessor "getSituation" gives direct access 941 * to the value 942 */ 943 public MarkdownType getSituationElement() { 944 if (this.situation == null) 945 if (Configuration.errorOnAutoCreate()) 946 throw new Error("Attempt to auto-create MessageDefinitionAllowedResponseComponent.situation"); 947 else if (Configuration.doAutoCreate()) 948 this.situation = new MarkdownType(); // bb 949 return this.situation; 950 } 951 952 public boolean hasSituationElement() { 953 return this.situation != null && !this.situation.isEmpty(); 954 } 955 956 public boolean hasSituation() { 957 return this.situation != null && !this.situation.isEmpty(); 958 } 959 960 /** 961 * @param value {@link #situation} (Provides a description of the circumstances 962 * in which this response should be used (as opposed to one of the 963 * alternative responses).). This is the underlying object with id, 964 * value and extensions. The accessor "getSituation" gives direct 965 * access to the value 966 */ 967 public MessageDefinitionAllowedResponseComponent setSituationElement(MarkdownType value) { 968 this.situation = value; 969 return this; 970 } 971 972 /** 973 * @return Provides a description of the circumstances in which this response 974 * should be used (as opposed to one of the alternative responses). 975 */ 976 public String getSituation() { 977 return this.situation == null ? null : this.situation.getValue(); 978 } 979 980 /** 981 * @param value Provides a description of the circumstances in which this 982 * response should be used (as opposed to one of the alternative 983 * responses). 984 */ 985 public MessageDefinitionAllowedResponseComponent setSituation(String value) { 986 if (value == null) 987 this.situation = null; 988 else { 989 if (this.situation == null) 990 this.situation = new MarkdownType(); 991 this.situation.setValue(value); 992 } 993 return this; 994 } 995 996 protected void listChildren(List<Property> children) { 997 super.listChildren(children); 998 children.add(new Property("message", "canonical(MessageDefinition)", 999 "A reference to the message definition that must be adhered to by this supported response.", 0, 1, message)); 1000 children.add(new Property("situation", "markdown", 1001 "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).", 1002 0, 1, situation)); 1003 } 1004 1005 @Override 1006 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1007 switch (_hash) { 1008 case 954925063: 1009 /* message */ return new Property("message", "canonical(MessageDefinition)", 1010 "A reference to the message definition that must be adhered to by this supported response.", 0, 1, message); 1011 case -73377282: 1012 /* situation */ return new Property("situation", "markdown", 1013 "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).", 1014 0, 1, situation); 1015 default: 1016 return super.getNamedProperty(_hash, _name, _checkValid); 1017 } 1018 1019 } 1020 1021 @Override 1022 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1023 switch (hash) { 1024 case 954925063: 1025 /* message */ return this.message == null ? new Base[0] : new Base[] { this.message }; // CanonicalType 1026 case -73377282: 1027 /* situation */ return this.situation == null ? new Base[0] : new Base[] { this.situation }; // MarkdownType 1028 default: 1029 return super.getProperty(hash, name, checkValid); 1030 } 1031 1032 } 1033 1034 @Override 1035 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1036 switch (hash) { 1037 case 954925063: // message 1038 this.message = castToCanonical(value); // CanonicalType 1039 return value; 1040 case -73377282: // situation 1041 this.situation = castToMarkdown(value); // MarkdownType 1042 return value; 1043 default: 1044 return super.setProperty(hash, name, value); 1045 } 1046 1047 } 1048 1049 @Override 1050 public Base setProperty(String name, Base value) throws FHIRException { 1051 if (name.equals("message")) { 1052 this.message = castToCanonical(value); // CanonicalType 1053 } else if (name.equals("situation")) { 1054 this.situation = castToMarkdown(value); // MarkdownType 1055 } else 1056 return super.setProperty(name, value); 1057 return value; 1058 } 1059 1060 @Override 1061 public void removeChild(String name, Base value) throws FHIRException { 1062 if (name.equals("message")) { 1063 this.message = null; 1064 } else if (name.equals("situation")) { 1065 this.situation = null; 1066 } else 1067 super.removeChild(name, value); 1068 1069 } 1070 1071 @Override 1072 public Base makeProperty(int hash, String name) throws FHIRException { 1073 switch (hash) { 1074 case 954925063: 1075 return getMessageElement(); 1076 case -73377282: 1077 return getSituationElement(); 1078 default: 1079 return super.makeProperty(hash, name); 1080 } 1081 1082 } 1083 1084 @Override 1085 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1086 switch (hash) { 1087 case 954925063: 1088 /* message */ return new String[] { "canonical" }; 1089 case -73377282: 1090 /* situation */ return new String[] { "markdown" }; 1091 default: 1092 return super.getTypesForProperty(hash, name); 1093 } 1094 1095 } 1096 1097 @Override 1098 public Base addChild(String name) throws FHIRException { 1099 if (name.equals("message")) { 1100 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.message"); 1101 } else if (name.equals("situation")) { 1102 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.situation"); 1103 } else 1104 return super.addChild(name); 1105 } 1106 1107 public MessageDefinitionAllowedResponseComponent copy() { 1108 MessageDefinitionAllowedResponseComponent dst = new MessageDefinitionAllowedResponseComponent(); 1109 copyValues(dst); 1110 return dst; 1111 } 1112 1113 public void copyValues(MessageDefinitionAllowedResponseComponent dst) { 1114 super.copyValues(dst); 1115 dst.message = message == null ? null : message.copy(); 1116 dst.situation = situation == null ? null : situation.copy(); 1117 } 1118 1119 @Override 1120 public boolean equalsDeep(Base other_) { 1121 if (!super.equalsDeep(other_)) 1122 return false; 1123 if (!(other_ instanceof MessageDefinitionAllowedResponseComponent)) 1124 return false; 1125 MessageDefinitionAllowedResponseComponent o = (MessageDefinitionAllowedResponseComponent) other_; 1126 return compareDeep(message, o.message, true) && compareDeep(situation, o.situation, true); 1127 } 1128 1129 @Override 1130 public boolean equalsShallow(Base other_) { 1131 if (!super.equalsShallow(other_)) 1132 return false; 1133 if (!(other_ instanceof MessageDefinitionAllowedResponseComponent)) 1134 return false; 1135 MessageDefinitionAllowedResponseComponent o = (MessageDefinitionAllowedResponseComponent) other_; 1136 return compareValues(situation, o.situation, true); 1137 } 1138 1139 public boolean isEmpty() { 1140 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(message, situation); 1141 } 1142 1143 public String fhirType() { 1144 return "MessageDefinition.allowedResponse"; 1145 1146 } 1147 1148 } 1149 1150 /** 1151 * A formal identifier that is used to identify this message definition when it 1152 * is represented in other formats, or referenced in a specification, model, 1153 * design or an instance. 1154 */ 1155 @Child(name = "identifier", type = { 1156 Identifier.class }, order = 0, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 1157 @Description(shortDefinition = "Primary key for the message definition on a given server", formalDefinition = "A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.") 1158 protected List<Identifier> identifier; 1159 1160 /** 1161 * A MessageDefinition that is superseded by this definition. 1162 */ 1163 @Child(name = "replaces", type = { 1164 CanonicalType.class }, order = 1, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 1165 @Description(shortDefinition = "Takes the place of", formalDefinition = "A MessageDefinition that is superseded by this definition.") 1166 protected List<CanonicalType> replaces; 1167 1168 /** 1169 * Explanation of why this message definition is needed and why it has been 1170 * designed as it has. 1171 */ 1172 @Child(name = "purpose", type = { MarkdownType.class }, order = 2, min = 0, max = 1, modifier = false, summary = true) 1173 @Description(shortDefinition = "Why this message definition is defined", formalDefinition = "Explanation of why this message definition is needed and why it has been designed as it has.") 1174 protected MarkdownType purpose; 1175 1176 /** 1177 * A copyright statement relating to the message definition and/or its contents. 1178 * Copyright statements are generally legal restrictions on the use and 1179 * publishing of the message definition. 1180 */ 1181 @Child(name = "copyright", type = { 1182 MarkdownType.class }, order = 3, min = 0, max = 1, modifier = false, summary = false) 1183 @Description(shortDefinition = "Use and/or publishing restrictions", formalDefinition = "A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.") 1184 protected MarkdownType copyright; 1185 1186 /** 1187 * The MessageDefinition that is the basis for the contents of this resource. 1188 */ 1189 @Child(name = "base", type = { CanonicalType.class }, order = 4, min = 0, max = 1, modifier = false, summary = true) 1190 @Description(shortDefinition = "Definition this one is based on", formalDefinition = "The MessageDefinition that is the basis for the contents of this resource.") 1191 protected CanonicalType base; 1192 1193 /** 1194 * Identifies a protocol or workflow that this MessageDefinition represents a 1195 * step in. 1196 */ 1197 @Child(name = "parent", type = { 1198 CanonicalType.class }, order = 5, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 1199 @Description(shortDefinition = "Protocol/workflow this is part of", formalDefinition = "Identifies a protocol or workflow that this MessageDefinition represents a step in.") 1200 protected List<CanonicalType> parent; 1201 1202 /** 1203 * Event code or link to the EventDefinition. 1204 */ 1205 @Child(name = "event", type = { Coding.class, 1206 UriType.class }, order = 6, min = 1, max = 1, modifier = false, summary = true) 1207 @Description(shortDefinition = "Event code or link to the EventDefinition", formalDefinition = "Event code or link to the EventDefinition.") 1208 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-events") 1209 protected Type event; 1210 1211 /** 1212 * The impact of the content of the message. 1213 */ 1214 @Child(name = "category", type = { CodeType.class }, order = 7, min = 0, max = 1, modifier = false, summary = true) 1215 @Description(shortDefinition = "consequence | currency | notification", formalDefinition = "The impact of the content of the message.") 1216 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/message-significance-category") 1217 protected Enumeration<MessageSignificanceCategory> category; 1218 1219 /** 1220 * Identifies the resource (or resources) that are being addressed by the event. 1221 * For example, the Encounter for an admit message or two Account records for a 1222 * merge. 1223 */ 1224 @Child(name = "focus", type = {}, order = 8, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 1225 @Description(shortDefinition = "Resource(s) that are the subject of the event", formalDefinition = "Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.") 1226 protected List<MessageDefinitionFocusComponent> focus; 1227 1228 /** 1229 * Declare at a message definition level whether a response is required or only 1230 * upon error or success, or never. 1231 */ 1232 @Child(name = "responseRequired", type = { 1233 CodeType.class }, order = 9, min = 0, max = 1, modifier = false, summary = false) 1234 @Description(shortDefinition = "always | on-error | never | on-success", formalDefinition = "Declare at a message definition level whether a response is required or only upon error or success, or never.") 1235 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/messageheader-response-request") 1236 protected Enumeration<MessageheaderResponseRequest> responseRequired; 1237 1238 /** 1239 * Indicates what types of messages may be sent as an application-level response 1240 * to this message. 1241 */ 1242 @Child(name = "allowedResponse", type = {}, order = 10, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 1243 @Description(shortDefinition = "Responses to this message", formalDefinition = "Indicates what types of messages may be sent as an application-level response to this message.") 1244 protected List<MessageDefinitionAllowedResponseComponent> allowedResponse; 1245 1246 /** 1247 * Canonical reference to a GraphDefinition. If a URL is provided, it is the 1248 * canonical reference to a [[[GraphDefinition]]] that it controls what 1249 * resources are to be added to the bundle when building the document. The 1250 * GraphDefinition can also specify profiles that apply to the various 1251 * resources. 1252 */ 1253 @Child(name = "graph", type = { 1254 CanonicalType.class }, order = 11, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 1255 @Description(shortDefinition = "Canonical reference to a GraphDefinition", formalDefinition = "Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.") 1256 protected List<CanonicalType> graph; 1257 1258 private static final long serialVersionUID = 927775347L; 1259 1260 /** 1261 * Constructor 1262 */ 1263 public MessageDefinition() { 1264 super(); 1265 } 1266 1267 /** 1268 * Constructor 1269 */ 1270 public MessageDefinition(Enumeration<PublicationStatus> status, DateTimeType date, Type event) { 1271 super(); 1272 this.status = status; 1273 this.date = date; 1274 this.event = event; 1275 } 1276 1277 /** 1278 * @return {@link #url} (The business identifier that is used to reference the 1279 * MessageDefinition and *is* expected to be consistent from server to 1280 * server.). This is the underlying object with id, value and 1281 * extensions. The accessor "getUrl" gives direct access to the value 1282 */ 1283 public UriType getUrlElement() { 1284 if (this.url == null) 1285 if (Configuration.errorOnAutoCreate()) 1286 throw new Error("Attempt to auto-create MessageDefinition.url"); 1287 else if (Configuration.doAutoCreate()) 1288 this.url = new UriType(); // bb 1289 return this.url; 1290 } 1291 1292 public boolean hasUrlElement() { 1293 return this.url != null && !this.url.isEmpty(); 1294 } 1295 1296 public boolean hasUrl() { 1297 return this.url != null && !this.url.isEmpty(); 1298 } 1299 1300 /** 1301 * @param value {@link #url} (The business identifier that is used to reference 1302 * the MessageDefinition and *is* expected to be consistent from 1303 * server to server.). This is the underlying object with id, value 1304 * and extensions. The accessor "getUrl" gives direct access to the 1305 * value 1306 */ 1307 public MessageDefinition setUrlElement(UriType value) { 1308 this.url = value; 1309 return this; 1310 } 1311 1312 /** 1313 * @return The business identifier that is used to reference the 1314 * MessageDefinition and *is* expected to be consistent from server to 1315 * server. 1316 */ 1317 public String getUrl() { 1318 return this.url == null ? null : this.url.getValue(); 1319 } 1320 1321 /** 1322 * @param value The business identifier that is used to reference the 1323 * MessageDefinition and *is* expected to be consistent from server 1324 * to server. 1325 */ 1326 public MessageDefinition setUrl(String value) { 1327 if (Utilities.noString(value)) 1328 this.url = null; 1329 else { 1330 if (this.url == null) 1331 this.url = new UriType(); 1332 this.url.setValue(value); 1333 } 1334 return this; 1335 } 1336 1337 /** 1338 * @return {@link #identifier} (A formal identifier that is used to identify 1339 * this message definition when it is represented in other formats, or 1340 * referenced in a specification, model, design or an instance.) 1341 */ 1342 public List<Identifier> getIdentifier() { 1343 if (this.identifier == null) 1344 this.identifier = new ArrayList<Identifier>(); 1345 return this.identifier; 1346 } 1347 1348 /** 1349 * @return Returns a reference to <code>this</code> for easy method chaining 1350 */ 1351 public MessageDefinition setIdentifier(List<Identifier> theIdentifier) { 1352 this.identifier = theIdentifier; 1353 return this; 1354 } 1355 1356 public boolean hasIdentifier() { 1357 if (this.identifier == null) 1358 return false; 1359 for (Identifier item : this.identifier) 1360 if (!item.isEmpty()) 1361 return true; 1362 return false; 1363 } 1364 1365 public Identifier addIdentifier() { // 3 1366 Identifier t = new Identifier(); 1367 if (this.identifier == null) 1368 this.identifier = new ArrayList<Identifier>(); 1369 this.identifier.add(t); 1370 return t; 1371 } 1372 1373 public MessageDefinition addIdentifier(Identifier t) { // 3 1374 if (t == null) 1375 return this; 1376 if (this.identifier == null) 1377 this.identifier = new ArrayList<Identifier>(); 1378 this.identifier.add(t); 1379 return this; 1380 } 1381 1382 /** 1383 * @return The first repetition of repeating field {@link #identifier}, creating 1384 * it if it does not already exist 1385 */ 1386 public Identifier getIdentifierFirstRep() { 1387 if (getIdentifier().isEmpty()) { 1388 addIdentifier(); 1389 } 1390 return getIdentifier().get(0); 1391 } 1392 1393 /** 1394 * @return {@link #version} (The identifier that is used to identify this 1395 * version of the message definition when it is referenced in a 1396 * specification, model, design or instance. This is an arbitrary value 1397 * managed by the message definition author and is not expected to be 1398 * globally unique. For example, it might be a timestamp (e.g. yyyymmdd) 1399 * if a managed version is not available. There is also no expectation 1400 * that versions can be placed in a lexicographical sequence.). This is 1401 * the underlying object with id, value and extensions. The accessor 1402 * "getVersion" gives direct access to the value 1403 */ 1404 public StringType getVersionElement() { 1405 if (this.version == null) 1406 if (Configuration.errorOnAutoCreate()) 1407 throw new Error("Attempt to auto-create MessageDefinition.version"); 1408 else if (Configuration.doAutoCreate()) 1409 this.version = new StringType(); // bb 1410 return this.version; 1411 } 1412 1413 public boolean hasVersionElement() { 1414 return this.version != null && !this.version.isEmpty(); 1415 } 1416 1417 public boolean hasVersion() { 1418 return this.version != null && !this.version.isEmpty(); 1419 } 1420 1421 /** 1422 * @param value {@link #version} (The identifier that is used to identify this 1423 * version of the message definition when it is referenced in a 1424 * specification, model, design or instance. This is an arbitrary 1425 * value managed by the message definition author and is not 1426 * expected to be globally unique. For example, it might be a 1427 * timestamp (e.g. yyyymmdd) if a managed version is not available. 1428 * There is also no expectation that versions can be placed in a 1429 * lexicographical sequence.). This is the underlying object with 1430 * id, value and extensions. The accessor "getVersion" gives direct 1431 * access to the value 1432 */ 1433 public MessageDefinition setVersionElement(StringType value) { 1434 this.version = value; 1435 return this; 1436 } 1437 1438 /** 1439 * @return The identifier that is used to identify this version of the message 1440 * definition when it is referenced in a specification, model, design or 1441 * instance. This is an arbitrary value managed by the message 1442 * definition author and is not expected to be globally unique. For 1443 * example, it might be a timestamp (e.g. yyyymmdd) if a managed version 1444 * is not available. There is also no expectation that versions can be 1445 * placed in a lexicographical sequence. 1446 */ 1447 public String getVersion() { 1448 return this.version == null ? null : this.version.getValue(); 1449 } 1450 1451 /** 1452 * @param value The identifier that is used to identify this version of the 1453 * message definition when it is referenced in a specification, 1454 * model, design or instance. This is an arbitrary value managed by 1455 * the message definition author and is not expected to be globally 1456 * unique. For example, it might be a timestamp (e.g. yyyymmdd) if 1457 * a managed version is not available. There is also no expectation 1458 * that versions can be placed in a lexicographical sequence. 1459 */ 1460 public MessageDefinition setVersion(String value) { 1461 if (Utilities.noString(value)) 1462 this.version = null; 1463 else { 1464 if (this.version == null) 1465 this.version = new StringType(); 1466 this.version.setValue(value); 1467 } 1468 return this; 1469 } 1470 1471 /** 1472 * @return {@link #name} (A natural language name identifying the message 1473 * definition. This name should be usable as an identifier for the 1474 * module by machine processing applications such as code generation.). 1475 * This is the underlying object with id, value and extensions. The 1476 * accessor "getName" gives direct access to the value 1477 */ 1478 public StringType getNameElement() { 1479 if (this.name == null) 1480 if (Configuration.errorOnAutoCreate()) 1481 throw new Error("Attempt to auto-create MessageDefinition.name"); 1482 else if (Configuration.doAutoCreate()) 1483 this.name = new StringType(); // bb 1484 return this.name; 1485 } 1486 1487 public boolean hasNameElement() { 1488 return this.name != null && !this.name.isEmpty(); 1489 } 1490 1491 public boolean hasName() { 1492 return this.name != null && !this.name.isEmpty(); 1493 } 1494 1495 /** 1496 * @param value {@link #name} (A natural language name identifying the message 1497 * definition. This name should be usable as an identifier for the 1498 * module by machine processing applications such as code 1499 * generation.). This is the underlying object with id, value and 1500 * extensions. The accessor "getName" gives direct access to the 1501 * value 1502 */ 1503 public MessageDefinition setNameElement(StringType value) { 1504 this.name = value; 1505 return this; 1506 } 1507 1508 /** 1509 * @return A natural language name identifying the message definition. This name 1510 * should be usable as an identifier for the module by machine 1511 * processing applications such as code generation. 1512 */ 1513 public String getName() { 1514 return this.name == null ? null : this.name.getValue(); 1515 } 1516 1517 /** 1518 * @param value A natural language name identifying the message definition. This 1519 * name should be usable as an identifier for the module by machine 1520 * processing applications such as code generation. 1521 */ 1522 public MessageDefinition setName(String value) { 1523 if (Utilities.noString(value)) 1524 this.name = null; 1525 else { 1526 if (this.name == null) 1527 this.name = new StringType(); 1528 this.name.setValue(value); 1529 } 1530 return this; 1531 } 1532 1533 /** 1534 * @return {@link #title} (A short, descriptive, user-friendly title for the 1535 * message definition.). This is the underlying object with id, value 1536 * and extensions. The accessor "getTitle" gives direct access to the 1537 * value 1538 */ 1539 public StringType getTitleElement() { 1540 if (this.title == null) 1541 if (Configuration.errorOnAutoCreate()) 1542 throw new Error("Attempt to auto-create MessageDefinition.title"); 1543 else if (Configuration.doAutoCreate()) 1544 this.title = new StringType(); // bb 1545 return this.title; 1546 } 1547 1548 public boolean hasTitleElement() { 1549 return this.title != null && !this.title.isEmpty(); 1550 } 1551 1552 public boolean hasTitle() { 1553 return this.title != null && !this.title.isEmpty(); 1554 } 1555 1556 /** 1557 * @param value {@link #title} (A short, descriptive, user-friendly title for 1558 * the message definition.). This is the underlying object with id, 1559 * value and extensions. The accessor "getTitle" gives direct 1560 * access to the value 1561 */ 1562 public MessageDefinition setTitleElement(StringType value) { 1563 this.title = value; 1564 return this; 1565 } 1566 1567 /** 1568 * @return A short, descriptive, user-friendly title for the message definition. 1569 */ 1570 public String getTitle() { 1571 return this.title == null ? null : this.title.getValue(); 1572 } 1573 1574 /** 1575 * @param value A short, descriptive, user-friendly title for the message 1576 * definition. 1577 */ 1578 public MessageDefinition setTitle(String value) { 1579 if (Utilities.noString(value)) 1580 this.title = null; 1581 else { 1582 if (this.title == null) 1583 this.title = new StringType(); 1584 this.title.setValue(value); 1585 } 1586 return this; 1587 } 1588 1589 /** 1590 * @return {@link #replaces} (A MessageDefinition that is superseded by this 1591 * definition.) 1592 */ 1593 public List<CanonicalType> getReplaces() { 1594 if (this.replaces == null) 1595 this.replaces = new ArrayList<CanonicalType>(); 1596 return this.replaces; 1597 } 1598 1599 /** 1600 * @return Returns a reference to <code>this</code> for easy method chaining 1601 */ 1602 public MessageDefinition setReplaces(List<CanonicalType> theReplaces) { 1603 this.replaces = theReplaces; 1604 return this; 1605 } 1606 1607 public boolean hasReplaces() { 1608 if (this.replaces == null) 1609 return false; 1610 for (CanonicalType item : this.replaces) 1611 if (!item.isEmpty()) 1612 return true; 1613 return false; 1614 } 1615 1616 /** 1617 * @return {@link #replaces} (A MessageDefinition that is superseded by this 1618 * definition.) 1619 */ 1620 public CanonicalType addReplacesElement() {// 2 1621 CanonicalType t = new CanonicalType(); 1622 if (this.replaces == null) 1623 this.replaces = new ArrayList<CanonicalType>(); 1624 this.replaces.add(t); 1625 return t; 1626 } 1627 1628 /** 1629 * @param value {@link #replaces} (A MessageDefinition that is superseded by 1630 * this definition.) 1631 */ 1632 public MessageDefinition addReplaces(String value) { // 1 1633 CanonicalType t = new CanonicalType(); 1634 t.setValue(value); 1635 if (this.replaces == null) 1636 this.replaces = new ArrayList<CanonicalType>(); 1637 this.replaces.add(t); 1638 return this; 1639 } 1640 1641 /** 1642 * @param value {@link #replaces} (A MessageDefinition that is superseded by 1643 * this definition.) 1644 */ 1645 public boolean hasReplaces(String value) { 1646 if (this.replaces == null) 1647 return false; 1648 for (CanonicalType v : this.replaces) 1649 if (v.getValue().equals(value)) // canonical(MessageDefinition) 1650 return true; 1651 return false; 1652 } 1653 1654 /** 1655 * @return {@link #status} (The status of this message definition. Enables 1656 * tracking the life-cycle of the content.). This is the underlying 1657 * object with id, value and extensions. The accessor "getStatus" gives 1658 * direct access to the value 1659 */ 1660 public Enumeration<PublicationStatus> getStatusElement() { 1661 if (this.status == null) 1662 if (Configuration.errorOnAutoCreate()) 1663 throw new Error("Attempt to auto-create MessageDefinition.status"); 1664 else if (Configuration.doAutoCreate()) 1665 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1666 return this.status; 1667 } 1668 1669 public boolean hasStatusElement() { 1670 return this.status != null && !this.status.isEmpty(); 1671 } 1672 1673 public boolean hasStatus() { 1674 return this.status != null && !this.status.isEmpty(); 1675 } 1676 1677 /** 1678 * @param value {@link #status} (The status of this message definition. Enables 1679 * tracking the life-cycle of the content.). This is the underlying 1680 * object with id, value and extensions. The accessor "getStatus" 1681 * gives direct access to the value 1682 */ 1683 public MessageDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1684 this.status = value; 1685 return this; 1686 } 1687 1688 /** 1689 * @return The status of this message definition. Enables tracking the 1690 * life-cycle of the content. 1691 */ 1692 public PublicationStatus getStatus() { 1693 return this.status == null ? null : this.status.getValue(); 1694 } 1695 1696 /** 1697 * @param value The status of this message definition. Enables tracking the 1698 * life-cycle of the content. 1699 */ 1700 public MessageDefinition setStatus(PublicationStatus value) { 1701 if (this.status == null) 1702 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1703 this.status.setValue(value); 1704 return this; 1705 } 1706 1707 /** 1708 * @return {@link #experimental} (A Boolean value to indicate that this message 1709 * definition is authored for testing purposes (or 1710 * education/evaluation/marketing) and is not intended to be used for 1711 * genuine usage.). This is the underlying object with id, value and 1712 * extensions. The accessor "getExperimental" gives direct access to the 1713 * value 1714 */ 1715 public BooleanType getExperimentalElement() { 1716 if (this.experimental == null) 1717 if (Configuration.errorOnAutoCreate()) 1718 throw new Error("Attempt to auto-create MessageDefinition.experimental"); 1719 else if (Configuration.doAutoCreate()) 1720 this.experimental = new BooleanType(); // bb 1721 return this.experimental; 1722 } 1723 1724 public boolean hasExperimentalElement() { 1725 return this.experimental != null && !this.experimental.isEmpty(); 1726 } 1727 1728 public boolean hasExperimental() { 1729 return this.experimental != null && !this.experimental.isEmpty(); 1730 } 1731 1732 /** 1733 * @param value {@link #experimental} (A Boolean value to indicate that this 1734 * message definition is authored for testing purposes (or 1735 * education/evaluation/marketing) and is not intended to be used 1736 * for genuine usage.). This is the underlying object with id, 1737 * value and extensions. The accessor "getExperimental" gives 1738 * direct access to the value 1739 */ 1740 public MessageDefinition setExperimentalElement(BooleanType value) { 1741 this.experimental = value; 1742 return this; 1743 } 1744 1745 /** 1746 * @return A Boolean value to indicate that this message definition is authored 1747 * for testing purposes (or education/evaluation/marketing) and is not 1748 * intended to be used for genuine usage. 1749 */ 1750 public boolean getExperimental() { 1751 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 1752 } 1753 1754 /** 1755 * @param value A Boolean value to indicate that this message definition is 1756 * authored for testing purposes (or 1757 * education/evaluation/marketing) and is not intended to be used 1758 * for genuine usage. 1759 */ 1760 public MessageDefinition setExperimental(boolean value) { 1761 if (this.experimental == null) 1762 this.experimental = new BooleanType(); 1763 this.experimental.setValue(value); 1764 return this; 1765 } 1766 1767 /** 1768 * @return {@link #date} (The date (and optionally time) when the message 1769 * definition was published. The date must change when the business 1770 * version changes and it must change if the status code changes. In 1771 * addition, it should change when the substantive content of the 1772 * message definition changes.). This is the underlying object with id, 1773 * value and extensions. The accessor "getDate" gives direct access to 1774 * the value 1775 */ 1776 public DateTimeType getDateElement() { 1777 if (this.date == null) 1778 if (Configuration.errorOnAutoCreate()) 1779 throw new Error("Attempt to auto-create MessageDefinition.date"); 1780 else if (Configuration.doAutoCreate()) 1781 this.date = new DateTimeType(); // bb 1782 return this.date; 1783 } 1784 1785 public boolean hasDateElement() { 1786 return this.date != null && !this.date.isEmpty(); 1787 } 1788 1789 public boolean hasDate() { 1790 return this.date != null && !this.date.isEmpty(); 1791 } 1792 1793 /** 1794 * @param value {@link #date} (The date (and optionally time) when the message 1795 * definition was published. The date must change when the business 1796 * version changes and it must change if the status code changes. 1797 * In addition, it should change when the substantive content of 1798 * the message definition changes.). This is the underlying object 1799 * with id, value and extensions. The accessor "getDate" gives 1800 * direct access to the value 1801 */ 1802 public MessageDefinition setDateElement(DateTimeType value) { 1803 this.date = value; 1804 return this; 1805 } 1806 1807 /** 1808 * @return The date (and optionally time) when the message definition was 1809 * published. The date must change when the business version changes and 1810 * it must change if the status code changes. In addition, it should 1811 * change when the substantive content of the message definition 1812 * changes. 1813 */ 1814 public Date getDate() { 1815 return this.date == null ? null : this.date.getValue(); 1816 } 1817 1818 /** 1819 * @param value The date (and optionally time) when the message definition was 1820 * published. The date must change when the business version 1821 * changes and it must change if the status code changes. In 1822 * addition, it should change when the substantive content of the 1823 * message definition changes. 1824 */ 1825 public MessageDefinition setDate(Date value) { 1826 if (this.date == null) 1827 this.date = new DateTimeType(); 1828 this.date.setValue(value); 1829 return this; 1830 } 1831 1832 /** 1833 * @return {@link #publisher} (The name of the organization or individual that 1834 * published the message definition.). This is the underlying object 1835 * with id, value and extensions. The accessor "getPublisher" gives 1836 * direct access to the value 1837 */ 1838 public StringType getPublisherElement() { 1839 if (this.publisher == null) 1840 if (Configuration.errorOnAutoCreate()) 1841 throw new Error("Attempt to auto-create MessageDefinition.publisher"); 1842 else if (Configuration.doAutoCreate()) 1843 this.publisher = new StringType(); // bb 1844 return this.publisher; 1845 } 1846 1847 public boolean hasPublisherElement() { 1848 return this.publisher != null && !this.publisher.isEmpty(); 1849 } 1850 1851 public boolean hasPublisher() { 1852 return this.publisher != null && !this.publisher.isEmpty(); 1853 } 1854 1855 /** 1856 * @param value {@link #publisher} (The name of the organization or individual 1857 * that published the message definition.). This is the underlying 1858 * object with id, value and extensions. The accessor 1859 * "getPublisher" gives direct access to the value 1860 */ 1861 public MessageDefinition setPublisherElement(StringType value) { 1862 this.publisher = value; 1863 return this; 1864 } 1865 1866 /** 1867 * @return The name of the organization or individual that published the message 1868 * definition. 1869 */ 1870 public String getPublisher() { 1871 return this.publisher == null ? null : this.publisher.getValue(); 1872 } 1873 1874 /** 1875 * @param value The name of the organization or individual that published the 1876 * message definition. 1877 */ 1878 public MessageDefinition setPublisher(String value) { 1879 if (Utilities.noString(value)) 1880 this.publisher = null; 1881 else { 1882 if (this.publisher == null) 1883 this.publisher = new StringType(); 1884 this.publisher.setValue(value); 1885 } 1886 return this; 1887 } 1888 1889 /** 1890 * @return {@link #contact} (Contact details to assist a user in finding and 1891 * communicating with the publisher.) 1892 */ 1893 public List<ContactDetail> getContact() { 1894 if (this.contact == null) 1895 this.contact = new ArrayList<ContactDetail>(); 1896 return this.contact; 1897 } 1898 1899 /** 1900 * @return Returns a reference to <code>this</code> for easy method chaining 1901 */ 1902 public MessageDefinition setContact(List<ContactDetail> theContact) { 1903 this.contact = theContact; 1904 return this; 1905 } 1906 1907 public boolean hasContact() { 1908 if (this.contact == null) 1909 return false; 1910 for (ContactDetail item : this.contact) 1911 if (!item.isEmpty()) 1912 return true; 1913 return false; 1914 } 1915 1916 public ContactDetail addContact() { // 3 1917 ContactDetail t = new ContactDetail(); 1918 if (this.contact == null) 1919 this.contact = new ArrayList<ContactDetail>(); 1920 this.contact.add(t); 1921 return t; 1922 } 1923 1924 public MessageDefinition addContact(ContactDetail t) { // 3 1925 if (t == null) 1926 return this; 1927 if (this.contact == null) 1928 this.contact = new ArrayList<ContactDetail>(); 1929 this.contact.add(t); 1930 return this; 1931 } 1932 1933 /** 1934 * @return The first repetition of repeating field {@link #contact}, creating it 1935 * if it does not already exist 1936 */ 1937 public ContactDetail getContactFirstRep() { 1938 if (getContact().isEmpty()) { 1939 addContact(); 1940 } 1941 return getContact().get(0); 1942 } 1943 1944 /** 1945 * @return {@link #description} (A free text natural language description of the 1946 * message definition from a consumer's perspective.). This is the 1947 * underlying object with id, value and extensions. The accessor 1948 * "getDescription" gives direct access to the value 1949 */ 1950 public MarkdownType getDescriptionElement() { 1951 if (this.description == null) 1952 if (Configuration.errorOnAutoCreate()) 1953 throw new Error("Attempt to auto-create MessageDefinition.description"); 1954 else if (Configuration.doAutoCreate()) 1955 this.description = new MarkdownType(); // bb 1956 return this.description; 1957 } 1958 1959 public boolean hasDescriptionElement() { 1960 return this.description != null && !this.description.isEmpty(); 1961 } 1962 1963 public boolean hasDescription() { 1964 return this.description != null && !this.description.isEmpty(); 1965 } 1966 1967 /** 1968 * @param value {@link #description} (A free text natural language description 1969 * of the message definition from a consumer's perspective.). This 1970 * is the underlying object with id, value and extensions. The 1971 * accessor "getDescription" gives direct access to the value 1972 */ 1973 public MessageDefinition setDescriptionElement(MarkdownType value) { 1974 this.description = value; 1975 return this; 1976 } 1977 1978 /** 1979 * @return A free text natural language description of the message definition 1980 * from a consumer's perspective. 1981 */ 1982 public String getDescription() { 1983 return this.description == null ? null : this.description.getValue(); 1984 } 1985 1986 /** 1987 * @param value A free text natural language description of the message 1988 * definition from a consumer's perspective. 1989 */ 1990 public MessageDefinition setDescription(String value) { 1991 if (value == null) 1992 this.description = null; 1993 else { 1994 if (this.description == null) 1995 this.description = new MarkdownType(); 1996 this.description.setValue(value); 1997 } 1998 return this; 1999 } 2000 2001 /** 2002 * @return {@link #useContext} (The content was developed with a focus and 2003 * intent of supporting the contexts that are listed. These contexts may 2004 * be general categories (gender, age, ...) or may be references to 2005 * specific programs (insurance plans, studies, ...) and may be used to 2006 * assist with indexing and searching for appropriate message definition 2007 * instances.) 2008 */ 2009 public List<UsageContext> getUseContext() { 2010 if (this.useContext == null) 2011 this.useContext = new ArrayList<UsageContext>(); 2012 return this.useContext; 2013 } 2014 2015 /** 2016 * @return Returns a reference to <code>this</code> for easy method chaining 2017 */ 2018 public MessageDefinition setUseContext(List<UsageContext> theUseContext) { 2019 this.useContext = theUseContext; 2020 return this; 2021 } 2022 2023 public boolean hasUseContext() { 2024 if (this.useContext == null) 2025 return false; 2026 for (UsageContext item : this.useContext) 2027 if (!item.isEmpty()) 2028 return true; 2029 return false; 2030 } 2031 2032 public UsageContext addUseContext() { // 3 2033 UsageContext t = new UsageContext(); 2034 if (this.useContext == null) 2035 this.useContext = new ArrayList<UsageContext>(); 2036 this.useContext.add(t); 2037 return t; 2038 } 2039 2040 public MessageDefinition addUseContext(UsageContext t) { // 3 2041 if (t == null) 2042 return this; 2043 if (this.useContext == null) 2044 this.useContext = new ArrayList<UsageContext>(); 2045 this.useContext.add(t); 2046 return this; 2047 } 2048 2049 /** 2050 * @return The first repetition of repeating field {@link #useContext}, creating 2051 * it if it does not already exist 2052 */ 2053 public UsageContext getUseContextFirstRep() { 2054 if (getUseContext().isEmpty()) { 2055 addUseContext(); 2056 } 2057 return getUseContext().get(0); 2058 } 2059 2060 /** 2061 * @return {@link #jurisdiction} (A legal or geographic region in which the 2062 * message definition is intended to be used.) 2063 */ 2064 public List<CodeableConcept> getJurisdiction() { 2065 if (this.jurisdiction == null) 2066 this.jurisdiction = new ArrayList<CodeableConcept>(); 2067 return this.jurisdiction; 2068 } 2069 2070 /** 2071 * @return Returns a reference to <code>this</code> for easy method chaining 2072 */ 2073 public MessageDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 2074 this.jurisdiction = theJurisdiction; 2075 return this; 2076 } 2077 2078 public boolean hasJurisdiction() { 2079 if (this.jurisdiction == null) 2080 return false; 2081 for (CodeableConcept item : this.jurisdiction) 2082 if (!item.isEmpty()) 2083 return true; 2084 return false; 2085 } 2086 2087 public CodeableConcept addJurisdiction() { // 3 2088 CodeableConcept t = new CodeableConcept(); 2089 if (this.jurisdiction == null) 2090 this.jurisdiction = new ArrayList<CodeableConcept>(); 2091 this.jurisdiction.add(t); 2092 return t; 2093 } 2094 2095 public MessageDefinition addJurisdiction(CodeableConcept t) { // 3 2096 if (t == null) 2097 return this; 2098 if (this.jurisdiction == null) 2099 this.jurisdiction = new ArrayList<CodeableConcept>(); 2100 this.jurisdiction.add(t); 2101 return this; 2102 } 2103 2104 /** 2105 * @return The first repetition of repeating field {@link #jurisdiction}, 2106 * creating it if it does not already exist 2107 */ 2108 public CodeableConcept getJurisdictionFirstRep() { 2109 if (getJurisdiction().isEmpty()) { 2110 addJurisdiction(); 2111 } 2112 return getJurisdiction().get(0); 2113 } 2114 2115 /** 2116 * @return {@link #purpose} (Explanation of why this message definition is 2117 * needed and why it has been designed as it has.). This is the 2118 * underlying object with id, value and extensions. The accessor 2119 * "getPurpose" gives direct access to the value 2120 */ 2121 public MarkdownType getPurposeElement() { 2122 if (this.purpose == null) 2123 if (Configuration.errorOnAutoCreate()) 2124 throw new Error("Attempt to auto-create MessageDefinition.purpose"); 2125 else if (Configuration.doAutoCreate()) 2126 this.purpose = new MarkdownType(); // bb 2127 return this.purpose; 2128 } 2129 2130 public boolean hasPurposeElement() { 2131 return this.purpose != null && !this.purpose.isEmpty(); 2132 } 2133 2134 public boolean hasPurpose() { 2135 return this.purpose != null && !this.purpose.isEmpty(); 2136 } 2137 2138 /** 2139 * @param value {@link #purpose} (Explanation of why this message definition is 2140 * needed and why it has been designed as it has.). This is the 2141 * underlying object with id, value and extensions. The accessor 2142 * "getPurpose" gives direct access to the value 2143 */ 2144 public MessageDefinition setPurposeElement(MarkdownType value) { 2145 this.purpose = value; 2146 return this; 2147 } 2148 2149 /** 2150 * @return Explanation of why this message definition is needed and why it has 2151 * been designed as it has. 2152 */ 2153 public String getPurpose() { 2154 return this.purpose == null ? null : this.purpose.getValue(); 2155 } 2156 2157 /** 2158 * @param value Explanation of why this message definition is needed and why it 2159 * has been designed as it has. 2160 */ 2161 public MessageDefinition setPurpose(String value) { 2162 if (value == null) 2163 this.purpose = null; 2164 else { 2165 if (this.purpose == null) 2166 this.purpose = new MarkdownType(); 2167 this.purpose.setValue(value); 2168 } 2169 return this; 2170 } 2171 2172 /** 2173 * @return {@link #copyright} (A copyright statement relating to the message 2174 * definition and/or its contents. Copyright statements are generally 2175 * legal restrictions on the use and publishing of the message 2176 * definition.). This is the underlying object with id, value and 2177 * extensions. The accessor "getCopyright" gives direct access to the 2178 * value 2179 */ 2180 public MarkdownType getCopyrightElement() { 2181 if (this.copyright == null) 2182 if (Configuration.errorOnAutoCreate()) 2183 throw new Error("Attempt to auto-create MessageDefinition.copyright"); 2184 else if (Configuration.doAutoCreate()) 2185 this.copyright = new MarkdownType(); // bb 2186 return this.copyright; 2187 } 2188 2189 public boolean hasCopyrightElement() { 2190 return this.copyright != null && !this.copyright.isEmpty(); 2191 } 2192 2193 public boolean hasCopyright() { 2194 return this.copyright != null && !this.copyright.isEmpty(); 2195 } 2196 2197 /** 2198 * @param value {@link #copyright} (A copyright statement relating to the 2199 * message definition and/or its contents. Copyright statements are 2200 * generally legal restrictions on the use and publishing of the 2201 * message definition.). This is the underlying object with id, 2202 * value and extensions. The accessor "getCopyright" gives direct 2203 * access to the value 2204 */ 2205 public MessageDefinition setCopyrightElement(MarkdownType value) { 2206 this.copyright = value; 2207 return this; 2208 } 2209 2210 /** 2211 * @return A copyright statement relating to the message definition and/or its 2212 * contents. Copyright statements are generally legal restrictions on 2213 * the use and publishing of the message definition. 2214 */ 2215 public String getCopyright() { 2216 return this.copyright == null ? null : this.copyright.getValue(); 2217 } 2218 2219 /** 2220 * @param value A copyright statement relating to the message definition and/or 2221 * its contents. Copyright statements are generally legal 2222 * restrictions on the use and publishing of the message 2223 * definition. 2224 */ 2225 public MessageDefinition setCopyright(String value) { 2226 if (value == null) 2227 this.copyright = null; 2228 else { 2229 if (this.copyright == null) 2230 this.copyright = new MarkdownType(); 2231 this.copyright.setValue(value); 2232 } 2233 return this; 2234 } 2235 2236 /** 2237 * @return {@link #base} (The MessageDefinition that is the basis for the 2238 * contents of this resource.). This is the underlying object with id, 2239 * value and extensions. The accessor "getBase" gives direct access to 2240 * the value 2241 */ 2242 public CanonicalType getBaseElement() { 2243 if (this.base == null) 2244 if (Configuration.errorOnAutoCreate()) 2245 throw new Error("Attempt to auto-create MessageDefinition.base"); 2246 else if (Configuration.doAutoCreate()) 2247 this.base = new CanonicalType(); // bb 2248 return this.base; 2249 } 2250 2251 public boolean hasBaseElement() { 2252 return this.base != null && !this.base.isEmpty(); 2253 } 2254 2255 public boolean hasBase() { 2256 return this.base != null && !this.base.isEmpty(); 2257 } 2258 2259 /** 2260 * @param value {@link #base} (The MessageDefinition that is the basis for the 2261 * contents of this resource.). This is the underlying object with 2262 * id, value and extensions. The accessor "getBase" gives direct 2263 * access to the value 2264 */ 2265 public MessageDefinition setBaseElement(CanonicalType value) { 2266 this.base = value; 2267 return this; 2268 } 2269 2270 /** 2271 * @return The MessageDefinition that is the basis for the contents of this 2272 * resource. 2273 */ 2274 public String getBase() { 2275 return this.base == null ? null : this.base.getValue(); 2276 } 2277 2278 /** 2279 * @param value The MessageDefinition that is the basis for the contents of this 2280 * resource. 2281 */ 2282 public MessageDefinition setBase(String value) { 2283 if (Utilities.noString(value)) 2284 this.base = null; 2285 else { 2286 if (this.base == null) 2287 this.base = new CanonicalType(); 2288 this.base.setValue(value); 2289 } 2290 return this; 2291 } 2292 2293 /** 2294 * @return {@link #parent} (Identifies a protocol or workflow that this 2295 * MessageDefinition represents a step in.) 2296 */ 2297 public List<CanonicalType> getParent() { 2298 if (this.parent == null) 2299 this.parent = new ArrayList<CanonicalType>(); 2300 return this.parent; 2301 } 2302 2303 /** 2304 * @return Returns a reference to <code>this</code> for easy method chaining 2305 */ 2306 public MessageDefinition setParent(List<CanonicalType> theParent) { 2307 this.parent = theParent; 2308 return this; 2309 } 2310 2311 public boolean hasParent() { 2312 if (this.parent == null) 2313 return false; 2314 for (CanonicalType item : this.parent) 2315 if (!item.isEmpty()) 2316 return true; 2317 return false; 2318 } 2319 2320 /** 2321 * @return {@link #parent} (Identifies a protocol or workflow that this 2322 * MessageDefinition represents a step in.) 2323 */ 2324 public CanonicalType addParentElement() {// 2 2325 CanonicalType t = new CanonicalType(); 2326 if (this.parent == null) 2327 this.parent = new ArrayList<CanonicalType>(); 2328 this.parent.add(t); 2329 return t; 2330 } 2331 2332 /** 2333 * @param value {@link #parent} (Identifies a protocol or workflow that this 2334 * MessageDefinition represents a step in.) 2335 */ 2336 public MessageDefinition addParent(String value) { // 1 2337 CanonicalType t = new CanonicalType(); 2338 t.setValue(value); 2339 if (this.parent == null) 2340 this.parent = new ArrayList<CanonicalType>(); 2341 this.parent.add(t); 2342 return this; 2343 } 2344 2345 /** 2346 * @param value {@link #parent} (Identifies a protocol or workflow that this 2347 * MessageDefinition represents a step in.) 2348 */ 2349 public boolean hasParent(String value) { 2350 if (this.parent == null) 2351 return false; 2352 for (CanonicalType v : this.parent) 2353 if (v.getValue().equals(value)) // canonical(ActivityDefinition|PlanDefinition) 2354 return true; 2355 return false; 2356 } 2357 2358 /** 2359 * @return {@link #event} (Event code or link to the EventDefinition.) 2360 */ 2361 public Type getEvent() { 2362 return this.event; 2363 } 2364 2365 /** 2366 * @return {@link #event} (Event code or link to the EventDefinition.) 2367 */ 2368 public Coding getEventCoding() throws FHIRException { 2369 if (this.event == null) 2370 this.event = new Coding(); 2371 if (!(this.event instanceof Coding)) 2372 throw new FHIRException( 2373 "Type mismatch: the type Coding was expected, but " + this.event.getClass().getName() + " was encountered"); 2374 return (Coding) this.event; 2375 } 2376 2377 public boolean hasEventCoding() { 2378 return this != null && this.event instanceof Coding; 2379 } 2380 2381 /** 2382 * @return {@link #event} (Event code or link to the EventDefinition.) 2383 */ 2384 public UriType getEventUriType() throws FHIRException { 2385 if (this.event == null) 2386 this.event = new UriType(); 2387 if (!(this.event instanceof UriType)) 2388 throw new FHIRException( 2389 "Type mismatch: the type UriType was expected, but " + this.event.getClass().getName() + " was encountered"); 2390 return (UriType) this.event; 2391 } 2392 2393 public boolean hasEventUriType() { 2394 return this != null && this.event instanceof UriType; 2395 } 2396 2397 public boolean hasEvent() { 2398 return this.event != null && !this.event.isEmpty(); 2399 } 2400 2401 /** 2402 * @param value {@link #event} (Event code or link to the EventDefinition.) 2403 */ 2404 public MessageDefinition setEvent(Type value) { 2405 if (value != null && !(value instanceof Coding || value instanceof UriType)) 2406 throw new Error("Not the right type for MessageDefinition.event[x]: " + value.fhirType()); 2407 this.event = value; 2408 return this; 2409 } 2410 2411 /** 2412 * @return {@link #category} (The impact of the content of the message.). This 2413 * is the underlying object with id, value and extensions. The accessor 2414 * "getCategory" gives direct access to the value 2415 */ 2416 public Enumeration<MessageSignificanceCategory> getCategoryElement() { 2417 if (this.category == null) 2418 if (Configuration.errorOnAutoCreate()) 2419 throw new Error("Attempt to auto-create MessageDefinition.category"); 2420 else if (Configuration.doAutoCreate()) 2421 this.category = new Enumeration<MessageSignificanceCategory>(new MessageSignificanceCategoryEnumFactory()); // bb 2422 return this.category; 2423 } 2424 2425 public boolean hasCategoryElement() { 2426 return this.category != null && !this.category.isEmpty(); 2427 } 2428 2429 public boolean hasCategory() { 2430 return this.category != null && !this.category.isEmpty(); 2431 } 2432 2433 /** 2434 * @param value {@link #category} (The impact of the content of the message.). 2435 * This is the underlying object with id, value and extensions. The 2436 * accessor "getCategory" gives direct access to the value 2437 */ 2438 public MessageDefinition setCategoryElement(Enumeration<MessageSignificanceCategory> value) { 2439 this.category = value; 2440 return this; 2441 } 2442 2443 /** 2444 * @return The impact of the content of the message. 2445 */ 2446 public MessageSignificanceCategory getCategory() { 2447 return this.category == null ? null : this.category.getValue(); 2448 } 2449 2450 /** 2451 * @param value The impact of the content of the message. 2452 */ 2453 public MessageDefinition setCategory(MessageSignificanceCategory value) { 2454 if (value == null) 2455 this.category = null; 2456 else { 2457 if (this.category == null) 2458 this.category = new Enumeration<MessageSignificanceCategory>(new MessageSignificanceCategoryEnumFactory()); 2459 this.category.setValue(value); 2460 } 2461 return this; 2462 } 2463 2464 /** 2465 * @return {@link #focus} (Identifies the resource (or resources) that are being 2466 * addressed by the event. For example, the Encounter for an admit 2467 * message or two Account records for a merge.) 2468 */ 2469 public List<MessageDefinitionFocusComponent> getFocus() { 2470 if (this.focus == null) 2471 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2472 return this.focus; 2473 } 2474 2475 /** 2476 * @return Returns a reference to <code>this</code> for easy method chaining 2477 */ 2478 public MessageDefinition setFocus(List<MessageDefinitionFocusComponent> theFocus) { 2479 this.focus = theFocus; 2480 return this; 2481 } 2482 2483 public boolean hasFocus() { 2484 if (this.focus == null) 2485 return false; 2486 for (MessageDefinitionFocusComponent item : this.focus) 2487 if (!item.isEmpty()) 2488 return true; 2489 return false; 2490 } 2491 2492 public MessageDefinitionFocusComponent addFocus() { // 3 2493 MessageDefinitionFocusComponent t = new MessageDefinitionFocusComponent(); 2494 if (this.focus == null) 2495 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2496 this.focus.add(t); 2497 return t; 2498 } 2499 2500 public MessageDefinition addFocus(MessageDefinitionFocusComponent t) { // 3 2501 if (t == null) 2502 return this; 2503 if (this.focus == null) 2504 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2505 this.focus.add(t); 2506 return this; 2507 } 2508 2509 /** 2510 * @return The first repetition of repeating field {@link #focus}, creating it 2511 * if it does not already exist 2512 */ 2513 public MessageDefinitionFocusComponent getFocusFirstRep() { 2514 if (getFocus().isEmpty()) { 2515 addFocus(); 2516 } 2517 return getFocus().get(0); 2518 } 2519 2520 /** 2521 * @return {@link #responseRequired} (Declare at a message definition level 2522 * whether a response is required or only upon error or success, or 2523 * never.). This is the underlying object with id, value and extensions. 2524 * The accessor "getResponseRequired" gives direct access to the value 2525 */ 2526 public Enumeration<MessageheaderResponseRequest> getResponseRequiredElement() { 2527 if (this.responseRequired == null) 2528 if (Configuration.errorOnAutoCreate()) 2529 throw new Error("Attempt to auto-create MessageDefinition.responseRequired"); 2530 else if (Configuration.doAutoCreate()) 2531 this.responseRequired = new Enumeration<MessageheaderResponseRequest>( 2532 new MessageheaderResponseRequestEnumFactory()); // bb 2533 return this.responseRequired; 2534 } 2535 2536 public boolean hasResponseRequiredElement() { 2537 return this.responseRequired != null && !this.responseRequired.isEmpty(); 2538 } 2539 2540 public boolean hasResponseRequired() { 2541 return this.responseRequired != null && !this.responseRequired.isEmpty(); 2542 } 2543 2544 /** 2545 * @param value {@link #responseRequired} (Declare at a message definition level 2546 * whether a response is required or only upon error or success, or 2547 * never.). This is the underlying object with id, value and 2548 * extensions. The accessor "getResponseRequired" gives direct 2549 * access to the value 2550 */ 2551 public MessageDefinition setResponseRequiredElement(Enumeration<MessageheaderResponseRequest> value) { 2552 this.responseRequired = value; 2553 return this; 2554 } 2555 2556 /** 2557 * @return Declare at a message definition level whether a response is required 2558 * or only upon error or success, or never. 2559 */ 2560 public MessageheaderResponseRequest getResponseRequired() { 2561 return this.responseRequired == null ? null : this.responseRequired.getValue(); 2562 } 2563 2564 /** 2565 * @param value Declare at a message definition level whether a response is 2566 * required or only upon error or success, or never. 2567 */ 2568 public MessageDefinition setResponseRequired(MessageheaderResponseRequest value) { 2569 if (value == null) 2570 this.responseRequired = null; 2571 else { 2572 if (this.responseRequired == null) 2573 this.responseRequired = new Enumeration<MessageheaderResponseRequest>( 2574 new MessageheaderResponseRequestEnumFactory()); 2575 this.responseRequired.setValue(value); 2576 } 2577 return this; 2578 } 2579 2580 /** 2581 * @return {@link #allowedResponse} (Indicates what types of messages may be 2582 * sent as an application-level response to this message.) 2583 */ 2584 public List<MessageDefinitionAllowedResponseComponent> getAllowedResponse() { 2585 if (this.allowedResponse == null) 2586 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2587 return this.allowedResponse; 2588 } 2589 2590 /** 2591 * @return Returns a reference to <code>this</code> for easy method chaining 2592 */ 2593 public MessageDefinition setAllowedResponse(List<MessageDefinitionAllowedResponseComponent> theAllowedResponse) { 2594 this.allowedResponse = theAllowedResponse; 2595 return this; 2596 } 2597 2598 public boolean hasAllowedResponse() { 2599 if (this.allowedResponse == null) 2600 return false; 2601 for (MessageDefinitionAllowedResponseComponent item : this.allowedResponse) 2602 if (!item.isEmpty()) 2603 return true; 2604 return false; 2605 } 2606 2607 public MessageDefinitionAllowedResponseComponent addAllowedResponse() { // 3 2608 MessageDefinitionAllowedResponseComponent t = new MessageDefinitionAllowedResponseComponent(); 2609 if (this.allowedResponse == null) 2610 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2611 this.allowedResponse.add(t); 2612 return t; 2613 } 2614 2615 public MessageDefinition addAllowedResponse(MessageDefinitionAllowedResponseComponent t) { // 3 2616 if (t == null) 2617 return this; 2618 if (this.allowedResponse == null) 2619 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2620 this.allowedResponse.add(t); 2621 return this; 2622 } 2623 2624 /** 2625 * @return The first repetition of repeating field {@link #allowedResponse}, 2626 * creating it if it does not already exist 2627 */ 2628 public MessageDefinitionAllowedResponseComponent getAllowedResponseFirstRep() { 2629 if (getAllowedResponse().isEmpty()) { 2630 addAllowedResponse(); 2631 } 2632 return getAllowedResponse().get(0); 2633 } 2634 2635 /** 2636 * @return {@link #graph} (Canonical reference to a GraphDefinition. If a URL is 2637 * provided, it is the canonical reference to a [[[GraphDefinition]]] 2638 * that it controls what resources are to be added to the bundle when 2639 * building the document. The GraphDefinition can also specify profiles 2640 * that apply to the various resources.) 2641 */ 2642 public List<CanonicalType> getGraph() { 2643 if (this.graph == null) 2644 this.graph = new ArrayList<CanonicalType>(); 2645 return this.graph; 2646 } 2647 2648 /** 2649 * @return Returns a reference to <code>this</code> for easy method chaining 2650 */ 2651 public MessageDefinition setGraph(List<CanonicalType> theGraph) { 2652 this.graph = theGraph; 2653 return this; 2654 } 2655 2656 public boolean hasGraph() { 2657 if (this.graph == null) 2658 return false; 2659 for (CanonicalType item : this.graph) 2660 if (!item.isEmpty()) 2661 return true; 2662 return false; 2663 } 2664 2665 /** 2666 * @return {@link #graph} (Canonical reference to a GraphDefinition. If a URL is 2667 * provided, it is the canonical reference to a [[[GraphDefinition]]] 2668 * that it controls what resources are to be added to the bundle when 2669 * building the document. The GraphDefinition can also specify profiles 2670 * that apply to the various resources.) 2671 */ 2672 public CanonicalType addGraphElement() {// 2 2673 CanonicalType t = new CanonicalType(); 2674 if (this.graph == null) 2675 this.graph = new ArrayList<CanonicalType>(); 2676 this.graph.add(t); 2677 return t; 2678 } 2679 2680 /** 2681 * @param value {@link #graph} (Canonical reference to a GraphDefinition. If a 2682 * URL is provided, it is the canonical reference to a 2683 * [[[GraphDefinition]]] that it controls what resources are to be 2684 * added to the bundle when building the document. The 2685 * GraphDefinition can also specify profiles that apply to the 2686 * various resources.) 2687 */ 2688 public MessageDefinition addGraph(String value) { // 1 2689 CanonicalType t = new CanonicalType(); 2690 t.setValue(value); 2691 if (this.graph == null) 2692 this.graph = new ArrayList<CanonicalType>(); 2693 this.graph.add(t); 2694 return this; 2695 } 2696 2697 /** 2698 * @param value {@link #graph} (Canonical reference to a GraphDefinition. If a 2699 * URL is provided, it is the canonical reference to a 2700 * [[[GraphDefinition]]] that it controls what resources are to be 2701 * added to the bundle when building the document. The 2702 * GraphDefinition can also specify profiles that apply to the 2703 * various resources.) 2704 */ 2705 public boolean hasGraph(String value) { 2706 if (this.graph == null) 2707 return false; 2708 for (CanonicalType v : this.graph) 2709 if (v.getValue().equals(value)) // canonical(GraphDefinition) 2710 return true; 2711 return false; 2712 } 2713 2714 protected void listChildren(List<Property> children) { 2715 super.listChildren(children); 2716 children.add(new Property("url", "uri", 2717 "The business identifier that is used to reference the MessageDefinition and *is* expected to be consistent from server to server.", 2718 0, 1, url)); 2719 children.add(new Property("identifier", "Identifier", 2720 "A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 2721 0, java.lang.Integer.MAX_VALUE, identifier)); 2722 children.add(new Property("version", "string", 2723 "The identifier that is used to identify this version of the message definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the message definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 2724 0, 1, version)); 2725 children.add(new Property("name", "string", 2726 "A natural language name identifying the message definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 2727 0, 1, name)); 2728 children.add(new Property("title", "string", 2729 "A short, descriptive, user-friendly title for the message definition.", 0, 1, title)); 2730 children.add(new Property("replaces", "canonical(MessageDefinition)", 2731 "A MessageDefinition that is superseded by this definition.", 0, java.lang.Integer.MAX_VALUE, replaces)); 2732 children.add(new Property("status", "code", 2733 "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 2734 children.add(new Property("experimental", "boolean", 2735 "A Boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 2736 0, 1, experimental)); 2737 children.add(new Property("date", "dateTime", 2738 "The date (and optionally time) when the message definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.", 2739 0, 1, date)); 2740 children.add(new Property("publisher", "string", 2741 "The name of the organization or individual that published the message definition.", 0, 1, publisher)); 2742 children.add(new Property("contact", "ContactDetail", 2743 "Contact details to assist a user in finding and communicating with the publisher.", 0, 2744 java.lang.Integer.MAX_VALUE, contact)); 2745 children.add(new Property("description", "markdown", 2746 "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, 2747 description)); 2748 children.add(new Property("useContext", "UsageContext", 2749 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.", 2750 0, java.lang.Integer.MAX_VALUE, useContext)); 2751 children.add(new Property("jurisdiction", "CodeableConcept", 2752 "A legal or geographic region in which the message definition is intended to be used.", 0, 2753 java.lang.Integer.MAX_VALUE, jurisdiction)); 2754 children.add(new Property("purpose", "markdown", 2755 "Explanation of why this message definition is needed and why it has been designed as it has.", 0, 1, purpose)); 2756 children.add(new Property("copyright", "markdown", 2757 "A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.", 2758 0, 1, copyright)); 2759 children.add(new Property("base", "canonical(MessageDefinition)", 2760 "The MessageDefinition that is the basis for the contents of this resource.", 0, 1, base)); 2761 children.add(new Property("parent", "canonical(ActivityDefinition|PlanDefinition)", 2762 "Identifies a protocol or workflow that this MessageDefinition represents a step in.", 0, 2763 java.lang.Integer.MAX_VALUE, parent)); 2764 children.add(new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event)); 2765 children.add(new Property("category", "code", "The impact of the content of the message.", 0, 1, category)); 2766 children.add(new Property("focus", "", 2767 "Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.", 2768 0, java.lang.Integer.MAX_VALUE, focus)); 2769 children.add(new Property("responseRequired", "code", 2770 "Declare at a message definition level whether a response is required or only upon error or success, or never.", 2771 0, 1, responseRequired)); 2772 children.add(new Property("allowedResponse", "", 2773 "Indicates what types of messages may be sent as an application-level response to this message.", 0, 2774 java.lang.Integer.MAX_VALUE, allowedResponse)); 2775 children.add(new Property("graph", "canonical(GraphDefinition)", 2776 "Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.", 2777 0, java.lang.Integer.MAX_VALUE, graph)); 2778 } 2779 2780 @Override 2781 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2782 switch (_hash) { 2783 case 116079: 2784 /* url */ return new Property("url", "uri", 2785 "The business identifier that is used to reference the MessageDefinition and *is* expected to be consistent from server to server.", 2786 0, 1, url); 2787 case -1618432855: 2788 /* identifier */ return new Property("identifier", "Identifier", 2789 "A formal identifier that is used to identify this message definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 2790 0, java.lang.Integer.MAX_VALUE, identifier); 2791 case 351608024: 2792 /* version */ return new Property("version", "string", 2793 "The identifier that is used to identify this version of the message definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the message definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 2794 0, 1, version); 2795 case 3373707: 2796 /* name */ return new Property("name", "string", 2797 "A natural language name identifying the message definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 2798 0, 1, name); 2799 case 110371416: 2800 /* title */ return new Property("title", "string", 2801 "A short, descriptive, user-friendly title for the message definition.", 0, 1, title); 2802 case -430332865: 2803 /* replaces */ return new Property("replaces", "canonical(MessageDefinition)", 2804 "A MessageDefinition that is superseded by this definition.", 0, java.lang.Integer.MAX_VALUE, replaces); 2805 case -892481550: 2806 /* status */ return new Property("status", "code", 2807 "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status); 2808 case -404562712: 2809 /* experimental */ return new Property("experimental", "boolean", 2810 "A Boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 2811 0, 1, experimental); 2812 case 3076014: 2813 /* date */ return new Property("date", "dateTime", 2814 "The date (and optionally time) when the message definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.", 2815 0, 1, date); 2816 case 1447404028: 2817 /* publisher */ return new Property("publisher", "string", 2818 "The name of the organization or individual that published the message definition.", 0, 1, publisher); 2819 case 951526432: 2820 /* contact */ return new Property("contact", "ContactDetail", 2821 "Contact details to assist a user in finding and communicating with the publisher.", 0, 2822 java.lang.Integer.MAX_VALUE, contact); 2823 case -1724546052: 2824 /* description */ return new Property("description", "markdown", 2825 "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, 2826 description); 2827 case -669707736: 2828 /* useContext */ return new Property("useContext", "UsageContext", 2829 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.", 2830 0, java.lang.Integer.MAX_VALUE, useContext); 2831 case -507075711: 2832 /* jurisdiction */ return new Property("jurisdiction", "CodeableConcept", 2833 "A legal or geographic region in which the message definition is intended to be used.", 0, 2834 java.lang.Integer.MAX_VALUE, jurisdiction); 2835 case -220463842: 2836 /* purpose */ return new Property("purpose", "markdown", 2837 "Explanation of why this message definition is needed and why it has been designed as it has.", 0, 1, 2838 purpose); 2839 case 1522889671: 2840 /* copyright */ return new Property("copyright", "markdown", 2841 "A copyright statement relating to the message definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the message definition.", 2842 0, 1, copyright); 2843 case 3016401: 2844 /* base */ return new Property("base", "canonical(MessageDefinition)", 2845 "The MessageDefinition that is the basis for the contents of this resource.", 0, 1, base); 2846 case -995424086: 2847 /* parent */ return new Property("parent", "canonical(ActivityDefinition|PlanDefinition)", 2848 "Identifies a protocol or workflow that this MessageDefinition represents a step in.", 0, 2849 java.lang.Integer.MAX_VALUE, parent); 2850 case 278115238: 2851 /* event[x] */ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, 2852 event); 2853 case 96891546: 2854 /* event */ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, 2855 event); 2856 case -355957084: 2857 /* eventCoding */ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 2858 1, event); 2859 case 278109298: 2860 /* eventUri */ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, 2861 event); 2862 case 50511102: 2863 /* category */ return new Property("category", "code", "The impact of the content of the message.", 0, 1, 2864 category); 2865 case 97604824: 2866 /* focus */ return new Property("focus", "", 2867 "Identifies the resource (or resources) that are being addressed by the event. For example, the Encounter for an admit message or two Account records for a merge.", 2868 0, java.lang.Integer.MAX_VALUE, focus); 2869 case 791597824: 2870 /* responseRequired */ return new Property("responseRequired", "code", 2871 "Declare at a message definition level whether a response is required or only upon error or success, or never.", 2872 0, 1, responseRequired); 2873 case -1130933751: 2874 /* allowedResponse */ return new Property("allowedResponse", "", 2875 "Indicates what types of messages may be sent as an application-level response to this message.", 0, 2876 java.lang.Integer.MAX_VALUE, allowedResponse); 2877 case 98615630: 2878 /* graph */ return new Property("graph", "canonical(GraphDefinition)", 2879 "Canonical reference to a GraphDefinition. If a URL is provided, it is the canonical reference to a [[[GraphDefinition]]] that it controls what resources are to be added to the bundle when building the document. The GraphDefinition can also specify profiles that apply to the various resources.", 2880 0, java.lang.Integer.MAX_VALUE, graph); 2881 default: 2882 return super.getNamedProperty(_hash, _name, _checkValid); 2883 } 2884 2885 } 2886 2887 @Override 2888 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2889 switch (hash) { 2890 case 116079: 2891 /* url */ return this.url == null ? new Base[0] : new Base[] { this.url }; // UriType 2892 case -1618432855: 2893 /* identifier */ return this.identifier == null ? new Base[0] 2894 : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2895 case 351608024: 2896 /* version */ return this.version == null ? new Base[0] : new Base[] { this.version }; // StringType 2897 case 3373707: 2898 /* name */ return this.name == null ? new Base[0] : new Base[] { this.name }; // StringType 2899 case 110371416: 2900 /* title */ return this.title == null ? new Base[0] : new Base[] { this.title }; // StringType 2901 case -430332865: 2902 /* replaces */ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // CanonicalType 2903 case -892481550: 2904 /* status */ return this.status == null ? new Base[0] : new Base[] { this.status }; // Enumeration<PublicationStatus> 2905 case -404562712: 2906 /* experimental */ return this.experimental == null ? new Base[0] : new Base[] { this.experimental }; // BooleanType 2907 case 3076014: 2908 /* date */ return this.date == null ? new Base[0] : new Base[] { this.date }; // DateTimeType 2909 case 1447404028: 2910 /* publisher */ return this.publisher == null ? new Base[0] : new Base[] { this.publisher }; // StringType 2911 case 951526432: 2912 /* contact */ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 2913 case -1724546052: 2914 /* description */ return this.description == null ? new Base[0] : new Base[] { this.description }; // MarkdownType 2915 case -669707736: 2916 /* useContext */ return this.useContext == null ? new Base[0] 2917 : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 2918 case -507075711: 2919 /* jurisdiction */ return this.jurisdiction == null ? new Base[0] 2920 : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 2921 case -220463842: 2922 /* purpose */ return this.purpose == null ? new Base[0] : new Base[] { this.purpose }; // MarkdownType 2923 case 1522889671: 2924 /* copyright */ return this.copyright == null ? new Base[0] : new Base[] { this.copyright }; // MarkdownType 2925 case 3016401: 2926 /* base */ return this.base == null ? new Base[0] : new Base[] { this.base }; // CanonicalType 2927 case -995424086: 2928 /* parent */ return this.parent == null ? new Base[0] : this.parent.toArray(new Base[this.parent.size()]); // CanonicalType 2929 case 96891546: 2930 /* event */ return this.event == null ? new Base[0] : new Base[] { this.event }; // Type 2931 case 50511102: 2932 /* category */ return this.category == null ? new Base[0] : new Base[] { this.category }; // Enumeration<MessageSignificanceCategory> 2933 case 97604824: 2934 /* focus */ return this.focus == null ? new Base[0] : this.focus.toArray(new Base[this.focus.size()]); // MessageDefinitionFocusComponent 2935 case 791597824: 2936 /* responseRequired */ return this.responseRequired == null ? new Base[0] : new Base[] { this.responseRequired }; // Enumeration<MessageheaderResponseRequest> 2937 case -1130933751: 2938 /* allowedResponse */ return this.allowedResponse == null ? new Base[0] 2939 : this.allowedResponse.toArray(new Base[this.allowedResponse.size()]); // MessageDefinitionAllowedResponseComponent 2940 case 98615630: 2941 /* graph */ return this.graph == null ? new Base[0] : this.graph.toArray(new Base[this.graph.size()]); // CanonicalType 2942 default: 2943 return super.getProperty(hash, name, checkValid); 2944 } 2945 2946 } 2947 2948 @Override 2949 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2950 switch (hash) { 2951 case 116079: // url 2952 this.url = castToUri(value); // UriType 2953 return value; 2954 case -1618432855: // identifier 2955 this.getIdentifier().add(castToIdentifier(value)); // Identifier 2956 return value; 2957 case 351608024: // version 2958 this.version = castToString(value); // StringType 2959 return value; 2960 case 3373707: // name 2961 this.name = castToString(value); // StringType 2962 return value; 2963 case 110371416: // title 2964 this.title = castToString(value); // StringType 2965 return value; 2966 case -430332865: // replaces 2967 this.getReplaces().add(castToCanonical(value)); // CanonicalType 2968 return value; 2969 case -892481550: // status 2970 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2971 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2972 return value; 2973 case -404562712: // experimental 2974 this.experimental = castToBoolean(value); // BooleanType 2975 return value; 2976 case 3076014: // date 2977 this.date = castToDateTime(value); // DateTimeType 2978 return value; 2979 case 1447404028: // publisher 2980 this.publisher = castToString(value); // StringType 2981 return value; 2982 case 951526432: // contact 2983 this.getContact().add(castToContactDetail(value)); // ContactDetail 2984 return value; 2985 case -1724546052: // description 2986 this.description = castToMarkdown(value); // MarkdownType 2987 return value; 2988 case -669707736: // useContext 2989 this.getUseContext().add(castToUsageContext(value)); // UsageContext 2990 return value; 2991 case -507075711: // jurisdiction 2992 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 2993 return value; 2994 case -220463842: // purpose 2995 this.purpose = castToMarkdown(value); // MarkdownType 2996 return value; 2997 case 1522889671: // copyright 2998 this.copyright = castToMarkdown(value); // MarkdownType 2999 return value; 3000 case 3016401: // base 3001 this.base = castToCanonical(value); // CanonicalType 3002 return value; 3003 case -995424086: // parent 3004 this.getParent().add(castToCanonical(value)); // CanonicalType 3005 return value; 3006 case 96891546: // event 3007 this.event = castToType(value); // Type 3008 return value; 3009 case 50511102: // category 3010 value = new MessageSignificanceCategoryEnumFactory().fromType(castToCode(value)); 3011 this.category = (Enumeration) value; // Enumeration<MessageSignificanceCategory> 3012 return value; 3013 case 97604824: // focus 3014 this.getFocus().add((MessageDefinitionFocusComponent) value); // MessageDefinitionFocusComponent 3015 return value; 3016 case 791597824: // responseRequired 3017 value = new MessageheaderResponseRequestEnumFactory().fromType(castToCode(value)); 3018 this.responseRequired = (Enumeration) value; // Enumeration<MessageheaderResponseRequest> 3019 return value; 3020 case -1130933751: // allowedResponse 3021 this.getAllowedResponse().add((MessageDefinitionAllowedResponseComponent) value); // MessageDefinitionAllowedResponseComponent 3022 return value; 3023 case 98615630: // graph 3024 this.getGraph().add(castToCanonical(value)); // CanonicalType 3025 return value; 3026 default: 3027 return super.setProperty(hash, name, value); 3028 } 3029 3030 } 3031 3032 @Override 3033 public Base setProperty(String name, Base value) throws FHIRException { 3034 if (name.equals("url")) { 3035 this.url = castToUri(value); // UriType 3036 } else if (name.equals("identifier")) { 3037 this.getIdentifier().add(castToIdentifier(value)); 3038 } else if (name.equals("version")) { 3039 this.version = castToString(value); // StringType 3040 } else if (name.equals("name")) { 3041 this.name = castToString(value); // StringType 3042 } else if (name.equals("title")) { 3043 this.title = castToString(value); // StringType 3044 } else if (name.equals("replaces")) { 3045 this.getReplaces().add(castToCanonical(value)); 3046 } else if (name.equals("status")) { 3047 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 3048 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 3049 } else if (name.equals("experimental")) { 3050 this.experimental = castToBoolean(value); // BooleanType 3051 } else if (name.equals("date")) { 3052 this.date = castToDateTime(value); // DateTimeType 3053 } else if (name.equals("publisher")) { 3054 this.publisher = castToString(value); // StringType 3055 } else if (name.equals("contact")) { 3056 this.getContact().add(castToContactDetail(value)); 3057 } else if (name.equals("description")) { 3058 this.description = castToMarkdown(value); // MarkdownType 3059 } else if (name.equals("useContext")) { 3060 this.getUseContext().add(castToUsageContext(value)); 3061 } else if (name.equals("jurisdiction")) { 3062 this.getJurisdiction().add(castToCodeableConcept(value)); 3063 } else if (name.equals("purpose")) { 3064 this.purpose = castToMarkdown(value); // MarkdownType 3065 } else if (name.equals("copyright")) { 3066 this.copyright = castToMarkdown(value); // MarkdownType 3067 } else if (name.equals("base")) { 3068 this.base = castToCanonical(value); // CanonicalType 3069 } else if (name.equals("parent")) { 3070 this.getParent().add(castToCanonical(value)); 3071 } else if (name.equals("event[x]")) { 3072 this.event = castToType(value); // Type 3073 } else if (name.equals("category")) { 3074 value = new MessageSignificanceCategoryEnumFactory().fromType(castToCode(value)); 3075 this.category = (Enumeration) value; // Enumeration<MessageSignificanceCategory> 3076 } else if (name.equals("focus")) { 3077 this.getFocus().add((MessageDefinitionFocusComponent) value); 3078 } else if (name.equals("responseRequired")) { 3079 value = new MessageheaderResponseRequestEnumFactory().fromType(castToCode(value)); 3080 this.responseRequired = (Enumeration) value; // Enumeration<MessageheaderResponseRequest> 3081 } else if (name.equals("allowedResponse")) { 3082 this.getAllowedResponse().add((MessageDefinitionAllowedResponseComponent) value); 3083 } else if (name.equals("graph")) { 3084 this.getGraph().add(castToCanonical(value)); 3085 } else 3086 return super.setProperty(name, value); 3087 return value; 3088 } 3089 3090 @Override 3091 public void removeChild(String name, Base value) throws FHIRException { 3092 if (name.equals("url")) { 3093 this.url = null; 3094 } else if (name.equals("identifier")) { 3095 this.getIdentifier().remove(castToIdentifier(value)); 3096 } else if (name.equals("version")) { 3097 this.version = null; 3098 } else if (name.equals("name")) { 3099 this.name = null; 3100 } else if (name.equals("title")) { 3101 this.title = null; 3102 } else if (name.equals("replaces")) { 3103 this.getReplaces().remove(castToCanonical(value)); 3104 } else if (name.equals("status")) { 3105 this.status = null; 3106 } else if (name.equals("experimental")) { 3107 this.experimental = null; 3108 } else if (name.equals("date")) { 3109 this.date = null; 3110 } else if (name.equals("publisher")) { 3111 this.publisher = null; 3112 } else if (name.equals("contact")) { 3113 this.getContact().remove(castToContactDetail(value)); 3114 } else if (name.equals("description")) { 3115 this.description = null; 3116 } else if (name.equals("useContext")) { 3117 this.getUseContext().remove(castToUsageContext(value)); 3118 } else if (name.equals("jurisdiction")) { 3119 this.getJurisdiction().remove(castToCodeableConcept(value)); 3120 } else if (name.equals("purpose")) { 3121 this.purpose = null; 3122 } else if (name.equals("copyright")) { 3123 this.copyright = null; 3124 } else if (name.equals("base")) { 3125 this.base = null; 3126 } else if (name.equals("parent")) { 3127 this.getParent().remove(castToCanonical(value)); 3128 } else if (name.equals("event[x]")) { 3129 this.event = null; 3130 } else if (name.equals("category")) { 3131 this.category = null; 3132 } else if (name.equals("focus")) { 3133 this.getFocus().remove((MessageDefinitionFocusComponent) value); 3134 } else if (name.equals("responseRequired")) { 3135 this.responseRequired = null; 3136 } else if (name.equals("allowedResponse")) { 3137 this.getAllowedResponse().remove((MessageDefinitionAllowedResponseComponent) value); 3138 } else if (name.equals("graph")) { 3139 this.getGraph().remove(castToCanonical(value)); 3140 } else 3141 super.removeChild(name, value); 3142 3143 } 3144 3145 @Override 3146 public Base makeProperty(int hash, String name) throws FHIRException { 3147 switch (hash) { 3148 case 116079: 3149 return getUrlElement(); 3150 case -1618432855: 3151 return addIdentifier(); 3152 case 351608024: 3153 return getVersionElement(); 3154 case 3373707: 3155 return getNameElement(); 3156 case 110371416: 3157 return getTitleElement(); 3158 case -430332865: 3159 return addReplacesElement(); 3160 case -892481550: 3161 return getStatusElement(); 3162 case -404562712: 3163 return getExperimentalElement(); 3164 case 3076014: 3165 return getDateElement(); 3166 case 1447404028: 3167 return getPublisherElement(); 3168 case 951526432: 3169 return addContact(); 3170 case -1724546052: 3171 return getDescriptionElement(); 3172 case -669707736: 3173 return addUseContext(); 3174 case -507075711: 3175 return addJurisdiction(); 3176 case -220463842: 3177 return getPurposeElement(); 3178 case 1522889671: 3179 return getCopyrightElement(); 3180 case 3016401: 3181 return getBaseElement(); 3182 case -995424086: 3183 return addParentElement(); 3184 case 278115238: 3185 return getEvent(); 3186 case 96891546: 3187 return getEvent(); 3188 case 50511102: 3189 return getCategoryElement(); 3190 case 97604824: 3191 return addFocus(); 3192 case 791597824: 3193 return getResponseRequiredElement(); 3194 case -1130933751: 3195 return addAllowedResponse(); 3196 case 98615630: 3197 return addGraphElement(); 3198 default: 3199 return super.makeProperty(hash, name); 3200 } 3201 3202 } 3203 3204 @Override 3205 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3206 switch (hash) { 3207 case 116079: 3208 /* url */ return new String[] { "uri" }; 3209 case -1618432855: 3210 /* identifier */ return new String[] { "Identifier" }; 3211 case 351608024: 3212 /* version */ return new String[] { "string" }; 3213 case 3373707: 3214 /* name */ return new String[] { "string" }; 3215 case 110371416: 3216 /* title */ return new String[] { "string" }; 3217 case -430332865: 3218 /* replaces */ return new String[] { "canonical" }; 3219 case -892481550: 3220 /* status */ return new String[] { "code" }; 3221 case -404562712: 3222 /* experimental */ return new String[] { "boolean" }; 3223 case 3076014: 3224 /* date */ return new String[] { "dateTime" }; 3225 case 1447404028: 3226 /* publisher */ return new String[] { "string" }; 3227 case 951526432: 3228 /* contact */ return new String[] { "ContactDetail" }; 3229 case -1724546052: 3230 /* description */ return new String[] { "markdown" }; 3231 case -669707736: 3232 /* useContext */ return new String[] { "UsageContext" }; 3233 case -507075711: 3234 /* jurisdiction */ return new String[] { "CodeableConcept" }; 3235 case -220463842: 3236 /* purpose */ return new String[] { "markdown" }; 3237 case 1522889671: 3238 /* copyright */ return new String[] { "markdown" }; 3239 case 3016401: 3240 /* base */ return new String[] { "canonical" }; 3241 case -995424086: 3242 /* parent */ return new String[] { "canonical" }; 3243 case 96891546: 3244 /* event */ return new String[] { "Coding", "uri" }; 3245 case 50511102: 3246 /* category */ return new String[] { "code" }; 3247 case 97604824: 3248 /* focus */ return new String[] {}; 3249 case 791597824: 3250 /* responseRequired */ return new String[] { "code" }; 3251 case -1130933751: 3252 /* allowedResponse */ return new String[] {}; 3253 case 98615630: 3254 /* graph */ return new String[] { "canonical" }; 3255 default: 3256 return super.getTypesForProperty(hash, name); 3257 } 3258 3259 } 3260 3261 @Override 3262 public Base addChild(String name) throws FHIRException { 3263 if (name.equals("url")) { 3264 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.url"); 3265 } else if (name.equals("identifier")) { 3266 return addIdentifier(); 3267 } else if (name.equals("version")) { 3268 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.version"); 3269 } else if (name.equals("name")) { 3270 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.name"); 3271 } else if (name.equals("title")) { 3272 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.title"); 3273 } else if (name.equals("replaces")) { 3274 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.replaces"); 3275 } else if (name.equals("status")) { 3276 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.status"); 3277 } else if (name.equals("experimental")) { 3278 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.experimental"); 3279 } else if (name.equals("date")) { 3280 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.date"); 3281 } else if (name.equals("publisher")) { 3282 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.publisher"); 3283 } else if (name.equals("contact")) { 3284 return addContact(); 3285 } else if (name.equals("description")) { 3286 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.description"); 3287 } else if (name.equals("useContext")) { 3288 return addUseContext(); 3289 } else if (name.equals("jurisdiction")) { 3290 return addJurisdiction(); 3291 } else if (name.equals("purpose")) { 3292 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.purpose"); 3293 } else if (name.equals("copyright")) { 3294 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.copyright"); 3295 } else if (name.equals("base")) { 3296 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.base"); 3297 } else if (name.equals("parent")) { 3298 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.parent"); 3299 } else if (name.equals("eventCoding")) { 3300 this.event = new Coding(); 3301 return this.event; 3302 } else if (name.equals("eventUri")) { 3303 this.event = new UriType(); 3304 return this.event; 3305 } else if (name.equals("category")) { 3306 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.category"); 3307 } else if (name.equals("focus")) { 3308 return addFocus(); 3309 } else if (name.equals("responseRequired")) { 3310 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.responseRequired"); 3311 } else if (name.equals("allowedResponse")) { 3312 return addAllowedResponse(); 3313 } else if (name.equals("graph")) { 3314 throw new FHIRException("Cannot call addChild on a singleton property MessageDefinition.graph"); 3315 } else 3316 return super.addChild(name); 3317 } 3318 3319 public String fhirType() { 3320 return "MessageDefinition"; 3321 3322 } 3323 3324 public MessageDefinition copy() { 3325 MessageDefinition dst = new MessageDefinition(); 3326 copyValues(dst); 3327 return dst; 3328 } 3329 3330 public void copyValues(MessageDefinition dst) { 3331 super.copyValues(dst); 3332 dst.url = url == null ? null : url.copy(); 3333 if (identifier != null) { 3334 dst.identifier = new ArrayList<Identifier>(); 3335 for (Identifier i : identifier) 3336 dst.identifier.add(i.copy()); 3337 } 3338 ; 3339 dst.version = version == null ? null : version.copy(); 3340 dst.name = name == null ? null : name.copy(); 3341 dst.title = title == null ? null : title.copy(); 3342 if (replaces != null) { 3343 dst.replaces = new ArrayList<CanonicalType>(); 3344 for (CanonicalType i : replaces) 3345 dst.replaces.add(i.copy()); 3346 } 3347 ; 3348 dst.status = status == null ? null : status.copy(); 3349 dst.experimental = experimental == null ? null : experimental.copy(); 3350 dst.date = date == null ? null : date.copy(); 3351 dst.publisher = publisher == null ? null : publisher.copy(); 3352 if (contact != null) { 3353 dst.contact = new ArrayList<ContactDetail>(); 3354 for (ContactDetail i : contact) 3355 dst.contact.add(i.copy()); 3356 } 3357 ; 3358 dst.description = description == null ? null : description.copy(); 3359 if (useContext != null) { 3360 dst.useContext = new ArrayList<UsageContext>(); 3361 for (UsageContext i : useContext) 3362 dst.useContext.add(i.copy()); 3363 } 3364 ; 3365 if (jurisdiction != null) { 3366 dst.jurisdiction = new ArrayList<CodeableConcept>(); 3367 for (CodeableConcept i : jurisdiction) 3368 dst.jurisdiction.add(i.copy()); 3369 } 3370 ; 3371 dst.purpose = purpose == null ? null : purpose.copy(); 3372 dst.copyright = copyright == null ? null : copyright.copy(); 3373 dst.base = base == null ? null : base.copy(); 3374 if (parent != null) { 3375 dst.parent = new ArrayList<CanonicalType>(); 3376 for (CanonicalType i : parent) 3377 dst.parent.add(i.copy()); 3378 } 3379 ; 3380 dst.event = event == null ? null : event.copy(); 3381 dst.category = category == null ? null : category.copy(); 3382 if (focus != null) { 3383 dst.focus = new ArrayList<MessageDefinitionFocusComponent>(); 3384 for (MessageDefinitionFocusComponent i : focus) 3385 dst.focus.add(i.copy()); 3386 } 3387 ; 3388 dst.responseRequired = responseRequired == null ? null : responseRequired.copy(); 3389 if (allowedResponse != null) { 3390 dst.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 3391 for (MessageDefinitionAllowedResponseComponent i : allowedResponse) 3392 dst.allowedResponse.add(i.copy()); 3393 } 3394 ; 3395 if (graph != null) { 3396 dst.graph = new ArrayList<CanonicalType>(); 3397 for (CanonicalType i : graph) 3398 dst.graph.add(i.copy()); 3399 } 3400 ; 3401 } 3402 3403 protected MessageDefinition typedCopy() { 3404 return copy(); 3405 } 3406 3407 @Override 3408 public boolean equalsDeep(Base other_) { 3409 if (!super.equalsDeep(other_)) 3410 return false; 3411 if (!(other_ instanceof MessageDefinition)) 3412 return false; 3413 MessageDefinition o = (MessageDefinition) other_; 3414 return compareDeep(identifier, o.identifier, true) && compareDeep(replaces, o.replaces, true) 3415 && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 3416 && compareDeep(base, o.base, true) && compareDeep(parent, o.parent, true) && compareDeep(event, o.event, true) 3417 && compareDeep(category, o.category, true) && compareDeep(focus, o.focus, true) 3418 && compareDeep(responseRequired, o.responseRequired, true) 3419 && compareDeep(allowedResponse, o.allowedResponse, true) && compareDeep(graph, o.graph, true); 3420 } 3421 3422 @Override 3423 public boolean equalsShallow(Base other_) { 3424 if (!super.equalsShallow(other_)) 3425 return false; 3426 if (!(other_ instanceof MessageDefinition)) 3427 return false; 3428 MessageDefinition o = (MessageDefinition) other_; 3429 return compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) 3430 && compareValues(category, o.category, true) && compareValues(responseRequired, o.responseRequired, true); 3431 } 3432 3433 public boolean isEmpty() { 3434 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, replaces, purpose, copyright, base, 3435 parent, event, category, focus, responseRequired, allowedResponse, graph); 3436 } 3437 3438 @Override 3439 public ResourceType getResourceType() { 3440 return ResourceType.MessageDefinition; 3441 } 3442 3443 /** 3444 * Search parameter: <b>date</b> 3445 * <p> 3446 * Description: <b>The message definition publication date</b><br> 3447 * Type: <b>date</b><br> 3448 * Path: <b>MessageDefinition.date</b><br> 3449 * </p> 3450 */ 3451 @SearchParamDefinition(name = "date", path = "MessageDefinition.date", description = "The message definition publication date", type = "date") 3452 public static final String SP_DATE = "date"; 3453 /** 3454 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3455 * <p> 3456 * Description: <b>The message definition publication date</b><br> 3457 * Type: <b>date</b><br> 3458 * Path: <b>MessageDefinition.date</b><br> 3459 * </p> 3460 */ 3461 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam( 3462 SP_DATE); 3463 3464 /** 3465 * Search parameter: <b>identifier</b> 3466 * <p> 3467 * Description: <b>External identifier for the message definition</b><br> 3468 * Type: <b>token</b><br> 3469 * Path: <b>MessageDefinition.identifier</b><br> 3470 * </p> 3471 */ 3472 @SearchParamDefinition(name = "identifier", path = "MessageDefinition.identifier", description = "External identifier for the message definition", type = "token") 3473 public static final String SP_IDENTIFIER = "identifier"; 3474 /** 3475 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3476 * <p> 3477 * Description: <b>External identifier for the message definition</b><br> 3478 * Type: <b>token</b><br> 3479 * Path: <b>MessageDefinition.identifier</b><br> 3480 * </p> 3481 */ 3482 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3483 SP_IDENTIFIER); 3484 3485 /** 3486 * Search parameter: <b>parent</b> 3487 * <p> 3488 * Description: <b>A resource that is the parent of the definition</b><br> 3489 * Type: <b>reference</b><br> 3490 * Path: <b>MessageDefinition.parent</b><br> 3491 * </p> 3492 */ 3493 @SearchParamDefinition(name = "parent", path = "MessageDefinition.parent", description = "A resource that is the parent of the definition", type = "reference", target = { 3494 ActivityDefinition.class, PlanDefinition.class }) 3495 public static final String SP_PARENT = "parent"; 3496 /** 3497 * <b>Fluent Client</b> search parameter constant for <b>parent</b> 3498 * <p> 3499 * Description: <b>A resource that is the parent of the definition</b><br> 3500 * Type: <b>reference</b><br> 3501 * Path: <b>MessageDefinition.parent</b><br> 3502 * </p> 3503 */ 3504 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 3505 SP_PARENT); 3506 3507 /** 3508 * Constant for fluent queries to be used to add include statements. Specifies 3509 * the path value of "<b>MessageDefinition:parent</b>". 3510 */ 3511 public static final ca.uhn.fhir.model.api.Include INCLUDE_PARENT = new ca.uhn.fhir.model.api.Include( 3512 "MessageDefinition:parent").toLocked(); 3513 3514 /** 3515 * Search parameter: <b>context-type-value</b> 3516 * <p> 3517 * Description: <b>A use context type and value assigned to the message 3518 * definition</b><br> 3519 * Type: <b>composite</b><br> 3520 * Path: <b></b><br> 3521 * </p> 3522 */ 3523 @SearchParamDefinition(name = "context-type-value", path = "MessageDefinition.useContext", description = "A use context type and value assigned to the message definition", type = "composite", compositeOf = { 3524 "context-type", "context" }) 3525 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 3526 /** 3527 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 3528 * <p> 3529 * Description: <b>A use context type and value assigned to the message 3530 * definition</b><br> 3531 * Type: <b>composite</b><br> 3532 * Path: <b></b><br> 3533 * </p> 3534 */ 3535 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>( 3536 SP_CONTEXT_TYPE_VALUE); 3537 3538 /** 3539 * Search parameter: <b>jurisdiction</b> 3540 * <p> 3541 * Description: <b>Intended jurisdiction for the message definition</b><br> 3542 * Type: <b>token</b><br> 3543 * Path: <b>MessageDefinition.jurisdiction</b><br> 3544 * </p> 3545 */ 3546 @SearchParamDefinition(name = "jurisdiction", path = "MessageDefinition.jurisdiction", description = "Intended jurisdiction for the message definition", type = "token") 3547 public static final String SP_JURISDICTION = "jurisdiction"; 3548 /** 3549 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 3550 * <p> 3551 * Description: <b>Intended jurisdiction for the message definition</b><br> 3552 * Type: <b>token</b><br> 3553 * Path: <b>MessageDefinition.jurisdiction</b><br> 3554 * </p> 3555 */ 3556 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3557 SP_JURISDICTION); 3558 3559 /** 3560 * Search parameter: <b>description</b> 3561 * <p> 3562 * Description: <b>The description of the message definition</b><br> 3563 * Type: <b>string</b><br> 3564 * Path: <b>MessageDefinition.description</b><br> 3565 * </p> 3566 */ 3567 @SearchParamDefinition(name = "description", path = "MessageDefinition.description", description = "The description of the message definition", type = "string") 3568 public static final String SP_DESCRIPTION = "description"; 3569 /** 3570 * <b>Fluent Client</b> search parameter constant for <b>description</b> 3571 * <p> 3572 * Description: <b>The description of the message definition</b><br> 3573 * Type: <b>string</b><br> 3574 * Path: <b>MessageDefinition.description</b><br> 3575 * </p> 3576 */ 3577 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam( 3578 SP_DESCRIPTION); 3579 3580 /** 3581 * Search parameter: <b>focus</b> 3582 * <p> 3583 * Description: <b>A resource that is a permitted focus of the message</b><br> 3584 * Type: <b>token</b><br> 3585 * Path: <b>MessageDefinition.focus.code</b><br> 3586 * </p> 3587 */ 3588 @SearchParamDefinition(name = "focus", path = "MessageDefinition.focus.code", description = "A resource that is a permitted focus of the message", type = "token") 3589 public static final String SP_FOCUS = "focus"; 3590 /** 3591 * <b>Fluent Client</b> search parameter constant for <b>focus</b> 3592 * <p> 3593 * Description: <b>A resource that is a permitted focus of the message</b><br> 3594 * Type: <b>token</b><br> 3595 * Path: <b>MessageDefinition.focus.code</b><br> 3596 * </p> 3597 */ 3598 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FOCUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3599 SP_FOCUS); 3600 3601 /** 3602 * Search parameter: <b>context-type</b> 3603 * <p> 3604 * Description: <b>A type of use context assigned to the message 3605 * definition</b><br> 3606 * Type: <b>token</b><br> 3607 * Path: <b>MessageDefinition.useContext.code</b><br> 3608 * </p> 3609 */ 3610 @SearchParamDefinition(name = "context-type", path = "MessageDefinition.useContext.code", description = "A type of use context assigned to the message definition", type = "token") 3611 public static final String SP_CONTEXT_TYPE = "context-type"; 3612 /** 3613 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 3614 * <p> 3615 * Description: <b>A type of use context assigned to the message 3616 * definition</b><br> 3617 * Type: <b>token</b><br> 3618 * Path: <b>MessageDefinition.useContext.code</b><br> 3619 * </p> 3620 */ 3621 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3622 SP_CONTEXT_TYPE); 3623 3624 /** 3625 * Search parameter: <b>title</b> 3626 * <p> 3627 * Description: <b>The human-friendly name of the message definition</b><br> 3628 * Type: <b>string</b><br> 3629 * Path: <b>MessageDefinition.title</b><br> 3630 * </p> 3631 */ 3632 @SearchParamDefinition(name = "title", path = "MessageDefinition.title", description = "The human-friendly name of the message definition", type = "string") 3633 public static final String SP_TITLE = "title"; 3634 /** 3635 * <b>Fluent Client</b> search parameter constant for <b>title</b> 3636 * <p> 3637 * Description: <b>The human-friendly name of the message definition</b><br> 3638 * Type: <b>string</b><br> 3639 * Path: <b>MessageDefinition.title</b><br> 3640 * </p> 3641 */ 3642 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam( 3643 SP_TITLE); 3644 3645 /** 3646 * Search parameter: <b>version</b> 3647 * <p> 3648 * Description: <b>The business version of the message definition</b><br> 3649 * Type: <b>token</b><br> 3650 * Path: <b>MessageDefinition.version</b><br> 3651 * </p> 3652 */ 3653 @SearchParamDefinition(name = "version", path = "MessageDefinition.version", description = "The business version of the message definition", type = "token") 3654 public static final String SP_VERSION = "version"; 3655 /** 3656 * <b>Fluent Client</b> search parameter constant for <b>version</b> 3657 * <p> 3658 * Description: <b>The business version of the message definition</b><br> 3659 * Type: <b>token</b><br> 3660 * Path: <b>MessageDefinition.version</b><br> 3661 * </p> 3662 */ 3663 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3664 SP_VERSION); 3665 3666 /** 3667 * Search parameter: <b>url</b> 3668 * <p> 3669 * Description: <b>The uri that identifies the message definition</b><br> 3670 * Type: <b>uri</b><br> 3671 * Path: <b>MessageDefinition.url</b><br> 3672 * </p> 3673 */ 3674 @SearchParamDefinition(name = "url", path = "MessageDefinition.url", description = "The uri that identifies the message definition", type = "uri") 3675 public static final String SP_URL = "url"; 3676 /** 3677 * <b>Fluent Client</b> search parameter constant for <b>url</b> 3678 * <p> 3679 * Description: <b>The uri that identifies the message definition</b><br> 3680 * Type: <b>uri</b><br> 3681 * Path: <b>MessageDefinition.url</b><br> 3682 * </p> 3683 */ 3684 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 3685 3686 /** 3687 * Search parameter: <b>context-quantity</b> 3688 * <p> 3689 * Description: <b>A quantity- or range-valued use context assigned to the 3690 * message definition</b><br> 3691 * Type: <b>quantity</b><br> 3692 * Path: <b>MessageDefinition.useContext.valueQuantity, 3693 * MessageDefinition.useContext.valueRange</b><br> 3694 * </p> 3695 */ 3696 @SearchParamDefinition(name = "context-quantity", path = "(MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range)", description = "A quantity- or range-valued use context assigned to the message definition", type = "quantity") 3697 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 3698 /** 3699 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 3700 * <p> 3701 * Description: <b>A quantity- or range-valued use context assigned to the 3702 * message definition</b><br> 3703 * Type: <b>quantity</b><br> 3704 * Path: <b>MessageDefinition.useContext.valueQuantity, 3705 * MessageDefinition.useContext.valueRange</b><br> 3706 * </p> 3707 */ 3708 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam( 3709 SP_CONTEXT_QUANTITY); 3710 3711 /** 3712 * Search parameter: <b>name</b> 3713 * <p> 3714 * Description: <b>Computationally friendly name of the message 3715 * definition</b><br> 3716 * Type: <b>string</b><br> 3717 * Path: <b>MessageDefinition.name</b><br> 3718 * </p> 3719 */ 3720 @SearchParamDefinition(name = "name", path = "MessageDefinition.name", description = "Computationally friendly name of the message definition", type = "string") 3721 public static final String SP_NAME = "name"; 3722 /** 3723 * <b>Fluent Client</b> search parameter constant for <b>name</b> 3724 * <p> 3725 * Description: <b>Computationally friendly name of the message 3726 * definition</b><br> 3727 * Type: <b>string</b><br> 3728 * Path: <b>MessageDefinition.name</b><br> 3729 * </p> 3730 */ 3731 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam( 3732 SP_NAME); 3733 3734 /** 3735 * Search parameter: <b>context</b> 3736 * <p> 3737 * Description: <b>A use context assigned to the message definition</b><br> 3738 * Type: <b>token</b><br> 3739 * Path: <b>MessageDefinition.useContext.valueCodeableConcept</b><br> 3740 * </p> 3741 */ 3742 @SearchParamDefinition(name = "context", path = "(MessageDefinition.useContext.value as CodeableConcept)", description = "A use context assigned to the message definition", type = "token") 3743 public static final String SP_CONTEXT = "context"; 3744 /** 3745 * <b>Fluent Client</b> search parameter constant for <b>context</b> 3746 * <p> 3747 * Description: <b>A use context assigned to the message definition</b><br> 3748 * Type: <b>token</b><br> 3749 * Path: <b>MessageDefinition.useContext.valueCodeableConcept</b><br> 3750 * </p> 3751 */ 3752 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3753 SP_CONTEXT); 3754 3755 /** 3756 * Search parameter: <b>publisher</b> 3757 * <p> 3758 * Description: <b>Name of the publisher of the message definition</b><br> 3759 * Type: <b>string</b><br> 3760 * Path: <b>MessageDefinition.publisher</b><br> 3761 * </p> 3762 */ 3763 @SearchParamDefinition(name = "publisher", path = "MessageDefinition.publisher", description = "Name of the publisher of the message definition", type = "string") 3764 public static final String SP_PUBLISHER = "publisher"; 3765 /** 3766 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 3767 * <p> 3768 * Description: <b>Name of the publisher of the message definition</b><br> 3769 * Type: <b>string</b><br> 3770 * Path: <b>MessageDefinition.publisher</b><br> 3771 * </p> 3772 */ 3773 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam( 3774 SP_PUBLISHER); 3775 3776 /** 3777 * Search parameter: <b>event</b> 3778 * <p> 3779 * Description: <b>The event that triggers the message or link to the event 3780 * definition.</b><br> 3781 * Type: <b>token</b><br> 3782 * Path: <b>MessageDefinition.event[x]</b><br> 3783 * </p> 3784 */ 3785 @SearchParamDefinition(name = "event", path = "MessageDefinition.event", description = "The event that triggers the message or link to the event definition.", type = "token") 3786 public static final String SP_EVENT = "event"; 3787 /** 3788 * <b>Fluent Client</b> search parameter constant for <b>event</b> 3789 * <p> 3790 * Description: <b>The event that triggers the message or link to the event 3791 * definition.</b><br> 3792 * Type: <b>token</b><br> 3793 * Path: <b>MessageDefinition.event[x]</b><br> 3794 * </p> 3795 */ 3796 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVENT = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3797 SP_EVENT); 3798 3799 /** 3800 * Search parameter: <b>category</b> 3801 * <p> 3802 * Description: <b>The behavior associated with the message</b><br> 3803 * Type: <b>token</b><br> 3804 * Path: <b>MessageDefinition.category</b><br> 3805 * </p> 3806 */ 3807 @SearchParamDefinition(name = "category", path = "MessageDefinition.category", description = "The behavior associated with the message", type = "token") 3808 public static final String SP_CATEGORY = "category"; 3809 /** 3810 * <b>Fluent Client</b> search parameter constant for <b>category</b> 3811 * <p> 3812 * Description: <b>The behavior associated with the message</b><br> 3813 * Type: <b>token</b><br> 3814 * Path: <b>MessageDefinition.category</b><br> 3815 * </p> 3816 */ 3817 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3818 SP_CATEGORY); 3819 3820 /** 3821 * Search parameter: <b>context-type-quantity</b> 3822 * <p> 3823 * Description: <b>A use context type and quantity- or range-based value 3824 * assigned to the message definition</b><br> 3825 * Type: <b>composite</b><br> 3826 * Path: <b></b><br> 3827 * </p> 3828 */ 3829 @SearchParamDefinition(name = "context-type-quantity", path = "MessageDefinition.useContext", description = "A use context type and quantity- or range-based value assigned to the message definition", type = "composite", compositeOf = { 3830 "context-type", "context-quantity" }) 3831 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 3832 /** 3833 * <b>Fluent Client</b> search parameter constant for 3834 * <b>context-type-quantity</b> 3835 * <p> 3836 * Description: <b>A use context type and quantity- or range-based value 3837 * assigned to the message definition</b><br> 3838 * Type: <b>composite</b><br> 3839 * Path: <b></b><br> 3840 * </p> 3841 */ 3842 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>( 3843 SP_CONTEXT_TYPE_QUANTITY); 3844 3845 /** 3846 * Search parameter: <b>status</b> 3847 * <p> 3848 * Description: <b>The current status of the message definition</b><br> 3849 * Type: <b>token</b><br> 3850 * Path: <b>MessageDefinition.status</b><br> 3851 * </p> 3852 */ 3853 @SearchParamDefinition(name = "status", path = "MessageDefinition.status", description = "The current status of the message definition", type = "token") 3854 public static final String SP_STATUS = "status"; 3855 /** 3856 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3857 * <p> 3858 * Description: <b>The current status of the message definition</b><br> 3859 * Type: <b>token</b><br> 3860 * Path: <b>MessageDefinition.status</b><br> 3861 * </p> 3862 */ 3863 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3864 SP_STATUS); 3865 3866}