001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.exceptions.FHIRException; 038import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; 039import org.hl7.fhir.r4.model.Enumerations.PublicationStatusEnumFactory; 040import org.hl7.fhir.utilities.Utilities; 041 042import ca.uhn.fhir.model.api.annotation.Child; 043import ca.uhn.fhir.model.api.annotation.ChildOrder; 044import ca.uhn.fhir.model.api.annotation.Description; 045import ca.uhn.fhir.model.api.annotation.ResourceDef; 046import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 047 048/** 049 * The EventDefinition resource provides a reusable description of when a 050 * particular event can occur. 051 */ 052@ResourceDef(name = "EventDefinition", profile = "http://hl7.org/fhir/StructureDefinition/EventDefinition") 053@ChildOrder(names = { "url", "identifier", "version", "name", "title", "subtitle", "status", "experimental", 054 "subject[x]", "date", "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "usage", 055 "copyright", "approvalDate", "lastReviewDate", "effectivePeriod", "topic", "author", "editor", "reviewer", 056 "endorser", "relatedArtifact", "trigger" }) 057public class EventDefinition extends MetadataResource { 058 059 /** 060 * A formal identifier that is used to identify this event definition when it is 061 * represented in other formats, or referenced in a specification, model, design 062 * or an instance. 063 */ 064 @Child(name = "identifier", type = { 065 Identifier.class }, order = 0, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 066 @Description(shortDefinition = "Additional identifier for the event definition", formalDefinition = "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.") 067 protected List<Identifier> identifier; 068 069 /** 070 * An explanatory or alternate title for the event definition giving additional 071 * information about its content. 072 */ 073 @Child(name = "subtitle", type = { StringType.class }, order = 1, min = 0, max = 1, modifier = false, summary = false) 074 @Description(shortDefinition = "Subordinate title of the event definition", formalDefinition = "An explanatory or alternate title for the event definition giving additional information about its content.") 075 protected StringType subtitle; 076 077 /** 078 * A code or group definition that describes the intended subject of the event 079 * definition. 080 */ 081 @Child(name = "subject", type = { CodeableConcept.class, 082 Group.class }, order = 2, min = 0, max = 1, modifier = false, summary = false) 083 @Description(shortDefinition = "Type of individual the event definition is focused on", formalDefinition = "A code or group definition that describes the intended subject of the event definition.") 084 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/subject-type") 085 protected Type subject; 086 087 /** 088 * Explanation of why this event definition is needed and why it has been 089 * designed as it has. 090 */ 091 @Child(name = "purpose", type = { 092 MarkdownType.class }, order = 3, min = 0, max = 1, modifier = false, summary = false) 093 @Description(shortDefinition = "Why this event definition is defined", formalDefinition = "Explanation of why this event definition is needed and why it has been designed as it has.") 094 protected MarkdownType purpose; 095 096 /** 097 * A detailed description of how the event definition is used from a clinical 098 * perspective. 099 */ 100 @Child(name = "usage", type = { StringType.class }, order = 4, min = 0, max = 1, modifier = false, summary = false) 101 @Description(shortDefinition = "Describes the clinical usage of the event definition", formalDefinition = "A detailed description of how the event definition is used from a clinical perspective.") 102 protected StringType usage; 103 104 /** 105 * A copyright statement relating to the event definition and/or its contents. 106 * Copyright statements are generally legal restrictions on the use and 107 * publishing of the event definition. 108 */ 109 @Child(name = "copyright", type = { 110 MarkdownType.class }, order = 5, min = 0, max = 1, modifier = false, summary = false) 111 @Description(shortDefinition = "Use and/or publishing restrictions", formalDefinition = "A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition.") 112 protected MarkdownType copyright; 113 114 /** 115 * The date on which the resource content was approved by the publisher. 116 * Approval happens once when the content is officially approved for usage. 117 */ 118 @Child(name = "approvalDate", type = { 119 DateType.class }, order = 6, min = 0, max = 1, modifier = false, summary = true) 120 @Description(shortDefinition = "When the event definition was approved by publisher", formalDefinition = "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.") 121 protected DateType approvalDate; 122 123 /** 124 * The date on which the resource content was last reviewed. Review happens 125 * periodically after approval but does not change the original approval date. 126 */ 127 @Child(name = "lastReviewDate", type = { 128 DateType.class }, order = 7, min = 0, max = 1, modifier = false, summary = true) 129 @Description(shortDefinition = "When the event definition was last reviewed", formalDefinition = "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.") 130 protected DateType lastReviewDate; 131 132 /** 133 * The period during which the event definition content was or is planned to be 134 * in active use. 135 */ 136 @Child(name = "effectivePeriod", type = { 137 Period.class }, order = 8, min = 0, max = 1, modifier = false, summary = true) 138 @Description(shortDefinition = "When the event definition is expected to be used", formalDefinition = "The period during which the event definition content was or is planned to be in active use.") 139 protected Period effectivePeriod; 140 141 /** 142 * Descriptive topics related to the module. Topics provide a high-level 143 * categorization of the module that can be useful for filtering and searching. 144 */ 145 @Child(name = "topic", type = { 146 CodeableConcept.class }, order = 9, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 147 @Description(shortDefinition = "E.g. Education, Treatment, Assessment, etc.", formalDefinition = "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.") 148 @ca.uhn.fhir.model.api.annotation.Binding(valueSet = "http://hl7.org/fhir/ValueSet/definition-topic") 149 protected List<CodeableConcept> topic; 150 151 /** 152 * An individiual or organization primarily involved in the creation and 153 * maintenance of the content. 154 */ 155 @Child(name = "author", type = { 156 ContactDetail.class }, order = 10, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 157 @Description(shortDefinition = "Who authored the content", formalDefinition = "An individiual or organization primarily involved in the creation and maintenance of the content.") 158 protected List<ContactDetail> author; 159 160 /** 161 * An individual or organization primarily responsible for internal coherence of 162 * the content. 163 */ 164 @Child(name = "editor", type = { 165 ContactDetail.class }, order = 11, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 166 @Description(shortDefinition = "Who edited the content", formalDefinition = "An individual or organization primarily responsible for internal coherence of the content.") 167 protected List<ContactDetail> editor; 168 169 /** 170 * An individual or organization primarily responsible for review of some aspect 171 * of the content. 172 */ 173 @Child(name = "reviewer", type = { 174 ContactDetail.class }, order = 12, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 175 @Description(shortDefinition = "Who reviewed the content", formalDefinition = "An individual or organization primarily responsible for review of some aspect of the content.") 176 protected List<ContactDetail> reviewer; 177 178 /** 179 * An individual or organization responsible for officially endorsing the 180 * content for use in some setting. 181 */ 182 @Child(name = "endorser", type = { 183 ContactDetail.class }, order = 13, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 184 @Description(shortDefinition = "Who endorsed the content", formalDefinition = "An individual or organization responsible for officially endorsing the content for use in some setting.") 185 protected List<ContactDetail> endorser; 186 187 /** 188 * Related resources such as additional documentation, justification, or 189 * bibliographic references. 190 */ 191 @Child(name = "relatedArtifact", type = { 192 RelatedArtifact.class }, order = 14, min = 0, max = Child.MAX_UNLIMITED, modifier = false, summary = false) 193 @Description(shortDefinition = "Additional documentation, citations, etc.", formalDefinition = "Related resources such as additional documentation, justification, or bibliographic references.") 194 protected List<RelatedArtifact> relatedArtifact; 195 196 /** 197 * The trigger element defines when the event occurs. If more than one trigger 198 * condition is specified, the event fires whenever any one of the trigger 199 * conditions is met. 200 */ 201 @Child(name = "trigger", type = { 202 TriggerDefinition.class }, order = 15, min = 1, max = Child.MAX_UNLIMITED, modifier = false, summary = true) 203 @Description(shortDefinition = "\"when\" the event occurs (multiple = 'or')", formalDefinition = "The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met.") 204 protected List<TriggerDefinition> trigger; 205 206 private static final long serialVersionUID = 1022506246L; 207 208 /** 209 * Constructor 210 */ 211 public EventDefinition() { 212 super(); 213 } 214 215 /** 216 * Constructor 217 */ 218 public EventDefinition(Enumeration<PublicationStatus> status) { 219 super(); 220 this.status = status; 221 } 222 223 /** 224 * @return {@link #url} (An absolute URI that is used to identify this event 225 * definition when it is referenced in a specification, model, design or 226 * an instance; also called its canonical identifier. This SHOULD be 227 * globally unique and SHOULD be a literal address at which at which an 228 * authoritative instance of this event definition is (or will be) 229 * published. This URL can be the target of a canonical reference. It 230 * SHALL remain the same when the event definition is stored on 231 * different servers.). This is the underlying object with id, value and 232 * extensions. The accessor "getUrl" gives direct access to the value 233 */ 234 public UriType getUrlElement() { 235 if (this.url == null) 236 if (Configuration.errorOnAutoCreate()) 237 throw new Error("Attempt to auto-create EventDefinition.url"); 238 else if (Configuration.doAutoCreate()) 239 this.url = new UriType(); // bb 240 return this.url; 241 } 242 243 public boolean hasUrlElement() { 244 return this.url != null && !this.url.isEmpty(); 245 } 246 247 public boolean hasUrl() { 248 return this.url != null && !this.url.isEmpty(); 249 } 250 251 /** 252 * @param value {@link #url} (An absolute URI that is used to identify this 253 * event definition when it is referenced in a specification, 254 * model, design or an instance; also called its canonical 255 * identifier. This SHOULD be globally unique and SHOULD be a 256 * literal address at which at which an authoritative instance of 257 * this event definition is (or will be) published. This URL can be 258 * the target of a canonical reference. It SHALL remain the same 259 * when the event definition is stored on different servers.). This 260 * is the underlying object with id, value and extensions. The 261 * accessor "getUrl" gives direct access to the value 262 */ 263 public EventDefinition setUrlElement(UriType value) { 264 this.url = value; 265 return this; 266 } 267 268 /** 269 * @return An absolute URI that is used to identify this event definition when 270 * it is referenced in a specification, model, design or an instance; 271 * also called its canonical identifier. This SHOULD be globally unique 272 * and SHOULD be a literal address at which at which an authoritative 273 * instance of this event definition is (or will be) published. This URL 274 * can be the target of a canonical reference. It SHALL remain the same 275 * when the event definition is stored on different servers. 276 */ 277 public String getUrl() { 278 return this.url == null ? null : this.url.getValue(); 279 } 280 281 /** 282 * @param value An absolute URI that is used to identify this event definition 283 * when it is referenced in a specification, model, design or an 284 * instance; also called its canonical identifier. This SHOULD be 285 * globally unique and SHOULD be a literal address at which at 286 * which an authoritative instance of this event definition is (or 287 * will be) published. This URL can be the target of a canonical 288 * reference. It SHALL remain the same when the event definition is 289 * stored on different servers. 290 */ 291 public EventDefinition setUrl(String value) { 292 if (Utilities.noString(value)) 293 this.url = null; 294 else { 295 if (this.url == null) 296 this.url = new UriType(); 297 this.url.setValue(value); 298 } 299 return this; 300 } 301 302 /** 303 * @return {@link #identifier} (A formal identifier that is used to identify 304 * this event definition when it is represented in other formats, or 305 * referenced in a specification, model, design or an instance.) 306 */ 307 public List<Identifier> getIdentifier() { 308 if (this.identifier == null) 309 this.identifier = new ArrayList<Identifier>(); 310 return this.identifier; 311 } 312 313 /** 314 * @return Returns a reference to <code>this</code> for easy method chaining 315 */ 316 public EventDefinition setIdentifier(List<Identifier> theIdentifier) { 317 this.identifier = theIdentifier; 318 return this; 319 } 320 321 public boolean hasIdentifier() { 322 if (this.identifier == null) 323 return false; 324 for (Identifier item : this.identifier) 325 if (!item.isEmpty()) 326 return true; 327 return false; 328 } 329 330 public Identifier addIdentifier() { // 3 331 Identifier t = new Identifier(); 332 if (this.identifier == null) 333 this.identifier = new ArrayList<Identifier>(); 334 this.identifier.add(t); 335 return t; 336 } 337 338 public EventDefinition addIdentifier(Identifier t) { // 3 339 if (t == null) 340 return this; 341 if (this.identifier == null) 342 this.identifier = new ArrayList<Identifier>(); 343 this.identifier.add(t); 344 return this; 345 } 346 347 /** 348 * @return The first repetition of repeating field {@link #identifier}, creating 349 * it if it does not already exist 350 */ 351 public Identifier getIdentifierFirstRep() { 352 if (getIdentifier().isEmpty()) { 353 addIdentifier(); 354 } 355 return getIdentifier().get(0); 356 } 357 358 /** 359 * @return {@link #version} (The identifier that is used to identify this 360 * version of the event definition when it is referenced in a 361 * specification, model, design or instance. This is an arbitrary value 362 * managed by the event definition author and is not expected to be 363 * globally unique. For example, it might be a timestamp (e.g. yyyymmdd) 364 * if a managed version is not available. There is also no expectation 365 * that versions can be placed in a lexicographical sequence.). This is 366 * the underlying object with id, value and extensions. The accessor 367 * "getVersion" gives direct access to the value 368 */ 369 public StringType getVersionElement() { 370 if (this.version == null) 371 if (Configuration.errorOnAutoCreate()) 372 throw new Error("Attempt to auto-create EventDefinition.version"); 373 else if (Configuration.doAutoCreate()) 374 this.version = new StringType(); // bb 375 return this.version; 376 } 377 378 public boolean hasVersionElement() { 379 return this.version != null && !this.version.isEmpty(); 380 } 381 382 public boolean hasVersion() { 383 return this.version != null && !this.version.isEmpty(); 384 } 385 386 /** 387 * @param value {@link #version} (The identifier that is used to identify this 388 * version of the event definition when it is referenced in a 389 * specification, model, design or instance. This is an arbitrary 390 * value managed by the event definition author and is not expected 391 * to be globally unique. For example, it might be a timestamp 392 * (e.g. yyyymmdd) if a managed version is not available. There is 393 * also no expectation that versions can be placed in a 394 * lexicographical sequence.). This is the underlying object with 395 * id, value and extensions. The accessor "getVersion" gives direct 396 * access to the value 397 */ 398 public EventDefinition setVersionElement(StringType value) { 399 this.version = value; 400 return this; 401 } 402 403 /** 404 * @return The identifier that is used to identify this version of the event 405 * definition when it is referenced in a specification, model, design or 406 * instance. This is an arbitrary value managed by the event definition 407 * author and is not expected to be globally unique. For example, it 408 * might be a timestamp (e.g. yyyymmdd) if a managed version is not 409 * available. There is also no expectation that versions can be placed 410 * in a lexicographical sequence. 411 */ 412 public String getVersion() { 413 return this.version == null ? null : this.version.getValue(); 414 } 415 416 /** 417 * @param value The identifier that is used to identify this version of the 418 * event definition when it is referenced in a specification, 419 * model, design or instance. This is an arbitrary value managed by 420 * the event definition author and is not expected to be globally 421 * unique. For example, it might be a timestamp (e.g. yyyymmdd) if 422 * a managed version is not available. There is also no expectation 423 * that versions can be placed in a lexicographical sequence. 424 */ 425 public EventDefinition setVersion(String value) { 426 if (Utilities.noString(value)) 427 this.version = null; 428 else { 429 if (this.version == null) 430 this.version = new StringType(); 431 this.version.setValue(value); 432 } 433 return this; 434 } 435 436 /** 437 * @return {@link #name} (A natural language name identifying the event 438 * definition. This name should be usable as an identifier for the 439 * module by machine processing applications such as code generation.). 440 * This is the underlying object with id, value and extensions. The 441 * accessor "getName" gives direct access to the value 442 */ 443 public StringType getNameElement() { 444 if (this.name == null) 445 if (Configuration.errorOnAutoCreate()) 446 throw new Error("Attempt to auto-create EventDefinition.name"); 447 else if (Configuration.doAutoCreate()) 448 this.name = new StringType(); // bb 449 return this.name; 450 } 451 452 public boolean hasNameElement() { 453 return this.name != null && !this.name.isEmpty(); 454 } 455 456 public boolean hasName() { 457 return this.name != null && !this.name.isEmpty(); 458 } 459 460 /** 461 * @param value {@link #name} (A natural language name identifying the event 462 * definition. This name should be usable as an identifier for the 463 * module by machine processing applications such as code 464 * generation.). This is the underlying object with id, value and 465 * extensions. The accessor "getName" gives direct access to the 466 * value 467 */ 468 public EventDefinition setNameElement(StringType value) { 469 this.name = value; 470 return this; 471 } 472 473 /** 474 * @return A natural language name identifying the event definition. This name 475 * should be usable as an identifier for the module by machine 476 * processing applications such as code generation. 477 */ 478 public String getName() { 479 return this.name == null ? null : this.name.getValue(); 480 } 481 482 /** 483 * @param value A natural language name identifying the event definition. This 484 * name should be usable as an identifier for the module by machine 485 * processing applications such as code generation. 486 */ 487 public EventDefinition setName(String value) { 488 if (Utilities.noString(value)) 489 this.name = null; 490 else { 491 if (this.name == null) 492 this.name = new StringType(); 493 this.name.setValue(value); 494 } 495 return this; 496 } 497 498 /** 499 * @return {@link #title} (A short, descriptive, user-friendly title for the 500 * event definition.). This is the underlying object with id, value and 501 * extensions. The accessor "getTitle" gives direct access to the value 502 */ 503 public StringType getTitleElement() { 504 if (this.title == null) 505 if (Configuration.errorOnAutoCreate()) 506 throw new Error("Attempt to auto-create EventDefinition.title"); 507 else if (Configuration.doAutoCreate()) 508 this.title = new StringType(); // bb 509 return this.title; 510 } 511 512 public boolean hasTitleElement() { 513 return this.title != null && !this.title.isEmpty(); 514 } 515 516 public boolean hasTitle() { 517 return this.title != null && !this.title.isEmpty(); 518 } 519 520 /** 521 * @param value {@link #title} (A short, descriptive, user-friendly title for 522 * the event definition.). This is the underlying object with id, 523 * value and extensions. The accessor "getTitle" gives direct 524 * access to the value 525 */ 526 public EventDefinition setTitleElement(StringType value) { 527 this.title = value; 528 return this; 529 } 530 531 /** 532 * @return A short, descriptive, user-friendly title for the event definition. 533 */ 534 public String getTitle() { 535 return this.title == null ? null : this.title.getValue(); 536 } 537 538 /** 539 * @param value A short, descriptive, user-friendly title for the event 540 * definition. 541 */ 542 public EventDefinition setTitle(String value) { 543 if (Utilities.noString(value)) 544 this.title = null; 545 else { 546 if (this.title == null) 547 this.title = new StringType(); 548 this.title.setValue(value); 549 } 550 return this; 551 } 552 553 /** 554 * @return {@link #subtitle} (An explanatory or alternate title for the event 555 * definition giving additional information about its content.). This is 556 * the underlying object with id, value and extensions. The accessor 557 * "getSubtitle" gives direct access to the value 558 */ 559 public StringType getSubtitleElement() { 560 if (this.subtitle == null) 561 if (Configuration.errorOnAutoCreate()) 562 throw new Error("Attempt to auto-create EventDefinition.subtitle"); 563 else if (Configuration.doAutoCreate()) 564 this.subtitle = new StringType(); // bb 565 return this.subtitle; 566 } 567 568 public boolean hasSubtitleElement() { 569 return this.subtitle != null && !this.subtitle.isEmpty(); 570 } 571 572 public boolean hasSubtitle() { 573 return this.subtitle != null && !this.subtitle.isEmpty(); 574 } 575 576 /** 577 * @param value {@link #subtitle} (An explanatory or alternate title for the 578 * event definition giving additional information about its 579 * content.). This is the underlying object with id, value and 580 * extensions. The accessor "getSubtitle" gives direct access to 581 * the value 582 */ 583 public EventDefinition setSubtitleElement(StringType value) { 584 this.subtitle = value; 585 return this; 586 } 587 588 /** 589 * @return An explanatory or alternate title for the event definition giving 590 * additional information about its content. 591 */ 592 public String getSubtitle() { 593 return this.subtitle == null ? null : this.subtitle.getValue(); 594 } 595 596 /** 597 * @param value An explanatory or alternate title for the event definition 598 * giving additional information about its content. 599 */ 600 public EventDefinition setSubtitle(String value) { 601 if (Utilities.noString(value)) 602 this.subtitle = null; 603 else { 604 if (this.subtitle == null) 605 this.subtitle = new StringType(); 606 this.subtitle.setValue(value); 607 } 608 return this; 609 } 610 611 /** 612 * @return {@link #status} (The status of this event definition. Enables 613 * tracking the life-cycle of the content.). This is the underlying 614 * object with id, value and extensions. The accessor "getStatus" gives 615 * direct access to the value 616 */ 617 public Enumeration<PublicationStatus> getStatusElement() { 618 if (this.status == null) 619 if (Configuration.errorOnAutoCreate()) 620 throw new Error("Attempt to auto-create EventDefinition.status"); 621 else if (Configuration.doAutoCreate()) 622 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 623 return this.status; 624 } 625 626 public boolean hasStatusElement() { 627 return this.status != null && !this.status.isEmpty(); 628 } 629 630 public boolean hasStatus() { 631 return this.status != null && !this.status.isEmpty(); 632 } 633 634 /** 635 * @param value {@link #status} (The status of this event definition. Enables 636 * tracking the life-cycle of the content.). This is the underlying 637 * object with id, value and extensions. The accessor "getStatus" 638 * gives direct access to the value 639 */ 640 public EventDefinition setStatusElement(Enumeration<PublicationStatus> value) { 641 this.status = value; 642 return this; 643 } 644 645 /** 646 * @return The status of this event definition. Enables tracking the life-cycle 647 * of the content. 648 */ 649 public PublicationStatus getStatus() { 650 return this.status == null ? null : this.status.getValue(); 651 } 652 653 /** 654 * @param value The status of this event definition. Enables tracking the 655 * life-cycle of the content. 656 */ 657 public EventDefinition setStatus(PublicationStatus value) { 658 if (this.status == null) 659 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 660 this.status.setValue(value); 661 return this; 662 } 663 664 /** 665 * @return {@link #experimental} (A Boolean value to indicate that this event 666 * definition is authored for testing purposes (or 667 * education/evaluation/marketing) and is not intended to be used for 668 * genuine usage.). This is the underlying object with id, value and 669 * extensions. The accessor "getExperimental" gives direct access to the 670 * value 671 */ 672 public BooleanType getExperimentalElement() { 673 if (this.experimental == null) 674 if (Configuration.errorOnAutoCreate()) 675 throw new Error("Attempt to auto-create EventDefinition.experimental"); 676 else if (Configuration.doAutoCreate()) 677 this.experimental = new BooleanType(); // bb 678 return this.experimental; 679 } 680 681 public boolean hasExperimentalElement() { 682 return this.experimental != null && !this.experimental.isEmpty(); 683 } 684 685 public boolean hasExperimental() { 686 return this.experimental != null && !this.experimental.isEmpty(); 687 } 688 689 /** 690 * @param value {@link #experimental} (A Boolean value to indicate that this 691 * event definition is authored for testing purposes (or 692 * education/evaluation/marketing) and is not intended to be used 693 * for genuine usage.). This is the underlying object with id, 694 * value and extensions. The accessor "getExperimental" gives 695 * direct access to the value 696 */ 697 public EventDefinition setExperimentalElement(BooleanType value) { 698 this.experimental = value; 699 return this; 700 } 701 702 /** 703 * @return A Boolean value to indicate that this event definition is authored 704 * for testing purposes (or education/evaluation/marketing) and is not 705 * intended to be used for genuine usage. 706 */ 707 public boolean getExperimental() { 708 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 709 } 710 711 /** 712 * @param value A Boolean value to indicate that this event definition is 713 * authored for testing purposes (or 714 * education/evaluation/marketing) and is not intended to be used 715 * for genuine usage. 716 */ 717 public EventDefinition setExperimental(boolean value) { 718 if (this.experimental == null) 719 this.experimental = new BooleanType(); 720 this.experimental.setValue(value); 721 return this; 722 } 723 724 /** 725 * @return {@link #subject} (A code or group definition that describes the 726 * intended subject of the event definition.) 727 */ 728 public Type getSubject() { 729 return this.subject; 730 } 731 732 /** 733 * @return {@link #subject} (A code or group definition that describes the 734 * intended subject of the event definition.) 735 */ 736 public CodeableConcept getSubjectCodeableConcept() throws FHIRException { 737 if (this.subject == null) 738 this.subject = new CodeableConcept(); 739 if (!(this.subject instanceof CodeableConcept)) 740 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but " 741 + this.subject.getClass().getName() + " was encountered"); 742 return (CodeableConcept) this.subject; 743 } 744 745 public boolean hasSubjectCodeableConcept() { 746 return this != null && this.subject instanceof CodeableConcept; 747 } 748 749 /** 750 * @return {@link #subject} (A code or group definition that describes the 751 * intended subject of the event definition.) 752 */ 753 public Reference getSubjectReference() throws FHIRException { 754 if (this.subject == null) 755 this.subject = new Reference(); 756 if (!(this.subject instanceof Reference)) 757 throw new FHIRException("Type mismatch: the type Reference was expected, but " + this.subject.getClass().getName() 758 + " was encountered"); 759 return (Reference) this.subject; 760 } 761 762 public boolean hasSubjectReference() { 763 return this != null && this.subject instanceof Reference; 764 } 765 766 public boolean hasSubject() { 767 return this.subject != null && !this.subject.isEmpty(); 768 } 769 770 /** 771 * @param value {@link #subject} (A code or group definition that describes the 772 * intended subject of the event definition.) 773 */ 774 public EventDefinition setSubject(Type value) { 775 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 776 throw new Error("Not the right type for EventDefinition.subject[x]: " + value.fhirType()); 777 this.subject = value; 778 return this; 779 } 780 781 /** 782 * @return {@link #date} (The date (and optionally time) when the event 783 * definition was published. The date must change when the business 784 * version changes and it must change if the status code changes. In 785 * addition, it should change when the substantive content of the event 786 * definition changes.). This is the underlying object with id, value 787 * and extensions. The accessor "getDate" gives direct access to the 788 * value 789 */ 790 public DateTimeType getDateElement() { 791 if (this.date == null) 792 if (Configuration.errorOnAutoCreate()) 793 throw new Error("Attempt to auto-create EventDefinition.date"); 794 else if (Configuration.doAutoCreate()) 795 this.date = new DateTimeType(); // bb 796 return this.date; 797 } 798 799 public boolean hasDateElement() { 800 return this.date != null && !this.date.isEmpty(); 801 } 802 803 public boolean hasDate() { 804 return this.date != null && !this.date.isEmpty(); 805 } 806 807 /** 808 * @param value {@link #date} (The date (and optionally time) when the event 809 * definition was published. The date must change when the business 810 * version changes and it must change if the status code changes. 811 * In addition, it should change when the substantive content of 812 * the event definition changes.). This is the underlying object 813 * with id, value and extensions. The accessor "getDate" gives 814 * direct access to the value 815 */ 816 public EventDefinition setDateElement(DateTimeType value) { 817 this.date = value; 818 return this; 819 } 820 821 /** 822 * @return The date (and optionally time) when the event definition was 823 * published. The date must change when the business version changes and 824 * it must change if the status code changes. In addition, it should 825 * change when the substantive content of the event definition changes. 826 */ 827 public Date getDate() { 828 return this.date == null ? null : this.date.getValue(); 829 } 830 831 /** 832 * @param value The date (and optionally time) when the event definition was 833 * published. The date must change when the business version 834 * changes and it must change if the status code changes. In 835 * addition, it should change when the substantive content of the 836 * event definition changes. 837 */ 838 public EventDefinition setDate(Date value) { 839 if (value == null) 840 this.date = null; 841 else { 842 if (this.date == null) 843 this.date = new DateTimeType(); 844 this.date.setValue(value); 845 } 846 return this; 847 } 848 849 /** 850 * @return {@link #publisher} (The name of the organization or individual that 851 * published the event definition.). This is the underlying object with 852 * id, value and extensions. The accessor "getPublisher" gives direct 853 * access to the value 854 */ 855 public StringType getPublisherElement() { 856 if (this.publisher == null) 857 if (Configuration.errorOnAutoCreate()) 858 throw new Error("Attempt to auto-create EventDefinition.publisher"); 859 else if (Configuration.doAutoCreate()) 860 this.publisher = new StringType(); // bb 861 return this.publisher; 862 } 863 864 public boolean hasPublisherElement() { 865 return this.publisher != null && !this.publisher.isEmpty(); 866 } 867 868 public boolean hasPublisher() { 869 return this.publisher != null && !this.publisher.isEmpty(); 870 } 871 872 /** 873 * @param value {@link #publisher} (The name of the organization or individual 874 * that published the event definition.). This is the underlying 875 * object with id, value and extensions. The accessor 876 * "getPublisher" gives direct access to the value 877 */ 878 public EventDefinition setPublisherElement(StringType value) { 879 this.publisher = value; 880 return this; 881 } 882 883 /** 884 * @return The name of the organization or individual that published the event 885 * definition. 886 */ 887 public String getPublisher() { 888 return this.publisher == null ? null : this.publisher.getValue(); 889 } 890 891 /** 892 * @param value The name of the organization or individual that published the 893 * event definition. 894 */ 895 public EventDefinition setPublisher(String value) { 896 if (Utilities.noString(value)) 897 this.publisher = null; 898 else { 899 if (this.publisher == null) 900 this.publisher = new StringType(); 901 this.publisher.setValue(value); 902 } 903 return this; 904 } 905 906 /** 907 * @return {@link #contact} (Contact details to assist a user in finding and 908 * communicating with the publisher.) 909 */ 910 public List<ContactDetail> getContact() { 911 if (this.contact == null) 912 this.contact = new ArrayList<ContactDetail>(); 913 return this.contact; 914 } 915 916 /** 917 * @return Returns a reference to <code>this</code> for easy method chaining 918 */ 919 public EventDefinition setContact(List<ContactDetail> theContact) { 920 this.contact = theContact; 921 return this; 922 } 923 924 public boolean hasContact() { 925 if (this.contact == null) 926 return false; 927 for (ContactDetail item : this.contact) 928 if (!item.isEmpty()) 929 return true; 930 return false; 931 } 932 933 public ContactDetail addContact() { // 3 934 ContactDetail t = new ContactDetail(); 935 if (this.contact == null) 936 this.contact = new ArrayList<ContactDetail>(); 937 this.contact.add(t); 938 return t; 939 } 940 941 public EventDefinition addContact(ContactDetail t) { // 3 942 if (t == null) 943 return this; 944 if (this.contact == null) 945 this.contact = new ArrayList<ContactDetail>(); 946 this.contact.add(t); 947 return this; 948 } 949 950 /** 951 * @return The first repetition of repeating field {@link #contact}, creating it 952 * if it does not already exist 953 */ 954 public ContactDetail getContactFirstRep() { 955 if (getContact().isEmpty()) { 956 addContact(); 957 } 958 return getContact().get(0); 959 } 960 961 /** 962 * @return {@link #description} (A free text natural language description of the 963 * event definition from a consumer's perspective.). This is the 964 * underlying object with id, value and extensions. The accessor 965 * "getDescription" gives direct access to the value 966 */ 967 public MarkdownType getDescriptionElement() { 968 if (this.description == null) 969 if (Configuration.errorOnAutoCreate()) 970 throw new Error("Attempt to auto-create EventDefinition.description"); 971 else if (Configuration.doAutoCreate()) 972 this.description = new MarkdownType(); // bb 973 return this.description; 974 } 975 976 public boolean hasDescriptionElement() { 977 return this.description != null && !this.description.isEmpty(); 978 } 979 980 public boolean hasDescription() { 981 return this.description != null && !this.description.isEmpty(); 982 } 983 984 /** 985 * @param value {@link #description} (A free text natural language description 986 * of the event definition from a consumer's perspective.). This is 987 * the underlying object with id, value and extensions. The 988 * accessor "getDescription" gives direct access to the value 989 */ 990 public EventDefinition setDescriptionElement(MarkdownType value) { 991 this.description = value; 992 return this; 993 } 994 995 /** 996 * @return A free text natural language description of the event definition from 997 * a consumer's perspective. 998 */ 999 public String getDescription() { 1000 return this.description == null ? null : this.description.getValue(); 1001 } 1002 1003 /** 1004 * @param value A free text natural language description of the event definition 1005 * from a consumer's perspective. 1006 */ 1007 public EventDefinition setDescription(String value) { 1008 if (value == null) 1009 this.description = null; 1010 else { 1011 if (this.description == null) 1012 this.description = new MarkdownType(); 1013 this.description.setValue(value); 1014 } 1015 return this; 1016 } 1017 1018 /** 1019 * @return {@link #useContext} (The content was developed with a focus and 1020 * intent of supporting the contexts that are listed. These contexts may 1021 * be general categories (gender, age, ...) or may be references to 1022 * specific programs (insurance plans, studies, ...) and may be used to 1023 * assist with indexing and searching for appropriate event definition 1024 * instances.) 1025 */ 1026 public List<UsageContext> getUseContext() { 1027 if (this.useContext == null) 1028 this.useContext = new ArrayList<UsageContext>(); 1029 return this.useContext; 1030 } 1031 1032 /** 1033 * @return Returns a reference to <code>this</code> for easy method chaining 1034 */ 1035 public EventDefinition setUseContext(List<UsageContext> theUseContext) { 1036 this.useContext = theUseContext; 1037 return this; 1038 } 1039 1040 public boolean hasUseContext() { 1041 if (this.useContext == null) 1042 return false; 1043 for (UsageContext item : this.useContext) 1044 if (!item.isEmpty()) 1045 return true; 1046 return false; 1047 } 1048 1049 public UsageContext addUseContext() { // 3 1050 UsageContext t = new UsageContext(); 1051 if (this.useContext == null) 1052 this.useContext = new ArrayList<UsageContext>(); 1053 this.useContext.add(t); 1054 return t; 1055 } 1056 1057 public EventDefinition addUseContext(UsageContext t) { // 3 1058 if (t == null) 1059 return this; 1060 if (this.useContext == null) 1061 this.useContext = new ArrayList<UsageContext>(); 1062 this.useContext.add(t); 1063 return this; 1064 } 1065 1066 /** 1067 * @return The first repetition of repeating field {@link #useContext}, creating 1068 * it if it does not already exist 1069 */ 1070 public UsageContext getUseContextFirstRep() { 1071 if (getUseContext().isEmpty()) { 1072 addUseContext(); 1073 } 1074 return getUseContext().get(0); 1075 } 1076 1077 /** 1078 * @return {@link #jurisdiction} (A legal or geographic region in which the 1079 * event definition is intended to be used.) 1080 */ 1081 public List<CodeableConcept> getJurisdiction() { 1082 if (this.jurisdiction == null) 1083 this.jurisdiction = new ArrayList<CodeableConcept>(); 1084 return this.jurisdiction; 1085 } 1086 1087 /** 1088 * @return Returns a reference to <code>this</code> for easy method chaining 1089 */ 1090 public EventDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 1091 this.jurisdiction = theJurisdiction; 1092 return this; 1093 } 1094 1095 public boolean hasJurisdiction() { 1096 if (this.jurisdiction == null) 1097 return false; 1098 for (CodeableConcept item : this.jurisdiction) 1099 if (!item.isEmpty()) 1100 return true; 1101 return false; 1102 } 1103 1104 public CodeableConcept addJurisdiction() { // 3 1105 CodeableConcept t = new CodeableConcept(); 1106 if (this.jurisdiction == null) 1107 this.jurisdiction = new ArrayList<CodeableConcept>(); 1108 this.jurisdiction.add(t); 1109 return t; 1110 } 1111 1112 public EventDefinition addJurisdiction(CodeableConcept t) { // 3 1113 if (t == null) 1114 return this; 1115 if (this.jurisdiction == null) 1116 this.jurisdiction = new ArrayList<CodeableConcept>(); 1117 this.jurisdiction.add(t); 1118 return this; 1119 } 1120 1121 /** 1122 * @return The first repetition of repeating field {@link #jurisdiction}, 1123 * creating it if it does not already exist 1124 */ 1125 public CodeableConcept getJurisdictionFirstRep() { 1126 if (getJurisdiction().isEmpty()) { 1127 addJurisdiction(); 1128 } 1129 return getJurisdiction().get(0); 1130 } 1131 1132 /** 1133 * @return {@link #purpose} (Explanation of why this event definition is needed 1134 * and why it has been designed as it has.). This is the underlying 1135 * object with id, value and extensions. The accessor "getPurpose" gives 1136 * direct access to the value 1137 */ 1138 public MarkdownType getPurposeElement() { 1139 if (this.purpose == null) 1140 if (Configuration.errorOnAutoCreate()) 1141 throw new Error("Attempt to auto-create EventDefinition.purpose"); 1142 else if (Configuration.doAutoCreate()) 1143 this.purpose = new MarkdownType(); // bb 1144 return this.purpose; 1145 } 1146 1147 public boolean hasPurposeElement() { 1148 return this.purpose != null && !this.purpose.isEmpty(); 1149 } 1150 1151 public boolean hasPurpose() { 1152 return this.purpose != null && !this.purpose.isEmpty(); 1153 } 1154 1155 /** 1156 * @param value {@link #purpose} (Explanation of why this event definition is 1157 * needed and why it has been designed as it has.). This is the 1158 * underlying object with id, value and extensions. The accessor 1159 * "getPurpose" gives direct access to the value 1160 */ 1161 public EventDefinition setPurposeElement(MarkdownType value) { 1162 this.purpose = value; 1163 return this; 1164 } 1165 1166 /** 1167 * @return Explanation of why this event definition is needed and why it has 1168 * been designed as it has. 1169 */ 1170 public String getPurpose() { 1171 return this.purpose == null ? null : this.purpose.getValue(); 1172 } 1173 1174 /** 1175 * @param value Explanation of why this event definition is needed and why it 1176 * has been designed as it has. 1177 */ 1178 public EventDefinition setPurpose(String value) { 1179 if (value == null) 1180 this.purpose = null; 1181 else { 1182 if (this.purpose == null) 1183 this.purpose = new MarkdownType(); 1184 this.purpose.setValue(value); 1185 } 1186 return this; 1187 } 1188 1189 /** 1190 * @return {@link #usage} (A detailed description of how the event definition is 1191 * used from a clinical perspective.). This is the underlying object 1192 * with id, value and extensions. The accessor "getUsage" gives direct 1193 * access to the value 1194 */ 1195 public StringType getUsageElement() { 1196 if (this.usage == null) 1197 if (Configuration.errorOnAutoCreate()) 1198 throw new Error("Attempt to auto-create EventDefinition.usage"); 1199 else if (Configuration.doAutoCreate()) 1200 this.usage = new StringType(); // bb 1201 return this.usage; 1202 } 1203 1204 public boolean hasUsageElement() { 1205 return this.usage != null && !this.usage.isEmpty(); 1206 } 1207 1208 public boolean hasUsage() { 1209 return this.usage != null && !this.usage.isEmpty(); 1210 } 1211 1212 /** 1213 * @param value {@link #usage} (A detailed description of how the event 1214 * definition is used from a clinical perspective.). This is the 1215 * underlying object with id, value and extensions. The accessor 1216 * "getUsage" gives direct access to the value 1217 */ 1218 public EventDefinition setUsageElement(StringType value) { 1219 this.usage = value; 1220 return this; 1221 } 1222 1223 /** 1224 * @return A detailed description of how the event definition is used from a 1225 * clinical perspective. 1226 */ 1227 public String getUsage() { 1228 return this.usage == null ? null : this.usage.getValue(); 1229 } 1230 1231 /** 1232 * @param value A detailed description of how the event definition is used from 1233 * a clinical perspective. 1234 */ 1235 public EventDefinition setUsage(String value) { 1236 if (Utilities.noString(value)) 1237 this.usage = null; 1238 else { 1239 if (this.usage == null) 1240 this.usage = new StringType(); 1241 this.usage.setValue(value); 1242 } 1243 return this; 1244 } 1245 1246 /** 1247 * @return {@link #copyright} (A copyright statement relating to the event 1248 * definition and/or its contents. Copyright statements are generally 1249 * legal restrictions on the use and publishing of the event 1250 * definition.). This is the underlying object with id, value and 1251 * extensions. The accessor "getCopyright" gives direct access to the 1252 * value 1253 */ 1254 public MarkdownType getCopyrightElement() { 1255 if (this.copyright == null) 1256 if (Configuration.errorOnAutoCreate()) 1257 throw new Error("Attempt to auto-create EventDefinition.copyright"); 1258 else if (Configuration.doAutoCreate()) 1259 this.copyright = new MarkdownType(); // bb 1260 return this.copyright; 1261 } 1262 1263 public boolean hasCopyrightElement() { 1264 return this.copyright != null && !this.copyright.isEmpty(); 1265 } 1266 1267 public boolean hasCopyright() { 1268 return this.copyright != null && !this.copyright.isEmpty(); 1269 } 1270 1271 /** 1272 * @param value {@link #copyright} (A copyright statement relating to the event 1273 * definition and/or its contents. Copyright statements are 1274 * generally legal restrictions on the use and publishing of the 1275 * event definition.). This is the underlying object with id, value 1276 * and extensions. The accessor "getCopyright" gives direct access 1277 * to the value 1278 */ 1279 public EventDefinition setCopyrightElement(MarkdownType value) { 1280 this.copyright = value; 1281 return this; 1282 } 1283 1284 /** 1285 * @return A copyright statement relating to the event definition and/or its 1286 * contents. Copyright statements are generally legal restrictions on 1287 * the use and publishing of the event definition. 1288 */ 1289 public String getCopyright() { 1290 return this.copyright == null ? null : this.copyright.getValue(); 1291 } 1292 1293 /** 1294 * @param value A copyright statement relating to the event definition and/or 1295 * its contents. Copyright statements are generally legal 1296 * restrictions on the use and publishing of the event definition. 1297 */ 1298 public EventDefinition setCopyright(String value) { 1299 if (value == null) 1300 this.copyright = null; 1301 else { 1302 if (this.copyright == null) 1303 this.copyright = new MarkdownType(); 1304 this.copyright.setValue(value); 1305 } 1306 return this; 1307 } 1308 1309 /** 1310 * @return {@link #approvalDate} (The date on which the resource content was 1311 * approved by the publisher. Approval happens once when the content is 1312 * officially approved for usage.). This is the underlying object with 1313 * id, value and extensions. The accessor "getApprovalDate" gives direct 1314 * access to the value 1315 */ 1316 public DateType getApprovalDateElement() { 1317 if (this.approvalDate == null) 1318 if (Configuration.errorOnAutoCreate()) 1319 throw new Error("Attempt to auto-create EventDefinition.approvalDate"); 1320 else if (Configuration.doAutoCreate()) 1321 this.approvalDate = new DateType(); // bb 1322 return this.approvalDate; 1323 } 1324 1325 public boolean hasApprovalDateElement() { 1326 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1327 } 1328 1329 public boolean hasApprovalDate() { 1330 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1331 } 1332 1333 /** 1334 * @param value {@link #approvalDate} (The date on which the resource content 1335 * was approved by the publisher. Approval happens once when the 1336 * content is officially approved for usage.). This is the 1337 * underlying object with id, value and extensions. The accessor 1338 * "getApprovalDate" gives direct access to the value 1339 */ 1340 public EventDefinition setApprovalDateElement(DateType value) { 1341 this.approvalDate = value; 1342 return this; 1343 } 1344 1345 /** 1346 * @return The date on which the resource content was approved by the publisher. 1347 * Approval happens once when the content is officially approved for 1348 * usage. 1349 */ 1350 public Date getApprovalDate() { 1351 return this.approvalDate == null ? null : this.approvalDate.getValue(); 1352 } 1353 1354 /** 1355 * @param value The date on which the resource content was approved by the 1356 * publisher. Approval happens once when the content is officially 1357 * approved for usage. 1358 */ 1359 public EventDefinition setApprovalDate(Date value) { 1360 if (value == null) 1361 this.approvalDate = null; 1362 else { 1363 if (this.approvalDate == null) 1364 this.approvalDate = new DateType(); 1365 this.approvalDate.setValue(value); 1366 } 1367 return this; 1368 } 1369 1370 /** 1371 * @return {@link #lastReviewDate} (The date on which the resource content was 1372 * last reviewed. Review happens periodically after approval but does 1373 * not change the original approval date.). This is the underlying 1374 * object with id, value and extensions. The accessor 1375 * "getLastReviewDate" gives direct access to the value 1376 */ 1377 public DateType getLastReviewDateElement() { 1378 if (this.lastReviewDate == null) 1379 if (Configuration.errorOnAutoCreate()) 1380 throw new Error("Attempt to auto-create EventDefinition.lastReviewDate"); 1381 else if (Configuration.doAutoCreate()) 1382 this.lastReviewDate = new DateType(); // bb 1383 return this.lastReviewDate; 1384 } 1385 1386 public boolean hasLastReviewDateElement() { 1387 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1388 } 1389 1390 public boolean hasLastReviewDate() { 1391 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1392 } 1393 1394 /** 1395 * @param value {@link #lastReviewDate} (The date on which the resource content 1396 * was last reviewed. Review happens periodically after approval 1397 * but does not change the original approval date.). This is the 1398 * underlying object with id, value and extensions. The accessor 1399 * "getLastReviewDate" gives direct access to the value 1400 */ 1401 public EventDefinition setLastReviewDateElement(DateType value) { 1402 this.lastReviewDate = value; 1403 return this; 1404 } 1405 1406 /** 1407 * @return The date on which the resource content was last reviewed. Review 1408 * happens periodically after approval but does not change the original 1409 * approval date. 1410 */ 1411 public Date getLastReviewDate() { 1412 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 1413 } 1414 1415 /** 1416 * @param value The date on which the resource content was last reviewed. Review 1417 * happens periodically after approval but does not change the 1418 * original approval date. 1419 */ 1420 public EventDefinition setLastReviewDate(Date value) { 1421 if (value == null) 1422 this.lastReviewDate = null; 1423 else { 1424 if (this.lastReviewDate == null) 1425 this.lastReviewDate = new DateType(); 1426 this.lastReviewDate.setValue(value); 1427 } 1428 return this; 1429 } 1430 1431 /** 1432 * @return {@link #effectivePeriod} (The period during which the event 1433 * definition content was or is planned to be in active use.) 1434 */ 1435 public Period getEffectivePeriod() { 1436 if (this.effectivePeriod == null) 1437 if (Configuration.errorOnAutoCreate()) 1438 throw new Error("Attempt to auto-create EventDefinition.effectivePeriod"); 1439 else if (Configuration.doAutoCreate()) 1440 this.effectivePeriod = new Period(); // cc 1441 return this.effectivePeriod; 1442 } 1443 1444 public boolean hasEffectivePeriod() { 1445 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 1446 } 1447 1448 /** 1449 * @param value {@link #effectivePeriod} (The period during which the event 1450 * definition content was or is planned to be in active use.) 1451 */ 1452 public EventDefinition setEffectivePeriod(Period value) { 1453 this.effectivePeriod = value; 1454 return this; 1455 } 1456 1457 /** 1458 * @return {@link #topic} (Descriptive topics related to the module. Topics 1459 * provide a high-level categorization of the module that can be useful 1460 * for filtering and searching.) 1461 */ 1462 public List<CodeableConcept> getTopic() { 1463 if (this.topic == null) 1464 this.topic = new ArrayList<CodeableConcept>(); 1465 return this.topic; 1466 } 1467 1468 /** 1469 * @return Returns a reference to <code>this</code> for easy method chaining 1470 */ 1471 public EventDefinition setTopic(List<CodeableConcept> theTopic) { 1472 this.topic = theTopic; 1473 return this; 1474 } 1475 1476 public boolean hasTopic() { 1477 if (this.topic == null) 1478 return false; 1479 for (CodeableConcept item : this.topic) 1480 if (!item.isEmpty()) 1481 return true; 1482 return false; 1483 } 1484 1485 public CodeableConcept addTopic() { // 3 1486 CodeableConcept t = new CodeableConcept(); 1487 if (this.topic == null) 1488 this.topic = new ArrayList<CodeableConcept>(); 1489 this.topic.add(t); 1490 return t; 1491 } 1492 1493 public EventDefinition addTopic(CodeableConcept t) { // 3 1494 if (t == null) 1495 return this; 1496 if (this.topic == null) 1497 this.topic = new ArrayList<CodeableConcept>(); 1498 this.topic.add(t); 1499 return this; 1500 } 1501 1502 /** 1503 * @return The first repetition of repeating field {@link #topic}, creating it 1504 * if it does not already exist 1505 */ 1506 public CodeableConcept getTopicFirstRep() { 1507 if (getTopic().isEmpty()) { 1508 addTopic(); 1509 } 1510 return getTopic().get(0); 1511 } 1512 1513 /** 1514 * @return {@link #author} (An individiual or organization primarily involved in 1515 * the creation and maintenance of the content.) 1516 */ 1517 public List<ContactDetail> getAuthor() { 1518 if (this.author == null) 1519 this.author = new ArrayList<ContactDetail>(); 1520 return this.author; 1521 } 1522 1523 /** 1524 * @return Returns a reference to <code>this</code> for easy method chaining 1525 */ 1526 public EventDefinition setAuthor(List<ContactDetail> theAuthor) { 1527 this.author = theAuthor; 1528 return this; 1529 } 1530 1531 public boolean hasAuthor() { 1532 if (this.author == null) 1533 return false; 1534 for (ContactDetail item : this.author) 1535 if (!item.isEmpty()) 1536 return true; 1537 return false; 1538 } 1539 1540 public ContactDetail addAuthor() { // 3 1541 ContactDetail t = new ContactDetail(); 1542 if (this.author == null) 1543 this.author = new ArrayList<ContactDetail>(); 1544 this.author.add(t); 1545 return t; 1546 } 1547 1548 public EventDefinition addAuthor(ContactDetail t) { // 3 1549 if (t == null) 1550 return this; 1551 if (this.author == null) 1552 this.author = new ArrayList<ContactDetail>(); 1553 this.author.add(t); 1554 return this; 1555 } 1556 1557 /** 1558 * @return The first repetition of repeating field {@link #author}, creating it 1559 * if it does not already exist 1560 */ 1561 public ContactDetail getAuthorFirstRep() { 1562 if (getAuthor().isEmpty()) { 1563 addAuthor(); 1564 } 1565 return getAuthor().get(0); 1566 } 1567 1568 /** 1569 * @return {@link #editor} (An individual or organization primarily responsible 1570 * for internal coherence of the content.) 1571 */ 1572 public List<ContactDetail> getEditor() { 1573 if (this.editor == null) 1574 this.editor = new ArrayList<ContactDetail>(); 1575 return this.editor; 1576 } 1577 1578 /** 1579 * @return Returns a reference to <code>this</code> for easy method chaining 1580 */ 1581 public EventDefinition setEditor(List<ContactDetail> theEditor) { 1582 this.editor = theEditor; 1583 return this; 1584 } 1585 1586 public boolean hasEditor() { 1587 if (this.editor == null) 1588 return false; 1589 for (ContactDetail item : this.editor) 1590 if (!item.isEmpty()) 1591 return true; 1592 return false; 1593 } 1594 1595 public ContactDetail addEditor() { // 3 1596 ContactDetail t = new ContactDetail(); 1597 if (this.editor == null) 1598 this.editor = new ArrayList<ContactDetail>(); 1599 this.editor.add(t); 1600 return t; 1601 } 1602 1603 public EventDefinition addEditor(ContactDetail t) { // 3 1604 if (t == null) 1605 return this; 1606 if (this.editor == null) 1607 this.editor = new ArrayList<ContactDetail>(); 1608 this.editor.add(t); 1609 return this; 1610 } 1611 1612 /** 1613 * @return The first repetition of repeating field {@link #editor}, creating it 1614 * if it does not already exist 1615 */ 1616 public ContactDetail getEditorFirstRep() { 1617 if (getEditor().isEmpty()) { 1618 addEditor(); 1619 } 1620 return getEditor().get(0); 1621 } 1622 1623 /** 1624 * @return {@link #reviewer} (An individual or organization primarily 1625 * responsible for review of some aspect of the content.) 1626 */ 1627 public List<ContactDetail> getReviewer() { 1628 if (this.reviewer == null) 1629 this.reviewer = new ArrayList<ContactDetail>(); 1630 return this.reviewer; 1631 } 1632 1633 /** 1634 * @return Returns a reference to <code>this</code> for easy method chaining 1635 */ 1636 public EventDefinition setReviewer(List<ContactDetail> theReviewer) { 1637 this.reviewer = theReviewer; 1638 return this; 1639 } 1640 1641 public boolean hasReviewer() { 1642 if (this.reviewer == null) 1643 return false; 1644 for (ContactDetail item : this.reviewer) 1645 if (!item.isEmpty()) 1646 return true; 1647 return false; 1648 } 1649 1650 public ContactDetail addReviewer() { // 3 1651 ContactDetail t = new ContactDetail(); 1652 if (this.reviewer == null) 1653 this.reviewer = new ArrayList<ContactDetail>(); 1654 this.reviewer.add(t); 1655 return t; 1656 } 1657 1658 public EventDefinition addReviewer(ContactDetail t) { // 3 1659 if (t == null) 1660 return this; 1661 if (this.reviewer == null) 1662 this.reviewer = new ArrayList<ContactDetail>(); 1663 this.reviewer.add(t); 1664 return this; 1665 } 1666 1667 /** 1668 * @return The first repetition of repeating field {@link #reviewer}, creating 1669 * it if it does not already exist 1670 */ 1671 public ContactDetail getReviewerFirstRep() { 1672 if (getReviewer().isEmpty()) { 1673 addReviewer(); 1674 } 1675 return getReviewer().get(0); 1676 } 1677 1678 /** 1679 * @return {@link #endorser} (An individual or organization responsible for 1680 * officially endorsing the content for use in some setting.) 1681 */ 1682 public List<ContactDetail> getEndorser() { 1683 if (this.endorser == null) 1684 this.endorser = new ArrayList<ContactDetail>(); 1685 return this.endorser; 1686 } 1687 1688 /** 1689 * @return Returns a reference to <code>this</code> for easy method chaining 1690 */ 1691 public EventDefinition setEndorser(List<ContactDetail> theEndorser) { 1692 this.endorser = theEndorser; 1693 return this; 1694 } 1695 1696 public boolean hasEndorser() { 1697 if (this.endorser == null) 1698 return false; 1699 for (ContactDetail item : this.endorser) 1700 if (!item.isEmpty()) 1701 return true; 1702 return false; 1703 } 1704 1705 public ContactDetail addEndorser() { // 3 1706 ContactDetail t = new ContactDetail(); 1707 if (this.endorser == null) 1708 this.endorser = new ArrayList<ContactDetail>(); 1709 this.endorser.add(t); 1710 return t; 1711 } 1712 1713 public EventDefinition addEndorser(ContactDetail t) { // 3 1714 if (t == null) 1715 return this; 1716 if (this.endorser == null) 1717 this.endorser = new ArrayList<ContactDetail>(); 1718 this.endorser.add(t); 1719 return this; 1720 } 1721 1722 /** 1723 * @return The first repetition of repeating field {@link #endorser}, creating 1724 * it if it does not already exist 1725 */ 1726 public ContactDetail getEndorserFirstRep() { 1727 if (getEndorser().isEmpty()) { 1728 addEndorser(); 1729 } 1730 return getEndorser().get(0); 1731 } 1732 1733 /** 1734 * @return {@link #relatedArtifact} (Related resources such as additional 1735 * documentation, justification, or bibliographic references.) 1736 */ 1737 public List<RelatedArtifact> getRelatedArtifact() { 1738 if (this.relatedArtifact == null) 1739 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1740 return this.relatedArtifact; 1741 } 1742 1743 /** 1744 * @return Returns a reference to <code>this</code> for easy method chaining 1745 */ 1746 public EventDefinition setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 1747 this.relatedArtifact = theRelatedArtifact; 1748 return this; 1749 } 1750 1751 public boolean hasRelatedArtifact() { 1752 if (this.relatedArtifact == null) 1753 return false; 1754 for (RelatedArtifact item : this.relatedArtifact) 1755 if (!item.isEmpty()) 1756 return true; 1757 return false; 1758 } 1759 1760 public RelatedArtifact addRelatedArtifact() { // 3 1761 RelatedArtifact t = new RelatedArtifact(); 1762 if (this.relatedArtifact == null) 1763 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1764 this.relatedArtifact.add(t); 1765 return t; 1766 } 1767 1768 public EventDefinition addRelatedArtifact(RelatedArtifact t) { // 3 1769 if (t == null) 1770 return this; 1771 if (this.relatedArtifact == null) 1772 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1773 this.relatedArtifact.add(t); 1774 return this; 1775 } 1776 1777 /** 1778 * @return The first repetition of repeating field {@link #relatedArtifact}, 1779 * creating it if it does not already exist 1780 */ 1781 public RelatedArtifact getRelatedArtifactFirstRep() { 1782 if (getRelatedArtifact().isEmpty()) { 1783 addRelatedArtifact(); 1784 } 1785 return getRelatedArtifact().get(0); 1786 } 1787 1788 /** 1789 * @return {@link #trigger} (The trigger element defines when the event occurs. 1790 * If more than one trigger condition is specified, the event fires 1791 * whenever any one of the trigger conditions is met.) 1792 */ 1793 public List<TriggerDefinition> getTrigger() { 1794 if (this.trigger == null) 1795 this.trigger = new ArrayList<TriggerDefinition>(); 1796 return this.trigger; 1797 } 1798 1799 /** 1800 * @return Returns a reference to <code>this</code> for easy method chaining 1801 */ 1802 public EventDefinition setTrigger(List<TriggerDefinition> theTrigger) { 1803 this.trigger = theTrigger; 1804 return this; 1805 } 1806 1807 public boolean hasTrigger() { 1808 if (this.trigger == null) 1809 return false; 1810 for (TriggerDefinition item : this.trigger) 1811 if (!item.isEmpty()) 1812 return true; 1813 return false; 1814 } 1815 1816 public TriggerDefinition addTrigger() { // 3 1817 TriggerDefinition t = new TriggerDefinition(); 1818 if (this.trigger == null) 1819 this.trigger = new ArrayList<TriggerDefinition>(); 1820 this.trigger.add(t); 1821 return t; 1822 } 1823 1824 public EventDefinition addTrigger(TriggerDefinition t) { // 3 1825 if (t == null) 1826 return this; 1827 if (this.trigger == null) 1828 this.trigger = new ArrayList<TriggerDefinition>(); 1829 this.trigger.add(t); 1830 return this; 1831 } 1832 1833 /** 1834 * @return The first repetition of repeating field {@link #trigger}, creating it 1835 * if it does not already exist 1836 */ 1837 public TriggerDefinition getTriggerFirstRep() { 1838 if (getTrigger().isEmpty()) { 1839 addTrigger(); 1840 } 1841 return getTrigger().get(0); 1842 } 1843 1844 protected void listChildren(List<Property> children) { 1845 super.listChildren(children); 1846 children.add(new Property("url", "uri", 1847 "An absolute URI that is used to identify this event 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 at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 1848 0, 1, url)); 1849 children.add(new Property("identifier", "Identifier", 1850 "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 1851 0, java.lang.Integer.MAX_VALUE, identifier)); 1852 children.add(new Property("version", "string", 1853 "The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event 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.", 1854 0, 1, version)); 1855 children.add(new Property("name", "string", 1856 "A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 1857 0, 1, name)); 1858 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the event definition.", 1859 0, 1, title)); 1860 children.add(new Property("subtitle", "string", 1861 "An explanatory or alternate title for the event definition giving additional information about its content.", 1862 0, 1, subtitle)); 1863 children.add(new Property("status", "code", 1864 "The status of this event definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 1865 children.add(new Property("experimental", "boolean", 1866 "A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 1867 0, 1, experimental)); 1868 children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", 1869 "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject)); 1870 children.add(new Property("date", "dateTime", 1871 "The date (and optionally time) when the event 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 event definition changes.", 1872 0, 1, date)); 1873 children.add(new Property("publisher", "string", 1874 "The name of the organization or individual that published the event definition.", 0, 1, publisher)); 1875 children.add(new Property("contact", "ContactDetail", 1876 "Contact details to assist a user in finding and communicating with the publisher.", 0, 1877 java.lang.Integer.MAX_VALUE, contact)); 1878 children.add(new Property("description", "markdown", 1879 "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, 1880 description)); 1881 children.add(new Property("useContext", "UsageContext", 1882 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances.", 1883 0, java.lang.Integer.MAX_VALUE, useContext)); 1884 children.add(new Property("jurisdiction", "CodeableConcept", 1885 "A legal or geographic region in which the event definition is intended to be used.", 0, 1886 java.lang.Integer.MAX_VALUE, jurisdiction)); 1887 children.add(new Property("purpose", "markdown", 1888 "Explanation of why this event definition is needed and why it has been designed as it has.", 0, 1, purpose)); 1889 children.add(new Property("usage", "string", 1890 "A detailed description of how the event definition is used from a clinical perspective.", 0, 1, usage)); 1891 children.add(new Property("copyright", "markdown", 1892 "A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition.", 1893 0, 1, copyright)); 1894 children.add(new Property("approvalDate", "date", 1895 "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 1896 0, 1, approvalDate)); 1897 children.add(new Property("lastReviewDate", "date", 1898 "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 1899 0, 1, lastReviewDate)); 1900 children.add(new Property("effectivePeriod", "Period", 1901 "The period during which the event definition content was or is planned to be in active use.", 0, 1, 1902 effectivePeriod)); 1903 children.add(new Property("topic", "CodeableConcept", 1904 "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.", 1905 0, java.lang.Integer.MAX_VALUE, topic)); 1906 children.add(new Property("author", "ContactDetail", 1907 "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, 1908 java.lang.Integer.MAX_VALUE, author)); 1909 children.add(new Property("editor", "ContactDetail", 1910 "An individual or organization primarily responsible for internal coherence of the content.", 0, 1911 java.lang.Integer.MAX_VALUE, editor)); 1912 children.add(new Property("reviewer", "ContactDetail", 1913 "An individual or organization primarily responsible for review of some aspect of the content.", 0, 1914 java.lang.Integer.MAX_VALUE, reviewer)); 1915 children.add(new Property("endorser", "ContactDetail", 1916 "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, 1917 java.lang.Integer.MAX_VALUE, endorser)); 1918 children.add(new Property("relatedArtifact", "RelatedArtifact", 1919 "Related resources such as additional documentation, justification, or bibliographic references.", 0, 1920 java.lang.Integer.MAX_VALUE, relatedArtifact)); 1921 children.add(new Property("trigger", "TriggerDefinition", 1922 "The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met.", 1923 0, java.lang.Integer.MAX_VALUE, trigger)); 1924 } 1925 1926 @Override 1927 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1928 switch (_hash) { 1929 case 116079: 1930 /* url */ return new Property("url", "uri", 1931 "An absolute URI that is used to identify this event 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 at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 1932 0, 1, url); 1933 case -1618432855: 1934 /* identifier */ return new Property("identifier", "Identifier", 1935 "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 1936 0, java.lang.Integer.MAX_VALUE, identifier); 1937 case 351608024: 1938 /* version */ return new Property("version", "string", 1939 "The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event 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.", 1940 0, 1, version); 1941 case 3373707: 1942 /* name */ return new Property("name", "string", 1943 "A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 1944 0, 1, name); 1945 case 110371416: 1946 /* title */ return new Property("title", "string", 1947 "A short, descriptive, user-friendly title for the event definition.", 0, 1, title); 1948 case -2060497896: 1949 /* subtitle */ return new Property("subtitle", "string", 1950 "An explanatory or alternate title for the event definition giving additional information about its content.", 1951 0, 1, subtitle); 1952 case -892481550: 1953 /* status */ return new Property("status", "code", 1954 "The status of this event definition. Enables tracking the life-cycle of the content.", 0, 1, status); 1955 case -404562712: 1956 /* experimental */ return new Property("experimental", "boolean", 1957 "A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 1958 0, 1, experimental); 1959 case -573640748: 1960 /* subject[x] */ return new Property("subject[x]", "CodeableConcept|Reference(Group)", 1961 "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1962 case -1867885268: 1963 /* subject */ return new Property("subject[x]", "CodeableConcept|Reference(Group)", 1964 "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1965 case -1257122603: 1966 /* subjectCodeableConcept */ return new Property("subject[x]", "CodeableConcept|Reference(Group)", 1967 "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1968 case 772938623: 1969 /* subjectReference */ return new Property("subject[x]", "CodeableConcept|Reference(Group)", 1970 "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1971 case 3076014: 1972 /* date */ return new Property("date", "dateTime", 1973 "The date (and optionally time) when the event 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 event definition changes.", 1974 0, 1, date); 1975 case 1447404028: 1976 /* publisher */ return new Property("publisher", "string", 1977 "The name of the organization or individual that published the event definition.", 0, 1, publisher); 1978 case 951526432: 1979 /* contact */ return new Property("contact", "ContactDetail", 1980 "Contact details to assist a user in finding and communicating with the publisher.", 0, 1981 java.lang.Integer.MAX_VALUE, contact); 1982 case -1724546052: 1983 /* description */ return new Property("description", "markdown", 1984 "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, 1985 description); 1986 case -669707736: 1987 /* useContext */ return new Property("useContext", "UsageContext", 1988 "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances.", 1989 0, java.lang.Integer.MAX_VALUE, useContext); 1990 case -507075711: 1991 /* jurisdiction */ return new Property("jurisdiction", "CodeableConcept", 1992 "A legal or geographic region in which the event definition is intended to be used.", 0, 1993 java.lang.Integer.MAX_VALUE, jurisdiction); 1994 case -220463842: 1995 /* purpose */ return new Property("purpose", "markdown", 1996 "Explanation of why this event definition is needed and why it has been designed as it has.", 0, 1, purpose); 1997 case 111574433: 1998 /* usage */ return new Property("usage", "string", 1999 "A detailed description of how the event definition is used from a clinical perspective.", 0, 1, usage); 2000 case 1522889671: 2001 /* copyright */ return new Property("copyright", "markdown", 2002 "A copyright statement relating to the event definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the event definition.", 2003 0, 1, copyright); 2004 case 223539345: 2005 /* approvalDate */ return new Property("approvalDate", "date", 2006 "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 2007 0, 1, approvalDate); 2008 case -1687512484: 2009 /* lastReviewDate */ return new Property("lastReviewDate", "date", 2010 "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 2011 0, 1, lastReviewDate); 2012 case -403934648: 2013 /* effectivePeriod */ return new Property("effectivePeriod", "Period", 2014 "The period during which the event definition content was or is planned to be in active use.", 0, 1, 2015 effectivePeriod); 2016 case 110546223: 2017 /* topic */ return new Property("topic", "CodeableConcept", 2018 "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.", 2019 0, java.lang.Integer.MAX_VALUE, topic); 2020 case -1406328437: 2021 /* author */ return new Property("author", "ContactDetail", 2022 "An individiual or organization primarily involved in the creation and maintenance of the content.", 0, 2023 java.lang.Integer.MAX_VALUE, author); 2024 case -1307827859: 2025 /* editor */ return new Property("editor", "ContactDetail", 2026 "An individual or organization primarily responsible for internal coherence of the content.", 0, 2027 java.lang.Integer.MAX_VALUE, editor); 2028 case -261190139: 2029 /* reviewer */ return new Property("reviewer", "ContactDetail", 2030 "An individual or organization primarily responsible for review of some aspect of the content.", 0, 2031 java.lang.Integer.MAX_VALUE, reviewer); 2032 case 1740277666: 2033 /* endorser */ return new Property("endorser", "ContactDetail", 2034 "An individual or organization responsible for officially endorsing the content for use in some setting.", 0, 2035 java.lang.Integer.MAX_VALUE, endorser); 2036 case 666807069: 2037 /* relatedArtifact */ return new Property("relatedArtifact", "RelatedArtifact", 2038 "Related resources such as additional documentation, justification, or bibliographic references.", 0, 2039 java.lang.Integer.MAX_VALUE, relatedArtifact); 2040 case -1059891784: 2041 /* trigger */ return new Property("trigger", "TriggerDefinition", 2042 "The trigger element defines when the event occurs. If more than one trigger condition is specified, the event fires whenever any one of the trigger conditions is met.", 2043 0, java.lang.Integer.MAX_VALUE, trigger); 2044 default: 2045 return super.getNamedProperty(_hash, _name, _checkValid); 2046 } 2047 2048 } 2049 2050 @Override 2051 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2052 switch (hash) { 2053 case 116079: 2054 /* url */ return this.url == null ? new Base[0] : new Base[] { this.url }; // UriType 2055 case -1618432855: 2056 /* identifier */ return this.identifier == null ? new Base[0] 2057 : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 2058 case 351608024: 2059 /* version */ return this.version == null ? new Base[0] : new Base[] { this.version }; // StringType 2060 case 3373707: 2061 /* name */ return this.name == null ? new Base[0] : new Base[] { this.name }; // StringType 2062 case 110371416: 2063 /* title */ return this.title == null ? new Base[0] : new Base[] { this.title }; // StringType 2064 case -2060497896: 2065 /* subtitle */ return this.subtitle == null ? new Base[0] : new Base[] { this.subtitle }; // StringType 2066 case -892481550: 2067 /* status */ return this.status == null ? new Base[0] : new Base[] { this.status }; // Enumeration<PublicationStatus> 2068 case -404562712: 2069 /* experimental */ return this.experimental == null ? new Base[0] : new Base[] { this.experimental }; // BooleanType 2070 case -1867885268: 2071 /* subject */ return this.subject == null ? new Base[0] : new Base[] { this.subject }; // Type 2072 case 3076014: 2073 /* date */ return this.date == null ? new Base[0] : new Base[] { this.date }; // DateTimeType 2074 case 1447404028: 2075 /* publisher */ return this.publisher == null ? new Base[0] : new Base[] { this.publisher }; // StringType 2076 case 951526432: 2077 /* contact */ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 2078 case -1724546052: 2079 /* description */ return this.description == null ? new Base[0] : new Base[] { this.description }; // MarkdownType 2080 case -669707736: 2081 /* useContext */ return this.useContext == null ? new Base[0] 2082 : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 2083 case -507075711: 2084 /* jurisdiction */ return this.jurisdiction == null ? new Base[0] 2085 : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 2086 case -220463842: 2087 /* purpose */ return this.purpose == null ? new Base[0] : new Base[] { this.purpose }; // MarkdownType 2088 case 111574433: 2089 /* usage */ return this.usage == null ? new Base[0] : new Base[] { this.usage }; // StringType 2090 case 1522889671: 2091 /* copyright */ return this.copyright == null ? new Base[0] : new Base[] { this.copyright }; // MarkdownType 2092 case 223539345: 2093 /* approvalDate */ return this.approvalDate == null ? new Base[0] : new Base[] { this.approvalDate }; // DateType 2094 case -1687512484: 2095 /* lastReviewDate */ return this.lastReviewDate == null ? new Base[0] : new Base[] { this.lastReviewDate }; // DateType 2096 case -403934648: 2097 /* effectivePeriod */ return this.effectivePeriod == null ? new Base[0] : new Base[] { this.effectivePeriod }; // Period 2098 case 110546223: 2099 /* topic */ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 2100 case -1406328437: 2101 /* author */ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail 2102 case -1307827859: 2103 /* editor */ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail 2104 case -261190139: 2105 /* reviewer */ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail 2106 case 1740277666: 2107 /* endorser */ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail 2108 case 666807069: 2109 /* relatedArtifact */ return this.relatedArtifact == null ? new Base[0] 2110 : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 2111 case -1059891784: 2112 /* trigger */ return this.trigger == null ? new Base[0] : this.trigger.toArray(new Base[this.trigger.size()]); // TriggerDefinition 2113 default: 2114 return super.getProperty(hash, name, checkValid); 2115 } 2116 2117 } 2118 2119 @Override 2120 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2121 switch (hash) { 2122 case 116079: // url 2123 this.url = castToUri(value); // UriType 2124 return value; 2125 case -1618432855: // identifier 2126 this.getIdentifier().add(castToIdentifier(value)); // Identifier 2127 return value; 2128 case 351608024: // version 2129 this.version = castToString(value); // StringType 2130 return value; 2131 case 3373707: // name 2132 this.name = castToString(value); // StringType 2133 return value; 2134 case 110371416: // title 2135 this.title = castToString(value); // StringType 2136 return value; 2137 case -2060497896: // subtitle 2138 this.subtitle = castToString(value); // StringType 2139 return value; 2140 case -892481550: // status 2141 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2142 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2143 return value; 2144 case -404562712: // experimental 2145 this.experimental = castToBoolean(value); // BooleanType 2146 return value; 2147 case -1867885268: // subject 2148 this.subject = castToType(value); // Type 2149 return value; 2150 case 3076014: // date 2151 this.date = castToDateTime(value); // DateTimeType 2152 return value; 2153 case 1447404028: // publisher 2154 this.publisher = castToString(value); // StringType 2155 return value; 2156 case 951526432: // contact 2157 this.getContact().add(castToContactDetail(value)); // ContactDetail 2158 return value; 2159 case -1724546052: // description 2160 this.description = castToMarkdown(value); // MarkdownType 2161 return value; 2162 case -669707736: // useContext 2163 this.getUseContext().add(castToUsageContext(value)); // UsageContext 2164 return value; 2165 case -507075711: // jurisdiction 2166 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 2167 return value; 2168 case -220463842: // purpose 2169 this.purpose = castToMarkdown(value); // MarkdownType 2170 return value; 2171 case 111574433: // usage 2172 this.usage = castToString(value); // StringType 2173 return value; 2174 case 1522889671: // copyright 2175 this.copyright = castToMarkdown(value); // MarkdownType 2176 return value; 2177 case 223539345: // approvalDate 2178 this.approvalDate = castToDate(value); // DateType 2179 return value; 2180 case -1687512484: // lastReviewDate 2181 this.lastReviewDate = castToDate(value); // DateType 2182 return value; 2183 case -403934648: // effectivePeriod 2184 this.effectivePeriod = castToPeriod(value); // Period 2185 return value; 2186 case 110546223: // topic 2187 this.getTopic().add(castToCodeableConcept(value)); // CodeableConcept 2188 return value; 2189 case -1406328437: // author 2190 this.getAuthor().add(castToContactDetail(value)); // ContactDetail 2191 return value; 2192 case -1307827859: // editor 2193 this.getEditor().add(castToContactDetail(value)); // ContactDetail 2194 return value; 2195 case -261190139: // reviewer 2196 this.getReviewer().add(castToContactDetail(value)); // ContactDetail 2197 return value; 2198 case 1740277666: // endorser 2199 this.getEndorser().add(castToContactDetail(value)); // ContactDetail 2200 return value; 2201 case 666807069: // relatedArtifact 2202 this.getRelatedArtifact().add(castToRelatedArtifact(value)); // RelatedArtifact 2203 return value; 2204 case -1059891784: // trigger 2205 this.getTrigger().add(castToTriggerDefinition(value)); // TriggerDefinition 2206 return value; 2207 default: 2208 return super.setProperty(hash, name, value); 2209 } 2210 2211 } 2212 2213 @Override 2214 public Base setProperty(String name, Base value) throws FHIRException { 2215 if (name.equals("url")) { 2216 this.url = castToUri(value); // UriType 2217 } else if (name.equals("identifier")) { 2218 this.getIdentifier().add(castToIdentifier(value)); 2219 } else if (name.equals("version")) { 2220 this.version = castToString(value); // StringType 2221 } else if (name.equals("name")) { 2222 this.name = castToString(value); // StringType 2223 } else if (name.equals("title")) { 2224 this.title = castToString(value); // StringType 2225 } else if (name.equals("subtitle")) { 2226 this.subtitle = castToString(value); // StringType 2227 } else if (name.equals("status")) { 2228 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 2229 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 2230 } else if (name.equals("experimental")) { 2231 this.experimental = castToBoolean(value); // BooleanType 2232 } else if (name.equals("subject[x]")) { 2233 this.subject = castToType(value); // Type 2234 } else if (name.equals("date")) { 2235 this.date = castToDateTime(value); // DateTimeType 2236 } else if (name.equals("publisher")) { 2237 this.publisher = castToString(value); // StringType 2238 } else if (name.equals("contact")) { 2239 this.getContact().add(castToContactDetail(value)); 2240 } else if (name.equals("description")) { 2241 this.description = castToMarkdown(value); // MarkdownType 2242 } else if (name.equals("useContext")) { 2243 this.getUseContext().add(castToUsageContext(value)); 2244 } else if (name.equals("jurisdiction")) { 2245 this.getJurisdiction().add(castToCodeableConcept(value)); 2246 } else if (name.equals("purpose")) { 2247 this.purpose = castToMarkdown(value); // MarkdownType 2248 } else if (name.equals("usage")) { 2249 this.usage = castToString(value); // StringType 2250 } else if (name.equals("copyright")) { 2251 this.copyright = castToMarkdown(value); // MarkdownType 2252 } else if (name.equals("approvalDate")) { 2253 this.approvalDate = castToDate(value); // DateType 2254 } else if (name.equals("lastReviewDate")) { 2255 this.lastReviewDate = castToDate(value); // DateType 2256 } else if (name.equals("effectivePeriod")) { 2257 this.effectivePeriod = castToPeriod(value); // Period 2258 } else if (name.equals("topic")) { 2259 this.getTopic().add(castToCodeableConcept(value)); 2260 } else if (name.equals("author")) { 2261 this.getAuthor().add(castToContactDetail(value)); 2262 } else if (name.equals("editor")) { 2263 this.getEditor().add(castToContactDetail(value)); 2264 } else if (name.equals("reviewer")) { 2265 this.getReviewer().add(castToContactDetail(value)); 2266 } else if (name.equals("endorser")) { 2267 this.getEndorser().add(castToContactDetail(value)); 2268 } else if (name.equals("relatedArtifact")) { 2269 this.getRelatedArtifact().add(castToRelatedArtifact(value)); 2270 } else if (name.equals("trigger")) { 2271 this.getTrigger().add(castToTriggerDefinition(value)); 2272 } else 2273 return super.setProperty(name, value); 2274 return value; 2275 } 2276 2277 @Override 2278 public void removeChild(String name, Base value) throws FHIRException { 2279 if (name.equals("url")) { 2280 this.url = null; 2281 } else if (name.equals("identifier")) { 2282 this.getIdentifier().remove(castToIdentifier(value)); 2283 } else if (name.equals("version")) { 2284 this.version = null; 2285 } else if (name.equals("name")) { 2286 this.name = null; 2287 } else if (name.equals("title")) { 2288 this.title = null; 2289 } else if (name.equals("subtitle")) { 2290 this.subtitle = null; 2291 } else if (name.equals("status")) { 2292 this.status = null; 2293 } else if (name.equals("experimental")) { 2294 this.experimental = null; 2295 } else if (name.equals("subject[x]")) { 2296 this.subject = null; 2297 } else if (name.equals("date")) { 2298 this.date = null; 2299 } else if (name.equals("publisher")) { 2300 this.publisher = null; 2301 } else if (name.equals("contact")) { 2302 this.getContact().remove(castToContactDetail(value)); 2303 } else if (name.equals("description")) { 2304 this.description = null; 2305 } else if (name.equals("useContext")) { 2306 this.getUseContext().remove(castToUsageContext(value)); 2307 } else if (name.equals("jurisdiction")) { 2308 this.getJurisdiction().remove(castToCodeableConcept(value)); 2309 } else if (name.equals("purpose")) { 2310 this.purpose = null; 2311 } else if (name.equals("usage")) { 2312 this.usage = null; 2313 } else if (name.equals("copyright")) { 2314 this.copyright = null; 2315 } else if (name.equals("approvalDate")) { 2316 this.approvalDate = null; 2317 } else if (name.equals("lastReviewDate")) { 2318 this.lastReviewDate = null; 2319 } else if (name.equals("effectivePeriod")) { 2320 this.effectivePeriod = null; 2321 } else if (name.equals("topic")) { 2322 this.getTopic().remove(castToCodeableConcept(value)); 2323 } else if (name.equals("author")) { 2324 this.getAuthor().remove(castToContactDetail(value)); 2325 } else if (name.equals("editor")) { 2326 this.getEditor().remove(castToContactDetail(value)); 2327 } else if (name.equals("reviewer")) { 2328 this.getReviewer().remove(castToContactDetail(value)); 2329 } else if (name.equals("endorser")) { 2330 this.getEndorser().remove(castToContactDetail(value)); 2331 } else if (name.equals("relatedArtifact")) { 2332 this.getRelatedArtifact().remove(castToRelatedArtifact(value)); 2333 } else if (name.equals("trigger")) { 2334 this.getTrigger().remove(castToTriggerDefinition(value)); 2335 } else 2336 super.removeChild(name, value); 2337 2338 } 2339 2340 @Override 2341 public Base makeProperty(int hash, String name) throws FHIRException { 2342 switch (hash) { 2343 case 116079: 2344 return getUrlElement(); 2345 case -1618432855: 2346 return addIdentifier(); 2347 case 351608024: 2348 return getVersionElement(); 2349 case 3373707: 2350 return getNameElement(); 2351 case 110371416: 2352 return getTitleElement(); 2353 case -2060497896: 2354 return getSubtitleElement(); 2355 case -892481550: 2356 return getStatusElement(); 2357 case -404562712: 2358 return getExperimentalElement(); 2359 case -573640748: 2360 return getSubject(); 2361 case -1867885268: 2362 return getSubject(); 2363 case 3076014: 2364 return getDateElement(); 2365 case 1447404028: 2366 return getPublisherElement(); 2367 case 951526432: 2368 return addContact(); 2369 case -1724546052: 2370 return getDescriptionElement(); 2371 case -669707736: 2372 return addUseContext(); 2373 case -507075711: 2374 return addJurisdiction(); 2375 case -220463842: 2376 return getPurposeElement(); 2377 case 111574433: 2378 return getUsageElement(); 2379 case 1522889671: 2380 return getCopyrightElement(); 2381 case 223539345: 2382 return getApprovalDateElement(); 2383 case -1687512484: 2384 return getLastReviewDateElement(); 2385 case -403934648: 2386 return getEffectivePeriod(); 2387 case 110546223: 2388 return addTopic(); 2389 case -1406328437: 2390 return addAuthor(); 2391 case -1307827859: 2392 return addEditor(); 2393 case -261190139: 2394 return addReviewer(); 2395 case 1740277666: 2396 return addEndorser(); 2397 case 666807069: 2398 return addRelatedArtifact(); 2399 case -1059891784: 2400 return addTrigger(); 2401 default: 2402 return super.makeProperty(hash, name); 2403 } 2404 2405 } 2406 2407 @Override 2408 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2409 switch (hash) { 2410 case 116079: 2411 /* url */ return new String[] { "uri" }; 2412 case -1618432855: 2413 /* identifier */ return new String[] { "Identifier" }; 2414 case 351608024: 2415 /* version */ return new String[] { "string" }; 2416 case 3373707: 2417 /* name */ return new String[] { "string" }; 2418 case 110371416: 2419 /* title */ return new String[] { "string" }; 2420 case -2060497896: 2421 /* subtitle */ return new String[] { "string" }; 2422 case -892481550: 2423 /* status */ return new String[] { "code" }; 2424 case -404562712: 2425 /* experimental */ return new String[] { "boolean" }; 2426 case -1867885268: 2427 /* subject */ return new String[] { "CodeableConcept", "Reference" }; 2428 case 3076014: 2429 /* date */ return new String[] { "dateTime" }; 2430 case 1447404028: 2431 /* publisher */ return new String[] { "string" }; 2432 case 951526432: 2433 /* contact */ return new String[] { "ContactDetail" }; 2434 case -1724546052: 2435 /* description */ return new String[] { "markdown" }; 2436 case -669707736: 2437 /* useContext */ return new String[] { "UsageContext" }; 2438 case -507075711: 2439 /* jurisdiction */ return new String[] { "CodeableConcept" }; 2440 case -220463842: 2441 /* purpose */ return new String[] { "markdown" }; 2442 case 111574433: 2443 /* usage */ return new String[] { "string" }; 2444 case 1522889671: 2445 /* copyright */ return new String[] { "markdown" }; 2446 case 223539345: 2447 /* approvalDate */ return new String[] { "date" }; 2448 case -1687512484: 2449 /* lastReviewDate */ return new String[] { "date" }; 2450 case -403934648: 2451 /* effectivePeriod */ return new String[] { "Period" }; 2452 case 110546223: 2453 /* topic */ return new String[] { "CodeableConcept" }; 2454 case -1406328437: 2455 /* author */ return new String[] { "ContactDetail" }; 2456 case -1307827859: 2457 /* editor */ return new String[] { "ContactDetail" }; 2458 case -261190139: 2459 /* reviewer */ return new String[] { "ContactDetail" }; 2460 case 1740277666: 2461 /* endorser */ return new String[] { "ContactDetail" }; 2462 case 666807069: 2463 /* relatedArtifact */ return new String[] { "RelatedArtifact" }; 2464 case -1059891784: 2465 /* trigger */ return new String[] { "TriggerDefinition" }; 2466 default: 2467 return super.getTypesForProperty(hash, name); 2468 } 2469 2470 } 2471 2472 @Override 2473 public Base addChild(String name) throws FHIRException { 2474 if (name.equals("url")) { 2475 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.url"); 2476 } else if (name.equals("identifier")) { 2477 return addIdentifier(); 2478 } else if (name.equals("version")) { 2479 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.version"); 2480 } else if (name.equals("name")) { 2481 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.name"); 2482 } else if (name.equals("title")) { 2483 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.title"); 2484 } else if (name.equals("subtitle")) { 2485 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.subtitle"); 2486 } else if (name.equals("status")) { 2487 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.status"); 2488 } else if (name.equals("experimental")) { 2489 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.experimental"); 2490 } else if (name.equals("subjectCodeableConcept")) { 2491 this.subject = new CodeableConcept(); 2492 return this.subject; 2493 } else if (name.equals("subjectReference")) { 2494 this.subject = new Reference(); 2495 return this.subject; 2496 } else if (name.equals("date")) { 2497 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.date"); 2498 } else if (name.equals("publisher")) { 2499 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.publisher"); 2500 } else if (name.equals("contact")) { 2501 return addContact(); 2502 } else if (name.equals("description")) { 2503 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.description"); 2504 } else if (name.equals("useContext")) { 2505 return addUseContext(); 2506 } else if (name.equals("jurisdiction")) { 2507 return addJurisdiction(); 2508 } else if (name.equals("purpose")) { 2509 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.purpose"); 2510 } else if (name.equals("usage")) { 2511 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.usage"); 2512 } else if (name.equals("copyright")) { 2513 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.copyright"); 2514 } else if (name.equals("approvalDate")) { 2515 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.approvalDate"); 2516 } else if (name.equals("lastReviewDate")) { 2517 throw new FHIRException("Cannot call addChild on a singleton property EventDefinition.lastReviewDate"); 2518 } else if (name.equals("effectivePeriod")) { 2519 this.effectivePeriod = new Period(); 2520 return this.effectivePeriod; 2521 } else if (name.equals("topic")) { 2522 return addTopic(); 2523 } else if (name.equals("author")) { 2524 return addAuthor(); 2525 } else if (name.equals("editor")) { 2526 return addEditor(); 2527 } else if (name.equals("reviewer")) { 2528 return addReviewer(); 2529 } else if (name.equals("endorser")) { 2530 return addEndorser(); 2531 } else if (name.equals("relatedArtifact")) { 2532 return addRelatedArtifact(); 2533 } else if (name.equals("trigger")) { 2534 return addTrigger(); 2535 } else 2536 return super.addChild(name); 2537 } 2538 2539 public String fhirType() { 2540 return "EventDefinition"; 2541 2542 } 2543 2544 public EventDefinition copy() { 2545 EventDefinition dst = new EventDefinition(); 2546 copyValues(dst); 2547 return dst; 2548 } 2549 2550 public void copyValues(EventDefinition dst) { 2551 super.copyValues(dst); 2552 dst.url = url == null ? null : url.copy(); 2553 if (identifier != null) { 2554 dst.identifier = new ArrayList<Identifier>(); 2555 for (Identifier i : identifier) 2556 dst.identifier.add(i.copy()); 2557 } 2558 ; 2559 dst.version = version == null ? null : version.copy(); 2560 dst.name = name == null ? null : name.copy(); 2561 dst.title = title == null ? null : title.copy(); 2562 dst.subtitle = subtitle == null ? null : subtitle.copy(); 2563 dst.status = status == null ? null : status.copy(); 2564 dst.experimental = experimental == null ? null : experimental.copy(); 2565 dst.subject = subject == null ? null : subject.copy(); 2566 dst.date = date == null ? null : date.copy(); 2567 dst.publisher = publisher == null ? null : publisher.copy(); 2568 if (contact != null) { 2569 dst.contact = new ArrayList<ContactDetail>(); 2570 for (ContactDetail i : contact) 2571 dst.contact.add(i.copy()); 2572 } 2573 ; 2574 dst.description = description == null ? null : description.copy(); 2575 if (useContext != null) { 2576 dst.useContext = new ArrayList<UsageContext>(); 2577 for (UsageContext i : useContext) 2578 dst.useContext.add(i.copy()); 2579 } 2580 ; 2581 if (jurisdiction != null) { 2582 dst.jurisdiction = new ArrayList<CodeableConcept>(); 2583 for (CodeableConcept i : jurisdiction) 2584 dst.jurisdiction.add(i.copy()); 2585 } 2586 ; 2587 dst.purpose = purpose == null ? null : purpose.copy(); 2588 dst.usage = usage == null ? null : usage.copy(); 2589 dst.copyright = copyright == null ? null : copyright.copy(); 2590 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 2591 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 2592 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 2593 if (topic != null) { 2594 dst.topic = new ArrayList<CodeableConcept>(); 2595 for (CodeableConcept i : topic) 2596 dst.topic.add(i.copy()); 2597 } 2598 ; 2599 if (author != null) { 2600 dst.author = new ArrayList<ContactDetail>(); 2601 for (ContactDetail i : author) 2602 dst.author.add(i.copy()); 2603 } 2604 ; 2605 if (editor != null) { 2606 dst.editor = new ArrayList<ContactDetail>(); 2607 for (ContactDetail i : editor) 2608 dst.editor.add(i.copy()); 2609 } 2610 ; 2611 if (reviewer != null) { 2612 dst.reviewer = new ArrayList<ContactDetail>(); 2613 for (ContactDetail i : reviewer) 2614 dst.reviewer.add(i.copy()); 2615 } 2616 ; 2617 if (endorser != null) { 2618 dst.endorser = new ArrayList<ContactDetail>(); 2619 for (ContactDetail i : endorser) 2620 dst.endorser.add(i.copy()); 2621 } 2622 ; 2623 if (relatedArtifact != null) { 2624 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 2625 for (RelatedArtifact i : relatedArtifact) 2626 dst.relatedArtifact.add(i.copy()); 2627 } 2628 ; 2629 if (trigger != null) { 2630 dst.trigger = new ArrayList<TriggerDefinition>(); 2631 for (TriggerDefinition i : trigger) 2632 dst.trigger.add(i.copy()); 2633 } 2634 ; 2635 } 2636 2637 protected EventDefinition typedCopy() { 2638 return copy(); 2639 } 2640 2641 @Override 2642 public boolean equalsDeep(Base other_) { 2643 if (!super.equalsDeep(other_)) 2644 return false; 2645 if (!(other_ instanceof EventDefinition)) 2646 return false; 2647 EventDefinition o = (EventDefinition) other_; 2648 return compareDeep(identifier, o.identifier, true) && compareDeep(subtitle, o.subtitle, true) 2649 && compareDeep(subject, o.subject, true) && compareDeep(purpose, o.purpose, true) 2650 && compareDeep(usage, o.usage, true) && compareDeep(copyright, o.copyright, true) 2651 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 2652 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) 2653 && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true) 2654 && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) 2655 && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(trigger, o.trigger, true); 2656 } 2657 2658 @Override 2659 public boolean equalsShallow(Base other_) { 2660 if (!super.equalsShallow(other_)) 2661 return false; 2662 if (!(other_ instanceof EventDefinition)) 2663 return false; 2664 EventDefinition o = (EventDefinition) other_; 2665 return compareValues(subtitle, o.subtitle, true) && compareValues(purpose, o.purpose, true) 2666 && compareValues(usage, o.usage, true) && compareValues(copyright, o.copyright, true) 2667 && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true); 2668 } 2669 2670 public boolean isEmpty() { 2671 return super.isEmpty() 2672 && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, subtitle, subject, purpose, usage, copyright, approvalDate, 2673 lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact, trigger); 2674 } 2675 2676 @Override 2677 public ResourceType getResourceType() { 2678 return ResourceType.EventDefinition; 2679 } 2680 2681 /** 2682 * Search parameter: <b>date</b> 2683 * <p> 2684 * Description: <b>The event definition publication date</b><br> 2685 * Type: <b>date</b><br> 2686 * Path: <b>EventDefinition.date</b><br> 2687 * </p> 2688 */ 2689 @SearchParamDefinition(name = "date", path = "EventDefinition.date", description = "The event definition publication date", type = "date") 2690 public static final String SP_DATE = "date"; 2691 /** 2692 * <b>Fluent Client</b> search parameter constant for <b>date</b> 2693 * <p> 2694 * Description: <b>The event definition publication date</b><br> 2695 * Type: <b>date</b><br> 2696 * Path: <b>EventDefinition.date</b><br> 2697 * </p> 2698 */ 2699 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam( 2700 SP_DATE); 2701 2702 /** 2703 * Search parameter: <b>identifier</b> 2704 * <p> 2705 * Description: <b>External identifier for the event definition</b><br> 2706 * Type: <b>token</b><br> 2707 * Path: <b>EventDefinition.identifier</b><br> 2708 * </p> 2709 */ 2710 @SearchParamDefinition(name = "identifier", path = "EventDefinition.identifier", description = "External identifier for the event definition", type = "token") 2711 public static final String SP_IDENTIFIER = "identifier"; 2712 /** 2713 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 2714 * <p> 2715 * Description: <b>External identifier for the event definition</b><br> 2716 * Type: <b>token</b><br> 2717 * Path: <b>EventDefinition.identifier</b><br> 2718 * </p> 2719 */ 2720 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam( 2721 SP_IDENTIFIER); 2722 2723 /** 2724 * Search parameter: <b>successor</b> 2725 * <p> 2726 * Description: <b>What resource is being referenced</b><br> 2727 * Type: <b>reference</b><br> 2728 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2729 * </p> 2730 */ 2731 @SearchParamDefinition(name = "successor", path = "EventDefinition.relatedArtifact.where(type='successor').resource", description = "What resource is being referenced", type = "reference") 2732 public static final String SP_SUCCESSOR = "successor"; 2733 /** 2734 * <b>Fluent Client</b> search parameter constant for <b>successor</b> 2735 * <p> 2736 * Description: <b>What resource is being referenced</b><br> 2737 * Type: <b>reference</b><br> 2738 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2739 * </p> 2740 */ 2741 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 2742 SP_SUCCESSOR); 2743 2744 /** 2745 * Constant for fluent queries to be used to add include statements. Specifies 2746 * the path value of "<b>EventDefinition:successor</b>". 2747 */ 2748 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include( 2749 "EventDefinition:successor").toLocked(); 2750 2751 /** 2752 * Search parameter: <b>context-type-value</b> 2753 * <p> 2754 * Description: <b>A use context type and value assigned to the event 2755 * definition</b><br> 2756 * Type: <b>composite</b><br> 2757 * Path: <b></b><br> 2758 * </p> 2759 */ 2760 @SearchParamDefinition(name = "context-type-value", path = "EventDefinition.useContext", description = "A use context type and value assigned to the event definition", type = "composite", compositeOf = { 2761 "context-type", "context" }) 2762 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 2763 /** 2764 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 2765 * <p> 2766 * Description: <b>A use context type and value assigned to the event 2767 * definition</b><br> 2768 * Type: <b>composite</b><br> 2769 * Path: <b></b><br> 2770 * </p> 2771 */ 2772 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>( 2773 SP_CONTEXT_TYPE_VALUE); 2774 2775 /** 2776 * Search parameter: <b>jurisdiction</b> 2777 * <p> 2778 * Description: <b>Intended jurisdiction for the event definition</b><br> 2779 * Type: <b>token</b><br> 2780 * Path: <b>EventDefinition.jurisdiction</b><br> 2781 * </p> 2782 */ 2783 @SearchParamDefinition(name = "jurisdiction", path = "EventDefinition.jurisdiction", description = "Intended jurisdiction for the event definition", type = "token") 2784 public static final String SP_JURISDICTION = "jurisdiction"; 2785 /** 2786 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 2787 * <p> 2788 * Description: <b>Intended jurisdiction for the event definition</b><br> 2789 * Type: <b>token</b><br> 2790 * Path: <b>EventDefinition.jurisdiction</b><br> 2791 * </p> 2792 */ 2793 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 2794 SP_JURISDICTION); 2795 2796 /** 2797 * Search parameter: <b>description</b> 2798 * <p> 2799 * Description: <b>The description of the event definition</b><br> 2800 * Type: <b>string</b><br> 2801 * Path: <b>EventDefinition.description</b><br> 2802 * </p> 2803 */ 2804 @SearchParamDefinition(name = "description", path = "EventDefinition.description", description = "The description of the event definition", type = "string") 2805 public static final String SP_DESCRIPTION = "description"; 2806 /** 2807 * <b>Fluent Client</b> search parameter constant for <b>description</b> 2808 * <p> 2809 * Description: <b>The description of the event definition</b><br> 2810 * Type: <b>string</b><br> 2811 * Path: <b>EventDefinition.description</b><br> 2812 * </p> 2813 */ 2814 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam( 2815 SP_DESCRIPTION); 2816 2817 /** 2818 * Search parameter: <b>derived-from</b> 2819 * <p> 2820 * Description: <b>What resource is being referenced</b><br> 2821 * Type: <b>reference</b><br> 2822 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2823 * </p> 2824 */ 2825 @SearchParamDefinition(name = "derived-from", path = "EventDefinition.relatedArtifact.where(type='derived-from').resource", description = "What resource is being referenced", type = "reference") 2826 public static final String SP_DERIVED_FROM = "derived-from"; 2827 /** 2828 * <b>Fluent Client</b> search parameter constant for <b>derived-from</b> 2829 * <p> 2830 * Description: <b>What resource is being referenced</b><br> 2831 * Type: <b>reference</b><br> 2832 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2833 * </p> 2834 */ 2835 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 2836 SP_DERIVED_FROM); 2837 2838 /** 2839 * Constant for fluent queries to be used to add include statements. Specifies 2840 * the path value of "<b>EventDefinition:derived-from</b>". 2841 */ 2842 public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include( 2843 "EventDefinition:derived-from").toLocked(); 2844 2845 /** 2846 * Search parameter: <b>context-type</b> 2847 * <p> 2848 * Description: <b>A type of use context assigned to the event 2849 * definition</b><br> 2850 * Type: <b>token</b><br> 2851 * Path: <b>EventDefinition.useContext.code</b><br> 2852 * </p> 2853 */ 2854 @SearchParamDefinition(name = "context-type", path = "EventDefinition.useContext.code", description = "A type of use context assigned to the event definition", type = "token") 2855 public static final String SP_CONTEXT_TYPE = "context-type"; 2856 /** 2857 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 2858 * <p> 2859 * Description: <b>A type of use context assigned to the event 2860 * definition</b><br> 2861 * Type: <b>token</b><br> 2862 * Path: <b>EventDefinition.useContext.code</b><br> 2863 * </p> 2864 */ 2865 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam( 2866 SP_CONTEXT_TYPE); 2867 2868 /** 2869 * Search parameter: <b>predecessor</b> 2870 * <p> 2871 * Description: <b>What resource is being referenced</b><br> 2872 * Type: <b>reference</b><br> 2873 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2874 * </p> 2875 */ 2876 @SearchParamDefinition(name = "predecessor", path = "EventDefinition.relatedArtifact.where(type='predecessor').resource", description = "What resource is being referenced", type = "reference") 2877 public static final String SP_PREDECESSOR = "predecessor"; 2878 /** 2879 * <b>Fluent Client</b> search parameter constant for <b>predecessor</b> 2880 * <p> 2881 * Description: <b>What resource is being referenced</b><br> 2882 * Type: <b>reference</b><br> 2883 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2884 * </p> 2885 */ 2886 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 2887 SP_PREDECESSOR); 2888 2889 /** 2890 * Constant for fluent queries to be used to add include statements. Specifies 2891 * the path value of "<b>EventDefinition:predecessor</b>". 2892 */ 2893 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include( 2894 "EventDefinition:predecessor").toLocked(); 2895 2896 /** 2897 * Search parameter: <b>title</b> 2898 * <p> 2899 * Description: <b>The human-friendly name of the event definition</b><br> 2900 * Type: <b>string</b><br> 2901 * Path: <b>EventDefinition.title</b><br> 2902 * </p> 2903 */ 2904 @SearchParamDefinition(name = "title", path = "EventDefinition.title", description = "The human-friendly name of the event definition", type = "string") 2905 public static final String SP_TITLE = "title"; 2906 /** 2907 * <b>Fluent Client</b> search parameter constant for <b>title</b> 2908 * <p> 2909 * Description: <b>The human-friendly name of the event definition</b><br> 2910 * Type: <b>string</b><br> 2911 * Path: <b>EventDefinition.title</b><br> 2912 * </p> 2913 */ 2914 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam( 2915 SP_TITLE); 2916 2917 /** 2918 * Search parameter: <b>composed-of</b> 2919 * <p> 2920 * Description: <b>What resource is being referenced</b><br> 2921 * Type: <b>reference</b><br> 2922 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2923 * </p> 2924 */ 2925 @SearchParamDefinition(name = "composed-of", path = "EventDefinition.relatedArtifact.where(type='composed-of').resource", description = "What resource is being referenced", type = "reference") 2926 public static final String SP_COMPOSED_OF = "composed-of"; 2927 /** 2928 * <b>Fluent Client</b> search parameter constant for <b>composed-of</b> 2929 * <p> 2930 * Description: <b>What resource is being referenced</b><br> 2931 * Type: <b>reference</b><br> 2932 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2933 * </p> 2934 */ 2935 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 2936 SP_COMPOSED_OF); 2937 2938 /** 2939 * Constant for fluent queries to be used to add include statements. Specifies 2940 * the path value of "<b>EventDefinition:composed-of</b>". 2941 */ 2942 public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include( 2943 "EventDefinition:composed-of").toLocked(); 2944 2945 /** 2946 * Search parameter: <b>version</b> 2947 * <p> 2948 * Description: <b>The business version of the event definition</b><br> 2949 * Type: <b>token</b><br> 2950 * Path: <b>EventDefinition.version</b><br> 2951 * </p> 2952 */ 2953 @SearchParamDefinition(name = "version", path = "EventDefinition.version", description = "The business version of the event definition", type = "token") 2954 public static final String SP_VERSION = "version"; 2955 /** 2956 * <b>Fluent Client</b> search parameter constant for <b>version</b> 2957 * <p> 2958 * Description: <b>The business version of the event definition</b><br> 2959 * Type: <b>token</b><br> 2960 * Path: <b>EventDefinition.version</b><br> 2961 * </p> 2962 */ 2963 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam( 2964 SP_VERSION); 2965 2966 /** 2967 * Search parameter: <b>url</b> 2968 * <p> 2969 * Description: <b>The uri that identifies the event definition</b><br> 2970 * Type: <b>uri</b><br> 2971 * Path: <b>EventDefinition.url</b><br> 2972 * </p> 2973 */ 2974 @SearchParamDefinition(name = "url", path = "EventDefinition.url", description = "The uri that identifies the event definition", type = "uri") 2975 public static final String SP_URL = "url"; 2976 /** 2977 * <b>Fluent Client</b> search parameter constant for <b>url</b> 2978 * <p> 2979 * Description: <b>The uri that identifies the event definition</b><br> 2980 * Type: <b>uri</b><br> 2981 * Path: <b>EventDefinition.url</b><br> 2982 * </p> 2983 */ 2984 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 2985 2986 /** 2987 * Search parameter: <b>context-quantity</b> 2988 * <p> 2989 * Description: <b>A quantity- or range-valued use context assigned to the event 2990 * definition</b><br> 2991 * Type: <b>quantity</b><br> 2992 * Path: <b>EventDefinition.useContext.valueQuantity, 2993 * EventDefinition.useContext.valueRange</b><br> 2994 * </p> 2995 */ 2996 @SearchParamDefinition(name = "context-quantity", path = "(EventDefinition.useContext.value as Quantity) | (EventDefinition.useContext.value as Range)", description = "A quantity- or range-valued use context assigned to the event definition", type = "quantity") 2997 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 2998 /** 2999 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 3000 * <p> 3001 * Description: <b>A quantity- or range-valued use context assigned to the event 3002 * definition</b><br> 3003 * Type: <b>quantity</b><br> 3004 * Path: <b>EventDefinition.useContext.valueQuantity, 3005 * EventDefinition.useContext.valueRange</b><br> 3006 * </p> 3007 */ 3008 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam( 3009 SP_CONTEXT_QUANTITY); 3010 3011 /** 3012 * Search parameter: <b>effective</b> 3013 * <p> 3014 * Description: <b>The time during which the event definition is intended to be 3015 * in use</b><br> 3016 * Type: <b>date</b><br> 3017 * Path: <b>EventDefinition.effectivePeriod</b><br> 3018 * </p> 3019 */ 3020 @SearchParamDefinition(name = "effective", path = "EventDefinition.effectivePeriod", description = "The time during which the event definition is intended to be in use", type = "date") 3021 public static final String SP_EFFECTIVE = "effective"; 3022 /** 3023 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 3024 * <p> 3025 * Description: <b>The time during which the event definition is intended to be 3026 * in use</b><br> 3027 * Type: <b>date</b><br> 3028 * Path: <b>EventDefinition.effectivePeriod</b><br> 3029 * </p> 3030 */ 3031 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam( 3032 SP_EFFECTIVE); 3033 3034 /** 3035 * Search parameter: <b>depends-on</b> 3036 * <p> 3037 * Description: <b>What resource is being referenced</b><br> 3038 * Type: <b>reference</b><br> 3039 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 3040 * </p> 3041 */ 3042 @SearchParamDefinition(name = "depends-on", path = "EventDefinition.relatedArtifact.where(type='depends-on').resource", description = "What resource is being referenced", type = "reference") 3043 public static final String SP_DEPENDS_ON = "depends-on"; 3044 /** 3045 * <b>Fluent Client</b> search parameter constant for <b>depends-on</b> 3046 * <p> 3047 * Description: <b>What resource is being referenced</b><br> 3048 * Type: <b>reference</b><br> 3049 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 3050 * </p> 3051 */ 3052 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam( 3053 SP_DEPENDS_ON); 3054 3055 /** 3056 * Constant for fluent queries to be used to add include statements. Specifies 3057 * the path value of "<b>EventDefinition:depends-on</b>". 3058 */ 3059 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include( 3060 "EventDefinition:depends-on").toLocked(); 3061 3062 /** 3063 * Search parameter: <b>name</b> 3064 * <p> 3065 * Description: <b>Computationally friendly name of the event definition</b><br> 3066 * Type: <b>string</b><br> 3067 * Path: <b>EventDefinition.name</b><br> 3068 * </p> 3069 */ 3070 @SearchParamDefinition(name = "name", path = "EventDefinition.name", description = "Computationally friendly name of the event definition", type = "string") 3071 public static final String SP_NAME = "name"; 3072 /** 3073 * <b>Fluent Client</b> search parameter constant for <b>name</b> 3074 * <p> 3075 * Description: <b>Computationally friendly name of the event definition</b><br> 3076 * Type: <b>string</b><br> 3077 * Path: <b>EventDefinition.name</b><br> 3078 * </p> 3079 */ 3080 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam( 3081 SP_NAME); 3082 3083 /** 3084 * Search parameter: <b>context</b> 3085 * <p> 3086 * Description: <b>A use context assigned to the event definition</b><br> 3087 * Type: <b>token</b><br> 3088 * Path: <b>EventDefinition.useContext.valueCodeableConcept</b><br> 3089 * </p> 3090 */ 3091 @SearchParamDefinition(name = "context", path = "(EventDefinition.useContext.value as CodeableConcept)", description = "A use context assigned to the event definition", type = "token") 3092 public static final String SP_CONTEXT = "context"; 3093 /** 3094 * <b>Fluent Client</b> search parameter constant for <b>context</b> 3095 * <p> 3096 * Description: <b>A use context assigned to the event definition</b><br> 3097 * Type: <b>token</b><br> 3098 * Path: <b>EventDefinition.useContext.valueCodeableConcept</b><br> 3099 * </p> 3100 */ 3101 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3102 SP_CONTEXT); 3103 3104 /** 3105 * Search parameter: <b>publisher</b> 3106 * <p> 3107 * Description: <b>Name of the publisher of the event definition</b><br> 3108 * Type: <b>string</b><br> 3109 * Path: <b>EventDefinition.publisher</b><br> 3110 * </p> 3111 */ 3112 @SearchParamDefinition(name = "publisher", path = "EventDefinition.publisher", description = "Name of the publisher of the event definition", type = "string") 3113 public static final String SP_PUBLISHER = "publisher"; 3114 /** 3115 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 3116 * <p> 3117 * Description: <b>Name of the publisher of the event definition</b><br> 3118 * Type: <b>string</b><br> 3119 * Path: <b>EventDefinition.publisher</b><br> 3120 * </p> 3121 */ 3122 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam( 3123 SP_PUBLISHER); 3124 3125 /** 3126 * Search parameter: <b>topic</b> 3127 * <p> 3128 * Description: <b>Topics associated with the module</b><br> 3129 * Type: <b>token</b><br> 3130 * Path: <b>EventDefinition.topic</b><br> 3131 * </p> 3132 */ 3133 @SearchParamDefinition(name = "topic", path = "EventDefinition.topic", description = "Topics associated with the module", type = "token") 3134 public static final String SP_TOPIC = "topic"; 3135 /** 3136 * <b>Fluent Client</b> search parameter constant for <b>topic</b> 3137 * <p> 3138 * Description: <b>Topics associated with the module</b><br> 3139 * Type: <b>token</b><br> 3140 * Path: <b>EventDefinition.topic</b><br> 3141 * </p> 3142 */ 3143 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3144 SP_TOPIC); 3145 3146 /** 3147 * Search parameter: <b>context-type-quantity</b> 3148 * <p> 3149 * Description: <b>A use context type and quantity- or range-based value 3150 * assigned to the event definition</b><br> 3151 * Type: <b>composite</b><br> 3152 * Path: <b></b><br> 3153 * </p> 3154 */ 3155 @SearchParamDefinition(name = "context-type-quantity", path = "EventDefinition.useContext", description = "A use context type and quantity- or range-based value assigned to the event definition", type = "composite", compositeOf = { 3156 "context-type", "context-quantity" }) 3157 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 3158 /** 3159 * <b>Fluent Client</b> search parameter constant for 3160 * <b>context-type-quantity</b> 3161 * <p> 3162 * Description: <b>A use context type and quantity- or range-based value 3163 * assigned to the event definition</b><br> 3164 * Type: <b>composite</b><br> 3165 * Path: <b></b><br> 3166 * </p> 3167 */ 3168 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>( 3169 SP_CONTEXT_TYPE_QUANTITY); 3170 3171 /** 3172 * Search parameter: <b>status</b> 3173 * <p> 3174 * Description: <b>The current status of the event definition</b><br> 3175 * Type: <b>token</b><br> 3176 * Path: <b>EventDefinition.status</b><br> 3177 * </p> 3178 */ 3179 @SearchParamDefinition(name = "status", path = "EventDefinition.status", description = "The current status of the event definition", type = "token") 3180 public static final String SP_STATUS = "status"; 3181 /** 3182 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3183 * <p> 3184 * Description: <b>The current status of the event definition</b><br> 3185 * Type: <b>token</b><br> 3186 * Path: <b>EventDefinition.status</b><br> 3187 * </p> 3188 */ 3189 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam( 3190 SP_STATUS); 3191 3192}