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