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