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