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