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