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