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