001package org.hl7.fhir.r4.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 6, 2018 17:51-0400 for FHIR v3.4.0 033 034import java.util.*; 035 036import org.hl7.fhir.utilities.Utilities; 037import org.hl7.fhir.r4.model.Enumerations.*; 038import ca.uhn.fhir.model.api.annotation.ResourceDef; 039import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 040import ca.uhn.fhir.model.api.annotation.Child; 041import ca.uhn.fhir.model.api.annotation.ChildOrder; 042import ca.uhn.fhir.model.api.annotation.Description; 043import ca.uhn.fhir.model.api.annotation.Block; 044import org.hl7.fhir.instance.model.api.*; 045import org.hl7.fhir.exceptions.FHIRException; 046/** 047 * The EventDefinition resource provides a reusable description of when a particular event can occur. 048 */ 049@ResourceDef(name="EventDefinition", profile="http://hl7.org/fhir/Profile/EventDefinition") 050@ChildOrder(names={"url", "identifier", "version", "name", "title", "subtitle", "status", "experimental", "subject[x]", "date", "publisher", "contact", "description", "useContext", "jurisdiction", "purpose", "usage", "copyright", "approvalDate", "lastReviewDate", "effectivePeriod", "topic", "contributor", "relatedArtifact", "trigger"}) 051public class EventDefinition extends MetadataResource { 052 053 /** 054 * 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. 055 */ 056 @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 057 @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." ) 058 protected List<Identifier> identifier; 059 060 /** 061 * An explanatory or alternate title for the event definition giving additional information about its content. 062 */ 063 @Child(name = "subtitle", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) 064 @Description(shortDefinition="Subordinate title of the event definition", formalDefinition="An explanatory or alternate title for the event definition giving additional information about its content." ) 065 protected StringType subtitle; 066 067 /** 068 * A code or group definition that describes the intended subject of the event definition. 069 */ 070 @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=2, min=0, max=1, modifier=false, summary=false) 071 @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." ) 072 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") 073 protected Type subject; 074 075 /** 076 * Explanation of why this event definition is needed and why it has been designed as it has. 077 */ 078 @Child(name = "purpose", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) 079 @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." ) 080 protected MarkdownType purpose; 081 082 /** 083 * A detailed description of how the event definition is used from a clinical perspective. 084 */ 085 @Child(name = "usage", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) 086 @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." ) 087 protected StringType usage; 088 089 /** 090 * 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. 091 */ 092 @Child(name = "copyright", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false) 093 @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." ) 094 protected MarkdownType copyright; 095 096 /** 097 * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 098 */ 099 @Child(name = "approvalDate", type = {DateType.class}, order=6, min=0, max=1, modifier=false, summary=true) 100 @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." ) 101 protected DateType approvalDate; 102 103 /** 104 * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 105 */ 106 @Child(name = "lastReviewDate", type = {DateType.class}, order=7, min=0, max=1, modifier=false, summary=true) 107 @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." ) 108 protected DateType lastReviewDate; 109 110 /** 111 * The period during which the event definition content was or is planned to be in active use. 112 */ 113 @Child(name = "effectivePeriod", type = {Period.class}, order=8, min=0, max=1, modifier=false, summary=true) 114 @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." ) 115 protected Period effectivePeriod; 116 117 /** 118 * Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching. 119 */ 120 @Child(name = "topic", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 121 @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." ) 122 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") 123 protected List<CodeableConcept> topic; 124 125 /** 126 * A contributor to the content of the module, including authors, editors, reviewers, and endorsers. 127 */ 128 @Child(name = "contributor", type = {Contributor.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 129 @Description(shortDefinition="A content contributor", formalDefinition="A contributor to the content of the module, including authors, editors, reviewers, and endorsers." ) 130 protected List<Contributor> contributor; 131 132 /** 133 * Related resources such as additional documentation, justification, or bibliographic references. 134 */ 135 @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 136 @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related resources such as additional documentation, justification, or bibliographic references." ) 137 protected List<RelatedArtifact> relatedArtifact; 138 139 /** 140 * The trigger element defines when the event occurs. 141 */ 142 @Child(name = "trigger", type = {TriggerDefinition.class}, order=12, min=1, max=1, modifier=false, summary=true) 143 @Description(shortDefinition="\"when\" the event occurs", formalDefinition="The trigger element defines when the event occurs." ) 144 protected TriggerDefinition trigger; 145 146 private static final long serialVersionUID = 1654942169L; 147 148 /** 149 * Constructor 150 */ 151 public EventDefinition() { 152 super(); 153 } 154 155 /** 156 * Constructor 157 */ 158 public EventDefinition(Enumeration<PublicationStatus> status, TriggerDefinition trigger) { 159 super(); 160 this.status = status; 161 this.trigger = trigger; 162 } 163 164 /** 165 * @return {@link #url} (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 this event definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 166 */ 167 public UriType getUrlElement() { 168 if (this.url == null) 169 if (Configuration.errorOnAutoCreate()) 170 throw new Error("Attempt to auto-create EventDefinition.url"); 171 else if (Configuration.doAutoCreate()) 172 this.url = new UriType(); // bb 173 return this.url; 174 } 175 176 public boolean hasUrlElement() { 177 return this.url != null && !this.url.isEmpty(); 178 } 179 180 public boolean hasUrl() { 181 return this.url != null && !this.url.isEmpty(); 182 } 183 184 /** 185 * @param value {@link #url} (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 this event definition is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 186 */ 187 public EventDefinition setUrlElement(UriType value) { 188 this.url = value; 189 return this; 190 } 191 192 /** 193 * @return 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 this event definition is (or will be) published. 194 */ 195 public String getUrl() { 196 return this.url == null ? null : this.url.getValue(); 197 } 198 199 /** 200 * @param value 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 this event definition is (or will be) published. 201 */ 202 public EventDefinition setUrl(String value) { 203 if (Utilities.noString(value)) 204 this.url = null; 205 else { 206 if (this.url == null) 207 this.url = new UriType(); 208 this.url.setValue(value); 209 } 210 return this; 211 } 212 213 /** 214 * @return {@link #identifier} (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.) 215 */ 216 public List<Identifier> getIdentifier() { 217 if (this.identifier == null) 218 this.identifier = new ArrayList<Identifier>(); 219 return this.identifier; 220 } 221 222 /** 223 * @return Returns a reference to <code>this</code> for easy method chaining 224 */ 225 public EventDefinition setIdentifier(List<Identifier> theIdentifier) { 226 this.identifier = theIdentifier; 227 return this; 228 } 229 230 public boolean hasIdentifier() { 231 if (this.identifier == null) 232 return false; 233 for (Identifier item : this.identifier) 234 if (!item.isEmpty()) 235 return true; 236 return false; 237 } 238 239 public Identifier addIdentifier() { //3 240 Identifier t = new Identifier(); 241 if (this.identifier == null) 242 this.identifier = new ArrayList<Identifier>(); 243 this.identifier.add(t); 244 return t; 245 } 246 247 public EventDefinition addIdentifier(Identifier t) { //3 248 if (t == null) 249 return this; 250 if (this.identifier == null) 251 this.identifier = new ArrayList<Identifier>(); 252 this.identifier.add(t); 253 return this; 254 } 255 256 /** 257 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist 258 */ 259 public Identifier getIdentifierFirstRep() { 260 if (getIdentifier().isEmpty()) { 261 addIdentifier(); 262 } 263 return getIdentifier().get(0); 264 } 265 266 /** 267 * @return {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 268 */ 269 public StringType getVersionElement() { 270 if (this.version == null) 271 if (Configuration.errorOnAutoCreate()) 272 throw new Error("Attempt to auto-create EventDefinition.version"); 273 else if (Configuration.doAutoCreate()) 274 this.version = new StringType(); // bb 275 return this.version; 276 } 277 278 public boolean hasVersionElement() { 279 return this.version != null && !this.version.isEmpty(); 280 } 281 282 public boolean hasVersion() { 283 return this.version != null && !this.version.isEmpty(); 284 } 285 286 /** 287 * @param value {@link #version} (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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 288 */ 289 public EventDefinition setVersionElement(StringType value) { 290 this.version = value; 291 return this; 292 } 293 294 /** 295 * @return 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. 296 */ 297 public String getVersion() { 298 return this.version == null ? null : this.version.getValue(); 299 } 300 301 /** 302 * @param value 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. 303 */ 304 public EventDefinition setVersion(String value) { 305 if (Utilities.noString(value)) 306 this.version = null; 307 else { 308 if (this.version == null) 309 this.version = new StringType(); 310 this.version.setValue(value); 311 } 312 return this; 313 } 314 315 /** 316 * @return {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 317 */ 318 public StringType getNameElement() { 319 if (this.name == null) 320 if (Configuration.errorOnAutoCreate()) 321 throw new Error("Attempt to auto-create EventDefinition.name"); 322 else if (Configuration.doAutoCreate()) 323 this.name = new StringType(); // bb 324 return this.name; 325 } 326 327 public boolean hasNameElement() { 328 return this.name != null && !this.name.isEmpty(); 329 } 330 331 public boolean hasName() { 332 return this.name != null && !this.name.isEmpty(); 333 } 334 335 /** 336 * @param value {@link #name} (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.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 337 */ 338 public EventDefinition setNameElement(StringType value) { 339 this.name = value; 340 return this; 341 } 342 343 /** 344 * @return 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. 345 */ 346 public String getName() { 347 return this.name == null ? null : this.name.getValue(); 348 } 349 350 /** 351 * @param value 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. 352 */ 353 public EventDefinition setName(String value) { 354 if (Utilities.noString(value)) 355 this.name = null; 356 else { 357 if (this.name == null) 358 this.name = new StringType(); 359 this.name.setValue(value); 360 } 361 return this; 362 } 363 364 /** 365 * @return {@link #title} (A short, descriptive, user-friendly title for the event definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 366 */ 367 public StringType getTitleElement() { 368 if (this.title == null) 369 if (Configuration.errorOnAutoCreate()) 370 throw new Error("Attempt to auto-create EventDefinition.title"); 371 else if (Configuration.doAutoCreate()) 372 this.title = new StringType(); // bb 373 return this.title; 374 } 375 376 public boolean hasTitleElement() { 377 return this.title != null && !this.title.isEmpty(); 378 } 379 380 public boolean hasTitle() { 381 return this.title != null && !this.title.isEmpty(); 382 } 383 384 /** 385 * @param value {@link #title} (A short, descriptive, user-friendly title for the event definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 386 */ 387 public EventDefinition setTitleElement(StringType value) { 388 this.title = value; 389 return this; 390 } 391 392 /** 393 * @return A short, descriptive, user-friendly title for the event definition. 394 */ 395 public String getTitle() { 396 return this.title == null ? null : this.title.getValue(); 397 } 398 399 /** 400 * @param value A short, descriptive, user-friendly title for the event definition. 401 */ 402 public EventDefinition setTitle(String value) { 403 if (Utilities.noString(value)) 404 this.title = null; 405 else { 406 if (this.title == null) 407 this.title = new StringType(); 408 this.title.setValue(value); 409 } 410 return this; 411 } 412 413 /** 414 * @return {@link #subtitle} (An explanatory or alternate title for the event definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 415 */ 416 public StringType getSubtitleElement() { 417 if (this.subtitle == null) 418 if (Configuration.errorOnAutoCreate()) 419 throw new Error("Attempt to auto-create EventDefinition.subtitle"); 420 else if (Configuration.doAutoCreate()) 421 this.subtitle = new StringType(); // bb 422 return this.subtitle; 423 } 424 425 public boolean hasSubtitleElement() { 426 return this.subtitle != null && !this.subtitle.isEmpty(); 427 } 428 429 public boolean hasSubtitle() { 430 return this.subtitle != null && !this.subtitle.isEmpty(); 431 } 432 433 /** 434 * @param value {@link #subtitle} (An explanatory or alternate title for the event definition giving additional information about its content.). This is the underlying object with id, value and extensions. The accessor "getSubtitle" gives direct access to the value 435 */ 436 public EventDefinition setSubtitleElement(StringType value) { 437 this.subtitle = value; 438 return this; 439 } 440 441 /** 442 * @return An explanatory or alternate title for the event definition giving additional information about its content. 443 */ 444 public String getSubtitle() { 445 return this.subtitle == null ? null : this.subtitle.getValue(); 446 } 447 448 /** 449 * @param value An explanatory or alternate title for the event definition giving additional information about its content. 450 */ 451 public EventDefinition setSubtitle(String value) { 452 if (Utilities.noString(value)) 453 this.subtitle = null; 454 else { 455 if (this.subtitle == null) 456 this.subtitle = new StringType(); 457 this.subtitle.setValue(value); 458 } 459 return this; 460 } 461 462 /** 463 * @return {@link #status} (The status of this event definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 464 */ 465 public Enumeration<PublicationStatus> getStatusElement() { 466 if (this.status == null) 467 if (Configuration.errorOnAutoCreate()) 468 throw new Error("Attempt to auto-create EventDefinition.status"); 469 else if (Configuration.doAutoCreate()) 470 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 471 return this.status; 472 } 473 474 public boolean hasStatusElement() { 475 return this.status != null && !this.status.isEmpty(); 476 } 477 478 public boolean hasStatus() { 479 return this.status != null && !this.status.isEmpty(); 480 } 481 482 /** 483 * @param value {@link #status} (The status of this event definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 484 */ 485 public EventDefinition setStatusElement(Enumeration<PublicationStatus> value) { 486 this.status = value; 487 return this; 488 } 489 490 /** 491 * @return The status of this event definition. Enables tracking the life-cycle of the content. 492 */ 493 public PublicationStatus getStatus() { 494 return this.status == null ? null : this.status.getValue(); 495 } 496 497 /** 498 * @param value The status of this event definition. Enables tracking the life-cycle of the content. 499 */ 500 public EventDefinition setStatus(PublicationStatus value) { 501 if (this.status == null) 502 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 503 this.status.setValue(value); 504 return this; 505 } 506 507 /** 508 * @return {@link #experimental} (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.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 509 */ 510 public BooleanType getExperimentalElement() { 511 if (this.experimental == null) 512 if (Configuration.errorOnAutoCreate()) 513 throw new Error("Attempt to auto-create EventDefinition.experimental"); 514 else if (Configuration.doAutoCreate()) 515 this.experimental = new BooleanType(); // bb 516 return this.experimental; 517 } 518 519 public boolean hasExperimentalElement() { 520 return this.experimental != null && !this.experimental.isEmpty(); 521 } 522 523 public boolean hasExperimental() { 524 return this.experimental != null && !this.experimental.isEmpty(); 525 } 526 527 /** 528 * @param value {@link #experimental} (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.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 529 */ 530 public EventDefinition setExperimentalElement(BooleanType value) { 531 this.experimental = value; 532 return this; 533 } 534 535 /** 536 * @return 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. 537 */ 538 public boolean getExperimental() { 539 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 540 } 541 542 /** 543 * @param value 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. 544 */ 545 public EventDefinition setExperimental(boolean value) { 546 if (this.experimental == null) 547 this.experimental = new BooleanType(); 548 this.experimental.setValue(value); 549 return this; 550 } 551 552 /** 553 * @return {@link #subject} (A code or group definition that describes the intended subject of the event definition.) 554 */ 555 public Type getSubject() { 556 return this.subject; 557 } 558 559 /** 560 * @return {@link #subject} (A code or group definition that describes the intended subject of the event definition.) 561 */ 562 public CodeableConcept getSubjectCodeableConcept() throws FHIRException { 563 if (this.subject == null) 564 return null; 565 if (!(this.subject instanceof CodeableConcept)) 566 throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.subject.getClass().getName()+" was encountered"); 567 return (CodeableConcept) this.subject; 568 } 569 570 public boolean hasSubjectCodeableConcept() { 571 return this != null && this.subject instanceof CodeableConcept; 572 } 573 574 /** 575 * @return {@link #subject} (A code or group definition that describes the intended subject of the event definition.) 576 */ 577 public Reference getSubjectReference() throws FHIRException { 578 if (this.subject == null) 579 return null; 580 if (!(this.subject instanceof Reference)) 581 throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.subject.getClass().getName()+" was encountered"); 582 return (Reference) this.subject; 583 } 584 585 public boolean hasSubjectReference() { 586 return this != null && this.subject instanceof Reference; 587 } 588 589 public boolean hasSubject() { 590 return this.subject != null && !this.subject.isEmpty(); 591 } 592 593 /** 594 * @param value {@link #subject} (A code or group definition that describes the intended subject of the event definition.) 595 */ 596 public EventDefinition setSubject(Type value) { 597 if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) 598 throw new Error("Not the right type for EventDefinition.subject[x]: "+value.fhirType()); 599 this.subject = value; 600 return this; 601 } 602 603 /** 604 * @return {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 605 */ 606 public DateTimeType getDateElement() { 607 if (this.date == null) 608 if (Configuration.errorOnAutoCreate()) 609 throw new Error("Attempt to auto-create EventDefinition.date"); 610 else if (Configuration.doAutoCreate()) 611 this.date = new DateTimeType(); // bb 612 return this.date; 613 } 614 615 public boolean hasDateElement() { 616 return this.date != null && !this.date.isEmpty(); 617 } 618 619 public boolean hasDate() { 620 return this.date != null && !this.date.isEmpty(); 621 } 622 623 /** 624 * @param value {@link #date} (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.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 625 */ 626 public EventDefinition setDateElement(DateTimeType value) { 627 this.date = value; 628 return this; 629 } 630 631 /** 632 * @return 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. 633 */ 634 public Date getDate() { 635 return this.date == null ? null : this.date.getValue(); 636 } 637 638 /** 639 * @param value 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. 640 */ 641 public EventDefinition setDate(Date value) { 642 if (value == null) 643 this.date = null; 644 else { 645 if (this.date == null) 646 this.date = new DateTimeType(); 647 this.date.setValue(value); 648 } 649 return this; 650 } 651 652 /** 653 * @return {@link #publisher} (The name of the organization or individual that published the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 654 */ 655 public StringType getPublisherElement() { 656 if (this.publisher == null) 657 if (Configuration.errorOnAutoCreate()) 658 throw new Error("Attempt to auto-create EventDefinition.publisher"); 659 else if (Configuration.doAutoCreate()) 660 this.publisher = new StringType(); // bb 661 return this.publisher; 662 } 663 664 public boolean hasPublisherElement() { 665 return this.publisher != null && !this.publisher.isEmpty(); 666 } 667 668 public boolean hasPublisher() { 669 return this.publisher != null && !this.publisher.isEmpty(); 670 } 671 672 /** 673 * @param value {@link #publisher} (The name of the organization or individual that published the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 674 */ 675 public EventDefinition setPublisherElement(StringType value) { 676 this.publisher = value; 677 return this; 678 } 679 680 /** 681 * @return The name of the organization or individual that published the event definition. 682 */ 683 public String getPublisher() { 684 return this.publisher == null ? null : this.publisher.getValue(); 685 } 686 687 /** 688 * @param value The name of the organization or individual that published the event definition. 689 */ 690 public EventDefinition setPublisher(String value) { 691 if (Utilities.noString(value)) 692 this.publisher = null; 693 else { 694 if (this.publisher == null) 695 this.publisher = new StringType(); 696 this.publisher.setValue(value); 697 } 698 return this; 699 } 700 701 /** 702 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 703 */ 704 public List<ContactDetail> getContact() { 705 if (this.contact == null) 706 this.contact = new ArrayList<ContactDetail>(); 707 return this.contact; 708 } 709 710 /** 711 * @return Returns a reference to <code>this</code> for easy method chaining 712 */ 713 public EventDefinition setContact(List<ContactDetail> theContact) { 714 this.contact = theContact; 715 return this; 716 } 717 718 public boolean hasContact() { 719 if (this.contact == null) 720 return false; 721 for (ContactDetail item : this.contact) 722 if (!item.isEmpty()) 723 return true; 724 return false; 725 } 726 727 public ContactDetail addContact() { //3 728 ContactDetail t = new ContactDetail(); 729 if (this.contact == null) 730 this.contact = new ArrayList<ContactDetail>(); 731 this.contact.add(t); 732 return t; 733 } 734 735 public EventDefinition addContact(ContactDetail t) { //3 736 if (t == null) 737 return this; 738 if (this.contact == null) 739 this.contact = new ArrayList<ContactDetail>(); 740 this.contact.add(t); 741 return this; 742 } 743 744 /** 745 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist 746 */ 747 public ContactDetail getContactFirstRep() { 748 if (getContact().isEmpty()) { 749 addContact(); 750 } 751 return getContact().get(0); 752 } 753 754 /** 755 * @return {@link #description} (A free text natural language description of the event definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 756 */ 757 public MarkdownType getDescriptionElement() { 758 if (this.description == null) 759 if (Configuration.errorOnAutoCreate()) 760 throw new Error("Attempt to auto-create EventDefinition.description"); 761 else if (Configuration.doAutoCreate()) 762 this.description = new MarkdownType(); // bb 763 return this.description; 764 } 765 766 public boolean hasDescriptionElement() { 767 return this.description != null && !this.description.isEmpty(); 768 } 769 770 public boolean hasDescription() { 771 return this.description != null && !this.description.isEmpty(); 772 } 773 774 /** 775 * @param value {@link #description} (A free text natural language description of the event definition from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 776 */ 777 public EventDefinition setDescriptionElement(MarkdownType value) { 778 this.description = value; 779 return this; 780 } 781 782 /** 783 * @return A free text natural language description of the event definition from a consumer's perspective. 784 */ 785 public String getDescription() { 786 return this.description == null ? null : this.description.getValue(); 787 } 788 789 /** 790 * @param value A free text natural language description of the event definition from a consumer's perspective. 791 */ 792 public EventDefinition setDescription(String value) { 793 if (value == null) 794 this.description = null; 795 else { 796 if (this.description == null) 797 this.description = new MarkdownType(); 798 this.description.setValue(value); 799 } 800 return this; 801 } 802 803 /** 804 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate event definition instances.) 805 */ 806 public List<UsageContext> getUseContext() { 807 if (this.useContext == null) 808 this.useContext = new ArrayList<UsageContext>(); 809 return this.useContext; 810 } 811 812 /** 813 * @return Returns a reference to <code>this</code> for easy method chaining 814 */ 815 public EventDefinition setUseContext(List<UsageContext> theUseContext) { 816 this.useContext = theUseContext; 817 return this; 818 } 819 820 public boolean hasUseContext() { 821 if (this.useContext == null) 822 return false; 823 for (UsageContext item : this.useContext) 824 if (!item.isEmpty()) 825 return true; 826 return false; 827 } 828 829 public UsageContext addUseContext() { //3 830 UsageContext t = new UsageContext(); 831 if (this.useContext == null) 832 this.useContext = new ArrayList<UsageContext>(); 833 this.useContext.add(t); 834 return t; 835 } 836 837 public EventDefinition addUseContext(UsageContext t) { //3 838 if (t == null) 839 return this; 840 if (this.useContext == null) 841 this.useContext = new ArrayList<UsageContext>(); 842 this.useContext.add(t); 843 return this; 844 } 845 846 /** 847 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist 848 */ 849 public UsageContext getUseContextFirstRep() { 850 if (getUseContext().isEmpty()) { 851 addUseContext(); 852 } 853 return getUseContext().get(0); 854 } 855 856 /** 857 * @return {@link #jurisdiction} (A legal or geographic region in which the event definition is intended to be used.) 858 */ 859 public List<CodeableConcept> getJurisdiction() { 860 if (this.jurisdiction == null) 861 this.jurisdiction = new ArrayList<CodeableConcept>(); 862 return this.jurisdiction; 863 } 864 865 /** 866 * @return Returns a reference to <code>this</code> for easy method chaining 867 */ 868 public EventDefinition setJurisdiction(List<CodeableConcept> theJurisdiction) { 869 this.jurisdiction = theJurisdiction; 870 return this; 871 } 872 873 public boolean hasJurisdiction() { 874 if (this.jurisdiction == null) 875 return false; 876 for (CodeableConcept item : this.jurisdiction) 877 if (!item.isEmpty()) 878 return true; 879 return false; 880 } 881 882 public CodeableConcept addJurisdiction() { //3 883 CodeableConcept t = new CodeableConcept(); 884 if (this.jurisdiction == null) 885 this.jurisdiction = new ArrayList<CodeableConcept>(); 886 this.jurisdiction.add(t); 887 return t; 888 } 889 890 public EventDefinition addJurisdiction(CodeableConcept t) { //3 891 if (t == null) 892 return this; 893 if (this.jurisdiction == null) 894 this.jurisdiction = new ArrayList<CodeableConcept>(); 895 this.jurisdiction.add(t); 896 return this; 897 } 898 899 /** 900 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist 901 */ 902 public CodeableConcept getJurisdictionFirstRep() { 903 if (getJurisdiction().isEmpty()) { 904 addJurisdiction(); 905 } 906 return getJurisdiction().get(0); 907 } 908 909 /** 910 * @return {@link #purpose} (Explanation of why this event definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 911 */ 912 public MarkdownType getPurposeElement() { 913 if (this.purpose == null) 914 if (Configuration.errorOnAutoCreate()) 915 throw new Error("Attempt to auto-create EventDefinition.purpose"); 916 else if (Configuration.doAutoCreate()) 917 this.purpose = new MarkdownType(); // bb 918 return this.purpose; 919 } 920 921 public boolean hasPurposeElement() { 922 return this.purpose != null && !this.purpose.isEmpty(); 923 } 924 925 public boolean hasPurpose() { 926 return this.purpose != null && !this.purpose.isEmpty(); 927 } 928 929 /** 930 * @param value {@link #purpose} (Explanation of why this event definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 931 */ 932 public EventDefinition setPurposeElement(MarkdownType value) { 933 this.purpose = value; 934 return this; 935 } 936 937 /** 938 * @return Explanation of why this event definition is needed and why it has been designed as it has. 939 */ 940 public String getPurpose() { 941 return this.purpose == null ? null : this.purpose.getValue(); 942 } 943 944 /** 945 * @param value Explanation of why this event definition is needed and why it has been designed as it has. 946 */ 947 public EventDefinition setPurpose(String value) { 948 if (value == null) 949 this.purpose = null; 950 else { 951 if (this.purpose == null) 952 this.purpose = new MarkdownType(); 953 this.purpose.setValue(value); 954 } 955 return this; 956 } 957 958 /** 959 * @return {@link #usage} (A detailed description of how the event definition is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 960 */ 961 public StringType getUsageElement() { 962 if (this.usage == null) 963 if (Configuration.errorOnAutoCreate()) 964 throw new Error("Attempt to auto-create EventDefinition.usage"); 965 else if (Configuration.doAutoCreate()) 966 this.usage = new StringType(); // bb 967 return this.usage; 968 } 969 970 public boolean hasUsageElement() { 971 return this.usage != null && !this.usage.isEmpty(); 972 } 973 974 public boolean hasUsage() { 975 return this.usage != null && !this.usage.isEmpty(); 976 } 977 978 /** 979 * @param value {@link #usage} (A detailed description of how the event definition is used from a clinical perspective.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value 980 */ 981 public EventDefinition setUsageElement(StringType value) { 982 this.usage = value; 983 return this; 984 } 985 986 /** 987 * @return A detailed description of how the event definition is used from a clinical perspective. 988 */ 989 public String getUsage() { 990 return this.usage == null ? null : this.usage.getValue(); 991 } 992 993 /** 994 * @param value A detailed description of how the event definition is used from a clinical perspective. 995 */ 996 public EventDefinition setUsage(String value) { 997 if (Utilities.noString(value)) 998 this.usage = null; 999 else { 1000 if (this.usage == null) 1001 this.usage = new StringType(); 1002 this.usage.setValue(value); 1003 } 1004 return this; 1005 } 1006 1007 /** 1008 * @return {@link #copyright} (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.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1009 */ 1010 public MarkdownType getCopyrightElement() { 1011 if (this.copyright == null) 1012 if (Configuration.errorOnAutoCreate()) 1013 throw new Error("Attempt to auto-create EventDefinition.copyright"); 1014 else if (Configuration.doAutoCreate()) 1015 this.copyright = new MarkdownType(); // bb 1016 return this.copyright; 1017 } 1018 1019 public boolean hasCopyrightElement() { 1020 return this.copyright != null && !this.copyright.isEmpty(); 1021 } 1022 1023 public boolean hasCopyright() { 1024 return this.copyright != null && !this.copyright.isEmpty(); 1025 } 1026 1027 /** 1028 * @param value {@link #copyright} (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.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 1029 */ 1030 public EventDefinition setCopyrightElement(MarkdownType value) { 1031 this.copyright = value; 1032 return this; 1033 } 1034 1035 /** 1036 * @return 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. 1037 */ 1038 public String getCopyright() { 1039 return this.copyright == null ? null : this.copyright.getValue(); 1040 } 1041 1042 /** 1043 * @param value 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. 1044 */ 1045 public EventDefinition setCopyright(String value) { 1046 if (value == null) 1047 this.copyright = null; 1048 else { 1049 if (this.copyright == null) 1050 this.copyright = new MarkdownType(); 1051 this.copyright.setValue(value); 1052 } 1053 return this; 1054 } 1055 1056 /** 1057 * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 1058 */ 1059 public DateType getApprovalDateElement() { 1060 if (this.approvalDate == null) 1061 if (Configuration.errorOnAutoCreate()) 1062 throw new Error("Attempt to auto-create EventDefinition.approvalDate"); 1063 else if (Configuration.doAutoCreate()) 1064 this.approvalDate = new DateType(); // bb 1065 return this.approvalDate; 1066 } 1067 1068 public boolean hasApprovalDateElement() { 1069 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1070 } 1071 1072 public boolean hasApprovalDate() { 1073 return this.approvalDate != null && !this.approvalDate.isEmpty(); 1074 } 1075 1076 /** 1077 * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value 1078 */ 1079 public EventDefinition setApprovalDateElement(DateType value) { 1080 this.approvalDate = value; 1081 return this; 1082 } 1083 1084 /** 1085 * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1086 */ 1087 public Date getApprovalDate() { 1088 return this.approvalDate == null ? null : this.approvalDate.getValue(); 1089 } 1090 1091 /** 1092 * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. 1093 */ 1094 public EventDefinition setApprovalDate(Date value) { 1095 if (value == null) 1096 this.approvalDate = null; 1097 else { 1098 if (this.approvalDate == null) 1099 this.approvalDate = new DateType(); 1100 this.approvalDate.setValue(value); 1101 } 1102 return this; 1103 } 1104 1105 /** 1106 * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 1107 */ 1108 public DateType getLastReviewDateElement() { 1109 if (this.lastReviewDate == null) 1110 if (Configuration.errorOnAutoCreate()) 1111 throw new Error("Attempt to auto-create EventDefinition.lastReviewDate"); 1112 else if (Configuration.doAutoCreate()) 1113 this.lastReviewDate = new DateType(); // bb 1114 return this.lastReviewDate; 1115 } 1116 1117 public boolean hasLastReviewDateElement() { 1118 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1119 } 1120 1121 public boolean hasLastReviewDate() { 1122 return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); 1123 } 1124 1125 /** 1126 * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value 1127 */ 1128 public EventDefinition setLastReviewDateElement(DateType value) { 1129 this.lastReviewDate = value; 1130 return this; 1131 } 1132 1133 /** 1134 * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 1135 */ 1136 public Date getLastReviewDate() { 1137 return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); 1138 } 1139 1140 /** 1141 * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. 1142 */ 1143 public EventDefinition setLastReviewDate(Date value) { 1144 if (value == null) 1145 this.lastReviewDate = null; 1146 else { 1147 if (this.lastReviewDate == null) 1148 this.lastReviewDate = new DateType(); 1149 this.lastReviewDate.setValue(value); 1150 } 1151 return this; 1152 } 1153 1154 /** 1155 * @return {@link #effectivePeriod} (The period during which the event definition content was or is planned to be in active use.) 1156 */ 1157 public Period getEffectivePeriod() { 1158 if (this.effectivePeriod == null) 1159 if (Configuration.errorOnAutoCreate()) 1160 throw new Error("Attempt to auto-create EventDefinition.effectivePeriod"); 1161 else if (Configuration.doAutoCreate()) 1162 this.effectivePeriod = new Period(); // cc 1163 return this.effectivePeriod; 1164 } 1165 1166 public boolean hasEffectivePeriod() { 1167 return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); 1168 } 1169 1170 /** 1171 * @param value {@link #effectivePeriod} (The period during which the event definition content was or is planned to be in active use.) 1172 */ 1173 public EventDefinition setEffectivePeriod(Period value) { 1174 this.effectivePeriod = value; 1175 return this; 1176 } 1177 1178 /** 1179 * @return {@link #topic} (Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.) 1180 */ 1181 public List<CodeableConcept> getTopic() { 1182 if (this.topic == null) 1183 this.topic = new ArrayList<CodeableConcept>(); 1184 return this.topic; 1185 } 1186 1187 /** 1188 * @return Returns a reference to <code>this</code> for easy method chaining 1189 */ 1190 public EventDefinition setTopic(List<CodeableConcept> theTopic) { 1191 this.topic = theTopic; 1192 return this; 1193 } 1194 1195 public boolean hasTopic() { 1196 if (this.topic == null) 1197 return false; 1198 for (CodeableConcept item : this.topic) 1199 if (!item.isEmpty()) 1200 return true; 1201 return false; 1202 } 1203 1204 public CodeableConcept addTopic() { //3 1205 CodeableConcept t = new CodeableConcept(); 1206 if (this.topic == null) 1207 this.topic = new ArrayList<CodeableConcept>(); 1208 this.topic.add(t); 1209 return t; 1210 } 1211 1212 public EventDefinition addTopic(CodeableConcept t) { //3 1213 if (t == null) 1214 return this; 1215 if (this.topic == null) 1216 this.topic = new ArrayList<CodeableConcept>(); 1217 this.topic.add(t); 1218 return this; 1219 } 1220 1221 /** 1222 * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist 1223 */ 1224 public CodeableConcept getTopicFirstRep() { 1225 if (getTopic().isEmpty()) { 1226 addTopic(); 1227 } 1228 return getTopic().get(0); 1229 } 1230 1231 /** 1232 * @return {@link #contributor} (A contributor to the content of the module, including authors, editors, reviewers, and endorsers.) 1233 */ 1234 public List<Contributor> getContributor() { 1235 if (this.contributor == null) 1236 this.contributor = new ArrayList<Contributor>(); 1237 return this.contributor; 1238 } 1239 1240 /** 1241 * @return Returns a reference to <code>this</code> for easy method chaining 1242 */ 1243 public EventDefinition setContributor(List<Contributor> theContributor) { 1244 this.contributor = theContributor; 1245 return this; 1246 } 1247 1248 public boolean hasContributor() { 1249 if (this.contributor == null) 1250 return false; 1251 for (Contributor item : this.contributor) 1252 if (!item.isEmpty()) 1253 return true; 1254 return false; 1255 } 1256 1257 public Contributor addContributor() { //3 1258 Contributor t = new Contributor(); 1259 if (this.contributor == null) 1260 this.contributor = new ArrayList<Contributor>(); 1261 this.contributor.add(t); 1262 return t; 1263 } 1264 1265 public EventDefinition addContributor(Contributor t) { //3 1266 if (t == null) 1267 return this; 1268 if (this.contributor == null) 1269 this.contributor = new ArrayList<Contributor>(); 1270 this.contributor.add(t); 1271 return this; 1272 } 1273 1274 /** 1275 * @return The first repetition of repeating field {@link #contributor}, creating it if it does not already exist 1276 */ 1277 public Contributor getContributorFirstRep() { 1278 if (getContributor().isEmpty()) { 1279 addContributor(); 1280 } 1281 return getContributor().get(0); 1282 } 1283 1284 /** 1285 * @return {@link #relatedArtifact} (Related resources such as additional documentation, justification, or bibliographic references.) 1286 */ 1287 public List<RelatedArtifact> getRelatedArtifact() { 1288 if (this.relatedArtifact == null) 1289 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1290 return this.relatedArtifact; 1291 } 1292 1293 /** 1294 * @return Returns a reference to <code>this</code> for easy method chaining 1295 */ 1296 public EventDefinition setRelatedArtifact(List<RelatedArtifact> theRelatedArtifact) { 1297 this.relatedArtifact = theRelatedArtifact; 1298 return this; 1299 } 1300 1301 public boolean hasRelatedArtifact() { 1302 if (this.relatedArtifact == null) 1303 return false; 1304 for (RelatedArtifact item : this.relatedArtifact) 1305 if (!item.isEmpty()) 1306 return true; 1307 return false; 1308 } 1309 1310 public RelatedArtifact addRelatedArtifact() { //3 1311 RelatedArtifact t = new RelatedArtifact(); 1312 if (this.relatedArtifact == null) 1313 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1314 this.relatedArtifact.add(t); 1315 return t; 1316 } 1317 1318 public EventDefinition addRelatedArtifact(RelatedArtifact t) { //3 1319 if (t == null) 1320 return this; 1321 if (this.relatedArtifact == null) 1322 this.relatedArtifact = new ArrayList<RelatedArtifact>(); 1323 this.relatedArtifact.add(t); 1324 return this; 1325 } 1326 1327 /** 1328 * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist 1329 */ 1330 public RelatedArtifact getRelatedArtifactFirstRep() { 1331 if (getRelatedArtifact().isEmpty()) { 1332 addRelatedArtifact(); 1333 } 1334 return getRelatedArtifact().get(0); 1335 } 1336 1337 /** 1338 * @return {@link #trigger} (The trigger element defines when the event occurs.) 1339 */ 1340 public TriggerDefinition getTrigger() { 1341 if (this.trigger == null) 1342 if (Configuration.errorOnAutoCreate()) 1343 throw new Error("Attempt to auto-create EventDefinition.trigger"); 1344 else if (Configuration.doAutoCreate()) 1345 this.trigger = new TriggerDefinition(); // cc 1346 return this.trigger; 1347 } 1348 1349 public boolean hasTrigger() { 1350 return this.trigger != null && !this.trigger.isEmpty(); 1351 } 1352 1353 /** 1354 * @param value {@link #trigger} (The trigger element defines when the event occurs.) 1355 */ 1356 public EventDefinition setTrigger(TriggerDefinition value) { 1357 this.trigger = value; 1358 return this; 1359 } 1360 1361 protected void listChildren(List<Property> children) { 1362 super.listChildren(children); 1363 children.add(new Property("url", "uri", "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 this event definition is (or will be) published.", 0, 1, url)); 1364 children.add(new Property("identifier", "Identifier", "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.", 0, java.lang.Integer.MAX_VALUE, identifier)); 1365 children.add(new Property("version", "string", "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.", 0, 1, version)); 1366 children.add(new Property("name", "string", "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.", 0, 1, name)); 1367 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the event definition.", 0, 1, title)); 1368 children.add(new Property("subtitle", "string", "An explanatory or alternate title for the event definition giving additional information about its content.", 0, 1, subtitle)); 1369 children.add(new Property("status", "code", "The status of this event definition. Enables tracking the life-cycle of the content.", 0, 1, status)); 1370 children.add(new Property("experimental", "boolean", "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.", 0, 1, experimental)); 1371 children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject)); 1372 children.add(new Property("date", "dateTime", "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.", 0, 1, date)); 1373 children.add(new Property("publisher", "string", "The name of the organization or individual that published the event definition.", 0, 1, publisher)); 1374 children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 1375 children.add(new Property("description", "markdown", "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, description)); 1376 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate event definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 1377 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the event definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 1378 children.add(new Property("purpose", "markdown", "Explanation of why this event definition is needed and why it has been designed as it has.", 0, 1, purpose)); 1379 children.add(new Property("usage", "string", "A detailed description of how the event definition is used from a clinical perspective.", 0, 1, usage)); 1380 children.add(new Property("copyright", "markdown", "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.", 0, 1, copyright)); 1381 children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); 1382 children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); 1383 children.add(new Property("effectivePeriod", "Period", "The period during which the event definition content was or is planned to be in active use.", 0, 1, effectivePeriod)); 1384 children.add(new Property("topic", "CodeableConcept", "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); 1385 children.add(new Property("contributor", "Contributor", "A contributor to the content of the module, including authors, editors, reviewers, and endorsers.", 0, java.lang.Integer.MAX_VALUE, contributor)); 1386 children.add(new Property("relatedArtifact", "RelatedArtifact", "Related resources such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); 1387 children.add(new Property("trigger", "TriggerDefinition", "The trigger element defines when the event occurs.", 0, 1, trigger)); 1388 } 1389 1390 @Override 1391 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1392 switch (_hash) { 1393 case 116079: /*url*/ return new Property("url", "uri", "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 this event definition is (or will be) published.", 0, 1, url); 1394 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "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.", 0, java.lang.Integer.MAX_VALUE, identifier); 1395 case 351608024: /*version*/ return new Property("version", "string", "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.", 0, 1, version); 1396 case 3373707: /*name*/ return new Property("name", "string", "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.", 0, 1, name); 1397 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the event definition.", 0, 1, title); 1398 case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "An explanatory or alternate title for the event definition giving additional information about its content.", 0, 1, subtitle); 1399 case -892481550: /*status*/ return new Property("status", "code", "The status of this event definition. Enables tracking the life-cycle of the content.", 0, 1, status); 1400 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "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.", 0, 1, experimental); 1401 case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1402 case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1403 case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1404 case 772938623: /*subjectReference*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); 1405 case 3076014: /*date*/ return new Property("date", "dateTime", "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.", 0, 1, date); 1406 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the event definition.", 0, 1, publisher); 1407 case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); 1408 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, description); 1409 case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate event definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 1410 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the event definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 1411 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this event definition is needed and why it has been designed as it has.", 0, 1, purpose); 1412 case 111574433: /*usage*/ return new Property("usage", "string", "A detailed description of how the event definition is used from a clinical perspective.", 0, 1, usage); 1413 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "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.", 0, 1, copyright); 1414 case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); 1415 case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); 1416 case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the event definition content was or is planned to be in active use.", 0, 1, effectivePeriod); 1417 case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptive topics related to the module. Topics provide a high-level categorization of the module that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); 1418 case -1895276325: /*contributor*/ return new Property("contributor", "Contributor", "A contributor to the content of the module, including authors, editors, reviewers, and endorsers.", 0, java.lang.Integer.MAX_VALUE, contributor); 1419 case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related resources such as additional documentation, justification, or bibliographic references.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); 1420 case -1059891784: /*trigger*/ return new Property("trigger", "TriggerDefinition", "The trigger element defines when the event occurs.", 0, 1, trigger); 1421 default: return super.getNamedProperty(_hash, _name, _checkValid); 1422 } 1423 1424 } 1425 1426 @Override 1427 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1428 switch (hash) { 1429 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 1430 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 1431 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 1432 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 1433 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 1434 case -2060497896: /*subtitle*/ return this.subtitle == null ? new Base[0] : new Base[] {this.subtitle}; // StringType 1435 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 1436 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 1437 case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Type 1438 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 1439 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 1440 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 1441 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 1442 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 1443 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 1444 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 1445 case 111574433: /*usage*/ return this.usage == null ? new Base[0] : new Base[] {this.usage}; // StringType 1446 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 1447 case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType 1448 case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType 1449 case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period 1450 case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept 1451 case -1895276325: /*contributor*/ return this.contributor == null ? new Base[0] : this.contributor.toArray(new Base[this.contributor.size()]); // Contributor 1452 case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact 1453 case -1059891784: /*trigger*/ return this.trigger == null ? new Base[0] : new Base[] {this.trigger}; // TriggerDefinition 1454 default: return super.getProperty(hash, name, checkValid); 1455 } 1456 1457 } 1458 1459 @Override 1460 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1461 switch (hash) { 1462 case 116079: // url 1463 this.url = castToUri(value); // UriType 1464 return value; 1465 case -1618432855: // identifier 1466 this.getIdentifier().add(castToIdentifier(value)); // Identifier 1467 return value; 1468 case 351608024: // version 1469 this.version = castToString(value); // StringType 1470 return value; 1471 case 3373707: // name 1472 this.name = castToString(value); // StringType 1473 return value; 1474 case 110371416: // title 1475 this.title = castToString(value); // StringType 1476 return value; 1477 case -2060497896: // subtitle 1478 this.subtitle = castToString(value); // StringType 1479 return value; 1480 case -892481550: // status 1481 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1482 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1483 return value; 1484 case -404562712: // experimental 1485 this.experimental = castToBoolean(value); // BooleanType 1486 return value; 1487 case -1867885268: // subject 1488 this.subject = castToType(value); // Type 1489 return value; 1490 case 3076014: // date 1491 this.date = castToDateTime(value); // DateTimeType 1492 return value; 1493 case 1447404028: // publisher 1494 this.publisher = castToString(value); // StringType 1495 return value; 1496 case 951526432: // contact 1497 this.getContact().add(castToContactDetail(value)); // ContactDetail 1498 return value; 1499 case -1724546052: // description 1500 this.description = castToMarkdown(value); // MarkdownType 1501 return value; 1502 case -669707736: // useContext 1503 this.getUseContext().add(castToUsageContext(value)); // UsageContext 1504 return value; 1505 case -507075711: // jurisdiction 1506 this.getJurisdiction().add(castToCodeableConcept(value)); // CodeableConcept 1507 return value; 1508 case -220463842: // purpose 1509 this.purpose = castToMarkdown(value); // MarkdownType 1510 return value; 1511 case 111574433: // usage 1512 this.usage = castToString(value); // StringType 1513 return value; 1514 case 1522889671: // copyright 1515 this.copyright = castToMarkdown(value); // MarkdownType 1516 return value; 1517 case 223539345: // approvalDate 1518 this.approvalDate = castToDate(value); // DateType 1519 return value; 1520 case -1687512484: // lastReviewDate 1521 this.lastReviewDate = castToDate(value); // DateType 1522 return value; 1523 case -403934648: // effectivePeriod 1524 this.effectivePeriod = castToPeriod(value); // Period 1525 return value; 1526 case 110546223: // topic 1527 this.getTopic().add(castToCodeableConcept(value)); // CodeableConcept 1528 return value; 1529 case -1895276325: // contributor 1530 this.getContributor().add(castToContributor(value)); // Contributor 1531 return value; 1532 case 666807069: // relatedArtifact 1533 this.getRelatedArtifact().add(castToRelatedArtifact(value)); // RelatedArtifact 1534 return value; 1535 case -1059891784: // trigger 1536 this.trigger = castToTriggerDefinition(value); // TriggerDefinition 1537 return value; 1538 default: return super.setProperty(hash, name, value); 1539 } 1540 1541 } 1542 1543 @Override 1544 public Base setProperty(String name, Base value) throws FHIRException { 1545 if (name.equals("url")) { 1546 this.url = castToUri(value); // UriType 1547 } else if (name.equals("identifier")) { 1548 this.getIdentifier().add(castToIdentifier(value)); 1549 } else if (name.equals("version")) { 1550 this.version = castToString(value); // StringType 1551 } else if (name.equals("name")) { 1552 this.name = castToString(value); // StringType 1553 } else if (name.equals("title")) { 1554 this.title = castToString(value); // StringType 1555 } else if (name.equals("subtitle")) { 1556 this.subtitle = castToString(value); // StringType 1557 } else if (name.equals("status")) { 1558 value = new PublicationStatusEnumFactory().fromType(castToCode(value)); 1559 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 1560 } else if (name.equals("experimental")) { 1561 this.experimental = castToBoolean(value); // BooleanType 1562 } else if (name.equals("subject[x]")) { 1563 this.subject = castToType(value); // Type 1564 } else if (name.equals("date")) { 1565 this.date = castToDateTime(value); // DateTimeType 1566 } else if (name.equals("publisher")) { 1567 this.publisher = castToString(value); // StringType 1568 } else if (name.equals("contact")) { 1569 this.getContact().add(castToContactDetail(value)); 1570 } else if (name.equals("description")) { 1571 this.description = castToMarkdown(value); // MarkdownType 1572 } else if (name.equals("useContext")) { 1573 this.getUseContext().add(castToUsageContext(value)); 1574 } else if (name.equals("jurisdiction")) { 1575 this.getJurisdiction().add(castToCodeableConcept(value)); 1576 } else if (name.equals("purpose")) { 1577 this.purpose = castToMarkdown(value); // MarkdownType 1578 } else if (name.equals("usage")) { 1579 this.usage = castToString(value); // StringType 1580 } else if (name.equals("copyright")) { 1581 this.copyright = castToMarkdown(value); // MarkdownType 1582 } else if (name.equals("approvalDate")) { 1583 this.approvalDate = castToDate(value); // DateType 1584 } else if (name.equals("lastReviewDate")) { 1585 this.lastReviewDate = castToDate(value); // DateType 1586 } else if (name.equals("effectivePeriod")) { 1587 this.effectivePeriod = castToPeriod(value); // Period 1588 } else if (name.equals("topic")) { 1589 this.getTopic().add(castToCodeableConcept(value)); 1590 } else if (name.equals("contributor")) { 1591 this.getContributor().add(castToContributor(value)); 1592 } else if (name.equals("relatedArtifact")) { 1593 this.getRelatedArtifact().add(castToRelatedArtifact(value)); 1594 } else if (name.equals("trigger")) { 1595 this.trigger = castToTriggerDefinition(value); // TriggerDefinition 1596 } else 1597 return super.setProperty(name, value); 1598 return value; 1599 } 1600 1601 @Override 1602 public Base makeProperty(int hash, String name) throws FHIRException { 1603 switch (hash) { 1604 case 116079: return getUrlElement(); 1605 case -1618432855: return addIdentifier(); 1606 case 351608024: return getVersionElement(); 1607 case 3373707: return getNameElement(); 1608 case 110371416: return getTitleElement(); 1609 case -2060497896: return getSubtitleElement(); 1610 case -892481550: return getStatusElement(); 1611 case -404562712: return getExperimentalElement(); 1612 case -573640748: return getSubject(); 1613 case -1867885268: return getSubject(); 1614 case 3076014: return getDateElement(); 1615 case 1447404028: return getPublisherElement(); 1616 case 951526432: return addContact(); 1617 case -1724546052: return getDescriptionElement(); 1618 case -669707736: return addUseContext(); 1619 case -507075711: return addJurisdiction(); 1620 case -220463842: return getPurposeElement(); 1621 case 111574433: return getUsageElement(); 1622 case 1522889671: return getCopyrightElement(); 1623 case 223539345: return getApprovalDateElement(); 1624 case -1687512484: return getLastReviewDateElement(); 1625 case -403934648: return getEffectivePeriod(); 1626 case 110546223: return addTopic(); 1627 case -1895276325: return addContributor(); 1628 case 666807069: return addRelatedArtifact(); 1629 case -1059891784: return getTrigger(); 1630 default: return super.makeProperty(hash, name); 1631 } 1632 1633 } 1634 1635 @Override 1636 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1637 switch (hash) { 1638 case 116079: /*url*/ return new String[] {"uri"}; 1639 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 1640 case 351608024: /*version*/ return new String[] {"string"}; 1641 case 3373707: /*name*/ return new String[] {"string"}; 1642 case 110371416: /*title*/ return new String[] {"string"}; 1643 case -2060497896: /*subtitle*/ return new String[] {"string"}; 1644 case -892481550: /*status*/ return new String[] {"code"}; 1645 case -404562712: /*experimental*/ return new String[] {"boolean"}; 1646 case -1867885268: /*subject*/ return new String[] {"CodeableConcept", "Reference"}; 1647 case 3076014: /*date*/ return new String[] {"dateTime"}; 1648 case 1447404028: /*publisher*/ return new String[] {"string"}; 1649 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 1650 case -1724546052: /*description*/ return new String[] {"markdown"}; 1651 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 1652 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 1653 case -220463842: /*purpose*/ return new String[] {"markdown"}; 1654 case 111574433: /*usage*/ return new String[] {"string"}; 1655 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 1656 case 223539345: /*approvalDate*/ return new String[] {"date"}; 1657 case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; 1658 case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; 1659 case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; 1660 case -1895276325: /*contributor*/ return new String[] {"Contributor"}; 1661 case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; 1662 case -1059891784: /*trigger*/ return new String[] {"TriggerDefinition"}; 1663 default: return super.getTypesForProperty(hash, name); 1664 } 1665 1666 } 1667 1668 @Override 1669 public Base addChild(String name) throws FHIRException { 1670 if (name.equals("url")) { 1671 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.url"); 1672 } 1673 else if (name.equals("identifier")) { 1674 return addIdentifier(); 1675 } 1676 else if (name.equals("version")) { 1677 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.version"); 1678 } 1679 else if (name.equals("name")) { 1680 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.name"); 1681 } 1682 else if (name.equals("title")) { 1683 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.title"); 1684 } 1685 else if (name.equals("subtitle")) { 1686 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.subtitle"); 1687 } 1688 else if (name.equals("status")) { 1689 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.status"); 1690 } 1691 else if (name.equals("experimental")) { 1692 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.experimental"); 1693 } 1694 else if (name.equals("subjectCodeableConcept")) { 1695 this.subject = new CodeableConcept(); 1696 return this.subject; 1697 } 1698 else if (name.equals("subjectReference")) { 1699 this.subject = new Reference(); 1700 return this.subject; 1701 } 1702 else if (name.equals("date")) { 1703 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.date"); 1704 } 1705 else if (name.equals("publisher")) { 1706 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.publisher"); 1707 } 1708 else if (name.equals("contact")) { 1709 return addContact(); 1710 } 1711 else if (name.equals("description")) { 1712 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.description"); 1713 } 1714 else if (name.equals("useContext")) { 1715 return addUseContext(); 1716 } 1717 else if (name.equals("jurisdiction")) { 1718 return addJurisdiction(); 1719 } 1720 else if (name.equals("purpose")) { 1721 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.purpose"); 1722 } 1723 else if (name.equals("usage")) { 1724 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.usage"); 1725 } 1726 else if (name.equals("copyright")) { 1727 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.copyright"); 1728 } 1729 else if (name.equals("approvalDate")) { 1730 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.approvalDate"); 1731 } 1732 else if (name.equals("lastReviewDate")) { 1733 throw new FHIRException("Cannot call addChild on a primitive type EventDefinition.lastReviewDate"); 1734 } 1735 else if (name.equals("effectivePeriod")) { 1736 this.effectivePeriod = new Period(); 1737 return this.effectivePeriod; 1738 } 1739 else if (name.equals("topic")) { 1740 return addTopic(); 1741 } 1742 else if (name.equals("contributor")) { 1743 return addContributor(); 1744 } 1745 else if (name.equals("relatedArtifact")) { 1746 return addRelatedArtifact(); 1747 } 1748 else if (name.equals("trigger")) { 1749 this.trigger = new TriggerDefinition(); 1750 return this.trigger; 1751 } 1752 else 1753 return super.addChild(name); 1754 } 1755 1756 public String fhirType() { 1757 return "EventDefinition"; 1758 1759 } 1760 1761 public EventDefinition copy() { 1762 EventDefinition dst = new EventDefinition(); 1763 copyValues(dst); 1764 dst.url = url == null ? null : url.copy(); 1765 if (identifier != null) { 1766 dst.identifier = new ArrayList<Identifier>(); 1767 for (Identifier i : identifier) 1768 dst.identifier.add(i.copy()); 1769 }; 1770 dst.version = version == null ? null : version.copy(); 1771 dst.name = name == null ? null : name.copy(); 1772 dst.title = title == null ? null : title.copy(); 1773 dst.subtitle = subtitle == null ? null : subtitle.copy(); 1774 dst.status = status == null ? null : status.copy(); 1775 dst.experimental = experimental == null ? null : experimental.copy(); 1776 dst.subject = subject == null ? null : subject.copy(); 1777 dst.date = date == null ? null : date.copy(); 1778 dst.publisher = publisher == null ? null : publisher.copy(); 1779 if (contact != null) { 1780 dst.contact = new ArrayList<ContactDetail>(); 1781 for (ContactDetail i : contact) 1782 dst.contact.add(i.copy()); 1783 }; 1784 dst.description = description == null ? null : description.copy(); 1785 if (useContext != null) { 1786 dst.useContext = new ArrayList<UsageContext>(); 1787 for (UsageContext i : useContext) 1788 dst.useContext.add(i.copy()); 1789 }; 1790 if (jurisdiction != null) { 1791 dst.jurisdiction = new ArrayList<CodeableConcept>(); 1792 for (CodeableConcept i : jurisdiction) 1793 dst.jurisdiction.add(i.copy()); 1794 }; 1795 dst.purpose = purpose == null ? null : purpose.copy(); 1796 dst.usage = usage == null ? null : usage.copy(); 1797 dst.copyright = copyright == null ? null : copyright.copy(); 1798 dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); 1799 dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); 1800 dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); 1801 if (topic != null) { 1802 dst.topic = new ArrayList<CodeableConcept>(); 1803 for (CodeableConcept i : topic) 1804 dst.topic.add(i.copy()); 1805 }; 1806 if (contributor != null) { 1807 dst.contributor = new ArrayList<Contributor>(); 1808 for (Contributor i : contributor) 1809 dst.contributor.add(i.copy()); 1810 }; 1811 if (relatedArtifact != null) { 1812 dst.relatedArtifact = new ArrayList<RelatedArtifact>(); 1813 for (RelatedArtifact i : relatedArtifact) 1814 dst.relatedArtifact.add(i.copy()); 1815 }; 1816 dst.trigger = trigger == null ? null : trigger.copy(); 1817 return dst; 1818 } 1819 1820 protected EventDefinition typedCopy() { 1821 return copy(); 1822 } 1823 1824 @Override 1825 public boolean equalsDeep(Base other_) { 1826 if (!super.equalsDeep(other_)) 1827 return false; 1828 if (!(other_ instanceof EventDefinition)) 1829 return false; 1830 EventDefinition o = (EventDefinition) other_; 1831 return compareDeep(identifier, o.identifier, true) && compareDeep(subtitle, o.subtitle, true) && compareDeep(subject, o.subject, true) 1832 && compareDeep(purpose, o.purpose, true) && compareDeep(usage, o.usage, true) && compareDeep(copyright, o.copyright, true) 1833 && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) 1834 && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(contributor, o.contributor, true) 1835 && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(trigger, o.trigger, true) 1836 ; 1837 } 1838 1839 @Override 1840 public boolean equalsShallow(Base other_) { 1841 if (!super.equalsShallow(other_)) 1842 return false; 1843 if (!(other_ instanceof EventDefinition)) 1844 return false; 1845 EventDefinition o = (EventDefinition) other_; 1846 return compareValues(subtitle, o.subtitle, true) && compareValues(purpose, o.purpose, true) && compareValues(usage, o.usage, true) 1847 && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) 1848 && compareValues(lastReviewDate, o.lastReviewDate, true); 1849 } 1850 1851 public boolean isEmpty() { 1852 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, subtitle, subject 1853 , purpose, usage, copyright, approvalDate, lastReviewDate, effectivePeriod, topic 1854 , contributor, relatedArtifact, trigger); 1855 } 1856 1857 @Override 1858 public ResourceType getResourceType() { 1859 return ResourceType.EventDefinition; 1860 } 1861 1862 /** 1863 * Search parameter: <b>date</b> 1864 * <p> 1865 * Description: <b>The event definition publication date</b><br> 1866 * Type: <b>date</b><br> 1867 * Path: <b>EventDefinition.date</b><br> 1868 * </p> 1869 */ 1870 @SearchParamDefinition(name="date", path="EventDefinition.date", description="The event definition publication date", type="date" ) 1871 public static final String SP_DATE = "date"; 1872 /** 1873 * <b>Fluent Client</b> search parameter constant for <b>date</b> 1874 * <p> 1875 * Description: <b>The event definition publication date</b><br> 1876 * Type: <b>date</b><br> 1877 * Path: <b>EventDefinition.date</b><br> 1878 * </p> 1879 */ 1880 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 1881 1882 /** 1883 * Search parameter: <b>identifier</b> 1884 * <p> 1885 * Description: <b>External identifier for the event definition</b><br> 1886 * Type: <b>token</b><br> 1887 * Path: <b>EventDefinition.identifier</b><br> 1888 * </p> 1889 */ 1890 @SearchParamDefinition(name="identifier", path="EventDefinition.identifier", description="External identifier for the event definition", type="token" ) 1891 public static final String SP_IDENTIFIER = "identifier"; 1892 /** 1893 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 1894 * <p> 1895 * Description: <b>External identifier for the event definition</b><br> 1896 * Type: <b>token</b><br> 1897 * Path: <b>EventDefinition.identifier</b><br> 1898 * </p> 1899 */ 1900 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 1901 1902 /** 1903 * Search parameter: <b>successor</b> 1904 * <p> 1905 * Description: <b>What resource is being referenced</b><br> 1906 * Type: <b>reference</b><br> 1907 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 1908 * </p> 1909 */ 1910 @SearchParamDefinition(name="successor", path="EventDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference" ) 1911 public static final String SP_SUCCESSOR = "successor"; 1912 /** 1913 * <b>Fluent Client</b> search parameter constant for <b>successor</b> 1914 * <p> 1915 * Description: <b>What resource is being referenced</b><br> 1916 * Type: <b>reference</b><br> 1917 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 1918 * </p> 1919 */ 1920 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUCCESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUCCESSOR); 1921 1922/** 1923 * Constant for fluent queries to be used to add include statements. Specifies 1924 * the path value of "<b>EventDefinition:successor</b>". 1925 */ 1926 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUCCESSOR = new ca.uhn.fhir.model.api.Include("EventDefinition:successor").toLocked(); 1927 1928 /** 1929 * Search parameter: <b>jurisdiction</b> 1930 * <p> 1931 * Description: <b>Intended jurisdiction for the event definition</b><br> 1932 * Type: <b>token</b><br> 1933 * Path: <b>EventDefinition.jurisdiction</b><br> 1934 * </p> 1935 */ 1936 @SearchParamDefinition(name="jurisdiction", path="EventDefinition.jurisdiction", description="Intended jurisdiction for the event definition", type="token" ) 1937 public static final String SP_JURISDICTION = "jurisdiction"; 1938 /** 1939 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 1940 * <p> 1941 * Description: <b>Intended jurisdiction for the event definition</b><br> 1942 * Type: <b>token</b><br> 1943 * Path: <b>EventDefinition.jurisdiction</b><br> 1944 * </p> 1945 */ 1946 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 1947 1948 /** 1949 * Search parameter: <b>description</b> 1950 * <p> 1951 * Description: <b>The description of the event definition</b><br> 1952 * Type: <b>string</b><br> 1953 * Path: <b>EventDefinition.description</b><br> 1954 * </p> 1955 */ 1956 @SearchParamDefinition(name="description", path="EventDefinition.description", description="The description of the event definition", type="string" ) 1957 public static final String SP_DESCRIPTION = "description"; 1958 /** 1959 * <b>Fluent Client</b> search parameter constant for <b>description</b> 1960 * <p> 1961 * Description: <b>The description of the event definition</b><br> 1962 * Type: <b>string</b><br> 1963 * Path: <b>EventDefinition.description</b><br> 1964 * </p> 1965 */ 1966 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 1967 1968 /** 1969 * Search parameter: <b>derived-from</b> 1970 * <p> 1971 * Description: <b>What resource is being referenced</b><br> 1972 * Type: <b>reference</b><br> 1973 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 1974 * </p> 1975 */ 1976 @SearchParamDefinition(name="derived-from", path="EventDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference" ) 1977 public static final String SP_DERIVED_FROM = "derived-from"; 1978 /** 1979 * <b>Fluent Client</b> search parameter constant for <b>derived-from</b> 1980 * <p> 1981 * Description: <b>What resource is being referenced</b><br> 1982 * Type: <b>reference</b><br> 1983 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 1984 * </p> 1985 */ 1986 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); 1987 1988/** 1989 * Constant for fluent queries to be used to add include statements. Specifies 1990 * the path value of "<b>EventDefinition:derived-from</b>". 1991 */ 1992 public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("EventDefinition:derived-from").toLocked(); 1993 1994 /** 1995 * Search parameter: <b>predecessor</b> 1996 * <p> 1997 * Description: <b>What resource is being referenced</b><br> 1998 * Type: <b>reference</b><br> 1999 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2000 * </p> 2001 */ 2002 @SearchParamDefinition(name="predecessor", path="EventDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference" ) 2003 public static final String SP_PREDECESSOR = "predecessor"; 2004 /** 2005 * <b>Fluent Client</b> search parameter constant for <b>predecessor</b> 2006 * <p> 2007 * Description: <b>What resource is being referenced</b><br> 2008 * Type: <b>reference</b><br> 2009 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2010 * </p> 2011 */ 2012 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); 2013 2014/** 2015 * Constant for fluent queries to be used to add include statements. Specifies 2016 * the path value of "<b>EventDefinition:predecessor</b>". 2017 */ 2018 public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("EventDefinition:predecessor").toLocked(); 2019 2020 /** 2021 * Search parameter: <b>title</b> 2022 * <p> 2023 * Description: <b>The human-friendly name of the event definition</b><br> 2024 * Type: <b>string</b><br> 2025 * Path: <b>EventDefinition.title</b><br> 2026 * </p> 2027 */ 2028 @SearchParamDefinition(name="title", path="EventDefinition.title", description="The human-friendly name of the event definition", type="string" ) 2029 public static final String SP_TITLE = "title"; 2030 /** 2031 * <b>Fluent Client</b> search parameter constant for <b>title</b> 2032 * <p> 2033 * Description: <b>The human-friendly name of the event definition</b><br> 2034 * Type: <b>string</b><br> 2035 * Path: <b>EventDefinition.title</b><br> 2036 * </p> 2037 */ 2038 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 2039 2040 /** 2041 * Search parameter: <b>composed-of</b> 2042 * <p> 2043 * Description: <b>What resource is being referenced</b><br> 2044 * Type: <b>reference</b><br> 2045 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2046 * </p> 2047 */ 2048 @SearchParamDefinition(name="composed-of", path="EventDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference" ) 2049 public static final String SP_COMPOSED_OF = "composed-of"; 2050 /** 2051 * <b>Fluent Client</b> search parameter constant for <b>composed-of</b> 2052 * <p> 2053 * Description: <b>What resource is being referenced</b><br> 2054 * Type: <b>reference</b><br> 2055 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2056 * </p> 2057 */ 2058 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSED_OF = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSED_OF); 2059 2060/** 2061 * Constant for fluent queries to be used to add include statements. Specifies 2062 * the path value of "<b>EventDefinition:composed-of</b>". 2063 */ 2064 public static final ca.uhn.fhir.model.api.Include INCLUDE_COMPOSED_OF = new ca.uhn.fhir.model.api.Include("EventDefinition:composed-of").toLocked(); 2065 2066 /** 2067 * Search parameter: <b>version</b> 2068 * <p> 2069 * Description: <b>The business version of the event definition</b><br> 2070 * Type: <b>token</b><br> 2071 * Path: <b>EventDefinition.version</b><br> 2072 * </p> 2073 */ 2074 @SearchParamDefinition(name="version", path="EventDefinition.version", description="The business version of the event definition", type="token" ) 2075 public static final String SP_VERSION = "version"; 2076 /** 2077 * <b>Fluent Client</b> search parameter constant for <b>version</b> 2078 * <p> 2079 * Description: <b>The business version of the event definition</b><br> 2080 * Type: <b>token</b><br> 2081 * Path: <b>EventDefinition.version</b><br> 2082 * </p> 2083 */ 2084 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 2085 2086 /** 2087 * Search parameter: <b>url</b> 2088 * <p> 2089 * Description: <b>The uri that identifies the event definition</b><br> 2090 * Type: <b>uri</b><br> 2091 * Path: <b>EventDefinition.url</b><br> 2092 * </p> 2093 */ 2094 @SearchParamDefinition(name="url", path="EventDefinition.url", description="The uri that identifies the event definition", type="uri" ) 2095 public static final String SP_URL = "url"; 2096 /** 2097 * <b>Fluent Client</b> search parameter constant for <b>url</b> 2098 * <p> 2099 * Description: <b>The uri that identifies the event definition</b><br> 2100 * Type: <b>uri</b><br> 2101 * Path: <b>EventDefinition.url</b><br> 2102 * </p> 2103 */ 2104 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 2105 2106 /** 2107 * Search parameter: <b>effective</b> 2108 * <p> 2109 * Description: <b>The time during which the event definition is intended to be in use</b><br> 2110 * Type: <b>date</b><br> 2111 * Path: <b>EventDefinition.effectivePeriod</b><br> 2112 * </p> 2113 */ 2114 @SearchParamDefinition(name="effective", path="EventDefinition.effectivePeriod", description="The time during which the event definition is intended to be in use", type="date" ) 2115 public static final String SP_EFFECTIVE = "effective"; 2116 /** 2117 * <b>Fluent Client</b> search parameter constant for <b>effective</b> 2118 * <p> 2119 * Description: <b>The time during which the event definition is intended to be in use</b><br> 2120 * Type: <b>date</b><br> 2121 * Path: <b>EventDefinition.effectivePeriod</b><br> 2122 * </p> 2123 */ 2124 public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); 2125 2126 /** 2127 * Search parameter: <b>depends-on</b> 2128 * <p> 2129 * Description: <b>What resource is being referenced</b><br> 2130 * Type: <b>reference</b><br> 2131 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2132 * </p> 2133 */ 2134 @SearchParamDefinition(name="depends-on", path="EventDefinition.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference" ) 2135 public static final String SP_DEPENDS_ON = "depends-on"; 2136 /** 2137 * <b>Fluent Client</b> search parameter constant for <b>depends-on</b> 2138 * <p> 2139 * Description: <b>What resource is being referenced</b><br> 2140 * Type: <b>reference</b><br> 2141 * Path: <b>EventDefinition.relatedArtifact.resource</b><br> 2142 * </p> 2143 */ 2144 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DEPENDS_ON = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DEPENDS_ON); 2145 2146/** 2147 * Constant for fluent queries to be used to add include statements. Specifies 2148 * the path value of "<b>EventDefinition:depends-on</b>". 2149 */ 2150 public static final ca.uhn.fhir.model.api.Include INCLUDE_DEPENDS_ON = new ca.uhn.fhir.model.api.Include("EventDefinition:depends-on").toLocked(); 2151 2152 /** 2153 * Search parameter: <b>name</b> 2154 * <p> 2155 * Description: <b>Computationally friendly name of the event definition</b><br> 2156 * Type: <b>string</b><br> 2157 * Path: <b>EventDefinition.name</b><br> 2158 * </p> 2159 */ 2160 @SearchParamDefinition(name="name", path="EventDefinition.name", description="Computationally friendly name of the event definition", type="string" ) 2161 public static final String SP_NAME = "name"; 2162 /** 2163 * <b>Fluent Client</b> search parameter constant for <b>name</b> 2164 * <p> 2165 * Description: <b>Computationally friendly name of the event definition</b><br> 2166 * Type: <b>string</b><br> 2167 * Path: <b>EventDefinition.name</b><br> 2168 * </p> 2169 */ 2170 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 2171 2172 /** 2173 * Search parameter: <b>publisher</b> 2174 * <p> 2175 * Description: <b>Name of the publisher of the event definition</b><br> 2176 * Type: <b>string</b><br> 2177 * Path: <b>EventDefinition.publisher</b><br> 2178 * </p> 2179 */ 2180 @SearchParamDefinition(name="publisher", path="EventDefinition.publisher", description="Name of the publisher of the event definition", type="string" ) 2181 public static final String SP_PUBLISHER = "publisher"; 2182 /** 2183 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 2184 * <p> 2185 * Description: <b>Name of the publisher of the event definition</b><br> 2186 * Type: <b>string</b><br> 2187 * Path: <b>EventDefinition.publisher</b><br> 2188 * </p> 2189 */ 2190 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 2191 2192 /** 2193 * Search parameter: <b>topic</b> 2194 * <p> 2195 * Description: <b>Topics associated with the module</b><br> 2196 * Type: <b>token</b><br> 2197 * Path: <b>EventDefinition.topic</b><br> 2198 * </p> 2199 */ 2200 @SearchParamDefinition(name="topic", path="EventDefinition.topic", description="Topics associated with the module", type="token" ) 2201 public static final String SP_TOPIC = "topic"; 2202 /** 2203 * <b>Fluent Client</b> search parameter constant for <b>topic</b> 2204 * <p> 2205 * Description: <b>Topics associated with the module</b><br> 2206 * Type: <b>token</b><br> 2207 * Path: <b>EventDefinition.topic</b><br> 2208 * </p> 2209 */ 2210 public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); 2211 2212 /** 2213 * Search parameter: <b>status</b> 2214 * <p> 2215 * Description: <b>The current status of the event definition</b><br> 2216 * Type: <b>token</b><br> 2217 * Path: <b>EventDefinition.status</b><br> 2218 * </p> 2219 */ 2220 @SearchParamDefinition(name="status", path="EventDefinition.status", description="The current status of the event definition", type="token" ) 2221 public static final String SP_STATUS = "status"; 2222 /** 2223 * <b>Fluent Client</b> search parameter constant for <b>status</b> 2224 * <p> 2225 * Description: <b>The current status of the event definition</b><br> 2226 * Type: <b>token</b><br> 2227 * Path: <b>EventDefinition.status</b><br> 2228 * </p> 2229 */ 2230 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 2231 2232 2233} 2234