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