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 Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. 048 */ 049@ResourceDef(name="MessageDefinition", profile="http://hl7.org/fhir/Profile/MessageDefinition") 050@ChildOrder(names={"url", "identifier", "version", "name", "title", "replaces", "status", "experimental", "date", "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "copyright", "base", "parent", "event[x]", "category", "focus", "responseRequired", "allowedResponse"}) 051public class MessageDefinition extends MetadataResource { 052 053 public enum MessageSignificanceCategory { 054 /** 055 * The message represents/requests a change that should not be processed more than once; e.g., making a booking for an appointment. 056 */ 057 CONSEQUENCE, 058 /** 059 * The message represents a response to query for current information. Retrospective processing is wrong and/or wasteful. 060 */ 061 CURRENCY, 062 /** 063 * 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. 064 */ 065 NOTIFICATION, 066 /** 067 * added to help the parsers with the generic types 068 */ 069 NULL; 070 public static MessageSignificanceCategory fromCode(String codeString) throws FHIRException { 071 if (codeString == null || "".equals(codeString)) 072 return null; 073 if ("consequence".equals(codeString)) 074 return CONSEQUENCE; 075 if ("currency".equals(codeString)) 076 return CURRENCY; 077 if ("notification".equals(codeString)) 078 return NOTIFICATION; 079 if (Configuration.isAcceptInvalidEnums()) 080 return null; 081 else 082 throw new FHIRException("Unknown MessageSignificanceCategory code '"+codeString+"'"); 083 } 084 public String toCode() { 085 switch (this) { 086 case CONSEQUENCE: return "consequence"; 087 case CURRENCY: return "currency"; 088 case NOTIFICATION: return "notification"; 089 default: return "?"; 090 } 091 } 092 public String getSystem() { 093 switch (this) { 094 case CONSEQUENCE: return "http://hl7.org/fhir/message-significance-category"; 095 case CURRENCY: return "http://hl7.org/fhir/message-significance-category"; 096 case NOTIFICATION: return "http://hl7.org/fhir/message-significance-category"; 097 default: return "?"; 098 } 099 } 100 public String getDefinition() { 101 switch (this) { 102 case CONSEQUENCE: return "The message represents/requests a change that should not be processed more than once; e.g., making a booking for an appointment."; 103 case CURRENCY: return "The message represents a response to query for current information. Retrospective processing is wrong and/or wasteful."; 104 case NOTIFICATION: 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."; 105 default: return "?"; 106 } 107 } 108 public String getDisplay() { 109 switch (this) { 110 case CONSEQUENCE: return "Consequence"; 111 case CURRENCY: return "Currency"; 112 case NOTIFICATION: return "Notification"; 113 default: return "?"; 114 } 115 } 116 } 117 118 public static class MessageSignificanceCategoryEnumFactory implements EnumFactory<MessageSignificanceCategory> { 119 public MessageSignificanceCategory fromCode(String codeString) throws IllegalArgumentException { 120 if (codeString == null || "".equals(codeString)) 121 if (codeString == null || "".equals(codeString)) 122 return null; 123 if ("consequence".equals(codeString)) 124 return MessageSignificanceCategory.CONSEQUENCE; 125 if ("currency".equals(codeString)) 126 return MessageSignificanceCategory.CURRENCY; 127 if ("notification".equals(codeString)) 128 return MessageSignificanceCategory.NOTIFICATION; 129 throw new IllegalArgumentException("Unknown MessageSignificanceCategory code '"+codeString+"'"); 130 } 131 public Enumeration<MessageSignificanceCategory> fromType(Base code) throws FHIRException { 132 if (code == null) 133 return null; 134 if (code.isEmpty()) 135 return new Enumeration<MessageSignificanceCategory>(this); 136 String codeString = ((PrimitiveType) code).asStringValue(); 137 if (codeString == null || "".equals(codeString)) 138 return null; 139 if ("consequence".equals(codeString)) 140 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.CONSEQUENCE); 141 if ("currency".equals(codeString)) 142 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.CURRENCY); 143 if ("notification".equals(codeString)) 144 return new Enumeration<MessageSignificanceCategory>(this, MessageSignificanceCategory.NOTIFICATION); 145 throw new FHIRException("Unknown MessageSignificanceCategory code '"+codeString+"'"); 146 } 147 public String toCode(MessageSignificanceCategory code) { 148 if (code == MessageSignificanceCategory.CONSEQUENCE) 149 return "consequence"; 150 if (code == MessageSignificanceCategory.CURRENCY) 151 return "currency"; 152 if (code == MessageSignificanceCategory.NOTIFICATION) 153 return "notification"; 154 return "?"; 155 } 156 public String toSystem(MessageSignificanceCategory code) { 157 return code.getSystem(); 158 } 159 } 160 161 public enum MessageheaderResponseRequest { 162 /** 163 * initiator expects a response for this message 164 */ 165 ALWAYS, 166 /** 167 * initiator expects a response only if in error 168 */ 169 ONERROR, 170 /** 171 * initiator does not expect a response 172 */ 173 NEVER, 174 /** 175 * initiator expects a response only if successful 176 */ 177 ONSUCCESS, 178 /** 179 * added to help the parsers with the generic types 180 */ 181 NULL; 182 public static MessageheaderResponseRequest fromCode(String codeString) throws FHIRException { 183 if (codeString == null || "".equals(codeString)) 184 return null; 185 if ("always".equals(codeString)) 186 return ALWAYS; 187 if ("on-error".equals(codeString)) 188 return ONERROR; 189 if ("never".equals(codeString)) 190 return NEVER; 191 if ("on-success".equals(codeString)) 192 return ONSUCCESS; 193 if (Configuration.isAcceptInvalidEnums()) 194 return null; 195 else 196 throw new FHIRException("Unknown MessageheaderResponseRequest code '"+codeString+"'"); 197 } 198 public String toCode() { 199 switch (this) { 200 case ALWAYS: return "always"; 201 case ONERROR: return "on-error"; 202 case NEVER: return "never"; 203 case ONSUCCESS: return "on-success"; 204 default: return "?"; 205 } 206 } 207 public String getSystem() { 208 switch (this) { 209 case ALWAYS: return "http://hl7.org/fhir/messageheader-response-request"; 210 case ONERROR: return "http://hl7.org/fhir/messageheader-response-request"; 211 case NEVER: return "http://hl7.org/fhir/messageheader-response-request"; 212 case ONSUCCESS: return "http://hl7.org/fhir/messageheader-response-request"; 213 default: return "?"; 214 } 215 } 216 public String getDefinition() { 217 switch (this) { 218 case ALWAYS: return "initiator expects a response for this message"; 219 case ONERROR: return "initiator expects a response only if in error"; 220 case NEVER: return "initiator does not expect a response"; 221 case ONSUCCESS: return "initiator expects a response only if successful"; 222 default: return "?"; 223 } 224 } 225 public String getDisplay() { 226 switch (this) { 227 case ALWAYS: return "Always"; 228 case ONERROR: return "Error/reject conditions only"; 229 case NEVER: return "Never"; 230 case ONSUCCESS: return "Successful completion only"; 231 default: return "?"; 232 } 233 } 234 } 235 236 public static class MessageheaderResponseRequestEnumFactory implements EnumFactory<MessageheaderResponseRequest> { 237 public MessageheaderResponseRequest fromCode(String codeString) throws IllegalArgumentException { 238 if (codeString == null || "".equals(codeString)) 239 if (codeString == null || "".equals(codeString)) 240 return null; 241 if ("always".equals(codeString)) 242 return MessageheaderResponseRequest.ALWAYS; 243 if ("on-error".equals(codeString)) 244 return MessageheaderResponseRequest.ONERROR; 245 if ("never".equals(codeString)) 246 return MessageheaderResponseRequest.NEVER; 247 if ("on-success".equals(codeString)) 248 return MessageheaderResponseRequest.ONSUCCESS; 249 throw new IllegalArgumentException("Unknown MessageheaderResponseRequest code '"+codeString+"'"); 250 } 251 public Enumeration<MessageheaderResponseRequest> fromType(Base code) throws FHIRException { 252 if (code == null) 253 return null; 254 if (code.isEmpty()) 255 return new Enumeration<MessageheaderResponseRequest>(this); 256 String codeString = ((PrimitiveType) code).asStringValue(); 257 if (codeString == null || "".equals(codeString)) 258 return null; 259 if ("always".equals(codeString)) 260 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ALWAYS); 261 if ("on-error".equals(codeString)) 262 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ONERROR); 263 if ("never".equals(codeString)) 264 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.NEVER); 265 if ("on-success".equals(codeString)) 266 return new Enumeration<MessageheaderResponseRequest>(this, MessageheaderResponseRequest.ONSUCCESS); 267 throw new FHIRException("Unknown MessageheaderResponseRequest code '"+codeString+"'"); 268 } 269 public String toCode(MessageheaderResponseRequest code) { 270 if (code == MessageheaderResponseRequest.ALWAYS) 271 return "always"; 272 if (code == MessageheaderResponseRequest.ONERROR) 273 return "on-error"; 274 if (code == MessageheaderResponseRequest.NEVER) 275 return "never"; 276 if (code == MessageheaderResponseRequest.ONSUCCESS) 277 return "on-success"; 278 return "?"; 279 } 280 public String toSystem(MessageheaderResponseRequest code) { 281 return code.getSystem(); 282 } 283 } 284 285 @Block() 286 public static class MessageDefinitionFocusComponent extends BackboneElement implements IBaseBackboneElement { 287 /** 288 * The kind of resource that must be the focus for this message. 289 */ 290 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 291 @Description(shortDefinition="Type of resource", formalDefinition="The kind of resource that must be the focus for this message." ) 292 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") 293 protected CodeType code; 294 295 /** 296 * A profile that reflects constraints for the focal resource (and potentially for related resources). 297 */ 298 @Child(name = "profile", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) 299 @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)." ) 300 protected CanonicalType profile; 301 302 /** 303 * 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. 304 */ 305 @Child(name = "min", type = {UnsignedIntType.class}, order=3, min=1, max=1, modifier=false, summary=true) 306 @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." ) 307 protected UnsignedIntType min; 308 309 /** 310 * 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. 311 */ 312 @Child(name = "max", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 313 @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." ) 314 protected StringType max; 315 316 private static final long serialVersionUID = -68504836L; 317 318 /** 319 * Constructor 320 */ 321 public MessageDefinitionFocusComponent() { 322 super(); 323 } 324 325 /** 326 * Constructor 327 */ 328 public MessageDefinitionFocusComponent(CodeType code, UnsignedIntType min) { 329 super(); 330 this.code = code; 331 this.min = min; 332 } 333 334 /** 335 * @return {@link #code} (The kind of resource that must be the focus for this message.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 336 */ 337 public CodeType getCodeElement() { 338 if (this.code == null) 339 if (Configuration.errorOnAutoCreate()) 340 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.code"); 341 else if (Configuration.doAutoCreate()) 342 this.code = new CodeType(); // bb 343 return this.code; 344 } 345 346 public boolean hasCodeElement() { 347 return this.code != null && !this.code.isEmpty(); 348 } 349 350 public boolean hasCode() { 351 return this.code != null && !this.code.isEmpty(); 352 } 353 354 /** 355 * @param value {@link #code} (The kind of resource that must be the focus for this message.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 356 */ 357 public MessageDefinitionFocusComponent setCodeElement(CodeType value) { 358 this.code = value; 359 return this; 360 } 361 362 /** 363 * @return The kind of resource that must be the focus for this message. 364 */ 365 public String getCode() { 366 return this.code == null ? null : this.code.getValue(); 367 } 368 369 /** 370 * @param value The kind of resource that must be the focus for this message. 371 */ 372 public MessageDefinitionFocusComponent setCode(String value) { 373 if (this.code == null) 374 this.code = new CodeType(); 375 this.code.setValue(value); 376 return this; 377 } 378 379 /** 380 * @return {@link #profile} (A profile that reflects constraints for the focal resource (and potentially for related resources).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 381 */ 382 public CanonicalType getProfileElement() { 383 if (this.profile == null) 384 if (Configuration.errorOnAutoCreate()) 385 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.profile"); 386 else if (Configuration.doAutoCreate()) 387 this.profile = new CanonicalType(); // bb 388 return this.profile; 389 } 390 391 public boolean hasProfileElement() { 392 return this.profile != null && !this.profile.isEmpty(); 393 } 394 395 public boolean hasProfile() { 396 return this.profile != null && !this.profile.isEmpty(); 397 } 398 399 /** 400 * @param value {@link #profile} (A profile that reflects constraints for the focal resource (and potentially for related resources).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value 401 */ 402 public MessageDefinitionFocusComponent setProfileElement(CanonicalType value) { 403 this.profile = value; 404 return this; 405 } 406 407 /** 408 * @return A profile that reflects constraints for the focal resource (and potentially for related resources). 409 */ 410 public String getProfile() { 411 return this.profile == null ? null : this.profile.getValue(); 412 } 413 414 /** 415 * @param value A profile that reflects constraints for the focal resource (and potentially for related resources). 416 */ 417 public MessageDefinitionFocusComponent setProfile(String value) { 418 if (Utilities.noString(value)) 419 this.profile = null; 420 else { 421 if (this.profile == null) 422 this.profile = new CanonicalType(); 423 this.profile.setValue(value); 424 } 425 return this; 426 } 427 428 /** 429 * @return {@link #min} (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.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 430 */ 431 public UnsignedIntType getMinElement() { 432 if (this.min == null) 433 if (Configuration.errorOnAutoCreate()) 434 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.min"); 435 else if (Configuration.doAutoCreate()) 436 this.min = new UnsignedIntType(); // bb 437 return this.min; 438 } 439 440 public boolean hasMinElement() { 441 return this.min != null && !this.min.isEmpty(); 442 } 443 444 public boolean hasMin() { 445 return this.min != null && !this.min.isEmpty(); 446 } 447 448 /** 449 * @param value {@link #min} (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.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value 450 */ 451 public MessageDefinitionFocusComponent setMinElement(UnsignedIntType value) { 452 this.min = value; 453 return this; 454 } 455 456 /** 457 * @return 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. 458 */ 459 public int getMin() { 460 return this.min == null || this.min.isEmpty() ? 0 : this.min.getValue(); 461 } 462 463 /** 464 * @param value 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. 465 */ 466 public MessageDefinitionFocusComponent setMin(int value) { 467 if (this.min == null) 468 this.min = new UnsignedIntType(); 469 this.min.setValue(value); 470 return this; 471 } 472 473 /** 474 * @return {@link #max} (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.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 475 */ 476 public StringType getMaxElement() { 477 if (this.max == null) 478 if (Configuration.errorOnAutoCreate()) 479 throw new Error("Attempt to auto-create MessageDefinitionFocusComponent.max"); 480 else if (Configuration.doAutoCreate()) 481 this.max = new StringType(); // bb 482 return this.max; 483 } 484 485 public boolean hasMaxElement() { 486 return this.max != null && !this.max.isEmpty(); 487 } 488 489 public boolean hasMax() { 490 return this.max != null && !this.max.isEmpty(); 491 } 492 493 /** 494 * @param value {@link #max} (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.). This is the underlying object with id, value and extensions. The accessor "getMax" gives direct access to the value 495 */ 496 public MessageDefinitionFocusComponent setMaxElement(StringType value) { 497 this.max = value; 498 return this; 499 } 500 501 /** 502 * @return 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. 503 */ 504 public String getMax() { 505 return this.max == null ? null : this.max.getValue(); 506 } 507 508 /** 509 * @param value 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. 510 */ 511 public MessageDefinitionFocusComponent setMax(String value) { 512 if (Utilities.noString(value)) 513 this.max = null; 514 else { 515 if (this.max == null) 516 this.max = new StringType(); 517 this.max.setValue(value); 518 } 519 return this; 520 } 521 522 protected void listChildren(List<Property> children) { 523 super.listChildren(children); 524 children.add(new Property("code", "code", "The kind of resource that must be the focus for this message.", 0, 1, code)); 525 children.add(new Property("profile", "canonical(StructureDefinition)", "A profile that reflects constraints for the focal resource (and potentially for related resources).", 0, 1, profile)); 526 children.add(new Property("min", "unsignedInt", "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.", 0, 1, min)); 527 children.add(new Property("max", "string", "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.", 0, 1, max)); 528 } 529 530 @Override 531 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 532 switch (_hash) { 533 case 3059181: /*code*/ return new Property("code", "code", "The kind of resource that must be the focus for this message.", 0, 1, code); 534 case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "A profile that reflects constraints for the focal resource (and potentially for related resources).", 0, 1, profile); 535 case 108114: /*min*/ return new Property("min", "unsignedInt", "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.", 0, 1, min); 536 case 107876: /*max*/ return new Property("max", "string", "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.", 0, 1, max); 537 default: return super.getNamedProperty(_hash, _name, _checkValid); 538 } 539 540 } 541 542 @Override 543 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 544 switch (hash) { 545 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 546 case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType 547 case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // UnsignedIntType 548 case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType 549 default: return super.getProperty(hash, name, checkValid); 550 } 551 552 } 553 554 @Override 555 public Base setProperty(int hash, String name, Base value) throws FHIRException { 556 switch (hash) { 557 case 3059181: // code 558 this.code = castToCode(value); // CodeType 559 return value; 560 case -309425751: // profile 561 this.profile = castToCanonical(value); // CanonicalType 562 return value; 563 case 108114: // min 564 this.min = castToUnsignedInt(value); // UnsignedIntType 565 return value; 566 case 107876: // max 567 this.max = castToString(value); // StringType 568 return value; 569 default: return super.setProperty(hash, name, value); 570 } 571 572 } 573 574 @Override 575 public Base setProperty(String name, Base value) throws FHIRException { 576 if (name.equals("code")) { 577 this.code = castToCode(value); // CodeType 578 } else if (name.equals("profile")) { 579 this.profile = castToCanonical(value); // CanonicalType 580 } else if (name.equals("min")) { 581 this.min = castToUnsignedInt(value); // UnsignedIntType 582 } else if (name.equals("max")) { 583 this.max = castToString(value); // StringType 584 } else 585 return super.setProperty(name, value); 586 return value; 587 } 588 589 @Override 590 public Base makeProperty(int hash, String name) throws FHIRException { 591 switch (hash) { 592 case 3059181: return getCodeElement(); 593 case -309425751: return getProfileElement(); 594 case 108114: return getMinElement(); 595 case 107876: return getMaxElement(); 596 default: return super.makeProperty(hash, name); 597 } 598 599 } 600 601 @Override 602 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 603 switch (hash) { 604 case 3059181: /*code*/ return new String[] {"code"}; 605 case -309425751: /*profile*/ return new String[] {"canonical"}; 606 case 108114: /*min*/ return new String[] {"unsignedInt"}; 607 case 107876: /*max*/ return new String[] {"string"}; 608 default: return super.getTypesForProperty(hash, name); 609 } 610 611 } 612 613 @Override 614 public Base addChild(String name) throws FHIRException { 615 if (name.equals("code")) { 616 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.code"); 617 } 618 else if (name.equals("profile")) { 619 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.profile"); 620 } 621 else if (name.equals("min")) { 622 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.min"); 623 } 624 else if (name.equals("max")) { 625 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.max"); 626 } 627 else 628 return super.addChild(name); 629 } 630 631 public MessageDefinitionFocusComponent copy() { 632 MessageDefinitionFocusComponent dst = new MessageDefinitionFocusComponent(); 633 copyValues(dst); 634 dst.code = code == null ? null : code.copy(); 635 dst.profile = profile == null ? null : profile.copy(); 636 dst.min = min == null ? null : min.copy(); 637 dst.max = max == null ? null : max.copy(); 638 return dst; 639 } 640 641 @Override 642 public boolean equalsDeep(Base other_) { 643 if (!super.equalsDeep(other_)) 644 return false; 645 if (!(other_ instanceof MessageDefinitionFocusComponent)) 646 return false; 647 MessageDefinitionFocusComponent o = (MessageDefinitionFocusComponent) other_; 648 return compareDeep(code, o.code, true) && compareDeep(profile, o.profile, true) && compareDeep(min, o.min, true) 649 && compareDeep(max, o.max, true); 650 } 651 652 @Override 653 public boolean equalsShallow(Base other_) { 654 if (!super.equalsShallow(other_)) 655 return false; 656 if (!(other_ instanceof MessageDefinitionFocusComponent)) 657 return false; 658 MessageDefinitionFocusComponent o = (MessageDefinitionFocusComponent) other_; 659 return compareValues(code, o.code, true) && compareValues(min, o.min, true) && compareValues(max, o.max, true) 660 ; 661 } 662 663 public boolean isEmpty() { 664 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, profile, min, max 665 ); 666 } 667 668 public String fhirType() { 669 return "MessageDefinition.focus"; 670 671 } 672 673 } 674 675 @Block() 676 public static class MessageDefinitionAllowedResponseComponent extends BackboneElement implements IBaseBackboneElement { 677 /** 678 * A reference to the message definition that must be adhered to by this supported response. 679 */ 680 @Child(name = "message", type = {CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=false) 681 @Description(shortDefinition="Reference to allowed message definition response", formalDefinition="A reference to the message definition that must be adhered to by this supported response." ) 682 protected CanonicalType message; 683 684 /** 685 * Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). 686 */ 687 @Child(name = "situation", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) 688 @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)." ) 689 protected MarkdownType situation; 690 691 private static final long serialVersionUID = -1943810550L; 692 693 /** 694 * Constructor 695 */ 696 public MessageDefinitionAllowedResponseComponent() { 697 super(); 698 } 699 700 /** 701 * Constructor 702 */ 703 public MessageDefinitionAllowedResponseComponent(CanonicalType message) { 704 super(); 705 this.message = message; 706 } 707 708 /** 709 * @return {@link #message} (A reference to the message definition that must be adhered to by this supported response.). This is the underlying object with id, value and extensions. The accessor "getMessage" gives direct access to the value 710 */ 711 public CanonicalType getMessageElement() { 712 if (this.message == null) 713 if (Configuration.errorOnAutoCreate()) 714 throw new Error("Attempt to auto-create MessageDefinitionAllowedResponseComponent.message"); 715 else if (Configuration.doAutoCreate()) 716 this.message = new CanonicalType(); // bb 717 return this.message; 718 } 719 720 public boolean hasMessageElement() { 721 return this.message != null && !this.message.isEmpty(); 722 } 723 724 public boolean hasMessage() { 725 return this.message != null && !this.message.isEmpty(); 726 } 727 728 /** 729 * @param value {@link #message} (A reference to the message definition that must be adhered to by this supported response.). This is the underlying object with id, value and extensions. The accessor "getMessage" gives direct access to the value 730 */ 731 public MessageDefinitionAllowedResponseComponent setMessageElement(CanonicalType value) { 732 this.message = value; 733 return this; 734 } 735 736 /** 737 * @return A reference to the message definition that must be adhered to by this supported response. 738 */ 739 public String getMessage() { 740 return this.message == null ? null : this.message.getValue(); 741 } 742 743 /** 744 * @param value A reference to the message definition that must be adhered to by this supported response. 745 */ 746 public MessageDefinitionAllowedResponseComponent setMessage(String value) { 747 if (this.message == null) 748 this.message = new CanonicalType(); 749 this.message.setValue(value); 750 return this; 751 } 752 753 /** 754 * @return {@link #situation} (Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).). This is the underlying object with id, value and extensions. The accessor "getSituation" gives direct access to the value 755 */ 756 public MarkdownType getSituationElement() { 757 if (this.situation == null) 758 if (Configuration.errorOnAutoCreate()) 759 throw new Error("Attempt to auto-create MessageDefinitionAllowedResponseComponent.situation"); 760 else if (Configuration.doAutoCreate()) 761 this.situation = new MarkdownType(); // bb 762 return this.situation; 763 } 764 765 public boolean hasSituationElement() { 766 return this.situation != null && !this.situation.isEmpty(); 767 } 768 769 public boolean hasSituation() { 770 return this.situation != null && !this.situation.isEmpty(); 771 } 772 773 /** 774 * @param value {@link #situation} (Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).). This is the underlying object with id, value and extensions. The accessor "getSituation" gives direct access to the value 775 */ 776 public MessageDefinitionAllowedResponseComponent setSituationElement(MarkdownType value) { 777 this.situation = value; 778 return this; 779 } 780 781 /** 782 * @return Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). 783 */ 784 public String getSituation() { 785 return this.situation == null ? null : this.situation.getValue(); 786 } 787 788 /** 789 * @param value Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses). 790 */ 791 public MessageDefinitionAllowedResponseComponent setSituation(String value) { 792 if (value == null) 793 this.situation = null; 794 else { 795 if (this.situation == null) 796 this.situation = new MarkdownType(); 797 this.situation.setValue(value); 798 } 799 return this; 800 } 801 802 protected void listChildren(List<Property> children) { 803 super.listChildren(children); 804 children.add(new Property("message", "canonical(MessageDefinition)", "A reference to the message definition that must be adhered to by this supported response.", 0, 1, message)); 805 children.add(new Property("situation", "markdown", "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).", 0, 1, situation)); 806 } 807 808 @Override 809 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 810 switch (_hash) { 811 case 954925063: /*message*/ return new Property("message", "canonical(MessageDefinition)", "A reference to the message definition that must be adhered to by this supported response.", 0, 1, message); 812 case -73377282: /*situation*/ return new Property("situation", "markdown", "Provides a description of the circumstances in which this response should be used (as opposed to one of the alternative responses).", 0, 1, situation); 813 default: return super.getNamedProperty(_hash, _name, _checkValid); 814 } 815 816 } 817 818 @Override 819 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 820 switch (hash) { 821 case 954925063: /*message*/ return this.message == null ? new Base[0] : new Base[] {this.message}; // CanonicalType 822 case -73377282: /*situation*/ return this.situation == null ? new Base[0] : new Base[] {this.situation}; // MarkdownType 823 default: return super.getProperty(hash, name, checkValid); 824 } 825 826 } 827 828 @Override 829 public Base setProperty(int hash, String name, Base value) throws FHIRException { 830 switch (hash) { 831 case 954925063: // message 832 this.message = castToCanonical(value); // CanonicalType 833 return value; 834 case -73377282: // situation 835 this.situation = castToMarkdown(value); // MarkdownType 836 return value; 837 default: return super.setProperty(hash, name, value); 838 } 839 840 } 841 842 @Override 843 public Base setProperty(String name, Base value) throws FHIRException { 844 if (name.equals("message")) { 845 this.message = castToCanonical(value); // CanonicalType 846 } else if (name.equals("situation")) { 847 this.situation = castToMarkdown(value); // MarkdownType 848 } else 849 return super.setProperty(name, value); 850 return value; 851 } 852 853 @Override 854 public Base makeProperty(int hash, String name) throws FHIRException { 855 switch (hash) { 856 case 954925063: return getMessageElement(); 857 case -73377282: return getSituationElement(); 858 default: return super.makeProperty(hash, name); 859 } 860 861 } 862 863 @Override 864 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 865 switch (hash) { 866 case 954925063: /*message*/ return new String[] {"canonical"}; 867 case -73377282: /*situation*/ return new String[] {"markdown"}; 868 default: return super.getTypesForProperty(hash, name); 869 } 870 871 } 872 873 @Override 874 public Base addChild(String name) throws FHIRException { 875 if (name.equals("message")) { 876 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.message"); 877 } 878 else if (name.equals("situation")) { 879 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.situation"); 880 } 881 else 882 return super.addChild(name); 883 } 884 885 public MessageDefinitionAllowedResponseComponent copy() { 886 MessageDefinitionAllowedResponseComponent dst = new MessageDefinitionAllowedResponseComponent(); 887 copyValues(dst); 888 dst.message = message == null ? null : message.copy(); 889 dst.situation = situation == null ? null : situation.copy(); 890 return dst; 891 } 892 893 @Override 894 public boolean equalsDeep(Base other_) { 895 if (!super.equalsDeep(other_)) 896 return false; 897 if (!(other_ instanceof MessageDefinitionAllowedResponseComponent)) 898 return false; 899 MessageDefinitionAllowedResponseComponent o = (MessageDefinitionAllowedResponseComponent) other_; 900 return compareDeep(message, o.message, true) && compareDeep(situation, o.situation, true); 901 } 902 903 @Override 904 public boolean equalsShallow(Base other_) { 905 if (!super.equalsShallow(other_)) 906 return false; 907 if (!(other_ instanceof MessageDefinitionAllowedResponseComponent)) 908 return false; 909 MessageDefinitionAllowedResponseComponent o = (MessageDefinitionAllowedResponseComponent) other_; 910 return compareValues(situation, o.situation, true); 911 } 912 913 public boolean isEmpty() { 914 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(message, situation); 915 } 916 917 public String fhirType() { 918 return "MessageDefinition.allowedResponse"; 919 920 } 921 922 } 923 924 /** 925 * 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. 926 */ 927 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=1, modifier=false, summary=true) 928 @Description(shortDefinition="Additional identifier for the message definition", 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." ) 929 protected Identifier identifier; 930 931 /** 932 * A MessageDefinition that is superseded by this definition. 933 */ 934 @Child(name = "replaces", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 935 @Description(shortDefinition="Takes the place of", formalDefinition="A MessageDefinition that is superseded by this definition." ) 936 protected List<CanonicalType> replaces; 937 938 /** 939 * Explanation of why this message definition is needed and why it has been designed as it has. 940 */ 941 @Child(name = "purpose", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=true) 942 @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." ) 943 protected MarkdownType purpose; 944 945 /** 946 * 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. 947 */ 948 @Child(name = "copyright", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) 949 @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." ) 950 protected MarkdownType copyright; 951 952 /** 953 * The MessageDefinition that is the basis for the contents of this resource. 954 */ 955 @Child(name = "base", type = {CanonicalType.class}, order=4, min=0, max=1, modifier=false, summary=true) 956 @Description(shortDefinition="Definition this one is based on", formalDefinition="The MessageDefinition that is the basis for the contents of this resource." ) 957 protected CanonicalType base; 958 959 /** 960 * Identifies a protocol or workflow that this MessageDefinition represents a step in. 961 */ 962 @Child(name = "parent", type = {CanonicalType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 963 @Description(shortDefinition="Protocol/workflow this is part of", formalDefinition="Identifies a protocol or workflow that this MessageDefinition represents a step in." ) 964 protected List<CanonicalType> parent; 965 966 /** 967 * Event code or link to the EventDefinition. 968 */ 969 @Child(name = "event", type = {Coding.class, UriType.class}, order=6, min=1, max=1, modifier=false, summary=true) 970 @Description(shortDefinition="Event code or link to the EventDefinition", formalDefinition="Event code or link to the EventDefinition." ) 971 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/message-events") 972 protected Type event; 973 974 /** 975 * The impact of the content of the message. 976 */ 977 @Child(name = "category", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 978 @Description(shortDefinition="Consequence | Currency | Notification", formalDefinition="The impact of the content of the message." ) 979 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/message-significance-category") 980 protected Enumeration<MessageSignificanceCategory> category; 981 982 /** 983 * 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. 984 */ 985 @Child(name = "focus", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 986 @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." ) 987 protected List<MessageDefinitionFocusComponent> focus; 988 989 /** 990 * Declare at a message definition level whether a response is required or only upon error or success, or never. 991 */ 992 @Child(name = "responseRequired", type = {CodeType.class}, order=9, min=0, max=1, modifier=false, summary=false) 993 @Description(shortDefinition="Response circumstances", formalDefinition="Declare at a message definition level whether a response is required or only upon error or success, or never." ) 994 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/messageheader-response-request") 995 protected Enumeration<MessageheaderResponseRequest> responseRequired; 996 997 /** 998 * Indicates what types of messages may be sent as an application-level response to this message. 999 */ 1000 @Child(name = "allowedResponse", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1001 @Description(shortDefinition="Responses to this message", formalDefinition="Indicates what types of messages may be sent as an application-level response to this message." ) 1002 protected List<MessageDefinitionAllowedResponseComponent> allowedResponse; 1003 1004 private static final long serialVersionUID = -74603085L; 1005 1006 /** 1007 * Constructor 1008 */ 1009 public MessageDefinition() { 1010 super(); 1011 } 1012 1013 /** 1014 * Constructor 1015 */ 1016 public MessageDefinition(Enumeration<PublicationStatus> status, DateTimeType date, Type event) { 1017 super(); 1018 this.status = status; 1019 this.date = date; 1020 this.event = event; 1021 } 1022 1023 /** 1024 * @return {@link #url} (An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1025 */ 1026 public UriType getUrlElement() { 1027 if (this.url == null) 1028 if (Configuration.errorOnAutoCreate()) 1029 throw new Error("Attempt to auto-create MessageDefinition.url"); 1030 else if (Configuration.doAutoCreate()) 1031 this.url = new UriType(); // bb 1032 return this.url; 1033 } 1034 1035 public boolean hasUrlElement() { 1036 return this.url != null && !this.url.isEmpty(); 1037 } 1038 1039 public boolean hasUrl() { 1040 return this.url != null && !this.url.isEmpty(); 1041 } 1042 1043 /** 1044 * @param value {@link #url} (An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 1045 */ 1046 public MessageDefinition setUrlElement(UriType value) { 1047 this.url = value; 1048 return this; 1049 } 1050 1051 /** 1052 * @return An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published. 1053 */ 1054 public String getUrl() { 1055 return this.url == null ? null : this.url.getValue(); 1056 } 1057 1058 /** 1059 * @param value An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published. 1060 */ 1061 public MessageDefinition setUrl(String value) { 1062 if (Utilities.noString(value)) 1063 this.url = null; 1064 else { 1065 if (this.url == null) 1066 this.url = new UriType(); 1067 this.url.setValue(value); 1068 } 1069 return this; 1070 } 1071 1072 /** 1073 * @return {@link #identifier} (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.) 1074 */ 1075 public Identifier getIdentifier() { 1076 if (this.identifier == null) 1077 if (Configuration.errorOnAutoCreate()) 1078 throw new Error("Attempt to auto-create MessageDefinition.identifier"); 1079 else if (Configuration.doAutoCreate()) 1080 this.identifier = new Identifier(); // cc 1081 return this.identifier; 1082 } 1083 1084 public boolean hasIdentifier() { 1085 return this.identifier != null && !this.identifier.isEmpty(); 1086 } 1087 1088 /** 1089 * @param value {@link #identifier} (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.) 1090 */ 1091 public MessageDefinition setIdentifier(Identifier value) { 1092 this.identifier = value; 1093 return this; 1094 } 1095 1096 /** 1097 * @return {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1098 */ 1099 public StringType getVersionElement() { 1100 if (this.version == null) 1101 if (Configuration.errorOnAutoCreate()) 1102 throw new Error("Attempt to auto-create MessageDefinition.version"); 1103 else if (Configuration.doAutoCreate()) 1104 this.version = new StringType(); // bb 1105 return this.version; 1106 } 1107 1108 public boolean hasVersionElement() { 1109 return this.version != null && !this.version.isEmpty(); 1110 } 1111 1112 public boolean hasVersion() { 1113 return this.version != null && !this.version.isEmpty(); 1114 } 1115 1116 /** 1117 * @param value {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1118 */ 1119 public MessageDefinition setVersionElement(StringType value) { 1120 this.version = value; 1121 return this; 1122 } 1123 1124 /** 1125 * @return 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. 1126 */ 1127 public String getVersion() { 1128 return this.version == null ? null : this.version.getValue(); 1129 } 1130 1131 /** 1132 * @param value 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. 1133 */ 1134 public MessageDefinition setVersion(String value) { 1135 if (Utilities.noString(value)) 1136 this.version = null; 1137 else { 1138 if (this.version == null) 1139 this.version = new StringType(); 1140 this.version.setValue(value); 1141 } 1142 return this; 1143 } 1144 1145 /** 1146 * @return {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1147 */ 1148 public StringType getNameElement() { 1149 if (this.name == null) 1150 if (Configuration.errorOnAutoCreate()) 1151 throw new Error("Attempt to auto-create MessageDefinition.name"); 1152 else if (Configuration.doAutoCreate()) 1153 this.name = new StringType(); // bb 1154 return this.name; 1155 } 1156 1157 public boolean hasNameElement() { 1158 return this.name != null && !this.name.isEmpty(); 1159 } 1160 1161 public boolean hasName() { 1162 return this.name != null && !this.name.isEmpty(); 1163 } 1164 1165 /** 1166 * @param value {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 1167 */ 1168 public MessageDefinition setNameElement(StringType value) { 1169 this.name = value; 1170 return this; 1171 } 1172 1173 /** 1174 * @return 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. 1175 */ 1176 public String getName() { 1177 return this.name == null ? null : this.name.getValue(); 1178 } 1179 1180 /** 1181 * @param value 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. 1182 */ 1183 public MessageDefinition setName(String value) { 1184 if (Utilities.noString(value)) 1185 this.name = null; 1186 else { 1187 if (this.name == null) 1188 this.name = new StringType(); 1189 this.name.setValue(value); 1190 } 1191 return this; 1192 } 1193 1194 /** 1195 * @return {@link #title} (A short, descriptive, user-friendly title for the message definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1196 */ 1197 public StringType getTitleElement() { 1198 if (this.title == null) 1199 if (Configuration.errorOnAutoCreate()) 1200 throw new Error("Attempt to auto-create MessageDefinition.title"); 1201 else if (Configuration.doAutoCreate()) 1202 this.title = new StringType(); // bb 1203 return this.title; 1204 } 1205 1206 public boolean hasTitleElement() { 1207 return this.title != null && !this.title.isEmpty(); 1208 } 1209 1210 public boolean hasTitle() { 1211 return this.title != null && !this.title.isEmpty(); 1212 } 1213 1214 /** 1215 * @param value {@link #title} (A short, descriptive, user-friendly title for the message definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 1216 */ 1217 public MessageDefinition setTitleElement(StringType value) { 1218 this.title = value; 1219 return this; 1220 } 1221 1222 /** 1223 * @return A short, descriptive, user-friendly title for the message definition. 1224 */ 1225 public String getTitle() { 1226 return this.title == null ? null : this.title.getValue(); 1227 } 1228 1229 /** 1230 * @param value A short, descriptive, user-friendly title for the message definition. 1231 */ 1232 public MessageDefinition setTitle(String value) { 1233 if (Utilities.noString(value)) 1234 this.title = null; 1235 else { 1236 if (this.title == null) 1237 this.title = new StringType(); 1238 this.title.setValue(value); 1239 } 1240 return this; 1241 } 1242 1243 /** 1244 * @return {@link #replaces} (A MessageDefinition that is superseded by this definition.) 1245 */ 1246 public List<CanonicalType> getReplaces() { 1247 if (this.replaces == null) 1248 this.replaces = new ArrayList<CanonicalType>(); 1249 return this.replaces; 1250 } 1251 1252 /** 1253 * @return Returns a reference to <code>this</code> for easy method chaining 1254 */ 1255 public MessageDefinition setReplaces(List<CanonicalType> theReplaces) { 1256 this.replaces = theReplaces; 1257 return this; 1258 } 1259 1260 public boolean hasReplaces() { 1261 if (this.replaces == null) 1262 return false; 1263 for (CanonicalType item : this.replaces) 1264 if (!item.isEmpty()) 1265 return true; 1266 return false; 1267 } 1268 1269 /** 1270 * @return {@link #replaces} (A MessageDefinition that is superseded by this definition.) 1271 */ 1272 public CanonicalType addReplacesElement() {//2 1273 CanonicalType t = new CanonicalType(); 1274 if (this.replaces == null) 1275 this.replaces = new ArrayList<CanonicalType>(); 1276 this.replaces.add(t); 1277 return t; 1278 } 1279 1280 /** 1281 * @param value {@link #replaces} (A MessageDefinition that is superseded by this definition.) 1282 */ 1283 public MessageDefinition addReplaces(String value) { //1 1284 CanonicalType t = new CanonicalType(); 1285 t.setValue(value); 1286 if (this.replaces == null) 1287 this.replaces = new ArrayList<CanonicalType>(); 1288 this.replaces.add(t); 1289 return this; 1290 } 1291 1292 /** 1293 * @param value {@link #replaces} (A MessageDefinition that is superseded by this definition.) 1294 */ 1295 public boolean hasReplaces(String value) { 1296 if (this.replaces == null) 1297 return false; 1298 for (CanonicalType v : this.replaces) 1299 if (v.getValue().equals(value)) // canonical(MessageDefinition) 1300 return true; 1301 return false; 1302 } 1303 1304 /** 1305 * @return {@link #status} (The status of this message definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1306 */ 1307 public Enumeration<PublicationStatus> getStatusElement() { 1308 if (this.status == null) 1309 if (Configuration.errorOnAutoCreate()) 1310 throw new Error("Attempt to auto-create MessageDefinition.status"); 1311 else if (Configuration.doAutoCreate()) 1312 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 1313 return this.status; 1314 } 1315 1316 public boolean hasStatusElement() { 1317 return this.status != null && !this.status.isEmpty(); 1318 } 1319 1320 public boolean hasStatus() { 1321 return this.status != null && !this.status.isEmpty(); 1322 } 1323 1324 /** 1325 * @param value {@link #status} (The status of this message definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 1326 */ 1327 public MessageDefinition setStatusElement(Enumeration<PublicationStatus> value) { 1328 this.status = value; 1329 return this; 1330 } 1331 1332 /** 1333 * @return The status of this message definition. Enables tracking the life-cycle of the content. 1334 */ 1335 public PublicationStatus getStatus() { 1336 return this.status == null ? null : this.status.getValue(); 1337 } 1338 1339 /** 1340 * @param value The status of this message definition. Enables tracking the life-cycle of the content. 1341 */ 1342 public MessageDefinition setStatus(PublicationStatus value) { 1343 if (this.status == null) 1344 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 1345 this.status.setValue(value); 1346 return this; 1347 } 1348 1349 /** 1350 * @return {@link #experimental} (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.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 1351 */ 1352 public BooleanType getExperimentalElement() { 1353 if (this.experimental == null) 1354 if (Configuration.errorOnAutoCreate()) 1355 throw new Error("Attempt to auto-create MessageDefinition.experimental"); 1356 else if (Configuration.doAutoCreate()) 1357 this.experimental = new BooleanType(); // bb 1358 return this.experimental; 1359 } 1360 1361 public boolean hasExperimentalElement() { 1362 return this.experimental != null && !this.experimental.isEmpty(); 1363 } 1364 1365 public boolean hasExperimental() { 1366 return this.experimental != null && !this.experimental.isEmpty(); 1367 } 1368 1369 /** 1370 * @param value {@link #experimental} (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.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 1371 */ 1372 public MessageDefinition setExperimentalElement(BooleanType value) { 1373 this.experimental = value; 1374 return this; 1375 } 1376 1377 /** 1378 * @return 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. 1379 */ 1380 public boolean getExperimental() { 1381 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 1382 } 1383 1384 /** 1385 * @param value 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. 1386 */ 1387 public MessageDefinition setExperimental(boolean value) { 1388 if (this.experimental == null) 1389 this.experimental = new BooleanType(); 1390 this.experimental.setValue(value); 1391 return this; 1392 } 1393 1394 /** 1395 * @return {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1396 */ 1397 public DateTimeType getDateElement() { 1398 if (this.date == null) 1399 if (Configuration.errorOnAutoCreate()) 1400 throw new Error("Attempt to auto-create MessageDefinition.date"); 1401 else if (Configuration.doAutoCreate()) 1402 this.date = new DateTimeType(); // bb 1403 return this.date; 1404 } 1405 1406 public boolean hasDateElement() { 1407 return this.date != null && !this.date.isEmpty(); 1408 } 1409 1410 public boolean hasDate() { 1411 return this.date != null && !this.date.isEmpty(); 1412 } 1413 1414 /** 1415 * @param value {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 1416 */ 1417 public MessageDefinition setDateElement(DateTimeType value) { 1418 this.date = value; 1419 return this; 1420 } 1421 1422 /** 1423 * @return 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. 1424 */ 1425 public Date getDate() { 1426 return this.date == null ? null : this.date.getValue(); 1427 } 1428 1429 /** 1430 * @param value 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. 1431 */ 1432 public MessageDefinition setDate(Date value) { 1433 if (this.date == null) 1434 this.date = new DateTimeType(); 1435 this.date.setValue(value); 1436 return this; 1437 } 1438 1439 /** 1440 * @return {@link #publisher} (The name of the organization or individual that published the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1441 */ 1442 public StringType getPublisherElement() { 1443 if (this.publisher == null) 1444 if (Configuration.errorOnAutoCreate()) 1445 throw new Error("Attempt to auto-create MessageDefinition.publisher"); 1446 else if (Configuration.doAutoCreate()) 1447 this.publisher = new StringType(); // bb 1448 return this.publisher; 1449 } 1450 1451 public boolean hasPublisherElement() { 1452 return this.publisher != null && !this.publisher.isEmpty(); 1453 } 1454 1455 public boolean hasPublisher() { 1456 return this.publisher != null && !this.publisher.isEmpty(); 1457 } 1458 1459 /** 1460 * @param value {@link #publisher} (The name of the organization or individual that published the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 1461 */ 1462 public MessageDefinition setPublisherElement(StringType value) { 1463 this.publisher = value; 1464 return this; 1465 } 1466 1467 /** 1468 * @return The name of the organization or individual that published the message definition. 1469 */ 1470 public String getPublisher() { 1471 return this.publisher == null ? null : this.publisher.getValue(); 1472 } 1473 1474 /** 1475 * @param value The name of the organization or individual that published the message definition. 1476 */ 1477 public MessageDefinition setPublisher(String value) { 1478 if (Utilities.noString(value)) 1479 this.publisher = null; 1480 else { 1481 if (this.publisher == null) 1482 this.publisher = new StringType(); 1483 this.publisher.setValue(value); 1484 } 1485 return this; 1486 } 1487 1488 /** 1489 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 1490 */ 1491 public List<ContactDetail> getContact() { 1492 if (this.contact == null) 1493 this.contact = new ArrayList<ContactDetail>(); 1494 return this.contact; 1495 } 1496 1497 /** 1498 * @return Returns a reference to <code>this</code> for easy method chaining 1499 */ 1500 public MessageDefinition setContact(List<ContactDetail> theContact) { 1501 this.contact = theContact; 1502 return this; 1503 } 1504 1505 public boolean hasContact() { 1506 if (this.contact == null) 1507 return false; 1508 for (ContactDetail item : this.contact) 1509 if (!item.isEmpty()) 1510 return true; 1511 return false; 1512 } 1513 1514 public ContactDetail addContact() { //3 1515 ContactDetail t = new ContactDetail(); 1516 if (this.contact == null) 1517 this.contact = new ArrayList<ContactDetail>(); 1518 this.contact.add(t); 1519 return t; 1520 } 1521 1522 public MessageDefinition addContact(ContactDetail t) { //3 1523 if (t == null) 1524 return this; 1525 if (this.contact == null) 1526 this.contact = new ArrayList<ContactDetail>(); 1527 this.contact.add(t); 1528 return this; 1529 } 1530 1531 /** 1532 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 1533 */ 1534 public ContactDetail getContactFirstRep() { 1535 if (getContact().isEmpty()) { 1536 addContact(); 1537 } 1538 return getContact().get(0); 1539 } 1540 1541 /** 1542 * @return {@link #description} (A free text natural language description of the message definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1543 */ 1544 public MarkdownType getDescriptionElement() { 1545 if (this.description == null) 1546 if (Configuration.errorOnAutoCreate()) 1547 throw new Error("Attempt to auto-create MessageDefinition.description"); 1548 else if (Configuration.doAutoCreate()) 1549 this.description = new MarkdownType(); // bb 1550 return this.description; 1551 } 1552 1553 public boolean hasDescriptionElement() { 1554 return this.description != null && !this.description.isEmpty(); 1555 } 1556 1557 public boolean hasDescription() { 1558 return this.description != null && !this.description.isEmpty(); 1559 } 1560 1561 /** 1562 * @param value {@link #description} (A free text natural language description of the message definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1563 */ 1564 public MessageDefinition setDescriptionElement(MarkdownType value) { 1565 this.description = value; 1566 return this; 1567 } 1568 1569 /** 1570 * @return A free text natural language description of the message definition from a consumer's perspective. 1571 */ 1572 public String getDescription() { 1573 return this.description == null ? null : this.description.getValue(); 1574 } 1575 1576 /** 1577 * @param value A free text natural language description of the message definition from a consumer's perspective. 1578 */ 1579 public MessageDefinition setDescription(String value) { 1580 if (value == null) 1581 this.description = null; 1582 else { 1583 if (this.description == null) 1584 this.description = new MarkdownType(); 1585 this.description.setValue(value); 1586 } 1587 return this; 1588 } 1589 1590 /** 1591 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate message definition instances.) 1592 */ 1593 public List<UsageContext> getUseContext() { 1594 if (this.useContext == null) 1595 this.useContext = new ArrayList<UsageContext>(); 1596 return this.useContext; 1597 } 1598 1599 /** 1600 * @return Returns a reference to <code>this</code> for easy method chaining 1601 */ 1602 public MessageDefinition setUseContext(List<UsageContext> theUseContext) { 1603 this.useContext = theUseContext; 1604 return this; 1605 } 1606 1607 public boolean hasUseContext() { 1608 if (this.useContext == null) 1609 return false; 1610 for (UsageContext item : this.useContext) 1611 if (!item.isEmpty()) 1612 return true; 1613 return false; 1614 } 1615 1616 public UsageContext addUseContext() { //3 1617 UsageContext t = new UsageContext(); 1618 if (this.useContext == null) 1619 this.useContext = new ArrayList<UsageContext>(); 1620 this.useContext.add(t); 1621 return t; 1622 } 1623 1624 public MessageDefinition addUseContext(UsageContext t) { //3 1625 if (t == null) 1626 return this; 1627 if (this.useContext == null) 1628 this.useContext = new ArrayList<UsageContext>(); 1629 this.useContext.add(t); 1630 return this; 1631 } 1632 1633 /** 1634 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 1635 */ 1636 public UsageContext getUseContextFirstRep() { 1637 if (getUseContext().isEmpty()) { 1638 addUseContext(); 1639 } 1640 return getUseContext().get(0); 1641 } 1642 1643 /** 1644 * @return {@link #jurisdiction} (A legal or geographic region in which the message definition is intended to be used.) 1645 */ 1646 public List<CodeableConcept> getJurisdiction() { 1647 if (this.jurisdiction == null) 1648 this.jurisdiction = new ArrayList<CodeableConcept>(); 1649 return this.jurisdiction; 1650 } 1651 1652 /** 1653 * @return Returns a reference to <code>this</code> for easy method chaining 1654 */ 1655 public MessageDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 1656 this.jurisdiction = theJurisdiction; 1657 return this; 1658 } 1659 1660 public boolean hasJurisdiction() { 1661 if (this.jurisdiction == null) 1662 return false; 1663 for (CodeableConcept item : this.jurisdiction) 1664 if (!item.isEmpty()) 1665 return true; 1666 return false; 1667 } 1668 1669 public CodeableConcept addJurisdiction() { //3 1670 CodeableConcept t = new CodeableConcept(); 1671 if (this.jurisdiction == null) 1672 this.jurisdiction = new ArrayList<CodeableConcept>(); 1673 this.jurisdiction.add(t); 1674 return t; 1675 } 1676 1677 public MessageDefinition addJurisdiction(CodeableConcept t) { //3 1678 if (t == null) 1679 return this; 1680 if (this.jurisdiction == null) 1681 this.jurisdiction = new ArrayList<CodeableConcept>(); 1682 this.jurisdiction.add(t); 1683 return this; 1684 } 1685 1686 /** 1687 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 1688 */ 1689 public CodeableConcept getJurisdictionFirstRep() { 1690 if (getJurisdiction().isEmpty()) { 1691 addJurisdiction(); 1692 } 1693 return getJurisdiction().get(0); 1694 } 1695 1696 /** 1697 * @return {@link #purpose} (Explanation of why this message definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1698 */ 1699 public MarkdownType getPurposeElement() { 1700 if (this.purpose == null) 1701 if (Configuration.errorOnAutoCreate()) 1702 throw new Error("Attempt to auto-create MessageDefinition.purpose"); 1703 else if (Configuration.doAutoCreate()) 1704 this.purpose = new MarkdownType(); // bb 1705 return this.purpose; 1706 } 1707 1708 public boolean hasPurposeElement() { 1709 return this.purpose != null && !this.purpose.isEmpty(); 1710 } 1711 1712 public boolean hasPurpose() { 1713 return this.purpose != null && !this.purpose.isEmpty(); 1714 } 1715 1716 /** 1717 * @param value {@link #purpose} (Explanation of why this message definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 1718 */ 1719 public MessageDefinition setPurposeElement(MarkdownType value) { 1720 this.purpose = value; 1721 return this; 1722 } 1723 1724 /** 1725 * @return Explanation of why this message definition is needed and why it has been designed as it has. 1726 */ 1727 public String getPurpose() { 1728 return this.purpose == null ? null : this.purpose.getValue(); 1729 } 1730 1731 /** 1732 * @param value Explanation of why this message definition is needed and why it has been designed as it has. 1733 */ 1734 public MessageDefinition setPurpose(String value) { 1735 if (value == null) 1736 this.purpose = null; 1737 else { 1738 if (this.purpose == null) 1739 this.purpose = new MarkdownType(); 1740 this.purpose.setValue(value); 1741 } 1742 return this; 1743 } 1744 1745 /** 1746 * @return {@link #copyright} (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.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1747 */ 1748 public MarkdownType getCopyrightElement() { 1749 if (this.copyright == null) 1750 if (Configuration.errorOnAutoCreate()) 1751 throw new Error("Attempt to auto-create MessageDefinition.copyright"); 1752 else if (Configuration.doAutoCreate()) 1753 this.copyright = new MarkdownType(); // bb 1754 return this.copyright; 1755 } 1756 1757 public boolean hasCopyrightElement() { 1758 return this.copyright != null && !this.copyright.isEmpty(); 1759 } 1760 1761 public boolean hasCopyright() { 1762 return this.copyright != null && !this.copyright.isEmpty(); 1763 } 1764 1765 /** 1766 * @param value {@link #copyright} (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.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1767 */ 1768 public MessageDefinition setCopyrightElement(MarkdownType value) { 1769 this.copyright = value; 1770 return this; 1771 } 1772 1773 /** 1774 * @return 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. 1775 */ 1776 public String getCopyright() { 1777 return this.copyright == null ? null : this.copyright.getValue(); 1778 } 1779 1780 /** 1781 * @param value 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. 1782 */ 1783 public MessageDefinition setCopyright(String value) { 1784 if (value == null) 1785 this.copyright = null; 1786 else { 1787 if (this.copyright == null) 1788 this.copyright = new MarkdownType(); 1789 this.copyright.setValue(value); 1790 } 1791 return this; 1792 } 1793 1794 /** 1795 * @return {@link #base} (The MessageDefinition that is the basis for the contents of this resource.). This is the underlying object with id, value and extensions. The accessor "getBase" gives direct access to the value 1796 */ 1797 public CanonicalType getBaseElement() { 1798 if (this.base == null) 1799 if (Configuration.errorOnAutoCreate()) 1800 throw new Error("Attempt to auto-create MessageDefinition.base"); 1801 else if (Configuration.doAutoCreate()) 1802 this.base = new CanonicalType(); // bb 1803 return this.base; 1804 } 1805 1806 public boolean hasBaseElement() { 1807 return this.base != null && !this.base.isEmpty(); 1808 } 1809 1810 public boolean hasBase() { 1811 return this.base != null && !this.base.isEmpty(); 1812 } 1813 1814 /** 1815 * @param value {@link #base} (The MessageDefinition that is the basis for the contents of this resource.). This is the underlying object with id, value and extensions. The accessor "getBase" gives direct access to the value 1816 */ 1817 public MessageDefinition setBaseElement(CanonicalType value) { 1818 this.base = value; 1819 return this; 1820 } 1821 1822 /** 1823 * @return The MessageDefinition that is the basis for the contents of this resource. 1824 */ 1825 public String getBase() { 1826 return this.base == null ? null : this.base.getValue(); 1827 } 1828 1829 /** 1830 * @param value The MessageDefinition that is the basis for the contents of this resource. 1831 */ 1832 public MessageDefinition setBase(String value) { 1833 if (Utilities.noString(value)) 1834 this.base = null; 1835 else { 1836 if (this.base == null) 1837 this.base = new CanonicalType(); 1838 this.base.setValue(value); 1839 } 1840 return this; 1841 } 1842 1843 /** 1844 * @return {@link #parent} (Identifies a protocol or workflow that this MessageDefinition represents a step in.) 1845 */ 1846 public List<CanonicalType> getParent() { 1847 if (this.parent == null) 1848 this.parent = new ArrayList<CanonicalType>(); 1849 return this.parent; 1850 } 1851 1852 /** 1853 * @return Returns a reference to <code>this</code> for easy method chaining 1854 */ 1855 public MessageDefinition setParent(List<CanonicalType> theParent) { 1856 this.parent = theParent; 1857 return this; 1858 } 1859 1860 public boolean hasParent() { 1861 if (this.parent == null) 1862 return false; 1863 for (CanonicalType item : this.parent) 1864 if (!item.isEmpty()) 1865 return true; 1866 return false; 1867 } 1868 1869 /** 1870 * @return {@link #parent} (Identifies a protocol or workflow that this MessageDefinition represents a step in.) 1871 */ 1872 public CanonicalType addParentElement() {//2 1873 CanonicalType t = new CanonicalType(); 1874 if (this.parent == null) 1875 this.parent = new ArrayList<CanonicalType>(); 1876 this.parent.add(t); 1877 return t; 1878 } 1879 1880 /** 1881 * @param value {@link #parent} (Identifies a protocol or workflow that this MessageDefinition represents a step in.) 1882 */ 1883 public MessageDefinition addParent(String value) { //1 1884 CanonicalType t = new CanonicalType(); 1885 t.setValue(value); 1886 if (this.parent == null) 1887 this.parent = new ArrayList<CanonicalType>(); 1888 this.parent.add(t); 1889 return this; 1890 } 1891 1892 /** 1893 * @param value {@link #parent} (Identifies a protocol or workflow that this MessageDefinition represents a step in.) 1894 */ 1895 public boolean hasParent(String value) { 1896 if (this.parent == null) 1897 return false; 1898 for (CanonicalType v : this.parent) 1899 if (v.getValue().equals(value)) // canonical(ActivityDefinition|PlanDefinition) 1900 return true; 1901 return false; 1902 } 1903 1904 /** 1905 * @return {@link #event} (Event code or link to the EventDefinition.) 1906 */ 1907 public Type getEvent() { 1908 return this.event; 1909 } 1910 1911 /** 1912 * @return {@link #event} (Event code or link to the EventDefinition.) 1913 */ 1914 public Coding getEventCoding() throws FHIRException { 1915 if (this.event == null) 1916 return null; 1917 if (!(this.event instanceof Coding)) 1918 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.event.getClass().getName()+" was encountered"); 1919 return (Coding) this.event; 1920 } 1921 1922 public boolean hasEventCoding() { 1923 return this != null && this.event instanceof Coding; 1924 } 1925 1926 /** 1927 * @return {@link #event} (Event code or link to the EventDefinition.) 1928 */ 1929 public UriType getEventUriType() throws FHIRException { 1930 if (this.event == null) 1931 return null; 1932 if (!(this.event instanceof UriType)) 1933 throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.event.getClass().getName()+" was encountered"); 1934 return (UriType) this.event; 1935 } 1936 1937 public boolean hasEventUriType() { 1938 return this != null && this.event instanceof UriType; 1939 } 1940 1941 public boolean hasEvent() { 1942 return this.event != null && !this.event.isEmpty(); 1943 } 1944 1945 /** 1946 * @param value {@link #event} (Event code or link to the EventDefinition.) 1947 */ 1948 public MessageDefinition setEvent(Type value) { 1949 if (value != null && !(value instanceof Coding || value instanceof UriType)) 1950 throw new Error("Not the right type for MessageDefinition.event[x]: "+value.fhirType()); 1951 this.event = value; 1952 return this; 1953 } 1954 1955 /** 1956 * @return {@link #category} (The impact of the content of the message.). This is the underlying object with id, value and extensions. The accessor "getCategory" gives direct access to the value 1957 */ 1958 public Enumeration<MessageSignificanceCategory> getCategoryElement() { 1959 if (this.category == null) 1960 if (Configuration.errorOnAutoCreate()) 1961 throw new Error("Attempt to auto-create MessageDefinition.category"); 1962 else if (Configuration.doAutoCreate()) 1963 this.category = new Enumeration<MessageSignificanceCategory>(new MessageSignificanceCategoryEnumFactory()); // bb 1964 return this.category; 1965 } 1966 1967 public boolean hasCategoryElement() { 1968 return this.category != null && !this.category.isEmpty(); 1969 } 1970 1971 public boolean hasCategory() { 1972 return this.category != null && !this.category.isEmpty(); 1973 } 1974 1975 /** 1976 * @param value {@link #category} (The impact of the content of the message.). This is the underlying object with id, value and extensions. The accessor "getCategory" gives direct access to the value 1977 */ 1978 public MessageDefinition setCategoryElement(Enumeration<MessageSignificanceCategory> value) { 1979 this.category = value; 1980 return this; 1981 } 1982 1983 /** 1984 * @return The impact of the content of the message. 1985 */ 1986 public MessageSignificanceCategory getCategory() { 1987 return this.category == null ? null : this.category.getValue(); 1988 } 1989 1990 /** 1991 * @param value The impact of the content of the message. 1992 */ 1993 public MessageDefinition setCategory(MessageSignificanceCategory value) { 1994 if (value == null) 1995 this.category = null; 1996 else { 1997 if (this.category == null) 1998 this.category = new Enumeration<MessageSignificanceCategory>(new MessageSignificanceCategoryEnumFactory()); 1999 this.category.setValue(value); 2000 } 2001 return this; 2002 } 2003 2004 /** 2005 * @return {@link #focus} (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.) 2006 */ 2007 public List<MessageDefinitionFocusComponent> getFocus() { 2008 if (this.focus == null) 2009 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2010 return this.focus; 2011 } 2012 2013 /** 2014 * @return Returns a reference to <code>this</code> for easy method chaining 2015 */ 2016 public MessageDefinition setFocus(List<MessageDefinitionFocusComponent> theFocus) { 2017 this.focus = theFocus; 2018 return this; 2019 } 2020 2021 public boolean hasFocus() { 2022 if (this.focus == null) 2023 return false; 2024 for (MessageDefinitionFocusComponent item : this.focus) 2025 if (!item.isEmpty()) 2026 return true; 2027 return false; 2028 } 2029 2030 public MessageDefinitionFocusComponent addFocus() { //3 2031 MessageDefinitionFocusComponent t = new MessageDefinitionFocusComponent(); 2032 if (this.focus == null) 2033 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2034 this.focus.add(t); 2035 return t; 2036 } 2037 2038 public MessageDefinition addFocus(MessageDefinitionFocusComponent t) { //3 2039 if (t == null) 2040 return this; 2041 if (this.focus == null) 2042 this.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2043 this.focus.add(t); 2044 return this; 2045 } 2046 2047 /** 2048 * @return The first repetition of repeating field {@link #focus}, creating it if it does not already exist 2049 */ 2050 public MessageDefinitionFocusComponent getFocusFirstRep() { 2051 if (getFocus().isEmpty()) { 2052 addFocus(); 2053 } 2054 return getFocus().get(0); 2055 } 2056 2057 /** 2058 * @return {@link #responseRequired} (Declare at a message definition level whether a response is required or only upon error or success, or never.). This is the underlying object with id, value and extensions. The accessor "getResponseRequired" gives direct access to the value 2059 */ 2060 public Enumeration<MessageheaderResponseRequest> getResponseRequiredElement() { 2061 if (this.responseRequired == null) 2062 if (Configuration.errorOnAutoCreate()) 2063 throw new Error("Attempt to auto-create MessageDefinition.responseRequired"); 2064 else if (Configuration.doAutoCreate()) 2065 this.responseRequired = new Enumeration<MessageheaderResponseRequest>(new MessageheaderResponseRequestEnumFactory()); // bb 2066 return this.responseRequired; 2067 } 2068 2069 public boolean hasResponseRequiredElement() { 2070 return this.responseRequired != null && !this.responseRequired.isEmpty(); 2071 } 2072 2073 public boolean hasResponseRequired() { 2074 return this.responseRequired != null && !this.responseRequired.isEmpty(); 2075 } 2076 2077 /** 2078 * @param value {@link #responseRequired} (Declare at a message definition level whether a response is required or only upon error or success, or never.). This is the underlying object with id, value and extensions. The accessor "getResponseRequired" gives direct access to the value 2079 */ 2080 public MessageDefinition setResponseRequiredElement(Enumeration<MessageheaderResponseRequest> value) { 2081 this.responseRequired = value; 2082 return this; 2083 } 2084 2085 /** 2086 * @return Declare at a message definition level whether a response is required or only upon error or success, or never. 2087 */ 2088 public MessageheaderResponseRequest getResponseRequired() { 2089 return this.responseRequired == null ? null : this.responseRequired.getValue(); 2090 } 2091 2092 /** 2093 * @param value Declare at a message definition level whether a response is required or only upon error or success, or never. 2094 */ 2095 public MessageDefinition setResponseRequired(MessageheaderResponseRequest value) { 2096 if (value == null) 2097 this.responseRequired = null; 2098 else { 2099 if (this.responseRequired == null) 2100 this.responseRequired = new Enumeration<MessageheaderResponseRequest>(new MessageheaderResponseRequestEnumFactory()); 2101 this.responseRequired.setValue(value); 2102 } 2103 return this; 2104 } 2105 2106 /** 2107 * @return {@link #allowedResponse} (Indicates what types of messages may be sent as an application-level response to this message.) 2108 */ 2109 public List<MessageDefinitionAllowedResponseComponent> getAllowedResponse() { 2110 if (this.allowedResponse == null) 2111 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2112 return this.allowedResponse; 2113 } 2114 2115 /** 2116 * @return Returns a reference to <code>this</code> for easy method chaining 2117 */ 2118 public MessageDefinition setAllowedResponse(List<MessageDefinitionAllowedResponseComponent> theAllowedResponse) { 2119 this.allowedResponse = theAllowedResponse; 2120 return this; 2121 } 2122 2123 public boolean hasAllowedResponse() { 2124 if (this.allowedResponse == null) 2125 return false; 2126 for (MessageDefinitionAllowedResponseComponent item : this.allowedResponse) 2127 if (!item.isEmpty()) 2128 return true; 2129 return false; 2130 } 2131 2132 public MessageDefinitionAllowedResponseComponent addAllowedResponse() { //3 2133 MessageDefinitionAllowedResponseComponent t = new MessageDefinitionAllowedResponseComponent(); 2134 if (this.allowedResponse == null) 2135 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2136 this.allowedResponse.add(t); 2137 return t; 2138 } 2139 2140 public MessageDefinition addAllowedResponse(MessageDefinitionAllowedResponseComponent t) { //3 2141 if (t == null) 2142 return this; 2143 if (this.allowedResponse == null) 2144 this.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2145 this.allowedResponse.add(t); 2146 return this; 2147 } 2148 2149 /** 2150 * @return The first repetition of repeating field {@link #allowedResponse}, creating it if it does not already exist 2151 */ 2152 public MessageDefinitionAllowedResponseComponent getAllowedResponseFirstRep() { 2153 if (getAllowedResponse().isEmpty()) { 2154 addAllowedResponse(); 2155 } 2156 return getAllowedResponse().get(0); 2157 } 2158 2159 protected void listChildren(List<Property> children) { 2160 super.listChildren(children); 2161 children.add(new Property("url", "uri", "An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published.", 0, 1, url)); 2162 children.add(new Property("identifier", "Identifier", "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.", 0, 1, identifier)); 2163 children.add(new Property("version", "string", "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.", 0, 1, version)); 2164 children.add(new Property("name", "string", "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.", 0, 1, name)); 2165 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the message definition.", 0, 1, title)); 2166 children.add(new Property("replaces", "canonical(MessageDefinition)", "A MessageDefinition that is superseded by this definition.", 0, java.lang.Integer.MAX_VALUE, replaces)); 2167 children.add(new Property("status", "code", "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 2168 children.add(new Property("experimental", "boolean", "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.", 0, 1, experimental)); 2169 children.add(new Property("date", "dateTime", "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.", 0, 1, date)); 2170 children.add(new Property("publisher", "string", "The name of the organization or individual that published the message definition.", 0, 1, publisher)); 2171 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 2172 children.add(new Property("description", "markdown", "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, description)); 2173 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate message definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 2174 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the message definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 2175 children.add(new Property("purpose", "markdown", "Explanation of why this message definition is needed and why it has been designed as it has.", 0, 1, purpose)); 2176 children.add(new Property("copyright", "markdown", "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.", 0, 1, copyright)); 2177 children.add(new Property("base", "canonical(MessageDefinition)", "The MessageDefinition that is the basis for the contents of this resource.", 0, 1, base)); 2178 children.add(new Property("parent", "canonical(ActivityDefinition|PlanDefinition)", "Identifies a protocol or workflow that this MessageDefinition represents a step in.", 0, java.lang.Integer.MAX_VALUE, parent)); 2179 children.add(new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event)); 2180 children.add(new Property("category", "code", "The impact of the content of the message.", 0, 1, category)); 2181 children.add(new Property("focus", "", "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.", 0, java.lang.Integer.MAX_VALUE, focus)); 2182 children.add(new Property("responseRequired", "code", "Declare at a message definition level whether a response is required or only upon error or success, or never.", 0, 1, responseRequired)); 2183 children.add(new Property("allowedResponse", "", "Indicates what types of messages may be sent as an application-level response to this message.", 0, java.lang.Integer.MAX_VALUE, allowedResponse)); 2184 } 2185 2186 @Override 2187 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2188 switch (_hash) { 2189 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this message definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which this message definition is (or will be) published.", 0, 1, url); 2190 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "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.", 0, 1, identifier); 2191 case 351608024: /*version*/ return new Property("version", "string", "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.", 0, 1, version); 2192 case 3373707: /*name*/ return new Property("name", "string", "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.", 0, 1, name); 2193 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the message definition.", 0, 1, title); 2194 case -430332865: /*replaces*/ return new Property("replaces", "canonical(MessageDefinition)", "A MessageDefinition that is superseded by this definition.", 0, java.lang.Integer.MAX_VALUE, replaces); 2195 case -892481550: /*status*/ return new Property("status", "code", "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status); 2196 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "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.", 0, 1, experimental); 2197 case 3076014: /*date*/ return new Property("date", "dateTime", "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.", 0, 1, date); 2198 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the message definition.", 0, 1, publisher); 2199 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 2200 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, description); 2201 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate message definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 2202 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the message definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 2203 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this message definition is needed and why it has been designed as it has.", 0, 1, purpose); 2204 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "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.", 0, 1, copyright); 2205 case 3016401: /*base*/ return new Property("base", "canonical(MessageDefinition)", "The MessageDefinition that is the basis for the contents of this resource.", 0, 1, base); 2206 case -995424086: /*parent*/ return new Property("parent", "canonical(ActivityDefinition|PlanDefinition)", "Identifies a protocol or workflow that this MessageDefinition represents a step in.", 0, java.lang.Integer.MAX_VALUE, parent); 2207 case 278115238: /*event[x]*/ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event); 2208 case 96891546: /*event*/ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event); 2209 case -355957084: /*eventCoding*/ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event); 2210 case 278109298: /*eventUri*/ return new Property("event[x]", "Coding|uri", "Event code or link to the EventDefinition.", 0, 1, event); 2211 case 50511102: /*category*/ return new Property("category", "code", "The impact of the content of the message.", 0, 1, category); 2212 case 97604824: /*focus*/ return new Property("focus", "", "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.", 0, java.lang.Integer.MAX_VALUE, focus); 2213 case 791597824: /*responseRequired*/ return new Property("responseRequired", "code", "Declare at a message definition level whether a response is required or only upon error or success, or never.", 0, 1, responseRequired); 2214 case -1130933751: /*allowedResponse*/ return new Property("allowedResponse", "", "Indicates what types of messages may be sent as an application-level response to this message.", 0, java.lang.Integer.MAX_VALUE, allowedResponse); 2215 default: return super.getNamedProperty(_hash, _name, _checkValid); 2216 } 2217 2218 } 2219 2220 @Override 2221 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2222 switch (hash) { 2223 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 2224 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 2225 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 2226 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 2227 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 2228 case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // CanonicalType 2229 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 2230 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 2231 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 2232 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 2233 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 2234 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 2235 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 2236 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 2237 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 2238 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 2239 case 3016401: /*base*/ return this.base == null ? new Base[0] : new Base[] {this.base}; // CanonicalType 2240 case -995424086: /*parent*/ return this.parent == null ? new Base[0] : this.parent.toArray(new Base[this.parent.size()]); // CanonicalType 2241 case 96891546: /*event*/ return this.event == null ? new Base[0] : new Base[] {this.event}; // Type 2242 case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // Enumeration<MessageSignificanceCategory> 2243 case 97604824: /*focus*/ return this.focus == null ? new Base[0] : this.focus.toArray(new Base[this.focus.size()]); // MessageDefinitionFocusComponent 2244 case 791597824: /*responseRequired*/ return this.responseRequired == null ? new Base[0] : new Base[] {this.responseRequired}; // Enumeration<MessageheaderResponseRequest> 2245 case -1130933751: /*allowedResponse*/ return this.allowedResponse == null ? new Base[0] : this.allowedResponse.toArray(new Base[this.allowedResponse.size()]); // MessageDefinitionAllowedResponseComponent 2246 default: return super.getProperty(hash, name, checkValid); 2247 } 2248 2249 } 2250 2251 @Override 2252 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2253 switch (hash) { 2254 case 116079: // url 2255 this.url = castToUri(value); // UriType 2256 return value; 2257 case -1618432855: // identifier 2258 this.identifier = castToIdentifier(value); // Identifier 2259 return value; 2260 case 351608024: // version 2261 this.version = castToString(value); // StringType 2262 return value; 2263 case 3373707: // name 2264 this.name = castToString(value); // StringType 2265 return value; 2266 case 110371416: // title 2267 this.title = castToString(value); // StringType 2268 return value; 2269 case -430332865: // replaces 2270 this.getReplaces().add(castToCanonical(value)); // CanonicalType 2271 return value; 2272 case -892481550: // status 2273 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2274 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2275 return value; 2276 case -404562712: // experimental 2277 this.experimental = castToBoolean(value); // BooleanType 2278 return value; 2279 case 3076014: // date 2280 this.date = castToDateTime(value); // DateTimeType 2281 return value; 2282 case 1447404028: // publisher 2283 this.publisher = castToString(value); // StringType 2284 return value; 2285 case 951526432: // contact 2286 this.getContact().add(castToContactDetail(value)); // ContactDetail 2287 return value; 2288 case -1724546052: // description 2289 this.description = castToMarkdown(value); // MarkdownType 2290 return value; 2291 case -669707736: // useContext 2292 this.getUseContext().add(castToUsageContext(value)); // UsageContext 2293 return value; 2294 case -507075711: // jurisdiction 2295 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 2296 return value; 2297 case -220463842: // purpose 2298 this.purpose = castToMarkdown(value); // MarkdownType 2299 return value; 2300 case 1522889671: // copyright 2301 this.copyright = castToMarkdown(value); // MarkdownType 2302 return value; 2303 case 3016401: // base 2304 this.base = castToCanonical(value); // CanonicalType 2305 return value; 2306 case -995424086: // parent 2307 this.getParent().add(castToCanonical(value)); // CanonicalType 2308 return value; 2309 case 96891546: // event 2310 this.event = castToType(value); // Type 2311 return value; 2312 case 50511102: // category 2313 value = new MessageSignificanceCategoryEnumFactory().fromType(castToCode(value)); 2314 this.category = (Enumeration) value; // Enumeration<MessageSignificanceCategory> 2315 return value; 2316 case 97604824: // focus 2317 this.getFocus().add((MessageDefinitionFocusComponent) value); // MessageDefinitionFocusComponent 2318 return value; 2319 case 791597824: // responseRequired 2320 value = new MessageheaderResponseRequestEnumFactory().fromType(castToCode(value)); 2321 this.responseRequired = (Enumeration) value; // Enumeration<MessageheaderResponseRequest> 2322 return value; 2323 case -1130933751: // allowedResponse 2324 this.getAllowedResponse().add((MessageDefinitionAllowedResponseComponent) value); // MessageDefinitionAllowedResponseComponent 2325 return value; 2326 default: return super.setProperty(hash, name, value); 2327 } 2328 2329 } 2330 2331 @Override 2332 public Base setProperty(String name, Base value) throws FHIRException { 2333 if (name.equals("url")) { 2334 this.url = castToUri(value); // UriType 2335 } else if (name.equals("identifier")) { 2336 this.identifier = castToIdentifier(value); // Identifier 2337 } else if (name.equals("version")) { 2338 this.version = castToString(value); // StringType 2339 } else if (name.equals("name")) { 2340 this.name = castToString(value); // StringType 2341 } else if (name.equals("title")) { 2342 this.title = castToString(value); // StringType 2343 } else if (name.equals("replaces")) { 2344 this.getReplaces().add(castToCanonical(value)); 2345 } else if (name.equals("status")) { 2346 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2347 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2348 } else if (name.equals("experimental")) { 2349 this.experimental = castToBoolean(value); // BooleanType 2350 } else if (name.equals("date")) { 2351 this.date = castToDateTime(value); // DateTimeType 2352 } else if (name.equals("publisher")) { 2353 this.publisher = castToString(value); // StringType 2354 } else if (name.equals("contact")) { 2355 this.getContact().add(castToContactDetail(value)); 2356 } else if (name.equals("description")) { 2357 this.description = castToMarkdown(value); // MarkdownType 2358 } else if (name.equals("useContext")) { 2359 this.getUseContext().add(castToUsageContext(value)); 2360 } else if (name.equals("jurisdiction")) { 2361 this.getJurisdiction().add(castToCodeableConcept(value)); 2362 } else if (name.equals("purpose")) { 2363 this.purpose = castToMarkdown(value); // MarkdownType 2364 } else if (name.equals("copyright")) { 2365 this.copyright = castToMarkdown(value); // MarkdownType 2366 } else if (name.equals("base")) { 2367 this.base = castToCanonical(value); // CanonicalType 2368 } else if (name.equals("parent")) { 2369 this.getParent().add(castToCanonical(value)); 2370 } else if (name.equals("event[x]")) { 2371 this.event = castToType(value); // Type 2372 } else if (name.equals("category")) { 2373 value = new MessageSignificanceCategoryEnumFactory().fromType(castToCode(value)); 2374 this.category = (Enumeration) value; // Enumeration<MessageSignificanceCategory> 2375 } else if (name.equals("focus")) { 2376 this.getFocus().add((MessageDefinitionFocusComponent) value); 2377 } else if (name.equals("responseRequired")) { 2378 value = new MessageheaderResponseRequestEnumFactory().fromType(castToCode(value)); 2379 this.responseRequired = (Enumeration) value; // Enumeration<MessageheaderResponseRequest> 2380 } else if (name.equals("allowedResponse")) { 2381 this.getAllowedResponse().add((MessageDefinitionAllowedResponseComponent) value); 2382 } else 2383 return super.setProperty(name, value); 2384 return value; 2385 } 2386 2387 @Override 2388 public Base makeProperty(int hash, String name) throws FHIRException { 2389 switch (hash) { 2390 case 116079: return getUrlElement(); 2391 case -1618432855: return getIdentifier(); 2392 case 351608024: return getVersionElement(); 2393 case 3373707: return getNameElement(); 2394 case 110371416: return getTitleElement(); 2395 case -430332865: return addReplacesElement(); 2396 case -892481550: return getStatusElement(); 2397 case -404562712: return getExperimentalElement(); 2398 case 3076014: return getDateElement(); 2399 case 1447404028: return getPublisherElement(); 2400 case 951526432: return addContact(); 2401 case -1724546052: return getDescriptionElement(); 2402 case -669707736: return addUseContext(); 2403 case -507075711: return addJurisdiction(); 2404 case -220463842: return getPurposeElement(); 2405 case 1522889671: return getCopyrightElement(); 2406 case 3016401: return getBaseElement(); 2407 case -995424086: return addParentElement(); 2408 case 278115238: return getEvent(); 2409 case 96891546: return getEvent(); 2410 case 50511102: return getCategoryElement(); 2411 case 97604824: return addFocus(); 2412 case 791597824: return getResponseRequiredElement(); 2413 case -1130933751: return addAllowedResponse(); 2414 default: return super.makeProperty(hash, name); 2415 } 2416 2417 } 2418 2419 @Override 2420 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2421 switch (hash) { 2422 case 116079: /*url*/ return new String[] {"uri"}; 2423 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 2424 case 351608024: /*version*/ return new String[] {"string"}; 2425 case 3373707: /*name*/ return new String[] {"string"}; 2426 case 110371416: /*title*/ return new String[] {"string"}; 2427 case -430332865: /*replaces*/ return new String[] {"canonical"}; 2428 case -892481550: /*status*/ return new String[] {"code"}; 2429 case -404562712: /*experimental*/ return new String[] {"boolean"}; 2430 case 3076014: /*date*/ return new String[] {"dateTime"}; 2431 case 1447404028: /*publisher*/ return new String[] {"string"}; 2432 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 2433 case -1724546052: /*description*/ return new String[] {"markdown"}; 2434 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 2435 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 2436 case -220463842: /*purpose*/ return new String[] {"markdown"}; 2437 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 2438 case 3016401: /*base*/ return new String[] {"canonical"}; 2439 case -995424086: /*parent*/ return new String[] {"canonical"}; 2440 case 96891546: /*event*/ return new String[] {"Coding", "uri"}; 2441 case 50511102: /*category*/ return new String[] {"code"}; 2442 case 97604824: /*focus*/ return new String[] {}; 2443 case 791597824: /*responseRequired*/ return new String[] {"code"}; 2444 case -1130933751: /*allowedResponse*/ return new String[] {}; 2445 default: return super.getTypesForProperty(hash, name); 2446 } 2447 2448 } 2449 2450 @Override 2451 public Base addChild(String name) throws FHIRException { 2452 if (name.equals("url")) { 2453 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.url"); 2454 } 2455 else if (name.equals("identifier")) { 2456 this.identifier = new Identifier(); 2457 return this.identifier; 2458 } 2459 else if (name.equals("version")) { 2460 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.version"); 2461 } 2462 else if (name.equals("name")) { 2463 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.name"); 2464 } 2465 else if (name.equals("title")) { 2466 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.title"); 2467 } 2468 else if (name.equals("replaces")) { 2469 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.replaces"); 2470 } 2471 else if (name.equals("status")) { 2472 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.status"); 2473 } 2474 else if (name.equals("experimental")) { 2475 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.experimental"); 2476 } 2477 else if (name.equals("date")) { 2478 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.date"); 2479 } 2480 else if (name.equals("publisher")) { 2481 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.publisher"); 2482 } 2483 else if (name.equals("contact")) { 2484 return addContact(); 2485 } 2486 else if (name.equals("description")) { 2487 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.description"); 2488 } 2489 else if (name.equals("useContext")) { 2490 return addUseContext(); 2491 } 2492 else if (name.equals("jurisdiction")) { 2493 return addJurisdiction(); 2494 } 2495 else if (name.equals("purpose")) { 2496 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.purpose"); 2497 } 2498 else if (name.equals("copyright")) { 2499 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.copyright"); 2500 } 2501 else if (name.equals("base")) { 2502 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.base"); 2503 } 2504 else if (name.equals("parent")) { 2505 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.parent"); 2506 } 2507 else if (name.equals("eventCoding")) { 2508 this.event = new Coding(); 2509 return this.event; 2510 } 2511 else if (name.equals("eventUri")) { 2512 this.event = new UriType(); 2513 return this.event; 2514 } 2515 else if (name.equals("category")) { 2516 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.category"); 2517 } 2518 else if (name.equals("focus")) { 2519 return addFocus(); 2520 } 2521 else if (name.equals("responseRequired")) { 2522 throw new FHIRException("Cannot call addChild on a primitive type MessageDefinition.responseRequired"); 2523 } 2524 else if (name.equals("allowedResponse")) { 2525 return addAllowedResponse(); 2526 } 2527 else 2528 return super.addChild(name); 2529 } 2530 2531 public String fhirType() { 2532 return "MessageDefinition"; 2533 2534 } 2535 2536 public MessageDefinition copy() { 2537 MessageDefinition dst = new MessageDefinition(); 2538 copyValues(dst); 2539 dst.url = url == null ? null : url.copy(); 2540 dst.identifier = identifier == null ? null : identifier.copy(); 2541 dst.version = version == null ? null : version.copy(); 2542 dst.name = name == null ? null : name.copy(); 2543 dst.title = title == null ? null : title.copy(); 2544 if (replaces != null) { 2545 dst.replaces = new ArrayList<CanonicalType>(); 2546 for (CanonicalType i : replaces) 2547 dst.replaces.add(i.copy()); 2548 }; 2549 dst.status = status == null ? null : status.copy(); 2550 dst.experimental = experimental == null ? null : experimental.copy(); 2551 dst.date = date == null ? null : date.copy(); 2552 dst.publisher = publisher == null ? null : publisher.copy(); 2553 if (contact != null) { 2554 dst.contact = new ArrayList<ContactDetail>(); 2555 for (ContactDetail i : contact) 2556 dst.contact.add(i.copy()); 2557 }; 2558 dst.description = description == null ? null : description.copy(); 2559 if (useContext != null) { 2560 dst.useContext = new ArrayList<UsageContext>(); 2561 for (UsageContext i : useContext) 2562 dst.useContext.add(i.copy()); 2563 }; 2564 if (jurisdiction != null) { 2565 dst.jurisdiction = new ArrayList<CodeableConcept>(); 2566 for (CodeableConcept i : jurisdiction) 2567 dst.jurisdiction.add(i.copy()); 2568 }; 2569 dst.purpose = purpose == null ? null : purpose.copy(); 2570 dst.copyright = copyright == null ? null : copyright.copy(); 2571 dst.base = base == null ? null : base.copy(); 2572 if (parent != null) { 2573 dst.parent = new ArrayList<CanonicalType>(); 2574 for (CanonicalType i : parent) 2575 dst.parent.add(i.copy()); 2576 }; 2577 dst.event = event == null ? null : event.copy(); 2578 dst.category = category == null ? null : category.copy(); 2579 if (focus != null) { 2580 dst.focus = new ArrayList<MessageDefinitionFocusComponent>(); 2581 for (MessageDefinitionFocusComponent i : focus) 2582 dst.focus.add(i.copy()); 2583 }; 2584 dst.responseRequired = responseRequired == null ? null : responseRequired.copy(); 2585 if (allowedResponse != null) { 2586 dst.allowedResponse = new ArrayList<MessageDefinitionAllowedResponseComponent>(); 2587 for (MessageDefinitionAllowedResponseComponent i : allowedResponse) 2588 dst.allowedResponse.add(i.copy()); 2589 }; 2590 return dst; 2591 } 2592 2593 protected MessageDefinition typedCopy() { 2594 return copy(); 2595 } 2596 2597 @Override 2598 public boolean equalsDeep(Base other_) { 2599 if (!super.equalsDeep(other_)) 2600 return false; 2601 if (!(other_ instanceof MessageDefinition)) 2602 return false; 2603 MessageDefinition o = (MessageDefinition) other_; 2604 return compareDeep(identifier, o.identifier, true) && compareDeep(replaces, o.replaces, true) && compareDeep(purpose, o.purpose, true) 2605 && compareDeep(copyright, o.copyright, true) && compareDeep(base, o.base, true) && compareDeep(parent, o.parent, true) 2606 && compareDeep(event, o.event, true) && compareDeep(category, o.category, true) && compareDeep(focus, o.focus, true) 2607 && compareDeep(responseRequired, o.responseRequired, true) && compareDeep(allowedResponse, o.allowedResponse, true) 2608 ; 2609 } 2610 2611 @Override 2612 public boolean equalsShallow(Base other_) { 2613 if (!super.equalsShallow(other_)) 2614 return false; 2615 if (!(other_ instanceof MessageDefinition)) 2616 return false; 2617 MessageDefinition o = (MessageDefinition) other_; 2618 return compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(category, o.category, true) 2619 && compareValues(responseRequired, o.responseRequired, true); 2620 } 2621 2622 public boolean isEmpty() { 2623 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, replaces, purpose 2624 , copyright, base, parent, event, category, focus, responseRequired, allowedResponse 2625 ); 2626 } 2627 2628 @Override 2629 public ResourceType getResourceType() { 2630 return ResourceType.MessageDefinition; 2631 } 2632 2633 /** 2634 * Search parameter: <b>date</b> 2635 * <p> 2636 * Description: <b>The message definition publication date</b><br> 2637 * Type: <b>date</b><br> 2638 * Path: <b>MessageDefinition.date</b><br> 2639 * </p> 2640 */ 2641 @SearchParamDefinition(name="date", path="MessageDefinition.date", description="The message definition publication date", type="date" ) 2642 public static final String SP_DATE = "date"; 2643 /** 2644 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2645 * <p> 2646 * Description: <b>The message definition publication date</b><br> 2647 * Type: <b>date</b><br> 2648 * Path: <b>MessageDefinition.date</b><br> 2649 * </p> 2650 */ 2651 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 2652 2653 /** 2654 * Search parameter: <b>identifier</b> 2655 * <p> 2656 * Description: <b>External identifier for the message definition</b><br> 2657 * Type: <b>token</b><br> 2658 * Path: <b>MessageDefinition.identifier</b><br> 2659 * </p> 2660 */ 2661 @SearchParamDefinition(name="identifier", path="MessageDefinition.identifier", description="External identifier for the message definition", type="token" ) 2662 public static final String SP_IDENTIFIER = "identifier"; 2663 /** 2664 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2665 * <p> 2666 * Description: <b>External identifier for the message definition</b><br> 2667 * Type: <b>token</b><br> 2668 * Path: <b>MessageDefinition.identifier</b><br> 2669 * </p> 2670 */ 2671 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 2672 2673 /** 2674 * Search parameter: <b>jurisdiction</b> 2675 * <p> 2676 * Description: <b>Intended jurisdiction for the message definition</b><br> 2677 * Type: <b>token</b><br> 2678 * Path: <b>MessageDefinition.jurisdiction</b><br> 2679 * </p> 2680 */ 2681 @SearchParamDefinition(name="jurisdiction", path="MessageDefinition.jurisdiction", description="Intended jurisdiction for the message definition", type="token" ) 2682 public static final String SP_JURISDICTION = "jurisdiction"; 2683 /** 2684 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 2685 * <p> 2686 * Description: <b>Intended jurisdiction for the message definition</b><br> 2687 * Type: <b>token</b><br> 2688 * Path: <b>MessageDefinition.jurisdiction</b><br> 2689 * </p> 2690 */ 2691 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 2692 2693 /** 2694 * Search parameter: <b>description</b> 2695 * <p> 2696 * Description: <b>The description of the message definition</b><br> 2697 * Type: <b>string</b><br> 2698 * Path: <b>MessageDefinition.description</b><br> 2699 * </p> 2700 */ 2701 @SearchParamDefinition(name="description", path="MessageDefinition.description", description="The description of the message definition", type="string" ) 2702 public static final String SP_DESCRIPTION = "description"; 2703 /** 2704 * <b>Fluent Client</b> search parameter constant for <b>description</b> 2705 * <p> 2706 * Description: <b>The description of the message definition</b><br> 2707 * Type: <b>string</b><br> 2708 * Path: <b>MessageDefinition.description</b><br> 2709 * </p> 2710 */ 2711 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 2712 2713 /** 2714 * Search parameter: <b>focus</b> 2715 * <p> 2716 * Description: <b>A resource that is a permitted focus of the message</b><br> 2717 * Type: <b>token</b><br> 2718 * Path: <b>MessageDefinition.focus.code</b><br> 2719 * </p> 2720 */ 2721 @SearchParamDefinition(name="focus", path="MessageDefinition.focus.code", description="A resource that is a permitted focus of the message", type="token" ) 2722 public static final String SP_FOCUS = "focus"; 2723 /** 2724 * <b>Fluent Client</b> search parameter constant for <b>focus</b> 2725 * <p> 2726 * Description: <b>A resource that is a permitted focus of the message</b><br> 2727 * Type: <b>token</b><br> 2728 * Path: <b>MessageDefinition.focus.code</b><br> 2729 * </p> 2730 */ 2731 public static final ca.uhn.fhir.rest.gclient.TokenClientParam FOCUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FOCUS); 2732 2733 /** 2734 * Search parameter: <b>title</b> 2735 * <p> 2736 * Description: <b>The human-friendly name of the message definition</b><br> 2737 * Type: <b>string</b><br> 2738 * Path: <b>MessageDefinition.title</b><br> 2739 * </p> 2740 */ 2741 @SearchParamDefinition(name="title", path="MessageDefinition.title", description="The human-friendly name of the message definition", type="string" ) 2742 public static final String SP_TITLE = "title"; 2743 /** 2744 * <b>Fluent Client</b> search parameter constant for <b>title</b> 2745 * <p> 2746 * Description: <b>The human-friendly name of the message definition</b><br> 2747 * Type: <b>string</b><br> 2748 * Path: <b>MessageDefinition.title</b><br> 2749 * </p> 2750 */ 2751 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 2752 2753 /** 2754 * Search parameter: <b>version</b> 2755 * <p> 2756 * Description: <b>The business version of the message definition</b><br> 2757 * Type: <b>token</b><br> 2758 * Path: <b>MessageDefinition.version</b><br> 2759 * </p> 2760 */ 2761 @SearchParamDefinition(name="version", path="MessageDefinition.version", description="The business version of the message definition", type="token" ) 2762 public static final String SP_VERSION = "version"; 2763 /** 2764 * <b>Fluent Client</b> search parameter constant for <b>version</b> 2765 * <p> 2766 * Description: <b>The business version of the message definition</b><br> 2767 * Type: <b>token</b><br> 2768 * Path: <b>MessageDefinition.version</b><br> 2769 * </p> 2770 */ 2771 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 2772 2773 /** 2774 * Search parameter: <b>url</b> 2775 * <p> 2776 * Description: <b>The uri that identifies the message definition</b><br> 2777 * Type: <b>uri</b><br> 2778 * Path: <b>MessageDefinition.url</b><br> 2779 * </p> 2780 */ 2781 @SearchParamDefinition(name="url", path="MessageDefinition.url", description="The uri that identifies the message definition", type="uri" ) 2782 public static final String SP_URL = "url"; 2783 /** 2784 * <b>Fluent Client</b> search parameter constant for <b>url</b> 2785 * <p> 2786 * Description: <b>The uri that identifies the message definition</b><br> 2787 * Type: <b>uri</b><br> 2788 * Path: <b>MessageDefinition.url</b><br> 2789 * </p> 2790 */ 2791 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 2792 2793 /** 2794 * Search parameter: <b>name</b> 2795 * <p> 2796 * Description: <b>Computationally friendly name of the message definition</b><br> 2797 * Type: <b>string</b><br> 2798 * Path: <b>MessageDefinition.name</b><br> 2799 * </p> 2800 */ 2801 @SearchParamDefinition(name="name", path="MessageDefinition.name", description="Computationally friendly name of the message definition", type="string" ) 2802 public static final String SP_NAME = "name"; 2803 /** 2804 * <b>Fluent Client</b> search parameter constant for <b>name</b> 2805 * <p> 2806 * Description: <b>Computationally friendly name of the message definition</b><br> 2807 * Type: <b>string</b><br> 2808 * Path: <b>MessageDefinition.name</b><br> 2809 * </p> 2810 */ 2811 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 2812 2813 /** 2814 * Search parameter: <b>publisher</b> 2815 * <p> 2816 * Description: <b>Name of the publisher of the message definition</b><br> 2817 * Type: <b>string</b><br> 2818 * Path: <b>MessageDefinition.publisher</b><br> 2819 * </p> 2820 */ 2821 @SearchParamDefinition(name="publisher", path="MessageDefinition.publisher", description="Name of the publisher of the message definition", type="string" ) 2822 public static final String SP_PUBLISHER = "publisher"; 2823 /** 2824 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 2825 * <p> 2826 * Description: <b>Name of the publisher of the message definition</b><br> 2827 * Type: <b>string</b><br> 2828 * Path: <b>MessageDefinition.publisher</b><br> 2829 * </p> 2830 */ 2831 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 2832 2833 /** 2834 * Search parameter: <b>event</b> 2835 * <p> 2836 * Description: <b>The event that triggers the message or link to the event definition.</b><br> 2837 * Type: <b>token</b><br> 2838 * Path: <b>MessageDefinition.event[x]</b><br> 2839 * </p> 2840 */ 2841 @SearchParamDefinition(name="event", path="MessageDefinition.event", description="The event that triggers the message or link to the event definition.", type="token" ) 2842 public static final String SP_EVENT = "event"; 2843 /** 2844 * <b>Fluent Client</b> search parameter constant for <b>event</b> 2845 * <p> 2846 * Description: <b>The event that triggers the message or link to the event definition.</b><br> 2847 * Type: <b>token</b><br> 2848 * Path: <b>MessageDefinition.event[x]</b><br> 2849 * </p> 2850 */ 2851 public static final ca.uhn.fhir.rest.gclient.TokenClientParam EVENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EVENT); 2852 2853 /** 2854 * Search parameter: <b>category</b> 2855 * <p> 2856 * Description: <b>The behavior associated with the message</b><br> 2857 * Type: <b>token</b><br> 2858 * Path: <b>MessageDefinition.category</b><br> 2859 * </p> 2860 */ 2861 @SearchParamDefinition(name="category", path="MessageDefinition.category", description="The behavior associated with the message", type="token" ) 2862 public static final String SP_CATEGORY = "category"; 2863 /** 2864 * <b>Fluent Client</b> search parameter constant for <b>category</b> 2865 * <p> 2866 * Description: <b>The behavior associated with the message</b><br> 2867 * Type: <b>token</b><br> 2868 * Path: <b>MessageDefinition.category</b><br> 2869 * </p> 2870 */ 2871 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); 2872 2873 /** 2874 * Search parameter: <b>status</b> 2875 * <p> 2876 * Description: <b>The current status of the message definition</b><br> 2877 * Type: <b>token</b><br> 2878 * Path: <b>MessageDefinition.status</b><br> 2879 * </p> 2880 */ 2881 @SearchParamDefinition(name="status", path="MessageDefinition.status", description="The current status of the message definition", type="token" ) 2882 public static final String SP_STATUS = "status"; 2883 /** 2884 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2885 * <p> 2886 * Description: <b>The current status of the message definition</b><br> 2887 * Type: <b>token</b><br> 2888 * Path: <b>MessageDefinition.status</b><br> 2889 * </p> 2890 */ 2891 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2892 2893 2894} 2895