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 * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. 052 */ 053@ResourceDef(name="TerminologyCapabilities", profile="http://hl7.org/fhir/StructureDefinition/TerminologyCapabilities") 054public class TerminologyCapabilities extends CanonicalResource { 055 056 public enum CodeSearchSupport { 057 /** 058 * The search for code on ValueSet only includes codes explicitly detailed on includes or expansions. 059 */ 060 EXPLICIT, 061 /** 062 * The search for code on ValueSet only includes all codes based on the expansion of the value set. 063 */ 064 ALL, 065 /** 066 * added to help the parsers with the generic types 067 */ 068 NULL; 069 public static CodeSearchSupport fromCode(String codeString) throws FHIRException { 070 if (codeString == null || "".equals(codeString)) 071 return null; 072 if ("explicit".equals(codeString)) 073 return EXPLICIT; 074 if ("all".equals(codeString)) 075 return ALL; 076 if (Configuration.isAcceptInvalidEnums()) 077 return null; 078 else 079 throw new FHIRException("Unknown CodeSearchSupport code '"+codeString+"'"); 080 } 081 public String toCode() { 082 switch (this) { 083 case EXPLICIT: return "explicit"; 084 case ALL: return "all"; 085 default: return "?"; 086 } 087 } 088 public String getSystem() { 089 switch (this) { 090 case EXPLICIT: return "http://hl7.org/fhir/code-search-support"; 091 case ALL: return "http://hl7.org/fhir/code-search-support"; 092 default: return "?"; 093 } 094 } 095 public String getDefinition() { 096 switch (this) { 097 case EXPLICIT: return "The search for code on ValueSet only includes codes explicitly detailed on includes or expansions."; 098 case ALL: return "The search for code on ValueSet only includes all codes based on the expansion of the value set."; 099 default: return "?"; 100 } 101 } 102 public String getDisplay() { 103 switch (this) { 104 case EXPLICIT: return "Explicit Codes"; 105 case ALL: return "Implicit Codes"; 106 default: return "?"; 107 } 108 } 109 } 110 111 public static class CodeSearchSupportEnumFactory implements EnumFactory<CodeSearchSupport> { 112 public CodeSearchSupport fromCode(String codeString) throws IllegalArgumentException { 113 if (codeString == null || "".equals(codeString)) 114 if (codeString == null || "".equals(codeString)) 115 return null; 116 if ("explicit".equals(codeString)) 117 return CodeSearchSupport.EXPLICIT; 118 if ("all".equals(codeString)) 119 return CodeSearchSupport.ALL; 120 throw new IllegalArgumentException("Unknown CodeSearchSupport code '"+codeString+"'"); 121 } 122 public Enumeration<CodeSearchSupport> fromType(Base code) throws FHIRException { 123 if (code == null) 124 return null; 125 if (code.isEmpty()) 126 return new Enumeration<CodeSearchSupport>(this); 127 String codeString = ((PrimitiveType) code).asStringValue(); 128 if (codeString == null || "".equals(codeString)) 129 return null; 130 if ("explicit".equals(codeString)) 131 return new Enumeration<CodeSearchSupport>(this, CodeSearchSupport.EXPLICIT); 132 if ("all".equals(codeString)) 133 return new Enumeration<CodeSearchSupport>(this, CodeSearchSupport.ALL); 134 throw new FHIRException("Unknown CodeSearchSupport code '"+codeString+"'"); 135 } 136 public String toCode(CodeSearchSupport code) { 137 if (code == CodeSearchSupport.EXPLICIT) 138 return "explicit"; 139 if (code == CodeSearchSupport.ALL) 140 return "all"; 141 return "?"; 142 } 143 public String toSystem(CodeSearchSupport code) { 144 return code.getSystem(); 145 } 146 } 147 148 @Block() 149 public static class TerminologyCapabilitiesSoftwareComponent extends BackboneElement implements IBaseBackboneElement { 150 /** 151 * Name the software is known by. 152 */ 153 @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) 154 @Description(shortDefinition="A name the software is known by", formalDefinition="Name the software is known by." ) 155 protected StringType name; 156 157 /** 158 * The version identifier for the software covered by this statement. 159 */ 160 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 161 @Description(shortDefinition="Version covered by this statement", formalDefinition="The version identifier for the software covered by this statement." ) 162 protected StringType version; 163 164 private static final long serialVersionUID = -790299911L; 165 166 /** 167 * Constructor 168 */ 169 public TerminologyCapabilitiesSoftwareComponent() { 170 super(); 171 } 172 173 /** 174 * Constructor 175 */ 176 public TerminologyCapabilitiesSoftwareComponent(String name) { 177 super(); 178 this.setName(name); 179 } 180 181 /** 182 * @return {@link #name} (Name the software is known by.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 183 */ 184 public StringType getNameElement() { 185 if (this.name == null) 186 if (Configuration.errorOnAutoCreate()) 187 throw new Error("Attempt to auto-create TerminologyCapabilitiesSoftwareComponent.name"); 188 else if (Configuration.doAutoCreate()) 189 this.name = new StringType(); // bb 190 return this.name; 191 } 192 193 public boolean hasNameElement() { 194 return this.name != null && !this.name.isEmpty(); 195 } 196 197 public boolean hasName() { 198 return this.name != null && !this.name.isEmpty(); 199 } 200 201 /** 202 * @param value {@link #name} (Name the software is known by.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 203 */ 204 public TerminologyCapabilitiesSoftwareComponent setNameElement(StringType value) { 205 this.name = value; 206 return this; 207 } 208 209 /** 210 * @return Name the software is known by. 211 */ 212 public String getName() { 213 return this.name == null ? null : this.name.getValue(); 214 } 215 216 /** 217 * @param value Name the software is known by. 218 */ 219 public TerminologyCapabilitiesSoftwareComponent setName(String value) { 220 if (this.name == null) 221 this.name = new StringType(); 222 this.name.setValue(value); 223 return this; 224 } 225 226 /** 227 * @return {@link #version} (The version identifier for the software covered by this statement.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 228 */ 229 public StringType getVersionElement() { 230 if (this.version == null) 231 if (Configuration.errorOnAutoCreate()) 232 throw new Error("Attempt to auto-create TerminologyCapabilitiesSoftwareComponent.version"); 233 else if (Configuration.doAutoCreate()) 234 this.version = new StringType(); // bb 235 return this.version; 236 } 237 238 public boolean hasVersionElement() { 239 return this.version != null && !this.version.isEmpty(); 240 } 241 242 public boolean hasVersion() { 243 return this.version != null && !this.version.isEmpty(); 244 } 245 246 /** 247 * @param value {@link #version} (The version identifier for the software covered by this statement.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 248 */ 249 public TerminologyCapabilitiesSoftwareComponent setVersionElement(StringType value) { 250 this.version = value; 251 return this; 252 } 253 254 /** 255 * @return The version identifier for the software covered by this statement. 256 */ 257 public String getVersion() { 258 return this.version == null ? null : this.version.getValue(); 259 } 260 261 /** 262 * @param value The version identifier for the software covered by this statement. 263 */ 264 public TerminologyCapabilitiesSoftwareComponent setVersion(String value) { 265 if (Utilities.noString(value)) 266 this.version = null; 267 else { 268 if (this.version == null) 269 this.version = new StringType(); 270 this.version.setValue(value); 271 } 272 return this; 273 } 274 275 protected void listChildren(List<Property> children) { 276 super.listChildren(children); 277 children.add(new Property("name", "string", "Name the software is known by.", 0, 1, name)); 278 children.add(new Property("version", "string", "The version identifier for the software covered by this statement.", 0, 1, version)); 279 } 280 281 @Override 282 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 283 switch (_hash) { 284 case 3373707: /*name*/ return new Property("name", "string", "Name the software is known by.", 0, 1, name); 285 case 351608024: /*version*/ return new Property("version", "string", "The version identifier for the software covered by this statement.", 0, 1, version); 286 default: return super.getNamedProperty(_hash, _name, _checkValid); 287 } 288 289 } 290 291 @Override 292 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 293 switch (hash) { 294 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 295 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 296 default: return super.getProperty(hash, name, checkValid); 297 } 298 299 } 300 301 @Override 302 public Base setProperty(int hash, String name, Base value) throws FHIRException { 303 switch (hash) { 304 case 3373707: // name 305 this.name = TypeConvertor.castToString(value); // StringType 306 return value; 307 case 351608024: // version 308 this.version = TypeConvertor.castToString(value); // StringType 309 return value; 310 default: return super.setProperty(hash, name, value); 311 } 312 313 } 314 315 @Override 316 public Base setProperty(String name, Base value) throws FHIRException { 317 if (name.equals("name")) { 318 this.name = TypeConvertor.castToString(value); // StringType 319 } else if (name.equals("version")) { 320 this.version = TypeConvertor.castToString(value); // StringType 321 } else 322 return super.setProperty(name, value); 323 return value; 324 } 325 326 @Override 327 public Base makeProperty(int hash, String name) throws FHIRException { 328 switch (hash) { 329 case 3373707: return getNameElement(); 330 case 351608024: return getVersionElement(); 331 default: return super.makeProperty(hash, name); 332 } 333 334 } 335 336 @Override 337 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 338 switch (hash) { 339 case 3373707: /*name*/ return new String[] {"string"}; 340 case 351608024: /*version*/ return new String[] {"string"}; 341 default: return super.getTypesForProperty(hash, name); 342 } 343 344 } 345 346 @Override 347 public Base addChild(String name) throws FHIRException { 348 if (name.equals("name")) { 349 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.software.name"); 350 } 351 else if (name.equals("version")) { 352 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.software.version"); 353 } 354 else 355 return super.addChild(name); 356 } 357 358 public TerminologyCapabilitiesSoftwareComponent copy() { 359 TerminologyCapabilitiesSoftwareComponent dst = new TerminologyCapabilitiesSoftwareComponent(); 360 copyValues(dst); 361 return dst; 362 } 363 364 public void copyValues(TerminologyCapabilitiesSoftwareComponent dst) { 365 super.copyValues(dst); 366 dst.name = name == null ? null : name.copy(); 367 dst.version = version == null ? null : version.copy(); 368 } 369 370 @Override 371 public boolean equalsDeep(Base other_) { 372 if (!super.equalsDeep(other_)) 373 return false; 374 if (!(other_ instanceof TerminologyCapabilitiesSoftwareComponent)) 375 return false; 376 TerminologyCapabilitiesSoftwareComponent o = (TerminologyCapabilitiesSoftwareComponent) other_; 377 return compareDeep(name, o.name, true) && compareDeep(version, o.version, true); 378 } 379 380 @Override 381 public boolean equalsShallow(Base other_) { 382 if (!super.equalsShallow(other_)) 383 return false; 384 if (!(other_ instanceof TerminologyCapabilitiesSoftwareComponent)) 385 return false; 386 TerminologyCapabilitiesSoftwareComponent o = (TerminologyCapabilitiesSoftwareComponent) other_; 387 return compareValues(name, o.name, true) && compareValues(version, o.version, true); 388 } 389 390 public boolean isEmpty() { 391 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, version); 392 } 393 394 public String fhirType() { 395 return "TerminologyCapabilities.software"; 396 397 } 398 399 } 400 401 @Block() 402 public static class TerminologyCapabilitiesImplementationComponent extends BackboneElement implements IBaseBackboneElement { 403 /** 404 * Information about the specific installation that this terminology capability statement relates to. 405 */ 406 @Child(name = "description", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) 407 @Description(shortDefinition="Describes this specific instance", formalDefinition="Information about the specific installation that this terminology capability statement relates to." ) 408 protected StringType description; 409 410 /** 411 * An absolute base URL for the implementation. 412 */ 413 @Child(name = "url", type = {UrlType.class}, order=2, min=0, max=1, modifier=false, summary=true) 414 @Description(shortDefinition="Base URL for the implementation", formalDefinition="An absolute base URL for the implementation." ) 415 protected UrlType url; 416 417 private static final long serialVersionUID = 98009649L; 418 419 /** 420 * Constructor 421 */ 422 public TerminologyCapabilitiesImplementationComponent() { 423 super(); 424 } 425 426 /** 427 * Constructor 428 */ 429 public TerminologyCapabilitiesImplementationComponent(String description) { 430 super(); 431 this.setDescription(description); 432 } 433 434 /** 435 * @return {@link #description} (Information about the specific installation that this terminology capability statement relates to.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 436 */ 437 public StringType getDescriptionElement() { 438 if (this.description == null) 439 if (Configuration.errorOnAutoCreate()) 440 throw new Error("Attempt to auto-create TerminologyCapabilitiesImplementationComponent.description"); 441 else if (Configuration.doAutoCreate()) 442 this.description = new StringType(); // bb 443 return this.description; 444 } 445 446 public boolean hasDescriptionElement() { 447 return this.description != null && !this.description.isEmpty(); 448 } 449 450 public boolean hasDescription() { 451 return this.description != null && !this.description.isEmpty(); 452 } 453 454 /** 455 * @param value {@link #description} (Information about the specific installation that this terminology capability statement relates to.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 456 */ 457 public TerminologyCapabilitiesImplementationComponent setDescriptionElement(StringType value) { 458 this.description = value; 459 return this; 460 } 461 462 /** 463 * @return Information about the specific installation that this terminology capability statement relates to. 464 */ 465 public String getDescription() { 466 return this.description == null ? null : this.description.getValue(); 467 } 468 469 /** 470 * @param value Information about the specific installation that this terminology capability statement relates to. 471 */ 472 public TerminologyCapabilitiesImplementationComponent setDescription(String value) { 473 if (this.description == null) 474 this.description = new StringType(); 475 this.description.setValue(value); 476 return this; 477 } 478 479 /** 480 * @return {@link #url} (An absolute base URL for the implementation.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 481 */ 482 public UrlType getUrlElement() { 483 if (this.url == null) 484 if (Configuration.errorOnAutoCreate()) 485 throw new Error("Attempt to auto-create TerminologyCapabilitiesImplementationComponent.url"); 486 else if (Configuration.doAutoCreate()) 487 this.url = new UrlType(); // bb 488 return this.url; 489 } 490 491 public boolean hasUrlElement() { 492 return this.url != null && !this.url.isEmpty(); 493 } 494 495 public boolean hasUrl() { 496 return this.url != null && !this.url.isEmpty(); 497 } 498 499 /** 500 * @param value {@link #url} (An absolute base URL for the implementation.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 501 */ 502 public TerminologyCapabilitiesImplementationComponent setUrlElement(UrlType value) { 503 this.url = value; 504 return this; 505 } 506 507 /** 508 * @return An absolute base URL for the implementation. 509 */ 510 public String getUrl() { 511 return this.url == null ? null : this.url.getValue(); 512 } 513 514 /** 515 * @param value An absolute base URL for the implementation. 516 */ 517 public TerminologyCapabilitiesImplementationComponent setUrl(String value) { 518 if (Utilities.noString(value)) 519 this.url = null; 520 else { 521 if (this.url == null) 522 this.url = new UrlType(); 523 this.url.setValue(value); 524 } 525 return this; 526 } 527 528 protected void listChildren(List<Property> children) { 529 super.listChildren(children); 530 children.add(new Property("description", "string", "Information about the specific installation that this terminology capability statement relates to.", 0, 1, description)); 531 children.add(new Property("url", "url", "An absolute base URL for the implementation.", 0, 1, url)); 532 } 533 534 @Override 535 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 536 switch (_hash) { 537 case -1724546052: /*description*/ return new Property("description", "string", "Information about the specific installation that this terminology capability statement relates to.", 0, 1, description); 538 case 116079: /*url*/ return new Property("url", "url", "An absolute base URL for the implementation.", 0, 1, url); 539 default: return super.getNamedProperty(_hash, _name, _checkValid); 540 } 541 542 } 543 544 @Override 545 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 546 switch (hash) { 547 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 548 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UrlType 549 default: return super.getProperty(hash, name, checkValid); 550 } 551 552 } 553 554 @Override 555 public Base setProperty(int hash, String name, Base value) throws FHIRException { 556 switch (hash) { 557 case -1724546052: // description 558 this.description = TypeConvertor.castToString(value); // StringType 559 return value; 560 case 116079: // url 561 this.url = TypeConvertor.castToUrl(value); // UrlType 562 return value; 563 default: return super.setProperty(hash, name, value); 564 } 565 566 } 567 568 @Override 569 public Base setProperty(String name, Base value) throws FHIRException { 570 if (name.equals("description")) { 571 this.description = TypeConvertor.castToString(value); // StringType 572 } else if (name.equals("url")) { 573 this.url = TypeConvertor.castToUrl(value); // UrlType 574 } else 575 return super.setProperty(name, value); 576 return value; 577 } 578 579 @Override 580 public Base makeProperty(int hash, String name) throws FHIRException { 581 switch (hash) { 582 case -1724546052: return getDescriptionElement(); 583 case 116079: return getUrlElement(); 584 default: return super.makeProperty(hash, name); 585 } 586 587 } 588 589 @Override 590 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 591 switch (hash) { 592 case -1724546052: /*description*/ return new String[] {"string"}; 593 case 116079: /*url*/ return new String[] {"url"}; 594 default: return super.getTypesForProperty(hash, name); 595 } 596 597 } 598 599 @Override 600 public Base addChild(String name) throws FHIRException { 601 if (name.equals("description")) { 602 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.implementation.description"); 603 } 604 else if (name.equals("url")) { 605 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.implementation.url"); 606 } 607 else 608 return super.addChild(name); 609 } 610 611 public TerminologyCapabilitiesImplementationComponent copy() { 612 TerminologyCapabilitiesImplementationComponent dst = new TerminologyCapabilitiesImplementationComponent(); 613 copyValues(dst); 614 return dst; 615 } 616 617 public void copyValues(TerminologyCapabilitiesImplementationComponent dst) { 618 super.copyValues(dst); 619 dst.description = description == null ? null : description.copy(); 620 dst.url = url == null ? null : url.copy(); 621 } 622 623 @Override 624 public boolean equalsDeep(Base other_) { 625 if (!super.equalsDeep(other_)) 626 return false; 627 if (!(other_ instanceof TerminologyCapabilitiesImplementationComponent)) 628 return false; 629 TerminologyCapabilitiesImplementationComponent o = (TerminologyCapabilitiesImplementationComponent) other_; 630 return compareDeep(description, o.description, true) && compareDeep(url, o.url, true); 631 } 632 633 @Override 634 public boolean equalsShallow(Base other_) { 635 if (!super.equalsShallow(other_)) 636 return false; 637 if (!(other_ instanceof TerminologyCapabilitiesImplementationComponent)) 638 return false; 639 TerminologyCapabilitiesImplementationComponent o = (TerminologyCapabilitiesImplementationComponent) other_; 640 return compareValues(description, o.description, true) && compareValues(url, o.url, true); 641 } 642 643 public boolean isEmpty() { 644 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, url); 645 } 646 647 public String fhirType() { 648 return "TerminologyCapabilities.implementation"; 649 650 } 651 652 } 653 654 @Block() 655 public static class TerminologyCapabilitiesCodeSystemComponent extends BackboneElement implements IBaseBackboneElement { 656 /** 657 * Canonical identifier for the code system, represented as a URI. 658 */ 659 @Child(name = "uri", type = {CanonicalType.class}, order=1, min=0, max=1, modifier=false, summary=false) 660 @Description(shortDefinition="Canonical identifier for the code system, represented as a URI", formalDefinition="Canonical identifier for the code system, represented as a URI." ) 661 protected CanonicalType uri; 662 663 /** 664 * For the code system, a list of versions that are supported by the server. 665 */ 666 @Child(name = "version", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 667 @Description(shortDefinition="Version of Code System supported", formalDefinition="For the code system, a list of versions that are supported by the server." ) 668 protected List<TerminologyCapabilitiesCodeSystemVersionComponent> version; 669 670 /** 671 * True if subsumption is supported for this version of the code system. 672 */ 673 @Child(name = "subsumption", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 674 @Description(shortDefinition="Whether subsumption is supported", formalDefinition="True if subsumption is supported for this version of the code system." ) 675 protected BooleanType subsumption; 676 677 private static final long serialVersionUID = -1593622817L; 678 679 /** 680 * Constructor 681 */ 682 public TerminologyCapabilitiesCodeSystemComponent() { 683 super(); 684 } 685 686 /** 687 * @return {@link #uri} (Canonical identifier for the code system, represented as a URI.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 688 */ 689 public CanonicalType getUriElement() { 690 if (this.uri == null) 691 if (Configuration.errorOnAutoCreate()) 692 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemComponent.uri"); 693 else if (Configuration.doAutoCreate()) 694 this.uri = new CanonicalType(); // bb 695 return this.uri; 696 } 697 698 public boolean hasUriElement() { 699 return this.uri != null && !this.uri.isEmpty(); 700 } 701 702 public boolean hasUri() { 703 return this.uri != null && !this.uri.isEmpty(); 704 } 705 706 /** 707 * @param value {@link #uri} (Canonical identifier for the code system, represented as a URI.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 708 */ 709 public TerminologyCapabilitiesCodeSystemComponent setUriElement(CanonicalType value) { 710 this.uri = value; 711 return this; 712 } 713 714 /** 715 * @return Canonical identifier for the code system, represented as a URI. 716 */ 717 public String getUri() { 718 return this.uri == null ? null : this.uri.getValue(); 719 } 720 721 /** 722 * @param value Canonical identifier for the code system, represented as a URI. 723 */ 724 public TerminologyCapabilitiesCodeSystemComponent setUri(String value) { 725 if (Utilities.noString(value)) 726 this.uri = null; 727 else { 728 if (this.uri == null) 729 this.uri = new CanonicalType(); 730 this.uri.setValue(value); 731 } 732 return this; 733 } 734 735 /** 736 * @return {@link #version} (For the code system, a list of versions that are supported by the server.) 737 */ 738 public List<TerminologyCapabilitiesCodeSystemVersionComponent> getVersion() { 739 if (this.version == null) 740 this.version = new ArrayList<TerminologyCapabilitiesCodeSystemVersionComponent>(); 741 return this.version; 742 } 743 744 /** 745 * @return Returns a reference to <code>this</code> for easy method chaining 746 */ 747 public TerminologyCapabilitiesCodeSystemComponent setVersion(List<TerminologyCapabilitiesCodeSystemVersionComponent> theVersion) { 748 this.version = theVersion; 749 return this; 750 } 751 752 public boolean hasVersion() { 753 if (this.version == null) 754 return false; 755 for (TerminologyCapabilitiesCodeSystemVersionComponent item : this.version) 756 if (!item.isEmpty()) 757 return true; 758 return false; 759 } 760 761 public TerminologyCapabilitiesCodeSystemVersionComponent addVersion() { //3 762 TerminologyCapabilitiesCodeSystemVersionComponent t = new TerminologyCapabilitiesCodeSystemVersionComponent(); 763 if (this.version == null) 764 this.version = new ArrayList<TerminologyCapabilitiesCodeSystemVersionComponent>(); 765 this.version.add(t); 766 return t; 767 } 768 769 public TerminologyCapabilitiesCodeSystemComponent addVersion(TerminologyCapabilitiesCodeSystemVersionComponent t) { //3 770 if (t == null) 771 return this; 772 if (this.version == null) 773 this.version = new ArrayList<TerminologyCapabilitiesCodeSystemVersionComponent>(); 774 this.version.add(t); 775 return this; 776 } 777 778 /** 779 * @return The first repetition of repeating field {@link #version}, creating it if it does not already exist {3} 780 */ 781 public TerminologyCapabilitiesCodeSystemVersionComponent getVersionFirstRep() { 782 if (getVersion().isEmpty()) { 783 addVersion(); 784 } 785 return getVersion().get(0); 786 } 787 788 /** 789 * @return {@link #subsumption} (True if subsumption is supported for this version of the code system.). This is the underlying object with id, value and extensions. The accessor "getSubsumption" gives direct access to the value 790 */ 791 public BooleanType getSubsumptionElement() { 792 if (this.subsumption == null) 793 if (Configuration.errorOnAutoCreate()) 794 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemComponent.subsumption"); 795 else if (Configuration.doAutoCreate()) 796 this.subsumption = new BooleanType(); // bb 797 return this.subsumption; 798 } 799 800 public boolean hasSubsumptionElement() { 801 return this.subsumption != null && !this.subsumption.isEmpty(); 802 } 803 804 public boolean hasSubsumption() { 805 return this.subsumption != null && !this.subsumption.isEmpty(); 806 } 807 808 /** 809 * @param value {@link #subsumption} (True if subsumption is supported for this version of the code system.). This is the underlying object with id, value and extensions. The accessor "getSubsumption" gives direct access to the value 810 */ 811 public TerminologyCapabilitiesCodeSystemComponent setSubsumptionElement(BooleanType value) { 812 this.subsumption = value; 813 return this; 814 } 815 816 /** 817 * @return True if subsumption is supported for this version of the code system. 818 */ 819 public boolean getSubsumption() { 820 return this.subsumption == null || this.subsumption.isEmpty() ? false : this.subsumption.getValue(); 821 } 822 823 /** 824 * @param value True if subsumption is supported for this version of the code system. 825 */ 826 public TerminologyCapabilitiesCodeSystemComponent setSubsumption(boolean value) { 827 if (this.subsumption == null) 828 this.subsumption = new BooleanType(); 829 this.subsumption.setValue(value); 830 return this; 831 } 832 833 protected void listChildren(List<Property> children) { 834 super.listChildren(children); 835 children.add(new Property("uri", "canonical(CodeSystem)", "Canonical identifier for the code system, represented as a URI.", 0, 1, uri)); 836 children.add(new Property("version", "", "For the code system, a list of versions that are supported by the server.", 0, java.lang.Integer.MAX_VALUE, version)); 837 children.add(new Property("subsumption", "boolean", "True if subsumption is supported for this version of the code system.", 0, 1, subsumption)); 838 } 839 840 @Override 841 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 842 switch (_hash) { 843 case 116076: /*uri*/ return new Property("uri", "canonical(CodeSystem)", "Canonical identifier for the code system, represented as a URI.", 0, 1, uri); 844 case 351608024: /*version*/ return new Property("version", "", "For the code system, a list of versions that are supported by the server.", 0, java.lang.Integer.MAX_VALUE, version); 845 case -499084711: /*subsumption*/ return new Property("subsumption", "boolean", "True if subsumption is supported for this version of the code system.", 0, 1, subsumption); 846 default: return super.getNamedProperty(_hash, _name, _checkValid); 847 } 848 849 } 850 851 @Override 852 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 853 switch (hash) { 854 case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // CanonicalType 855 case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // TerminologyCapabilitiesCodeSystemVersionComponent 856 case -499084711: /*subsumption*/ return this.subsumption == null ? new Base[0] : new Base[] {this.subsumption}; // BooleanType 857 default: return super.getProperty(hash, name, checkValid); 858 } 859 860 } 861 862 @Override 863 public Base setProperty(int hash, String name, Base value) throws FHIRException { 864 switch (hash) { 865 case 116076: // uri 866 this.uri = TypeConvertor.castToCanonical(value); // CanonicalType 867 return value; 868 case 351608024: // version 869 this.getVersion().add((TerminologyCapabilitiesCodeSystemVersionComponent) value); // TerminologyCapabilitiesCodeSystemVersionComponent 870 return value; 871 case -499084711: // subsumption 872 this.subsumption = TypeConvertor.castToBoolean(value); // BooleanType 873 return value; 874 default: return super.setProperty(hash, name, value); 875 } 876 877 } 878 879 @Override 880 public Base setProperty(String name, Base value) throws FHIRException { 881 if (name.equals("uri")) { 882 this.uri = TypeConvertor.castToCanonical(value); // CanonicalType 883 } else if (name.equals("version")) { 884 this.getVersion().add((TerminologyCapabilitiesCodeSystemVersionComponent) value); 885 } else if (name.equals("subsumption")) { 886 this.subsumption = TypeConvertor.castToBoolean(value); // BooleanType 887 } else 888 return super.setProperty(name, value); 889 return value; 890 } 891 892 @Override 893 public Base makeProperty(int hash, String name) throws FHIRException { 894 switch (hash) { 895 case 116076: return getUriElement(); 896 case 351608024: return addVersion(); 897 case -499084711: return getSubsumptionElement(); 898 default: return super.makeProperty(hash, name); 899 } 900 901 } 902 903 @Override 904 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 905 switch (hash) { 906 case 116076: /*uri*/ return new String[] {"canonical"}; 907 case 351608024: /*version*/ return new String[] {}; 908 case -499084711: /*subsumption*/ return new String[] {"boolean"}; 909 default: return super.getTypesForProperty(hash, name); 910 } 911 912 } 913 914 @Override 915 public Base addChild(String name) throws FHIRException { 916 if (name.equals("uri")) { 917 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.uri"); 918 } 919 else if (name.equals("version")) { 920 return addVersion(); 921 } 922 else if (name.equals("subsumption")) { 923 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.subsumption"); 924 } 925 else 926 return super.addChild(name); 927 } 928 929 public TerminologyCapabilitiesCodeSystemComponent copy() { 930 TerminologyCapabilitiesCodeSystemComponent dst = new TerminologyCapabilitiesCodeSystemComponent(); 931 copyValues(dst); 932 return dst; 933 } 934 935 public void copyValues(TerminologyCapabilitiesCodeSystemComponent dst) { 936 super.copyValues(dst); 937 dst.uri = uri == null ? null : uri.copy(); 938 if (version != null) { 939 dst.version = new ArrayList<TerminologyCapabilitiesCodeSystemVersionComponent>(); 940 for (TerminologyCapabilitiesCodeSystemVersionComponent i : version) 941 dst.version.add(i.copy()); 942 }; 943 dst.subsumption = subsumption == null ? null : subsumption.copy(); 944 } 945 946 @Override 947 public boolean equalsDeep(Base other_) { 948 if (!super.equalsDeep(other_)) 949 return false; 950 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemComponent)) 951 return false; 952 TerminologyCapabilitiesCodeSystemComponent o = (TerminologyCapabilitiesCodeSystemComponent) other_; 953 return compareDeep(uri, o.uri, true) && compareDeep(version, o.version, true) && compareDeep(subsumption, o.subsumption, true) 954 ; 955 } 956 957 @Override 958 public boolean equalsShallow(Base other_) { 959 if (!super.equalsShallow(other_)) 960 return false; 961 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemComponent)) 962 return false; 963 TerminologyCapabilitiesCodeSystemComponent o = (TerminologyCapabilitiesCodeSystemComponent) other_; 964 return compareValues(uri, o.uri, true) && compareValues(subsumption, o.subsumption, true); 965 } 966 967 public boolean isEmpty() { 968 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, version, subsumption 969 ); 970 } 971 972 public String fhirType() { 973 return "TerminologyCapabilities.codeSystem"; 974 975 } 976 977 } 978 979 @Block() 980 public static class TerminologyCapabilitiesCodeSystemVersionComponent extends BackboneElement implements IBaseBackboneElement { 981 /** 982 * For version-less code systems, there should be a single version with no identifier. 983 */ 984 @Child(name = "code", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 985 @Description(shortDefinition="Version identifier for this version", formalDefinition="For version-less code systems, there should be a single version with no identifier." ) 986 protected StringType code; 987 988 /** 989 * If this is the default version for this code system. 990 */ 991 @Child(name = "isDefault", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=true) 992 @Description(shortDefinition="If this is the default version for this code system", formalDefinition="If this is the default version for this code system." ) 993 protected BooleanType isDefault; 994 995 /** 996 * If the compositional grammar defined by the code system is supported. 997 */ 998 @Child(name = "compositional", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 999 @Description(shortDefinition="If compositional grammar is supported", formalDefinition="If the compositional grammar defined by the code system is supported." ) 1000 protected BooleanType compositional; 1001 1002 /** 1003 * Language Displays supported. 1004 */ 1005 @Child(name = "language", type = {CodeType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1006 @Description(shortDefinition="Language Displays supported", formalDefinition="Language Displays supported." ) 1007 protected List<CodeType> language; 1008 1009 /** 1010 * Filter Properties supported. 1011 */ 1012 @Child(name = "filter", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1013 @Description(shortDefinition="Filter Properties supported", formalDefinition="Filter Properties supported." ) 1014 protected List<TerminologyCapabilitiesCodeSystemVersionFilterComponent> filter; 1015 1016 /** 1017 * Properties supported for $lookup. 1018 */ 1019 @Child(name = "property", type = {CodeType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1020 @Description(shortDefinition="Properties supported for $lookup", formalDefinition="Properties supported for $lookup." ) 1021 protected List<CodeType> property; 1022 1023 private static final long serialVersionUID = 1857571343L; 1024 1025 /** 1026 * Constructor 1027 */ 1028 public TerminologyCapabilitiesCodeSystemVersionComponent() { 1029 super(); 1030 } 1031 1032 /** 1033 * @return {@link #code} (For version-less code systems, there should be a single version with no identifier.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1034 */ 1035 public StringType getCodeElement() { 1036 if (this.code == null) 1037 if (Configuration.errorOnAutoCreate()) 1038 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemVersionComponent.code"); 1039 else if (Configuration.doAutoCreate()) 1040 this.code = new StringType(); // bb 1041 return this.code; 1042 } 1043 1044 public boolean hasCodeElement() { 1045 return this.code != null && !this.code.isEmpty(); 1046 } 1047 1048 public boolean hasCode() { 1049 return this.code != null && !this.code.isEmpty(); 1050 } 1051 1052 /** 1053 * @param value {@link #code} (For version-less code systems, there should be a single version with no identifier.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1054 */ 1055 public TerminologyCapabilitiesCodeSystemVersionComponent setCodeElement(StringType value) { 1056 this.code = value; 1057 return this; 1058 } 1059 1060 /** 1061 * @return For version-less code systems, there should be a single version with no identifier. 1062 */ 1063 public String getCode() { 1064 return this.code == null ? null : this.code.getValue(); 1065 } 1066 1067 /** 1068 * @param value For version-less code systems, there should be a single version with no identifier. 1069 */ 1070 public TerminologyCapabilitiesCodeSystemVersionComponent setCode(String value) { 1071 if (Utilities.noString(value)) 1072 this.code = null; 1073 else { 1074 if (this.code == null) 1075 this.code = new StringType(); 1076 this.code.setValue(value); 1077 } 1078 return this; 1079 } 1080 1081 /** 1082 * @return {@link #isDefault} (If this is the default version for this code system.). This is the underlying object with id, value and extensions. The accessor "getIsDefault" gives direct access to the value 1083 */ 1084 public BooleanType getIsDefaultElement() { 1085 if (this.isDefault == null) 1086 if (Configuration.errorOnAutoCreate()) 1087 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemVersionComponent.isDefault"); 1088 else if (Configuration.doAutoCreate()) 1089 this.isDefault = new BooleanType(); // bb 1090 return this.isDefault; 1091 } 1092 1093 public boolean hasIsDefaultElement() { 1094 return this.isDefault != null && !this.isDefault.isEmpty(); 1095 } 1096 1097 public boolean hasIsDefault() { 1098 return this.isDefault != null && !this.isDefault.isEmpty(); 1099 } 1100 1101 /** 1102 * @param value {@link #isDefault} (If this is the default version for this code system.). This is the underlying object with id, value and extensions. The accessor "getIsDefault" gives direct access to the value 1103 */ 1104 public TerminologyCapabilitiesCodeSystemVersionComponent setIsDefaultElement(BooleanType value) { 1105 this.isDefault = value; 1106 return this; 1107 } 1108 1109 /** 1110 * @return If this is the default version for this code system. 1111 */ 1112 public boolean getIsDefault() { 1113 return this.isDefault == null || this.isDefault.isEmpty() ? false : this.isDefault.getValue(); 1114 } 1115 1116 /** 1117 * @param value If this is the default version for this code system. 1118 */ 1119 public TerminologyCapabilitiesCodeSystemVersionComponent setIsDefault(boolean value) { 1120 if (this.isDefault == null) 1121 this.isDefault = new BooleanType(); 1122 this.isDefault.setValue(value); 1123 return this; 1124 } 1125 1126 /** 1127 * @return {@link #compositional} (If the compositional grammar defined by the code system is supported.). This is the underlying object with id, value and extensions. The accessor "getCompositional" gives direct access to the value 1128 */ 1129 public BooleanType getCompositionalElement() { 1130 if (this.compositional == null) 1131 if (Configuration.errorOnAutoCreate()) 1132 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemVersionComponent.compositional"); 1133 else if (Configuration.doAutoCreate()) 1134 this.compositional = new BooleanType(); // bb 1135 return this.compositional; 1136 } 1137 1138 public boolean hasCompositionalElement() { 1139 return this.compositional != null && !this.compositional.isEmpty(); 1140 } 1141 1142 public boolean hasCompositional() { 1143 return this.compositional != null && !this.compositional.isEmpty(); 1144 } 1145 1146 /** 1147 * @param value {@link #compositional} (If the compositional grammar defined by the code system is supported.). This is the underlying object with id, value and extensions. The accessor "getCompositional" gives direct access to the value 1148 */ 1149 public TerminologyCapabilitiesCodeSystemVersionComponent setCompositionalElement(BooleanType value) { 1150 this.compositional = value; 1151 return this; 1152 } 1153 1154 /** 1155 * @return If the compositional grammar defined by the code system is supported. 1156 */ 1157 public boolean getCompositional() { 1158 return this.compositional == null || this.compositional.isEmpty() ? false : this.compositional.getValue(); 1159 } 1160 1161 /** 1162 * @param value If the compositional grammar defined by the code system is supported. 1163 */ 1164 public TerminologyCapabilitiesCodeSystemVersionComponent setCompositional(boolean value) { 1165 if (this.compositional == null) 1166 this.compositional = new BooleanType(); 1167 this.compositional.setValue(value); 1168 return this; 1169 } 1170 1171 /** 1172 * @return {@link #language} (Language Displays supported.) 1173 */ 1174 public List<CodeType> getLanguage() { 1175 if (this.language == null) 1176 this.language = new ArrayList<CodeType>(); 1177 return this.language; 1178 } 1179 1180 /** 1181 * @return Returns a reference to <code>this</code> for easy method chaining 1182 */ 1183 public TerminologyCapabilitiesCodeSystemVersionComponent setLanguage(List<CodeType> theLanguage) { 1184 this.language = theLanguage; 1185 return this; 1186 } 1187 1188 public boolean hasLanguage() { 1189 if (this.language == null) 1190 return false; 1191 for (CodeType item : this.language) 1192 if (!item.isEmpty()) 1193 return true; 1194 return false; 1195 } 1196 1197 /** 1198 * @return {@link #language} (Language Displays supported.) 1199 */ 1200 public CodeType addLanguageElement() {//2 1201 CodeType t = new CodeType(); 1202 if (this.language == null) 1203 this.language = new ArrayList<CodeType>(); 1204 this.language.add(t); 1205 return t; 1206 } 1207 1208 /** 1209 * @param value {@link #language} (Language Displays supported.) 1210 */ 1211 public TerminologyCapabilitiesCodeSystemVersionComponent addLanguage(String value) { //1 1212 CodeType t = new CodeType(); 1213 t.setValue(value); 1214 if (this.language == null) 1215 this.language = new ArrayList<CodeType>(); 1216 this.language.add(t); 1217 return this; 1218 } 1219 1220 /** 1221 * @param value {@link #language} (Language Displays supported.) 1222 */ 1223 public boolean hasLanguage(String value) { 1224 if (this.language == null) 1225 return false; 1226 for (CodeType v : this.language) 1227 if (v.getValue().equals(value)) // code 1228 return true; 1229 return false; 1230 } 1231 1232 /** 1233 * @return {@link #filter} (Filter Properties supported.) 1234 */ 1235 public List<TerminologyCapabilitiesCodeSystemVersionFilterComponent> getFilter() { 1236 if (this.filter == null) 1237 this.filter = new ArrayList<TerminologyCapabilitiesCodeSystemVersionFilterComponent>(); 1238 return this.filter; 1239 } 1240 1241 /** 1242 * @return Returns a reference to <code>this</code> for easy method chaining 1243 */ 1244 public TerminologyCapabilitiesCodeSystemVersionComponent setFilter(List<TerminologyCapabilitiesCodeSystemVersionFilterComponent> theFilter) { 1245 this.filter = theFilter; 1246 return this; 1247 } 1248 1249 public boolean hasFilter() { 1250 if (this.filter == null) 1251 return false; 1252 for (TerminologyCapabilitiesCodeSystemVersionFilterComponent item : this.filter) 1253 if (!item.isEmpty()) 1254 return true; 1255 return false; 1256 } 1257 1258 public TerminologyCapabilitiesCodeSystemVersionFilterComponent addFilter() { //3 1259 TerminologyCapabilitiesCodeSystemVersionFilterComponent t = new TerminologyCapabilitiesCodeSystemVersionFilterComponent(); 1260 if (this.filter == null) 1261 this.filter = new ArrayList<TerminologyCapabilitiesCodeSystemVersionFilterComponent>(); 1262 this.filter.add(t); 1263 return t; 1264 } 1265 1266 public TerminologyCapabilitiesCodeSystemVersionComponent addFilter(TerminologyCapabilitiesCodeSystemVersionFilterComponent t) { //3 1267 if (t == null) 1268 return this; 1269 if (this.filter == null) 1270 this.filter = new ArrayList<TerminologyCapabilitiesCodeSystemVersionFilterComponent>(); 1271 this.filter.add(t); 1272 return this; 1273 } 1274 1275 /** 1276 * @return The first repetition of repeating field {@link #filter}, creating it if it does not already exist {3} 1277 */ 1278 public TerminologyCapabilitiesCodeSystemVersionFilterComponent getFilterFirstRep() { 1279 if (getFilter().isEmpty()) { 1280 addFilter(); 1281 } 1282 return getFilter().get(0); 1283 } 1284 1285 /** 1286 * @return {@link #property} (Properties supported for $lookup.) 1287 */ 1288 public List<CodeType> getProperty() { 1289 if (this.property == null) 1290 this.property = new ArrayList<CodeType>(); 1291 return this.property; 1292 } 1293 1294 /** 1295 * @return Returns a reference to <code>this</code> for easy method chaining 1296 */ 1297 public TerminologyCapabilitiesCodeSystemVersionComponent setProperty(List<CodeType> theProperty) { 1298 this.property = theProperty; 1299 return this; 1300 } 1301 1302 public boolean hasProperty() { 1303 if (this.property == null) 1304 return false; 1305 for (CodeType item : this.property) 1306 if (!item.isEmpty()) 1307 return true; 1308 return false; 1309 } 1310 1311 /** 1312 * @return {@link #property} (Properties supported for $lookup.) 1313 */ 1314 public CodeType addPropertyElement() {//2 1315 CodeType t = new CodeType(); 1316 if (this.property == null) 1317 this.property = new ArrayList<CodeType>(); 1318 this.property.add(t); 1319 return t; 1320 } 1321 1322 /** 1323 * @param value {@link #property} (Properties supported for $lookup.) 1324 */ 1325 public TerminologyCapabilitiesCodeSystemVersionComponent addProperty(String value) { //1 1326 CodeType t = new CodeType(); 1327 t.setValue(value); 1328 if (this.property == null) 1329 this.property = new ArrayList<CodeType>(); 1330 this.property.add(t); 1331 return this; 1332 } 1333 1334 /** 1335 * @param value {@link #property} (Properties supported for $lookup.) 1336 */ 1337 public boolean hasProperty(String value) { 1338 if (this.property == null) 1339 return false; 1340 for (CodeType v : this.property) 1341 if (v.getValue().equals(value)) // code 1342 return true; 1343 return false; 1344 } 1345 1346 protected void listChildren(List<Property> children) { 1347 super.listChildren(children); 1348 children.add(new Property("code", "string", "For version-less code systems, there should be a single version with no identifier.", 0, 1, code)); 1349 children.add(new Property("isDefault", "boolean", "If this is the default version for this code system.", 0, 1, isDefault)); 1350 children.add(new Property("compositional", "boolean", "If the compositional grammar defined by the code system is supported.", 0, 1, compositional)); 1351 children.add(new Property("language", "code", "Language Displays supported.", 0, java.lang.Integer.MAX_VALUE, language)); 1352 children.add(new Property("filter", "", "Filter Properties supported.", 0, java.lang.Integer.MAX_VALUE, filter)); 1353 children.add(new Property("property", "code", "Properties supported for $lookup.", 0, java.lang.Integer.MAX_VALUE, property)); 1354 } 1355 1356 @Override 1357 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1358 switch (_hash) { 1359 case 3059181: /*code*/ return new Property("code", "string", "For version-less code systems, there should be a single version with no identifier.", 0, 1, code); 1360 case 965025207: /*isDefault*/ return new Property("isDefault", "boolean", "If this is the default version for this code system.", 0, 1, isDefault); 1361 case 1248023381: /*compositional*/ return new Property("compositional", "boolean", "If the compositional grammar defined by the code system is supported.", 0, 1, compositional); 1362 case -1613589672: /*language*/ return new Property("language", "code", "Language Displays supported.", 0, java.lang.Integer.MAX_VALUE, language); 1363 case -1274492040: /*filter*/ return new Property("filter", "", "Filter Properties supported.", 0, java.lang.Integer.MAX_VALUE, filter); 1364 case -993141291: /*property*/ return new Property("property", "code", "Properties supported for $lookup.", 0, java.lang.Integer.MAX_VALUE, property); 1365 default: return super.getNamedProperty(_hash, _name, _checkValid); 1366 } 1367 1368 } 1369 1370 @Override 1371 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1372 switch (hash) { 1373 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // StringType 1374 case 965025207: /*isDefault*/ return this.isDefault == null ? new Base[0] : new Base[] {this.isDefault}; // BooleanType 1375 case 1248023381: /*compositional*/ return this.compositional == null ? new Base[0] : new Base[] {this.compositional}; // BooleanType 1376 case -1613589672: /*language*/ return this.language == null ? new Base[0] : this.language.toArray(new Base[this.language.size()]); // CodeType 1377 case -1274492040: /*filter*/ return this.filter == null ? new Base[0] : this.filter.toArray(new Base[this.filter.size()]); // TerminologyCapabilitiesCodeSystemVersionFilterComponent 1378 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // CodeType 1379 default: return super.getProperty(hash, name, checkValid); 1380 } 1381 1382 } 1383 1384 @Override 1385 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1386 switch (hash) { 1387 case 3059181: // code 1388 this.code = TypeConvertor.castToString(value); // StringType 1389 return value; 1390 case 965025207: // isDefault 1391 this.isDefault = TypeConvertor.castToBoolean(value); // BooleanType 1392 return value; 1393 case 1248023381: // compositional 1394 this.compositional = TypeConvertor.castToBoolean(value); // BooleanType 1395 return value; 1396 case -1613589672: // language 1397 this.getLanguage().add(TypeConvertor.castToCode(value)); // CodeType 1398 return value; 1399 case -1274492040: // filter 1400 this.getFilter().add((TerminologyCapabilitiesCodeSystemVersionFilterComponent) value); // TerminologyCapabilitiesCodeSystemVersionFilterComponent 1401 return value; 1402 case -993141291: // property 1403 this.getProperty().add(TypeConvertor.castToCode(value)); // CodeType 1404 return value; 1405 default: return super.setProperty(hash, name, value); 1406 } 1407 1408 } 1409 1410 @Override 1411 public Base setProperty(String name, Base value) throws FHIRException { 1412 if (name.equals("code")) { 1413 this.code = TypeConvertor.castToString(value); // StringType 1414 } else if (name.equals("isDefault")) { 1415 this.isDefault = TypeConvertor.castToBoolean(value); // BooleanType 1416 } else if (name.equals("compositional")) { 1417 this.compositional = TypeConvertor.castToBoolean(value); // BooleanType 1418 } else if (name.equals("language")) { 1419 this.getLanguage().add(TypeConvertor.castToCode(value)); 1420 } else if (name.equals("filter")) { 1421 this.getFilter().add((TerminologyCapabilitiesCodeSystemVersionFilterComponent) value); 1422 } else if (name.equals("property")) { 1423 this.getProperty().add(TypeConvertor.castToCode(value)); 1424 } else 1425 return super.setProperty(name, value); 1426 return value; 1427 } 1428 1429 @Override 1430 public Base makeProperty(int hash, String name) throws FHIRException { 1431 switch (hash) { 1432 case 3059181: return getCodeElement(); 1433 case 965025207: return getIsDefaultElement(); 1434 case 1248023381: return getCompositionalElement(); 1435 case -1613589672: return addLanguageElement(); 1436 case -1274492040: return addFilter(); 1437 case -993141291: return addPropertyElement(); 1438 default: return super.makeProperty(hash, name); 1439 } 1440 1441 } 1442 1443 @Override 1444 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1445 switch (hash) { 1446 case 3059181: /*code*/ return new String[] {"string"}; 1447 case 965025207: /*isDefault*/ return new String[] {"boolean"}; 1448 case 1248023381: /*compositional*/ return new String[] {"boolean"}; 1449 case -1613589672: /*language*/ return new String[] {"code"}; 1450 case -1274492040: /*filter*/ return new String[] {}; 1451 case -993141291: /*property*/ return new String[] {"code"}; 1452 default: return super.getTypesForProperty(hash, name); 1453 } 1454 1455 } 1456 1457 @Override 1458 public Base addChild(String name) throws FHIRException { 1459 if (name.equals("code")) { 1460 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.code"); 1461 } 1462 else if (name.equals("isDefault")) { 1463 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.isDefault"); 1464 } 1465 else if (name.equals("compositional")) { 1466 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.compositional"); 1467 } 1468 else if (name.equals("language")) { 1469 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.language"); 1470 } 1471 else if (name.equals("filter")) { 1472 return addFilter(); 1473 } 1474 else if (name.equals("property")) { 1475 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.property"); 1476 } 1477 else 1478 return super.addChild(name); 1479 } 1480 1481 public TerminologyCapabilitiesCodeSystemVersionComponent copy() { 1482 TerminologyCapabilitiesCodeSystemVersionComponent dst = new TerminologyCapabilitiesCodeSystemVersionComponent(); 1483 copyValues(dst); 1484 return dst; 1485 } 1486 1487 public void copyValues(TerminologyCapabilitiesCodeSystemVersionComponent dst) { 1488 super.copyValues(dst); 1489 dst.code = code == null ? null : code.copy(); 1490 dst.isDefault = isDefault == null ? null : isDefault.copy(); 1491 dst.compositional = compositional == null ? null : compositional.copy(); 1492 if (language != null) { 1493 dst.language = new ArrayList<CodeType>(); 1494 for (CodeType i : language) 1495 dst.language.add(i.copy()); 1496 }; 1497 if (filter != null) { 1498 dst.filter = new ArrayList<TerminologyCapabilitiesCodeSystemVersionFilterComponent>(); 1499 for (TerminologyCapabilitiesCodeSystemVersionFilterComponent i : filter) 1500 dst.filter.add(i.copy()); 1501 }; 1502 if (property != null) { 1503 dst.property = new ArrayList<CodeType>(); 1504 for (CodeType i : property) 1505 dst.property.add(i.copy()); 1506 }; 1507 } 1508 1509 @Override 1510 public boolean equalsDeep(Base other_) { 1511 if (!super.equalsDeep(other_)) 1512 return false; 1513 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemVersionComponent)) 1514 return false; 1515 TerminologyCapabilitiesCodeSystemVersionComponent o = (TerminologyCapabilitiesCodeSystemVersionComponent) other_; 1516 return compareDeep(code, o.code, true) && compareDeep(isDefault, o.isDefault, true) && compareDeep(compositional, o.compositional, true) 1517 && compareDeep(language, o.language, true) && compareDeep(filter, o.filter, true) && compareDeep(property, o.property, true) 1518 ; 1519 } 1520 1521 @Override 1522 public boolean equalsShallow(Base other_) { 1523 if (!super.equalsShallow(other_)) 1524 return false; 1525 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemVersionComponent)) 1526 return false; 1527 TerminologyCapabilitiesCodeSystemVersionComponent o = (TerminologyCapabilitiesCodeSystemVersionComponent) other_; 1528 return compareValues(code, o.code, true) && compareValues(isDefault, o.isDefault, true) && compareValues(compositional, o.compositional, true) 1529 && compareValues(language, o.language, true) && compareValues(property, o.property, true); 1530 } 1531 1532 public boolean isEmpty() { 1533 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, isDefault, compositional 1534 , language, filter, property); 1535 } 1536 1537 public String fhirType() { 1538 return "TerminologyCapabilities.codeSystem.version"; 1539 1540 } 1541 1542 } 1543 1544 @Block() 1545 public static class TerminologyCapabilitiesCodeSystemVersionFilterComponent extends BackboneElement implements IBaseBackboneElement { 1546 /** 1547 * Code of the property supported. 1548 */ 1549 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1550 @Description(shortDefinition="Code of the property supported", formalDefinition="Code of the property supported." ) 1551 protected CodeType code; 1552 1553 /** 1554 * Operations supported for the property. 1555 */ 1556 @Child(name = "op", type = {CodeType.class}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1557 @Description(shortDefinition="Operations supported for the property", formalDefinition="Operations supported for the property." ) 1558 protected List<CodeType> op; 1559 1560 private static final long serialVersionUID = -489160282L; 1561 1562 /** 1563 * Constructor 1564 */ 1565 public TerminologyCapabilitiesCodeSystemVersionFilterComponent() { 1566 super(); 1567 } 1568 1569 /** 1570 * Constructor 1571 */ 1572 public TerminologyCapabilitiesCodeSystemVersionFilterComponent(String code, String op) { 1573 super(); 1574 this.setCode(code); 1575 this.addOp(op); 1576 } 1577 1578 /** 1579 * @return {@link #code} (Code of the property supported.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1580 */ 1581 public CodeType getCodeElement() { 1582 if (this.code == null) 1583 if (Configuration.errorOnAutoCreate()) 1584 throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemVersionFilterComponent.code"); 1585 else if (Configuration.doAutoCreate()) 1586 this.code = new CodeType(); // bb 1587 return this.code; 1588 } 1589 1590 public boolean hasCodeElement() { 1591 return this.code != null && !this.code.isEmpty(); 1592 } 1593 1594 public boolean hasCode() { 1595 return this.code != null && !this.code.isEmpty(); 1596 } 1597 1598 /** 1599 * @param value {@link #code} (Code of the property supported.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1600 */ 1601 public TerminologyCapabilitiesCodeSystemVersionFilterComponent setCodeElement(CodeType value) { 1602 this.code = value; 1603 return this; 1604 } 1605 1606 /** 1607 * @return Code of the property supported. 1608 */ 1609 public String getCode() { 1610 return this.code == null ? null : this.code.getValue(); 1611 } 1612 1613 /** 1614 * @param value Code of the property supported. 1615 */ 1616 public TerminologyCapabilitiesCodeSystemVersionFilterComponent setCode(String value) { 1617 if (this.code == null) 1618 this.code = new CodeType(); 1619 this.code.setValue(value); 1620 return this; 1621 } 1622 1623 /** 1624 * @return {@link #op} (Operations supported for the property.) 1625 */ 1626 public List<CodeType> getOp() { 1627 if (this.op == null) 1628 this.op = new ArrayList<CodeType>(); 1629 return this.op; 1630 } 1631 1632 /** 1633 * @return Returns a reference to <code>this</code> for easy method chaining 1634 */ 1635 public TerminologyCapabilitiesCodeSystemVersionFilterComponent setOp(List<CodeType> theOp) { 1636 this.op = theOp; 1637 return this; 1638 } 1639 1640 public boolean hasOp() { 1641 if (this.op == null) 1642 return false; 1643 for (CodeType item : this.op) 1644 if (!item.isEmpty()) 1645 return true; 1646 return false; 1647 } 1648 1649 /** 1650 * @return {@link #op} (Operations supported for the property.) 1651 */ 1652 public CodeType addOpElement() {//2 1653 CodeType t = new CodeType(); 1654 if (this.op == null) 1655 this.op = new ArrayList<CodeType>(); 1656 this.op.add(t); 1657 return t; 1658 } 1659 1660 /** 1661 * @param value {@link #op} (Operations supported for the property.) 1662 */ 1663 public TerminologyCapabilitiesCodeSystemVersionFilterComponent addOp(String value) { //1 1664 CodeType t = new CodeType(); 1665 t.setValue(value); 1666 if (this.op == null) 1667 this.op = new ArrayList<CodeType>(); 1668 this.op.add(t); 1669 return this; 1670 } 1671 1672 /** 1673 * @param value {@link #op} (Operations supported for the property.) 1674 */ 1675 public boolean hasOp(String value) { 1676 if (this.op == null) 1677 return false; 1678 for (CodeType v : this.op) 1679 if (v.getValue().equals(value)) // code 1680 return true; 1681 return false; 1682 } 1683 1684 protected void listChildren(List<Property> children) { 1685 super.listChildren(children); 1686 children.add(new Property("code", "code", "Code of the property supported.", 0, 1, code)); 1687 children.add(new Property("op", "code", "Operations supported for the property.", 0, java.lang.Integer.MAX_VALUE, op)); 1688 } 1689 1690 @Override 1691 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1692 switch (_hash) { 1693 case 3059181: /*code*/ return new Property("code", "code", "Code of the property supported.", 0, 1, code); 1694 case 3553: /*op*/ return new Property("op", "code", "Operations supported for the property.", 0, java.lang.Integer.MAX_VALUE, op); 1695 default: return super.getNamedProperty(_hash, _name, _checkValid); 1696 } 1697 1698 } 1699 1700 @Override 1701 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1702 switch (hash) { 1703 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1704 case 3553: /*op*/ return this.op == null ? new Base[0] : this.op.toArray(new Base[this.op.size()]); // CodeType 1705 default: return super.getProperty(hash, name, checkValid); 1706 } 1707 1708 } 1709 1710 @Override 1711 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1712 switch (hash) { 1713 case 3059181: // code 1714 this.code = TypeConvertor.castToCode(value); // CodeType 1715 return value; 1716 case 3553: // op 1717 this.getOp().add(TypeConvertor.castToCode(value)); // CodeType 1718 return value; 1719 default: return super.setProperty(hash, name, value); 1720 } 1721 1722 } 1723 1724 @Override 1725 public Base setProperty(String name, Base value) throws FHIRException { 1726 if (name.equals("code")) { 1727 this.code = TypeConvertor.castToCode(value); // CodeType 1728 } else if (name.equals("op")) { 1729 this.getOp().add(TypeConvertor.castToCode(value)); 1730 } else 1731 return super.setProperty(name, value); 1732 return value; 1733 } 1734 1735 @Override 1736 public Base makeProperty(int hash, String name) throws FHIRException { 1737 switch (hash) { 1738 case 3059181: return getCodeElement(); 1739 case 3553: return addOpElement(); 1740 default: return super.makeProperty(hash, name); 1741 } 1742 1743 } 1744 1745 @Override 1746 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1747 switch (hash) { 1748 case 3059181: /*code*/ return new String[] {"code"}; 1749 case 3553: /*op*/ return new String[] {"code"}; 1750 default: return super.getTypesForProperty(hash, name); 1751 } 1752 1753 } 1754 1755 @Override 1756 public Base addChild(String name) throws FHIRException { 1757 if (name.equals("code")) { 1758 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.filter.code"); 1759 } 1760 else if (name.equals("op")) { 1761 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.version.filter.op"); 1762 } 1763 else 1764 return super.addChild(name); 1765 } 1766 1767 public TerminologyCapabilitiesCodeSystemVersionFilterComponent copy() { 1768 TerminologyCapabilitiesCodeSystemVersionFilterComponent dst = new TerminologyCapabilitiesCodeSystemVersionFilterComponent(); 1769 copyValues(dst); 1770 return dst; 1771 } 1772 1773 public void copyValues(TerminologyCapabilitiesCodeSystemVersionFilterComponent dst) { 1774 super.copyValues(dst); 1775 dst.code = code == null ? null : code.copy(); 1776 if (op != null) { 1777 dst.op = new ArrayList<CodeType>(); 1778 for (CodeType i : op) 1779 dst.op.add(i.copy()); 1780 }; 1781 } 1782 1783 @Override 1784 public boolean equalsDeep(Base other_) { 1785 if (!super.equalsDeep(other_)) 1786 return false; 1787 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemVersionFilterComponent)) 1788 return false; 1789 TerminologyCapabilitiesCodeSystemVersionFilterComponent o = (TerminologyCapabilitiesCodeSystemVersionFilterComponent) other_; 1790 return compareDeep(code, o.code, true) && compareDeep(op, o.op, true); 1791 } 1792 1793 @Override 1794 public boolean equalsShallow(Base other_) { 1795 if (!super.equalsShallow(other_)) 1796 return false; 1797 if (!(other_ instanceof TerminologyCapabilitiesCodeSystemVersionFilterComponent)) 1798 return false; 1799 TerminologyCapabilitiesCodeSystemVersionFilterComponent o = (TerminologyCapabilitiesCodeSystemVersionFilterComponent) other_; 1800 return compareValues(code, o.code, true) && compareValues(op, o.op, true); 1801 } 1802 1803 public boolean isEmpty() { 1804 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, op); 1805 } 1806 1807 public String fhirType() { 1808 return "TerminologyCapabilities.codeSystem.version.filter"; 1809 1810 } 1811 1812 } 1813 1814 @Block() 1815 public static class TerminologyCapabilitiesExpansionComponent extends BackboneElement implements IBaseBackboneElement { 1816 /** 1817 * Whether the server can return nested value sets. 1818 */ 1819 @Child(name = "hierarchical", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1820 @Description(shortDefinition="Whether the server can return nested value sets", formalDefinition="Whether the server can return nested value sets." ) 1821 protected BooleanType hierarchical; 1822 1823 /** 1824 * Whether the server supports paging on expansion. 1825 */ 1826 @Child(name = "paging", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1827 @Description(shortDefinition="Whether the server supports paging on expansion", formalDefinition="Whether the server supports paging on expansion." ) 1828 protected BooleanType paging; 1829 1830 /** 1831 * True if requests for incomplete expansions are allowed. 1832 */ 1833 @Child(name = "incomplete", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1834 @Description(shortDefinition="Allow request for incomplete expansions?", formalDefinition="True if requests for incomplete expansions are allowed." ) 1835 protected BooleanType incomplete; 1836 1837 /** 1838 * Supported expansion parameter. 1839 */ 1840 @Child(name = "parameter", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1841 @Description(shortDefinition="Supported expansion parameter", formalDefinition="Supported expansion parameter." ) 1842 protected List<TerminologyCapabilitiesExpansionParameterComponent> parameter; 1843 1844 /** 1845 * Documentation about text searching works. 1846 */ 1847 @Child(name = "textFilter", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false) 1848 @Description(shortDefinition="Documentation about text searching works", formalDefinition="Documentation about text searching works." ) 1849 protected MarkdownType textFilter; 1850 1851 private static final long serialVersionUID = -1011350616L; 1852 1853 /** 1854 * Constructor 1855 */ 1856 public TerminologyCapabilitiesExpansionComponent() { 1857 super(); 1858 } 1859 1860 /** 1861 * @return {@link #hierarchical} (Whether the server can return nested value sets.). This is the underlying object with id, value and extensions. The accessor "getHierarchical" gives direct access to the value 1862 */ 1863 public BooleanType getHierarchicalElement() { 1864 if (this.hierarchical == null) 1865 if (Configuration.errorOnAutoCreate()) 1866 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionComponent.hierarchical"); 1867 else if (Configuration.doAutoCreate()) 1868 this.hierarchical = new BooleanType(); // bb 1869 return this.hierarchical; 1870 } 1871 1872 public boolean hasHierarchicalElement() { 1873 return this.hierarchical != null && !this.hierarchical.isEmpty(); 1874 } 1875 1876 public boolean hasHierarchical() { 1877 return this.hierarchical != null && !this.hierarchical.isEmpty(); 1878 } 1879 1880 /** 1881 * @param value {@link #hierarchical} (Whether the server can return nested value sets.). This is the underlying object with id, value and extensions. The accessor "getHierarchical" gives direct access to the value 1882 */ 1883 public TerminologyCapabilitiesExpansionComponent setHierarchicalElement(BooleanType value) { 1884 this.hierarchical = value; 1885 return this; 1886 } 1887 1888 /** 1889 * @return Whether the server can return nested value sets. 1890 */ 1891 public boolean getHierarchical() { 1892 return this.hierarchical == null || this.hierarchical.isEmpty() ? false : this.hierarchical.getValue(); 1893 } 1894 1895 /** 1896 * @param value Whether the server can return nested value sets. 1897 */ 1898 public TerminologyCapabilitiesExpansionComponent setHierarchical(boolean value) { 1899 if (this.hierarchical == null) 1900 this.hierarchical = new BooleanType(); 1901 this.hierarchical.setValue(value); 1902 return this; 1903 } 1904 1905 /** 1906 * @return {@link #paging} (Whether the server supports paging on expansion.). This is the underlying object with id, value and extensions. The accessor "getPaging" gives direct access to the value 1907 */ 1908 public BooleanType getPagingElement() { 1909 if (this.paging == null) 1910 if (Configuration.errorOnAutoCreate()) 1911 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionComponent.paging"); 1912 else if (Configuration.doAutoCreate()) 1913 this.paging = new BooleanType(); // bb 1914 return this.paging; 1915 } 1916 1917 public boolean hasPagingElement() { 1918 return this.paging != null && !this.paging.isEmpty(); 1919 } 1920 1921 public boolean hasPaging() { 1922 return this.paging != null && !this.paging.isEmpty(); 1923 } 1924 1925 /** 1926 * @param value {@link #paging} (Whether the server supports paging on expansion.). This is the underlying object with id, value and extensions. The accessor "getPaging" gives direct access to the value 1927 */ 1928 public TerminologyCapabilitiesExpansionComponent setPagingElement(BooleanType value) { 1929 this.paging = value; 1930 return this; 1931 } 1932 1933 /** 1934 * @return Whether the server supports paging on expansion. 1935 */ 1936 public boolean getPaging() { 1937 return this.paging == null || this.paging.isEmpty() ? false : this.paging.getValue(); 1938 } 1939 1940 /** 1941 * @param value Whether the server supports paging on expansion. 1942 */ 1943 public TerminologyCapabilitiesExpansionComponent setPaging(boolean value) { 1944 if (this.paging == null) 1945 this.paging = new BooleanType(); 1946 this.paging.setValue(value); 1947 return this; 1948 } 1949 1950 /** 1951 * @return {@link #incomplete} (True if requests for incomplete expansions are allowed.). This is the underlying object with id, value and extensions. The accessor "getIncomplete" gives direct access to the value 1952 */ 1953 public BooleanType getIncompleteElement() { 1954 if (this.incomplete == null) 1955 if (Configuration.errorOnAutoCreate()) 1956 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionComponent.incomplete"); 1957 else if (Configuration.doAutoCreate()) 1958 this.incomplete = new BooleanType(); // bb 1959 return this.incomplete; 1960 } 1961 1962 public boolean hasIncompleteElement() { 1963 return this.incomplete != null && !this.incomplete.isEmpty(); 1964 } 1965 1966 public boolean hasIncomplete() { 1967 return this.incomplete != null && !this.incomplete.isEmpty(); 1968 } 1969 1970 /** 1971 * @param value {@link #incomplete} (True if requests for incomplete expansions are allowed.). This is the underlying object with id, value and extensions. The accessor "getIncomplete" gives direct access to the value 1972 */ 1973 public TerminologyCapabilitiesExpansionComponent setIncompleteElement(BooleanType value) { 1974 this.incomplete = value; 1975 return this; 1976 } 1977 1978 /** 1979 * @return True if requests for incomplete expansions are allowed. 1980 */ 1981 public boolean getIncomplete() { 1982 return this.incomplete == null || this.incomplete.isEmpty() ? false : this.incomplete.getValue(); 1983 } 1984 1985 /** 1986 * @param value True if requests for incomplete expansions are allowed. 1987 */ 1988 public TerminologyCapabilitiesExpansionComponent setIncomplete(boolean value) { 1989 if (this.incomplete == null) 1990 this.incomplete = new BooleanType(); 1991 this.incomplete.setValue(value); 1992 return this; 1993 } 1994 1995 /** 1996 * @return {@link #parameter} (Supported expansion parameter.) 1997 */ 1998 public List<TerminologyCapabilitiesExpansionParameterComponent> getParameter() { 1999 if (this.parameter == null) 2000 this.parameter = new ArrayList<TerminologyCapabilitiesExpansionParameterComponent>(); 2001 return this.parameter; 2002 } 2003 2004 /** 2005 * @return Returns a reference to <code>this</code> for easy method chaining 2006 */ 2007 public TerminologyCapabilitiesExpansionComponent setParameter(List<TerminologyCapabilitiesExpansionParameterComponent> theParameter) { 2008 this.parameter = theParameter; 2009 return this; 2010 } 2011 2012 public boolean hasParameter() { 2013 if (this.parameter == null) 2014 return false; 2015 for (TerminologyCapabilitiesExpansionParameterComponent item : this.parameter) 2016 if (!item.isEmpty()) 2017 return true; 2018 return false; 2019 } 2020 2021 public TerminologyCapabilitiesExpansionParameterComponent addParameter() { //3 2022 TerminologyCapabilitiesExpansionParameterComponent t = new TerminologyCapabilitiesExpansionParameterComponent(); 2023 if (this.parameter == null) 2024 this.parameter = new ArrayList<TerminologyCapabilitiesExpansionParameterComponent>(); 2025 this.parameter.add(t); 2026 return t; 2027 } 2028 2029 public TerminologyCapabilitiesExpansionComponent addParameter(TerminologyCapabilitiesExpansionParameterComponent t) { //3 2030 if (t == null) 2031 return this; 2032 if (this.parameter == null) 2033 this.parameter = new ArrayList<TerminologyCapabilitiesExpansionParameterComponent>(); 2034 this.parameter.add(t); 2035 return this; 2036 } 2037 2038 /** 2039 * @return The first repetition of repeating field {@link #parameter}, creating it if it does not already exist {3} 2040 */ 2041 public TerminologyCapabilitiesExpansionParameterComponent getParameterFirstRep() { 2042 if (getParameter().isEmpty()) { 2043 addParameter(); 2044 } 2045 return getParameter().get(0); 2046 } 2047 2048 /** 2049 * @return {@link #textFilter} (Documentation about text searching works.). This is the underlying object with id, value and extensions. The accessor "getTextFilter" gives direct access to the value 2050 */ 2051 public MarkdownType getTextFilterElement() { 2052 if (this.textFilter == null) 2053 if (Configuration.errorOnAutoCreate()) 2054 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionComponent.textFilter"); 2055 else if (Configuration.doAutoCreate()) 2056 this.textFilter = new MarkdownType(); // bb 2057 return this.textFilter; 2058 } 2059 2060 public boolean hasTextFilterElement() { 2061 return this.textFilter != null && !this.textFilter.isEmpty(); 2062 } 2063 2064 public boolean hasTextFilter() { 2065 return this.textFilter != null && !this.textFilter.isEmpty(); 2066 } 2067 2068 /** 2069 * @param value {@link #textFilter} (Documentation about text searching works.). This is the underlying object with id, value and extensions. The accessor "getTextFilter" gives direct access to the value 2070 */ 2071 public TerminologyCapabilitiesExpansionComponent setTextFilterElement(MarkdownType value) { 2072 this.textFilter = value; 2073 return this; 2074 } 2075 2076 /** 2077 * @return Documentation about text searching works. 2078 */ 2079 public String getTextFilter() { 2080 return this.textFilter == null ? null : this.textFilter.getValue(); 2081 } 2082 2083 /** 2084 * @param value Documentation about text searching works. 2085 */ 2086 public TerminologyCapabilitiesExpansionComponent setTextFilter(String value) { 2087 if (value == null) 2088 this.textFilter = null; 2089 else { 2090 if (this.textFilter == null) 2091 this.textFilter = new MarkdownType(); 2092 this.textFilter.setValue(value); 2093 } 2094 return this; 2095 } 2096 2097 protected void listChildren(List<Property> children) { 2098 super.listChildren(children); 2099 children.add(new Property("hierarchical", "boolean", "Whether the server can return nested value sets.", 0, 1, hierarchical)); 2100 children.add(new Property("paging", "boolean", "Whether the server supports paging on expansion.", 0, 1, paging)); 2101 children.add(new Property("incomplete", "boolean", "True if requests for incomplete expansions are allowed.", 0, 1, incomplete)); 2102 children.add(new Property("parameter", "", "Supported expansion parameter.", 0, java.lang.Integer.MAX_VALUE, parameter)); 2103 children.add(new Property("textFilter", "markdown", "Documentation about text searching works.", 0, 1, textFilter)); 2104 } 2105 2106 @Override 2107 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2108 switch (_hash) { 2109 case 857636745: /*hierarchical*/ return new Property("hierarchical", "boolean", "Whether the server can return nested value sets.", 0, 1, hierarchical); 2110 case -995747956: /*paging*/ return new Property("paging", "boolean", "Whether the server supports paging on expansion.", 0, 1, paging); 2111 case -1010022050: /*incomplete*/ return new Property("incomplete", "boolean", "True if requests for incomplete expansions are allowed.", 0, 1, incomplete); 2112 case 1954460585: /*parameter*/ return new Property("parameter", "", "Supported expansion parameter.", 0, java.lang.Integer.MAX_VALUE, parameter); 2113 case 1469359877: /*textFilter*/ return new Property("textFilter", "markdown", "Documentation about text searching works.", 0, 1, textFilter); 2114 default: return super.getNamedProperty(_hash, _name, _checkValid); 2115 } 2116 2117 } 2118 2119 @Override 2120 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2121 switch (hash) { 2122 case 857636745: /*hierarchical*/ return this.hierarchical == null ? new Base[0] : new Base[] {this.hierarchical}; // BooleanType 2123 case -995747956: /*paging*/ return this.paging == null ? new Base[0] : new Base[] {this.paging}; // BooleanType 2124 case -1010022050: /*incomplete*/ return this.incomplete == null ? new Base[0] : new Base[] {this.incomplete}; // BooleanType 2125 case 1954460585: /*parameter*/ return this.parameter == null ? new Base[0] : this.parameter.toArray(new Base[this.parameter.size()]); // TerminologyCapabilitiesExpansionParameterComponent 2126 case 1469359877: /*textFilter*/ return this.textFilter == null ? new Base[0] : new Base[] {this.textFilter}; // MarkdownType 2127 default: return super.getProperty(hash, name, checkValid); 2128 } 2129 2130 } 2131 2132 @Override 2133 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2134 switch (hash) { 2135 case 857636745: // hierarchical 2136 this.hierarchical = TypeConvertor.castToBoolean(value); // BooleanType 2137 return value; 2138 case -995747956: // paging 2139 this.paging = TypeConvertor.castToBoolean(value); // BooleanType 2140 return value; 2141 case -1010022050: // incomplete 2142 this.incomplete = TypeConvertor.castToBoolean(value); // BooleanType 2143 return value; 2144 case 1954460585: // parameter 2145 this.getParameter().add((TerminologyCapabilitiesExpansionParameterComponent) value); // TerminologyCapabilitiesExpansionParameterComponent 2146 return value; 2147 case 1469359877: // textFilter 2148 this.textFilter = TypeConvertor.castToMarkdown(value); // MarkdownType 2149 return value; 2150 default: return super.setProperty(hash, name, value); 2151 } 2152 2153 } 2154 2155 @Override 2156 public Base setProperty(String name, Base value) throws FHIRException { 2157 if (name.equals("hierarchical")) { 2158 this.hierarchical = TypeConvertor.castToBoolean(value); // BooleanType 2159 } else if (name.equals("paging")) { 2160 this.paging = TypeConvertor.castToBoolean(value); // BooleanType 2161 } else if (name.equals("incomplete")) { 2162 this.incomplete = TypeConvertor.castToBoolean(value); // BooleanType 2163 } else if (name.equals("parameter")) { 2164 this.getParameter().add((TerminologyCapabilitiesExpansionParameterComponent) value); 2165 } else if (name.equals("textFilter")) { 2166 this.textFilter = TypeConvertor.castToMarkdown(value); // MarkdownType 2167 } else 2168 return super.setProperty(name, value); 2169 return value; 2170 } 2171 2172 @Override 2173 public Base makeProperty(int hash, String name) throws FHIRException { 2174 switch (hash) { 2175 case 857636745: return getHierarchicalElement(); 2176 case -995747956: return getPagingElement(); 2177 case -1010022050: return getIncompleteElement(); 2178 case 1954460585: return addParameter(); 2179 case 1469359877: return getTextFilterElement(); 2180 default: return super.makeProperty(hash, name); 2181 } 2182 2183 } 2184 2185 @Override 2186 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2187 switch (hash) { 2188 case 857636745: /*hierarchical*/ return new String[] {"boolean"}; 2189 case -995747956: /*paging*/ return new String[] {"boolean"}; 2190 case -1010022050: /*incomplete*/ return new String[] {"boolean"}; 2191 case 1954460585: /*parameter*/ return new String[] {}; 2192 case 1469359877: /*textFilter*/ return new String[] {"markdown"}; 2193 default: return super.getTypesForProperty(hash, name); 2194 } 2195 2196 } 2197 2198 @Override 2199 public Base addChild(String name) throws FHIRException { 2200 if (name.equals("hierarchical")) { 2201 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.hierarchical"); 2202 } 2203 else if (name.equals("paging")) { 2204 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.paging"); 2205 } 2206 else if (name.equals("incomplete")) { 2207 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.incomplete"); 2208 } 2209 else if (name.equals("parameter")) { 2210 return addParameter(); 2211 } 2212 else if (name.equals("textFilter")) { 2213 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.textFilter"); 2214 } 2215 else 2216 return super.addChild(name); 2217 } 2218 2219 public TerminologyCapabilitiesExpansionComponent copy() { 2220 TerminologyCapabilitiesExpansionComponent dst = new TerminologyCapabilitiesExpansionComponent(); 2221 copyValues(dst); 2222 return dst; 2223 } 2224 2225 public void copyValues(TerminologyCapabilitiesExpansionComponent dst) { 2226 super.copyValues(dst); 2227 dst.hierarchical = hierarchical == null ? null : hierarchical.copy(); 2228 dst.paging = paging == null ? null : paging.copy(); 2229 dst.incomplete = incomplete == null ? null : incomplete.copy(); 2230 if (parameter != null) { 2231 dst.parameter = new ArrayList<TerminologyCapabilitiesExpansionParameterComponent>(); 2232 for (TerminologyCapabilitiesExpansionParameterComponent i : parameter) 2233 dst.parameter.add(i.copy()); 2234 }; 2235 dst.textFilter = textFilter == null ? null : textFilter.copy(); 2236 } 2237 2238 @Override 2239 public boolean equalsDeep(Base other_) { 2240 if (!super.equalsDeep(other_)) 2241 return false; 2242 if (!(other_ instanceof TerminologyCapabilitiesExpansionComponent)) 2243 return false; 2244 TerminologyCapabilitiesExpansionComponent o = (TerminologyCapabilitiesExpansionComponent) other_; 2245 return compareDeep(hierarchical, o.hierarchical, true) && compareDeep(paging, o.paging, true) && compareDeep(incomplete, o.incomplete, true) 2246 && compareDeep(parameter, o.parameter, true) && compareDeep(textFilter, o.textFilter, true); 2247 } 2248 2249 @Override 2250 public boolean equalsShallow(Base other_) { 2251 if (!super.equalsShallow(other_)) 2252 return false; 2253 if (!(other_ instanceof TerminologyCapabilitiesExpansionComponent)) 2254 return false; 2255 TerminologyCapabilitiesExpansionComponent o = (TerminologyCapabilitiesExpansionComponent) other_; 2256 return compareValues(hierarchical, o.hierarchical, true) && compareValues(paging, o.paging, true) && compareValues(incomplete, o.incomplete, true) 2257 && compareValues(textFilter, o.textFilter, true); 2258 } 2259 2260 public boolean isEmpty() { 2261 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(hierarchical, paging, incomplete 2262 , parameter, textFilter); 2263 } 2264 2265 public String fhirType() { 2266 return "TerminologyCapabilities.expansion"; 2267 2268 } 2269 2270 } 2271 2272 @Block() 2273 public static class TerminologyCapabilitiesExpansionParameterComponent extends BackboneElement implements IBaseBackboneElement { 2274 /** 2275 * Name of the supported expansion parameter. 2276 */ 2277 @Child(name = "name", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2278 @Description(shortDefinition="Name of the supported expansion parameter", formalDefinition="Name of the supported expansion parameter." ) 2279 protected CodeType name; 2280 2281 /** 2282 * Description of support for parameter. 2283 */ 2284 @Child(name = "documentation", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 2285 @Description(shortDefinition="Description of support for parameter", formalDefinition="Description of support for parameter." ) 2286 protected StringType documentation; 2287 2288 private static final long serialVersionUID = -1703372741L; 2289 2290 /** 2291 * Constructor 2292 */ 2293 public TerminologyCapabilitiesExpansionParameterComponent() { 2294 super(); 2295 } 2296 2297 /** 2298 * Constructor 2299 */ 2300 public TerminologyCapabilitiesExpansionParameterComponent(String name) { 2301 super(); 2302 this.setName(name); 2303 } 2304 2305 /** 2306 * @return {@link #name} (Name of the supported expansion parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2307 */ 2308 public CodeType getNameElement() { 2309 if (this.name == null) 2310 if (Configuration.errorOnAutoCreate()) 2311 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionParameterComponent.name"); 2312 else if (Configuration.doAutoCreate()) 2313 this.name = new CodeType(); // bb 2314 return this.name; 2315 } 2316 2317 public boolean hasNameElement() { 2318 return this.name != null && !this.name.isEmpty(); 2319 } 2320 2321 public boolean hasName() { 2322 return this.name != null && !this.name.isEmpty(); 2323 } 2324 2325 /** 2326 * @param value {@link #name} (Name of the supported expansion parameter.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2327 */ 2328 public TerminologyCapabilitiesExpansionParameterComponent setNameElement(CodeType value) { 2329 this.name = value; 2330 return this; 2331 } 2332 2333 /** 2334 * @return Name of the supported expansion parameter. 2335 */ 2336 public String getName() { 2337 return this.name == null ? null : this.name.getValue(); 2338 } 2339 2340 /** 2341 * @param value Name of the supported expansion parameter. 2342 */ 2343 public TerminologyCapabilitiesExpansionParameterComponent setName(String value) { 2344 if (this.name == null) 2345 this.name = new CodeType(); 2346 this.name.setValue(value); 2347 return this; 2348 } 2349 2350 /** 2351 * @return {@link #documentation} (Description of support for parameter.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2352 */ 2353 public StringType getDocumentationElement() { 2354 if (this.documentation == null) 2355 if (Configuration.errorOnAutoCreate()) 2356 throw new Error("Attempt to auto-create TerminologyCapabilitiesExpansionParameterComponent.documentation"); 2357 else if (Configuration.doAutoCreate()) 2358 this.documentation = new StringType(); // bb 2359 return this.documentation; 2360 } 2361 2362 public boolean hasDocumentationElement() { 2363 return this.documentation != null && !this.documentation.isEmpty(); 2364 } 2365 2366 public boolean hasDocumentation() { 2367 return this.documentation != null && !this.documentation.isEmpty(); 2368 } 2369 2370 /** 2371 * @param value {@link #documentation} (Description of support for parameter.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value 2372 */ 2373 public TerminologyCapabilitiesExpansionParameterComponent setDocumentationElement(StringType value) { 2374 this.documentation = value; 2375 return this; 2376 } 2377 2378 /** 2379 * @return Description of support for parameter. 2380 */ 2381 public String getDocumentation() { 2382 return this.documentation == null ? null : this.documentation.getValue(); 2383 } 2384 2385 /** 2386 * @param value Description of support for parameter. 2387 */ 2388 public TerminologyCapabilitiesExpansionParameterComponent setDocumentation(String value) { 2389 if (Utilities.noString(value)) 2390 this.documentation = null; 2391 else { 2392 if (this.documentation == null) 2393 this.documentation = new StringType(); 2394 this.documentation.setValue(value); 2395 } 2396 return this; 2397 } 2398 2399 protected void listChildren(List<Property> children) { 2400 super.listChildren(children); 2401 children.add(new Property("name", "code", "Name of the supported expansion parameter.", 0, 1, name)); 2402 children.add(new Property("documentation", "string", "Description of support for parameter.", 0, 1, documentation)); 2403 } 2404 2405 @Override 2406 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2407 switch (_hash) { 2408 case 3373707: /*name*/ return new Property("name", "code", "Name of the supported expansion parameter.", 0, 1, name); 2409 case 1587405498: /*documentation*/ return new Property("documentation", "string", "Description of support for parameter.", 0, 1, documentation); 2410 default: return super.getNamedProperty(_hash, _name, _checkValid); 2411 } 2412 2413 } 2414 2415 @Override 2416 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2417 switch (hash) { 2418 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // CodeType 2419 case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType 2420 default: return super.getProperty(hash, name, checkValid); 2421 } 2422 2423 } 2424 2425 @Override 2426 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2427 switch (hash) { 2428 case 3373707: // name 2429 this.name = TypeConvertor.castToCode(value); // CodeType 2430 return value; 2431 case 1587405498: // documentation 2432 this.documentation = TypeConvertor.castToString(value); // StringType 2433 return value; 2434 default: return super.setProperty(hash, name, value); 2435 } 2436 2437 } 2438 2439 @Override 2440 public Base setProperty(String name, Base value) throws FHIRException { 2441 if (name.equals("name")) { 2442 this.name = TypeConvertor.castToCode(value); // CodeType 2443 } else if (name.equals("documentation")) { 2444 this.documentation = TypeConvertor.castToString(value); // StringType 2445 } else 2446 return super.setProperty(name, value); 2447 return value; 2448 } 2449 2450 @Override 2451 public Base makeProperty(int hash, String name) throws FHIRException { 2452 switch (hash) { 2453 case 3373707: return getNameElement(); 2454 case 1587405498: return getDocumentationElement(); 2455 default: return super.makeProperty(hash, name); 2456 } 2457 2458 } 2459 2460 @Override 2461 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2462 switch (hash) { 2463 case 3373707: /*name*/ return new String[] {"code"}; 2464 case 1587405498: /*documentation*/ return new String[] {"string"}; 2465 default: return super.getTypesForProperty(hash, name); 2466 } 2467 2468 } 2469 2470 @Override 2471 public Base addChild(String name) throws FHIRException { 2472 if (name.equals("name")) { 2473 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.parameter.name"); 2474 } 2475 else if (name.equals("documentation")) { 2476 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.expansion.parameter.documentation"); 2477 } 2478 else 2479 return super.addChild(name); 2480 } 2481 2482 public TerminologyCapabilitiesExpansionParameterComponent copy() { 2483 TerminologyCapabilitiesExpansionParameterComponent dst = new TerminologyCapabilitiesExpansionParameterComponent(); 2484 copyValues(dst); 2485 return dst; 2486 } 2487 2488 public void copyValues(TerminologyCapabilitiesExpansionParameterComponent dst) { 2489 super.copyValues(dst); 2490 dst.name = name == null ? null : name.copy(); 2491 dst.documentation = documentation == null ? null : documentation.copy(); 2492 } 2493 2494 @Override 2495 public boolean equalsDeep(Base other_) { 2496 if (!super.equalsDeep(other_)) 2497 return false; 2498 if (!(other_ instanceof TerminologyCapabilitiesExpansionParameterComponent)) 2499 return false; 2500 TerminologyCapabilitiesExpansionParameterComponent o = (TerminologyCapabilitiesExpansionParameterComponent) other_; 2501 return compareDeep(name, o.name, true) && compareDeep(documentation, o.documentation, true); 2502 } 2503 2504 @Override 2505 public boolean equalsShallow(Base other_) { 2506 if (!super.equalsShallow(other_)) 2507 return false; 2508 if (!(other_ instanceof TerminologyCapabilitiesExpansionParameterComponent)) 2509 return false; 2510 TerminologyCapabilitiesExpansionParameterComponent o = (TerminologyCapabilitiesExpansionParameterComponent) other_; 2511 return compareValues(name, o.name, true) && compareValues(documentation, o.documentation, true); 2512 } 2513 2514 public boolean isEmpty() { 2515 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, documentation); 2516 } 2517 2518 public String fhirType() { 2519 return "TerminologyCapabilities.expansion.parameter"; 2520 2521 } 2522 2523 } 2524 2525 @Block() 2526 public static class TerminologyCapabilitiesValidateCodeComponent extends BackboneElement implements IBaseBackboneElement { 2527 /** 2528 * Whether translations are validated. 2529 */ 2530 @Child(name = "translations", type = {BooleanType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2531 @Description(shortDefinition="Whether translations are validated", formalDefinition="Whether translations are validated." ) 2532 protected BooleanType translations; 2533 2534 private static final long serialVersionUID = -1212814906L; 2535 2536 /** 2537 * Constructor 2538 */ 2539 public TerminologyCapabilitiesValidateCodeComponent() { 2540 super(); 2541 } 2542 2543 /** 2544 * Constructor 2545 */ 2546 public TerminologyCapabilitiesValidateCodeComponent(boolean translations) { 2547 super(); 2548 this.setTranslations(translations); 2549 } 2550 2551 /** 2552 * @return {@link #translations} (Whether translations are validated.). This is the underlying object with id, value and extensions. The accessor "getTranslations" gives direct access to the value 2553 */ 2554 public BooleanType getTranslationsElement() { 2555 if (this.translations == null) 2556 if (Configuration.errorOnAutoCreate()) 2557 throw new Error("Attempt to auto-create TerminologyCapabilitiesValidateCodeComponent.translations"); 2558 else if (Configuration.doAutoCreate()) 2559 this.translations = new BooleanType(); // bb 2560 return this.translations; 2561 } 2562 2563 public boolean hasTranslationsElement() { 2564 return this.translations != null && !this.translations.isEmpty(); 2565 } 2566 2567 public boolean hasTranslations() { 2568 return this.translations != null && !this.translations.isEmpty(); 2569 } 2570 2571 /** 2572 * @param value {@link #translations} (Whether translations are validated.). This is the underlying object with id, value and extensions. The accessor "getTranslations" gives direct access to the value 2573 */ 2574 public TerminologyCapabilitiesValidateCodeComponent setTranslationsElement(BooleanType value) { 2575 this.translations = value; 2576 return this; 2577 } 2578 2579 /** 2580 * @return Whether translations are validated. 2581 */ 2582 public boolean getTranslations() { 2583 return this.translations == null || this.translations.isEmpty() ? false : this.translations.getValue(); 2584 } 2585 2586 /** 2587 * @param value Whether translations are validated. 2588 */ 2589 public TerminologyCapabilitiesValidateCodeComponent setTranslations(boolean value) { 2590 if (this.translations == null) 2591 this.translations = new BooleanType(); 2592 this.translations.setValue(value); 2593 return this; 2594 } 2595 2596 protected void listChildren(List<Property> children) { 2597 super.listChildren(children); 2598 children.add(new Property("translations", "boolean", "Whether translations are validated.", 0, 1, translations)); 2599 } 2600 2601 @Override 2602 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2603 switch (_hash) { 2604 case -1225497630: /*translations*/ return new Property("translations", "boolean", "Whether translations are validated.", 0, 1, translations); 2605 default: return super.getNamedProperty(_hash, _name, _checkValid); 2606 } 2607 2608 } 2609 2610 @Override 2611 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2612 switch (hash) { 2613 case -1225497630: /*translations*/ return this.translations == null ? new Base[0] : new Base[] {this.translations}; // BooleanType 2614 default: return super.getProperty(hash, name, checkValid); 2615 } 2616 2617 } 2618 2619 @Override 2620 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2621 switch (hash) { 2622 case -1225497630: // translations 2623 this.translations = TypeConvertor.castToBoolean(value); // BooleanType 2624 return value; 2625 default: return super.setProperty(hash, name, value); 2626 } 2627 2628 } 2629 2630 @Override 2631 public Base setProperty(String name, Base value) throws FHIRException { 2632 if (name.equals("translations")) { 2633 this.translations = TypeConvertor.castToBoolean(value); // BooleanType 2634 } else 2635 return super.setProperty(name, value); 2636 return value; 2637 } 2638 2639 @Override 2640 public Base makeProperty(int hash, String name) throws FHIRException { 2641 switch (hash) { 2642 case -1225497630: return getTranslationsElement(); 2643 default: return super.makeProperty(hash, name); 2644 } 2645 2646 } 2647 2648 @Override 2649 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2650 switch (hash) { 2651 case -1225497630: /*translations*/ return new String[] {"boolean"}; 2652 default: return super.getTypesForProperty(hash, name); 2653 } 2654 2655 } 2656 2657 @Override 2658 public Base addChild(String name) throws FHIRException { 2659 if (name.equals("translations")) { 2660 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.validateCode.translations"); 2661 } 2662 else 2663 return super.addChild(name); 2664 } 2665 2666 public TerminologyCapabilitiesValidateCodeComponent copy() { 2667 TerminologyCapabilitiesValidateCodeComponent dst = new TerminologyCapabilitiesValidateCodeComponent(); 2668 copyValues(dst); 2669 return dst; 2670 } 2671 2672 public void copyValues(TerminologyCapabilitiesValidateCodeComponent dst) { 2673 super.copyValues(dst); 2674 dst.translations = translations == null ? null : translations.copy(); 2675 } 2676 2677 @Override 2678 public boolean equalsDeep(Base other_) { 2679 if (!super.equalsDeep(other_)) 2680 return false; 2681 if (!(other_ instanceof TerminologyCapabilitiesValidateCodeComponent)) 2682 return false; 2683 TerminologyCapabilitiesValidateCodeComponent o = (TerminologyCapabilitiesValidateCodeComponent) other_; 2684 return compareDeep(translations, o.translations, true); 2685 } 2686 2687 @Override 2688 public boolean equalsShallow(Base other_) { 2689 if (!super.equalsShallow(other_)) 2690 return false; 2691 if (!(other_ instanceof TerminologyCapabilitiesValidateCodeComponent)) 2692 return false; 2693 TerminologyCapabilitiesValidateCodeComponent o = (TerminologyCapabilitiesValidateCodeComponent) other_; 2694 return compareValues(translations, o.translations, true); 2695 } 2696 2697 public boolean isEmpty() { 2698 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(translations); 2699 } 2700 2701 public String fhirType() { 2702 return "TerminologyCapabilities.validateCode"; 2703 2704 } 2705 2706 } 2707 2708 @Block() 2709 public static class TerminologyCapabilitiesTranslationComponent extends BackboneElement implements IBaseBackboneElement { 2710 /** 2711 * Whether the client must identify the map. 2712 */ 2713 @Child(name = "needsMap", type = {BooleanType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2714 @Description(shortDefinition="Whether the client must identify the map", formalDefinition="Whether the client must identify the map." ) 2715 protected BooleanType needsMap; 2716 2717 private static final long serialVersionUID = -1727843575L; 2718 2719 /** 2720 * Constructor 2721 */ 2722 public TerminologyCapabilitiesTranslationComponent() { 2723 super(); 2724 } 2725 2726 /** 2727 * Constructor 2728 */ 2729 public TerminologyCapabilitiesTranslationComponent(boolean needsMap) { 2730 super(); 2731 this.setNeedsMap(needsMap); 2732 } 2733 2734 /** 2735 * @return {@link #needsMap} (Whether the client must identify the map.). This is the underlying object with id, value and extensions. The accessor "getNeedsMap" gives direct access to the value 2736 */ 2737 public BooleanType getNeedsMapElement() { 2738 if (this.needsMap == null) 2739 if (Configuration.errorOnAutoCreate()) 2740 throw new Error("Attempt to auto-create TerminologyCapabilitiesTranslationComponent.needsMap"); 2741 else if (Configuration.doAutoCreate()) 2742 this.needsMap = new BooleanType(); // bb 2743 return this.needsMap; 2744 } 2745 2746 public boolean hasNeedsMapElement() { 2747 return this.needsMap != null && !this.needsMap.isEmpty(); 2748 } 2749 2750 public boolean hasNeedsMap() { 2751 return this.needsMap != null && !this.needsMap.isEmpty(); 2752 } 2753 2754 /** 2755 * @param value {@link #needsMap} (Whether the client must identify the map.). This is the underlying object with id, value and extensions. The accessor "getNeedsMap" gives direct access to the value 2756 */ 2757 public TerminologyCapabilitiesTranslationComponent setNeedsMapElement(BooleanType value) { 2758 this.needsMap = value; 2759 return this; 2760 } 2761 2762 /** 2763 * @return Whether the client must identify the map. 2764 */ 2765 public boolean getNeedsMap() { 2766 return this.needsMap == null || this.needsMap.isEmpty() ? false : this.needsMap.getValue(); 2767 } 2768 2769 /** 2770 * @param value Whether the client must identify the map. 2771 */ 2772 public TerminologyCapabilitiesTranslationComponent setNeedsMap(boolean value) { 2773 if (this.needsMap == null) 2774 this.needsMap = new BooleanType(); 2775 this.needsMap.setValue(value); 2776 return this; 2777 } 2778 2779 protected void listChildren(List<Property> children) { 2780 super.listChildren(children); 2781 children.add(new Property("needsMap", "boolean", "Whether the client must identify the map.", 0, 1, needsMap)); 2782 } 2783 2784 @Override 2785 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2786 switch (_hash) { 2787 case 866566527: /*needsMap*/ return new Property("needsMap", "boolean", "Whether the client must identify the map.", 0, 1, needsMap); 2788 default: return super.getNamedProperty(_hash, _name, _checkValid); 2789 } 2790 2791 } 2792 2793 @Override 2794 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2795 switch (hash) { 2796 case 866566527: /*needsMap*/ return this.needsMap == null ? new Base[0] : new Base[] {this.needsMap}; // BooleanType 2797 default: return super.getProperty(hash, name, checkValid); 2798 } 2799 2800 } 2801 2802 @Override 2803 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2804 switch (hash) { 2805 case 866566527: // needsMap 2806 this.needsMap = TypeConvertor.castToBoolean(value); // BooleanType 2807 return value; 2808 default: return super.setProperty(hash, name, value); 2809 } 2810 2811 } 2812 2813 @Override 2814 public Base setProperty(String name, Base value) throws FHIRException { 2815 if (name.equals("needsMap")) { 2816 this.needsMap = TypeConvertor.castToBoolean(value); // BooleanType 2817 } else 2818 return super.setProperty(name, value); 2819 return value; 2820 } 2821 2822 @Override 2823 public Base makeProperty(int hash, String name) throws FHIRException { 2824 switch (hash) { 2825 case 866566527: return getNeedsMapElement(); 2826 default: return super.makeProperty(hash, name); 2827 } 2828 2829 } 2830 2831 @Override 2832 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2833 switch (hash) { 2834 case 866566527: /*needsMap*/ return new String[] {"boolean"}; 2835 default: return super.getTypesForProperty(hash, name); 2836 } 2837 2838 } 2839 2840 @Override 2841 public Base addChild(String name) throws FHIRException { 2842 if (name.equals("needsMap")) { 2843 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.translation.needsMap"); 2844 } 2845 else 2846 return super.addChild(name); 2847 } 2848 2849 public TerminologyCapabilitiesTranslationComponent copy() { 2850 TerminologyCapabilitiesTranslationComponent dst = new TerminologyCapabilitiesTranslationComponent(); 2851 copyValues(dst); 2852 return dst; 2853 } 2854 2855 public void copyValues(TerminologyCapabilitiesTranslationComponent dst) { 2856 super.copyValues(dst); 2857 dst.needsMap = needsMap == null ? null : needsMap.copy(); 2858 } 2859 2860 @Override 2861 public boolean equalsDeep(Base other_) { 2862 if (!super.equalsDeep(other_)) 2863 return false; 2864 if (!(other_ instanceof TerminologyCapabilitiesTranslationComponent)) 2865 return false; 2866 TerminologyCapabilitiesTranslationComponent o = (TerminologyCapabilitiesTranslationComponent) other_; 2867 return compareDeep(needsMap, o.needsMap, true); 2868 } 2869 2870 @Override 2871 public boolean equalsShallow(Base other_) { 2872 if (!super.equalsShallow(other_)) 2873 return false; 2874 if (!(other_ instanceof TerminologyCapabilitiesTranslationComponent)) 2875 return false; 2876 TerminologyCapabilitiesTranslationComponent o = (TerminologyCapabilitiesTranslationComponent) other_; 2877 return compareValues(needsMap, o.needsMap, true); 2878 } 2879 2880 public boolean isEmpty() { 2881 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(needsMap); 2882 } 2883 2884 public String fhirType() { 2885 return "TerminologyCapabilities.translation"; 2886 2887 } 2888 2889 } 2890 2891 @Block() 2892 public static class TerminologyCapabilitiesClosureComponent extends BackboneElement implements IBaseBackboneElement { 2893 /** 2894 * If cross-system closure is supported. 2895 */ 2896 @Child(name = "translation", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) 2897 @Description(shortDefinition="If cross-system closure is supported", formalDefinition="If cross-system closure is supported." ) 2898 protected BooleanType translation; 2899 2900 private static final long serialVersionUID = 1900484343L; 2901 2902 /** 2903 * Constructor 2904 */ 2905 public TerminologyCapabilitiesClosureComponent() { 2906 super(); 2907 } 2908 2909 /** 2910 * @return {@link #translation} (If cross-system closure is supported.). This is the underlying object with id, value and extensions. The accessor "getTranslation" gives direct access to the value 2911 */ 2912 public BooleanType getTranslationElement() { 2913 if (this.translation == null) 2914 if (Configuration.errorOnAutoCreate()) 2915 throw new Error("Attempt to auto-create TerminologyCapabilitiesClosureComponent.translation"); 2916 else if (Configuration.doAutoCreate()) 2917 this.translation = new BooleanType(); // bb 2918 return this.translation; 2919 } 2920 2921 public boolean hasTranslationElement() { 2922 return this.translation != null && !this.translation.isEmpty(); 2923 } 2924 2925 public boolean hasTranslation() { 2926 return this.translation != null && !this.translation.isEmpty(); 2927 } 2928 2929 /** 2930 * @param value {@link #translation} (If cross-system closure is supported.). This is the underlying object with id, value and extensions. The accessor "getTranslation" gives direct access to the value 2931 */ 2932 public TerminologyCapabilitiesClosureComponent setTranslationElement(BooleanType value) { 2933 this.translation = value; 2934 return this; 2935 } 2936 2937 /** 2938 * @return If cross-system closure is supported. 2939 */ 2940 public boolean getTranslation() { 2941 return this.translation == null || this.translation.isEmpty() ? false : this.translation.getValue(); 2942 } 2943 2944 /** 2945 * @param value If cross-system closure is supported. 2946 */ 2947 public TerminologyCapabilitiesClosureComponent setTranslation(boolean value) { 2948 if (this.translation == null) 2949 this.translation = new BooleanType(); 2950 this.translation.setValue(value); 2951 return this; 2952 } 2953 2954 protected void listChildren(List<Property> children) { 2955 super.listChildren(children); 2956 children.add(new Property("translation", "boolean", "If cross-system closure is supported.", 0, 1, translation)); 2957 } 2958 2959 @Override 2960 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2961 switch (_hash) { 2962 case -1840647503: /*translation*/ return new Property("translation", "boolean", "If cross-system closure is supported.", 0, 1, translation); 2963 default: return super.getNamedProperty(_hash, _name, _checkValid); 2964 } 2965 2966 } 2967 2968 @Override 2969 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2970 switch (hash) { 2971 case -1840647503: /*translation*/ return this.translation == null ? new Base[0] : new Base[] {this.translation}; // BooleanType 2972 default: return super.getProperty(hash, name, checkValid); 2973 } 2974 2975 } 2976 2977 @Override 2978 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2979 switch (hash) { 2980 case -1840647503: // translation 2981 this.translation = TypeConvertor.castToBoolean(value); // BooleanType 2982 return value; 2983 default: return super.setProperty(hash, name, value); 2984 } 2985 2986 } 2987 2988 @Override 2989 public Base setProperty(String name, Base value) throws FHIRException { 2990 if (name.equals("translation")) { 2991 this.translation = TypeConvertor.castToBoolean(value); // BooleanType 2992 } else 2993 return super.setProperty(name, value); 2994 return value; 2995 } 2996 2997 @Override 2998 public Base makeProperty(int hash, String name) throws FHIRException { 2999 switch (hash) { 3000 case -1840647503: return getTranslationElement(); 3001 default: return super.makeProperty(hash, name); 3002 } 3003 3004 } 3005 3006 @Override 3007 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 3008 switch (hash) { 3009 case -1840647503: /*translation*/ return new String[] {"boolean"}; 3010 default: return super.getTypesForProperty(hash, name); 3011 } 3012 3013 } 3014 3015 @Override 3016 public Base addChild(String name) throws FHIRException { 3017 if (name.equals("translation")) { 3018 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.closure.translation"); 3019 } 3020 else 3021 return super.addChild(name); 3022 } 3023 3024 public TerminologyCapabilitiesClosureComponent copy() { 3025 TerminologyCapabilitiesClosureComponent dst = new TerminologyCapabilitiesClosureComponent(); 3026 copyValues(dst); 3027 return dst; 3028 } 3029 3030 public void copyValues(TerminologyCapabilitiesClosureComponent dst) { 3031 super.copyValues(dst); 3032 dst.translation = translation == null ? null : translation.copy(); 3033 } 3034 3035 @Override 3036 public boolean equalsDeep(Base other_) { 3037 if (!super.equalsDeep(other_)) 3038 return false; 3039 if (!(other_ instanceof TerminologyCapabilitiesClosureComponent)) 3040 return false; 3041 TerminologyCapabilitiesClosureComponent o = (TerminologyCapabilitiesClosureComponent) other_; 3042 return compareDeep(translation, o.translation, true); 3043 } 3044 3045 @Override 3046 public boolean equalsShallow(Base other_) { 3047 if (!super.equalsShallow(other_)) 3048 return false; 3049 if (!(other_ instanceof TerminologyCapabilitiesClosureComponent)) 3050 return false; 3051 TerminologyCapabilitiesClosureComponent o = (TerminologyCapabilitiesClosureComponent) other_; 3052 return compareValues(translation, o.translation, true); 3053 } 3054 3055 public boolean isEmpty() { 3056 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(translation); 3057 } 3058 3059 public String fhirType() { 3060 return "TerminologyCapabilities.closure"; 3061 3062 } 3063 3064 } 3065 3066 /** 3067 * An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. 3068 */ 3069 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 3070 @Description(shortDefinition="Canonical identifier for this terminology capabilities, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers." ) 3071 protected UriType url; 3072 3073 /** 3074 * A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance. 3075 */ 3076 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3077 @Description(shortDefinition="Additional identifier for the terminology capabilities", formalDefinition="A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 3078 protected List<Identifier> identifier; 3079 3080 /** 3081 * The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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. 3082 */ 3083 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 3084 @Description(shortDefinition="Business version of the terminology capabilities", formalDefinition="The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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." ) 3085 protected StringType version; 3086 3087 /** 3088 * A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3089 */ 3090 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 3091 @Description(shortDefinition="Name for this terminology capabilities (computer friendly)", formalDefinition="A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 3092 protected StringType name; 3093 3094 /** 3095 * A short, descriptive, user-friendly title for the terminology capabilities. 3096 */ 3097 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 3098 @Description(shortDefinition="Name for this terminology capabilities (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the terminology capabilities." ) 3099 protected StringType title; 3100 3101 /** 3102 * The status of this terminology capabilities. Enables tracking the life-cycle of the content. 3103 */ 3104 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 3105 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this terminology capabilities. Enables tracking the life-cycle of the content." ) 3106 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 3107 protected Enumeration<PublicationStatus> status; 3108 3109 /** 3110 * A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3111 */ 3112 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 3113 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 3114 protected BooleanType experimental; 3115 3116 /** 3117 * The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes. 3118 */ 3119 @Child(name = "date", type = {DateTimeType.class}, order=7, min=1, max=1, modifier=false, summary=true) 3120 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes." ) 3121 protected DateTimeType date; 3122 3123 /** 3124 * The name of the organization or individual that published the terminology capabilities. 3125 */ 3126 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 3127 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the terminology capabilities." ) 3128 protected StringType publisher; 3129 3130 /** 3131 * Contact details to assist a user in finding and communicating with the publisher. 3132 */ 3133 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3134 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 3135 protected List<ContactDetail> contact; 3136 3137 /** 3138 * A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. 3139 */ 3140 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 3141 @Description(shortDefinition="Natural language description of the terminology capabilities", formalDefinition="A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP." ) 3142 protected MarkdownType description; 3143 3144 /** 3145 * 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 terminology capabilities instances. 3146 */ 3147 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3148 @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 terminology capabilities instances." ) 3149 protected List<UsageContext> useContext; 3150 3151 /** 3152 * A legal or geographic region in which the terminology capabilities is intended to be used. 3153 */ 3154 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 3155 @Description(shortDefinition="Intended jurisdiction for terminology capabilities (if applicable)", formalDefinition="A legal or geographic region in which the terminology capabilities is intended to be used." ) 3156 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 3157 protected List<CodeableConcept> jurisdiction; 3158 3159 /** 3160 * Explanation of why this terminology capabilities is needed and why it has been designed as it has. 3161 */ 3162 @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) 3163 @Description(shortDefinition="Why this terminology capabilities is defined", formalDefinition="Explanation of why this terminology capabilities is needed and why it has been designed as it has." ) 3164 protected MarkdownType purpose; 3165 3166 /** 3167 * A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. 3168 */ 3169 @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=true) 3170 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities." ) 3171 protected MarkdownType copyright; 3172 3173 /** 3174 * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). 3175 */ 3176 @Child(name = "kind", type = {CodeType.class}, order=15, min=1, max=1, modifier=false, summary=true) 3177 @Description(shortDefinition="instance | capability | requirements", formalDefinition="The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase)." ) 3178 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-statement-kind") 3179 protected Enumeration<CapabilityStatementKind> kind; 3180 3181 /** 3182 * Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation. 3183 */ 3184 @Child(name = "software", type = {}, order=16, min=0, max=1, modifier=false, summary=true) 3185 @Description(shortDefinition="Software that is covered by this terminology capability statement", formalDefinition="Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation." ) 3186 protected TerminologyCapabilitiesSoftwareComponent software; 3187 3188 /** 3189 * Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program. 3190 */ 3191 @Child(name = "implementation", type = {}, order=17, min=0, max=1, modifier=false, summary=true) 3192 @Description(shortDefinition="If this describes a specific instance", formalDefinition="Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program." ) 3193 protected TerminologyCapabilitiesImplementationComponent implementation; 3194 3195 /** 3196 * Whether the server supports lockedDate. 3197 */ 3198 @Child(name = "lockedDate", type = {BooleanType.class}, order=18, min=0, max=1, modifier=false, summary=true) 3199 @Description(shortDefinition="Whether lockedDate is supported", formalDefinition="Whether the server supports lockedDate." ) 3200 protected BooleanType lockedDate; 3201 3202 /** 3203 * Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource. 3204 */ 3205 @Child(name = "codeSystem", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 3206 @Description(shortDefinition="A code system supported by the server", formalDefinition="Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource." ) 3207 protected List<TerminologyCapabilitiesCodeSystemComponent> codeSystem; 3208 3209 /** 3210 * Information about the [ValueSet/$expand](valueset-operation-expand.html) operation. 3211 */ 3212 @Child(name = "expansion", type = {}, order=20, min=0, max=1, modifier=false, summary=false) 3213 @Description(shortDefinition="Information about the [ValueSet/$expand](valueset-operation-expand.html) operation", formalDefinition="Information about the [ValueSet/$expand](valueset-operation-expand.html) operation." ) 3214 protected TerminologyCapabilitiesExpansionComponent expansion; 3215 3216 /** 3217 * The degree to which the server supports the code search parameter on ValueSet, if it is supported. 3218 */ 3219 @Child(name = "codeSearch", type = {CodeType.class}, order=21, min=0, max=1, modifier=false, summary=false) 3220 @Description(shortDefinition="explicit | all", formalDefinition="The degree to which the server supports the code search parameter on ValueSet, if it is supported." ) 3221 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/code-search-support") 3222 protected Enumeration<CodeSearchSupport> codeSearch; 3223 3224 /** 3225 * Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation. 3226 */ 3227 @Child(name = "validateCode", type = {}, order=22, min=0, max=1, modifier=false, summary=false) 3228 @Description(shortDefinition="Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation", formalDefinition="Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation." ) 3229 protected TerminologyCapabilitiesValidateCodeComponent validateCode; 3230 3231 /** 3232 * Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation. 3233 */ 3234 @Child(name = "translation", type = {}, order=23, min=0, max=1, modifier=false, summary=false) 3235 @Description(shortDefinition="Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation", formalDefinition="Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation." ) 3236 protected TerminologyCapabilitiesTranslationComponent translation; 3237 3238 /** 3239 * Whether the $closure operation is supported. 3240 */ 3241 @Child(name = "closure", type = {}, order=24, min=0, max=1, modifier=false, summary=false) 3242 @Description(shortDefinition="Information about the [ConceptMap/$closure](conceptmap-operation-closure.html) operation", formalDefinition="Whether the $closure operation is supported." ) 3243 protected TerminologyCapabilitiesClosureComponent closure; 3244 3245 private static final long serialVersionUID = 1685724657L; 3246 3247 /** 3248 * Constructor 3249 */ 3250 public TerminologyCapabilities() { 3251 super(); 3252 } 3253 3254 /** 3255 * Constructor 3256 */ 3257 public TerminologyCapabilities(PublicationStatus status, Date date, CapabilityStatementKind kind) { 3258 super(); 3259 this.setStatus(status); 3260 this.setDate(date); 3261 this.setKind(kind); 3262 } 3263 3264 /** 3265 * @return {@link #url} (An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3266 */ 3267 public UriType getUrlElement() { 3268 if (this.url == null) 3269 if (Configuration.errorOnAutoCreate()) 3270 throw new Error("Attempt to auto-create TerminologyCapabilities.url"); 3271 else if (Configuration.doAutoCreate()) 3272 this.url = new UriType(); // bb 3273 return this.url; 3274 } 3275 3276 public boolean hasUrlElement() { 3277 return this.url != null && !this.url.isEmpty(); 3278 } 3279 3280 public boolean hasUrl() { 3281 return this.url != null && !this.url.isEmpty(); 3282 } 3283 3284 /** 3285 * @param value {@link #url} (An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 3286 */ 3287 public TerminologyCapabilities setUrlElement(UriType value) { 3288 this.url = value; 3289 return this; 3290 } 3291 3292 /** 3293 * @return An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. 3294 */ 3295 public String getUrl() { 3296 return this.url == null ? null : this.url.getValue(); 3297 } 3298 3299 /** 3300 * @param value An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. 3301 */ 3302 public TerminologyCapabilities setUrl(String value) { 3303 if (Utilities.noString(value)) 3304 this.url = null; 3305 else { 3306 if (this.url == null) 3307 this.url = new UriType(); 3308 this.url.setValue(value); 3309 } 3310 return this; 3311 } 3312 3313 /** 3314 * @return {@link #identifier} (A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance.) 3315 */ 3316 public List<Identifier> getIdentifier() { 3317 if (this.identifier == null) 3318 this.identifier = new ArrayList<Identifier>(); 3319 return this.identifier; 3320 } 3321 3322 /** 3323 * @return Returns a reference to <code>this</code> for easy method chaining 3324 */ 3325 public TerminologyCapabilities setIdentifier(List<Identifier> theIdentifier) { 3326 this.identifier = theIdentifier; 3327 return this; 3328 } 3329 3330 public boolean hasIdentifier() { 3331 if (this.identifier == null) 3332 return false; 3333 for (Identifier item : this.identifier) 3334 if (!item.isEmpty()) 3335 return true; 3336 return false; 3337 } 3338 3339 public Identifier addIdentifier() { //3 3340 Identifier t = new Identifier(); 3341 if (this.identifier == null) 3342 this.identifier = new ArrayList<Identifier>(); 3343 this.identifier.add(t); 3344 return t; 3345 } 3346 3347 public TerminologyCapabilities addIdentifier(Identifier t) { //3 3348 if (t == null) 3349 return this; 3350 if (this.identifier == null) 3351 this.identifier = new ArrayList<Identifier>(); 3352 this.identifier.add(t); 3353 return this; 3354 } 3355 3356 /** 3357 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 3358 */ 3359 public Identifier getIdentifierFirstRep() { 3360 if (getIdentifier().isEmpty()) { 3361 addIdentifier(); 3362 } 3363 return getIdentifier().get(0); 3364 } 3365 3366 /** 3367 * @return {@link #version} (The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3368 */ 3369 public StringType getVersionElement() { 3370 if (this.version == null) 3371 if (Configuration.errorOnAutoCreate()) 3372 throw new Error("Attempt to auto-create TerminologyCapabilities.version"); 3373 else if (Configuration.doAutoCreate()) 3374 this.version = new StringType(); // bb 3375 return this.version; 3376 } 3377 3378 public boolean hasVersionElement() { 3379 return this.version != null && !this.version.isEmpty(); 3380 } 3381 3382 public boolean hasVersion() { 3383 return this.version != null && !this.version.isEmpty(); 3384 } 3385 3386 /** 3387 * @param value {@link #version} (The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 3388 */ 3389 public TerminologyCapabilities setVersionElement(StringType value) { 3390 this.version = value; 3391 return this; 3392 } 3393 3394 /** 3395 * @return The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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. 3396 */ 3397 public String getVersion() { 3398 return this.version == null ? null : this.version.getValue(); 3399 } 3400 3401 /** 3402 * @param value The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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. 3403 */ 3404 public TerminologyCapabilities setVersion(String value) { 3405 if (Utilities.noString(value)) 3406 this.version = null; 3407 else { 3408 if (this.version == null) 3409 this.version = new StringType(); 3410 this.version.setValue(value); 3411 } 3412 return this; 3413 } 3414 3415 /** 3416 * @return {@link #name} (A natural language name identifying the terminology capabilities. 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 3417 */ 3418 public StringType getNameElement() { 3419 if (this.name == null) 3420 if (Configuration.errorOnAutoCreate()) 3421 throw new Error("Attempt to auto-create TerminologyCapabilities.name"); 3422 else if (Configuration.doAutoCreate()) 3423 this.name = new StringType(); // bb 3424 return this.name; 3425 } 3426 3427 public boolean hasNameElement() { 3428 return this.name != null && !this.name.isEmpty(); 3429 } 3430 3431 public boolean hasName() { 3432 return this.name != null && !this.name.isEmpty(); 3433 } 3434 3435 /** 3436 * @param value {@link #name} (A natural language name identifying the terminology capabilities. 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 3437 */ 3438 public TerminologyCapabilities setNameElement(StringType value) { 3439 this.name = value; 3440 return this; 3441 } 3442 3443 /** 3444 * @return A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3445 */ 3446 public String getName() { 3447 return this.name == null ? null : this.name.getValue(); 3448 } 3449 3450 /** 3451 * @param value A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation. 3452 */ 3453 public TerminologyCapabilities setName(String value) { 3454 if (Utilities.noString(value)) 3455 this.name = null; 3456 else { 3457 if (this.name == null) 3458 this.name = new StringType(); 3459 this.name.setValue(value); 3460 } 3461 return this; 3462 } 3463 3464 /** 3465 * @return {@link #title} (A short, descriptive, user-friendly title for the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3466 */ 3467 public StringType getTitleElement() { 3468 if (this.title == null) 3469 if (Configuration.errorOnAutoCreate()) 3470 throw new Error("Attempt to auto-create TerminologyCapabilities.title"); 3471 else if (Configuration.doAutoCreate()) 3472 this.title = new StringType(); // bb 3473 return this.title; 3474 } 3475 3476 public boolean hasTitleElement() { 3477 return this.title != null && !this.title.isEmpty(); 3478 } 3479 3480 public boolean hasTitle() { 3481 return this.title != null && !this.title.isEmpty(); 3482 } 3483 3484 /** 3485 * @param value {@link #title} (A short, descriptive, user-friendly title for the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 3486 */ 3487 public TerminologyCapabilities setTitleElement(StringType value) { 3488 this.title = value; 3489 return this; 3490 } 3491 3492 /** 3493 * @return A short, descriptive, user-friendly title for the terminology capabilities. 3494 */ 3495 public String getTitle() { 3496 return this.title == null ? null : this.title.getValue(); 3497 } 3498 3499 /** 3500 * @param value A short, descriptive, user-friendly title for the terminology capabilities. 3501 */ 3502 public TerminologyCapabilities setTitle(String value) { 3503 if (Utilities.noString(value)) 3504 this.title = null; 3505 else { 3506 if (this.title == null) 3507 this.title = new StringType(); 3508 this.title.setValue(value); 3509 } 3510 return this; 3511 } 3512 3513 /** 3514 * @return {@link #status} (The status of this terminology capabilities. 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 3515 */ 3516 public Enumeration<PublicationStatus> getStatusElement() { 3517 if (this.status == null) 3518 if (Configuration.errorOnAutoCreate()) 3519 throw new Error("Attempt to auto-create TerminologyCapabilities.status"); 3520 else if (Configuration.doAutoCreate()) 3521 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 3522 return this.status; 3523 } 3524 3525 public boolean hasStatusElement() { 3526 return this.status != null && !this.status.isEmpty(); 3527 } 3528 3529 public boolean hasStatus() { 3530 return this.status != null && !this.status.isEmpty(); 3531 } 3532 3533 /** 3534 * @param value {@link #status} (The status of this terminology capabilities. 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 3535 */ 3536 public TerminologyCapabilities setStatusElement(Enumeration<PublicationStatus> value) { 3537 this.status = value; 3538 return this; 3539 } 3540 3541 /** 3542 * @return The status of this terminology capabilities. Enables tracking the life-cycle of the content. 3543 */ 3544 public PublicationStatus getStatus() { 3545 return this.status == null ? null : this.status.getValue(); 3546 } 3547 3548 /** 3549 * @param value The status of this terminology capabilities. Enables tracking the life-cycle of the content. 3550 */ 3551 public TerminologyCapabilities setStatus(PublicationStatus value) { 3552 if (this.status == null) 3553 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 3554 this.status.setValue(value); 3555 return this; 3556 } 3557 3558 /** 3559 * @return {@link #experimental} (A Boolean value to indicate that this terminology capabilities 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 3560 */ 3561 public BooleanType getExperimentalElement() { 3562 if (this.experimental == null) 3563 if (Configuration.errorOnAutoCreate()) 3564 throw new Error("Attempt to auto-create TerminologyCapabilities.experimental"); 3565 else if (Configuration.doAutoCreate()) 3566 this.experimental = new BooleanType(); // bb 3567 return this.experimental; 3568 } 3569 3570 public boolean hasExperimentalElement() { 3571 return this.experimental != null && !this.experimental.isEmpty(); 3572 } 3573 3574 public boolean hasExperimental() { 3575 return this.experimental != null && !this.experimental.isEmpty(); 3576 } 3577 3578 /** 3579 * @param value {@link #experimental} (A Boolean value to indicate that this terminology capabilities 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 3580 */ 3581 public TerminologyCapabilities setExperimentalElement(BooleanType value) { 3582 this.experimental = value; 3583 return this; 3584 } 3585 3586 /** 3587 * @return A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3588 */ 3589 public boolean getExperimental() { 3590 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 3591 } 3592 3593 /** 3594 * @param value A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3595 */ 3596 public TerminologyCapabilities setExperimental(boolean value) { 3597 if (this.experimental == null) 3598 this.experimental = new BooleanType(); 3599 this.experimental.setValue(value); 3600 return this; 3601 } 3602 3603 /** 3604 * @return {@link #date} (The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 3605 */ 3606 public DateTimeType getDateElement() { 3607 if (this.date == null) 3608 if (Configuration.errorOnAutoCreate()) 3609 throw new Error("Attempt to auto-create TerminologyCapabilities.date"); 3610 else if (Configuration.doAutoCreate()) 3611 this.date = new DateTimeType(); // bb 3612 return this.date; 3613 } 3614 3615 public boolean hasDateElement() { 3616 return this.date != null && !this.date.isEmpty(); 3617 } 3618 3619 public boolean hasDate() { 3620 return this.date != null && !this.date.isEmpty(); 3621 } 3622 3623 /** 3624 * @param value {@link #date} (The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 3625 */ 3626 public TerminologyCapabilities setDateElement(DateTimeType value) { 3627 this.date = value; 3628 return this; 3629 } 3630 3631 /** 3632 * @return The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes. 3633 */ 3634 public Date getDate() { 3635 return this.date == null ? null : this.date.getValue(); 3636 } 3637 3638 /** 3639 * @param value The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes. 3640 */ 3641 public TerminologyCapabilities setDate(Date value) { 3642 if (this.date == null) 3643 this.date = new DateTimeType(); 3644 this.date.setValue(value); 3645 return this; 3646 } 3647 3648 /** 3649 * @return {@link #publisher} (The name of the organization or individual that published the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 3650 */ 3651 public StringType getPublisherElement() { 3652 if (this.publisher == null) 3653 if (Configuration.errorOnAutoCreate()) 3654 throw new Error("Attempt to auto-create TerminologyCapabilities.publisher"); 3655 else if (Configuration.doAutoCreate()) 3656 this.publisher = new StringType(); // bb 3657 return this.publisher; 3658 } 3659 3660 public boolean hasPublisherElement() { 3661 return this.publisher != null && !this.publisher.isEmpty(); 3662 } 3663 3664 public boolean hasPublisher() { 3665 return this.publisher != null && !this.publisher.isEmpty(); 3666 } 3667 3668 /** 3669 * @param value {@link #publisher} (The name of the organization or individual that published the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 3670 */ 3671 public TerminologyCapabilities setPublisherElement(StringType value) { 3672 this.publisher = value; 3673 return this; 3674 } 3675 3676 /** 3677 * @return The name of the organization or individual that published the terminology capabilities. 3678 */ 3679 public String getPublisher() { 3680 return this.publisher == null ? null : this.publisher.getValue(); 3681 } 3682 3683 /** 3684 * @param value The name of the organization or individual that published the terminology capabilities. 3685 */ 3686 public TerminologyCapabilities setPublisher(String value) { 3687 if (Utilities.noString(value)) 3688 this.publisher = null; 3689 else { 3690 if (this.publisher == null) 3691 this.publisher = new StringType(); 3692 this.publisher.setValue(value); 3693 } 3694 return this; 3695 } 3696 3697 /** 3698 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 3699 */ 3700 public List<ContactDetail> getContact() { 3701 if (this.contact == null) 3702 this.contact = new ArrayList<ContactDetail>(); 3703 return this.contact; 3704 } 3705 3706 /** 3707 * @return Returns a reference to <code>this</code> for easy method chaining 3708 */ 3709 public TerminologyCapabilities setContact(List<ContactDetail> theContact) { 3710 this.contact = theContact; 3711 return this; 3712 } 3713 3714 public boolean hasContact() { 3715 if (this.contact == null) 3716 return false; 3717 for (ContactDetail item : this.contact) 3718 if (!item.isEmpty()) 3719 return true; 3720 return false; 3721 } 3722 3723 public ContactDetail addContact() { //3 3724 ContactDetail t = new ContactDetail(); 3725 if (this.contact == null) 3726 this.contact = new ArrayList<ContactDetail>(); 3727 this.contact.add(t); 3728 return t; 3729 } 3730 3731 public TerminologyCapabilities addContact(ContactDetail t) { //3 3732 if (t == null) 3733 return this; 3734 if (this.contact == null) 3735 this.contact = new ArrayList<ContactDetail>(); 3736 this.contact.add(t); 3737 return this; 3738 } 3739 3740 /** 3741 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 3742 */ 3743 public ContactDetail getContactFirstRep() { 3744 if (getContact().isEmpty()) { 3745 addContact(); 3746 } 3747 return getContact().get(0); 3748 } 3749 3750 /** 3751 * @return {@link #description} (A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3752 */ 3753 public MarkdownType getDescriptionElement() { 3754 if (this.description == null) 3755 if (Configuration.errorOnAutoCreate()) 3756 throw new Error("Attempt to auto-create TerminologyCapabilities.description"); 3757 else if (Configuration.doAutoCreate()) 3758 this.description = new MarkdownType(); // bb 3759 return this.description; 3760 } 3761 3762 public boolean hasDescriptionElement() { 3763 return this.description != null && !this.description.isEmpty(); 3764 } 3765 3766 public boolean hasDescription() { 3767 return this.description != null && !this.description.isEmpty(); 3768 } 3769 3770 /** 3771 * @param value {@link #description} (A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3772 */ 3773 public TerminologyCapabilities setDescriptionElement(MarkdownType value) { 3774 this.description = value; 3775 return this; 3776 } 3777 3778 /** 3779 * @return A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. 3780 */ 3781 public String getDescription() { 3782 return this.description == null ? null : this.description.getValue(); 3783 } 3784 3785 /** 3786 * @param value A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. 3787 */ 3788 public TerminologyCapabilities setDescription(String value) { 3789 if (value == null) 3790 this.description = null; 3791 else { 3792 if (this.description == null) 3793 this.description = new MarkdownType(); 3794 this.description.setValue(value); 3795 } 3796 return this; 3797 } 3798 3799 /** 3800 * @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 terminology capabilities instances.) 3801 */ 3802 public List<UsageContext> getUseContext() { 3803 if (this.useContext == null) 3804 this.useContext = new ArrayList<UsageContext>(); 3805 return this.useContext; 3806 } 3807 3808 /** 3809 * @return Returns a reference to <code>this</code> for easy method chaining 3810 */ 3811 public TerminologyCapabilities setUseContext(List<UsageContext> theUseContext) { 3812 this.useContext = theUseContext; 3813 return this; 3814 } 3815 3816 public boolean hasUseContext() { 3817 if (this.useContext == null) 3818 return false; 3819 for (UsageContext item : this.useContext) 3820 if (!item.isEmpty()) 3821 return true; 3822 return false; 3823 } 3824 3825 public UsageContext addUseContext() { //3 3826 UsageContext t = new UsageContext(); 3827 if (this.useContext == null) 3828 this.useContext = new ArrayList<UsageContext>(); 3829 this.useContext.add(t); 3830 return t; 3831 } 3832 3833 public TerminologyCapabilities addUseContext(UsageContext t) { //3 3834 if (t == null) 3835 return this; 3836 if (this.useContext == null) 3837 this.useContext = new ArrayList<UsageContext>(); 3838 this.useContext.add(t); 3839 return this; 3840 } 3841 3842 /** 3843 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 3844 */ 3845 public UsageContext getUseContextFirstRep() { 3846 if (getUseContext().isEmpty()) { 3847 addUseContext(); 3848 } 3849 return getUseContext().get(0); 3850 } 3851 3852 /** 3853 * @return {@link #jurisdiction} (A legal or geographic region in which the terminology capabilities is intended to be used.) 3854 */ 3855 public List<CodeableConcept> getJurisdiction() { 3856 if (this.jurisdiction == null) 3857 this.jurisdiction = new ArrayList<CodeableConcept>(); 3858 return this.jurisdiction; 3859 } 3860 3861 /** 3862 * @return Returns a reference to <code>this</code> for easy method chaining 3863 */ 3864 public TerminologyCapabilities setJurisdiction(List<CodeableConcept> theJurisdiction) { 3865 this.jurisdiction = theJurisdiction; 3866 return this; 3867 } 3868 3869 public boolean hasJurisdiction() { 3870 if (this.jurisdiction == null) 3871 return false; 3872 for (CodeableConcept item : this.jurisdiction) 3873 if (!item.isEmpty()) 3874 return true; 3875 return false; 3876 } 3877 3878 public CodeableConcept addJurisdiction() { //3 3879 CodeableConcept t = new CodeableConcept(); 3880 if (this.jurisdiction == null) 3881 this.jurisdiction = new ArrayList<CodeableConcept>(); 3882 this.jurisdiction.add(t); 3883 return t; 3884 } 3885 3886 public TerminologyCapabilities addJurisdiction(CodeableConcept t) { //3 3887 if (t == null) 3888 return this; 3889 if (this.jurisdiction == null) 3890 this.jurisdiction = new ArrayList<CodeableConcept>(); 3891 this.jurisdiction.add(t); 3892 return this; 3893 } 3894 3895 /** 3896 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 3897 */ 3898 public CodeableConcept getJurisdictionFirstRep() { 3899 if (getJurisdiction().isEmpty()) { 3900 addJurisdiction(); 3901 } 3902 return getJurisdiction().get(0); 3903 } 3904 3905 /** 3906 * @return {@link #purpose} (Explanation of why this terminology capabilities 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 3907 */ 3908 public MarkdownType getPurposeElement() { 3909 if (this.purpose == null) 3910 if (Configuration.errorOnAutoCreate()) 3911 throw new Error("Attempt to auto-create TerminologyCapabilities.purpose"); 3912 else if (Configuration.doAutoCreate()) 3913 this.purpose = new MarkdownType(); // bb 3914 return this.purpose; 3915 } 3916 3917 public boolean hasPurposeElement() { 3918 return this.purpose != null && !this.purpose.isEmpty(); 3919 } 3920 3921 public boolean hasPurpose() { 3922 return this.purpose != null && !this.purpose.isEmpty(); 3923 } 3924 3925 /** 3926 * @param value {@link #purpose} (Explanation of why this terminology capabilities 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 3927 */ 3928 public TerminologyCapabilities setPurposeElement(MarkdownType value) { 3929 this.purpose = value; 3930 return this; 3931 } 3932 3933 /** 3934 * @return Explanation of why this terminology capabilities is needed and why it has been designed as it has. 3935 */ 3936 public String getPurpose() { 3937 return this.purpose == null ? null : this.purpose.getValue(); 3938 } 3939 3940 /** 3941 * @param value Explanation of why this terminology capabilities is needed and why it has been designed as it has. 3942 */ 3943 public TerminologyCapabilities setPurpose(String value) { 3944 if (value == null) 3945 this.purpose = null; 3946 else { 3947 if (this.purpose == null) 3948 this.purpose = new MarkdownType(); 3949 this.purpose.setValue(value); 3950 } 3951 return this; 3952 } 3953 3954 /** 3955 * @return {@link #copyright} (A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3956 */ 3957 public MarkdownType getCopyrightElement() { 3958 if (this.copyright == null) 3959 if (Configuration.errorOnAutoCreate()) 3960 throw new Error("Attempt to auto-create TerminologyCapabilities.copyright"); 3961 else if (Configuration.doAutoCreate()) 3962 this.copyright = new MarkdownType(); // bb 3963 return this.copyright; 3964 } 3965 3966 public boolean hasCopyrightElement() { 3967 return this.copyright != null && !this.copyright.isEmpty(); 3968 } 3969 3970 public boolean hasCopyright() { 3971 return this.copyright != null && !this.copyright.isEmpty(); 3972 } 3973 3974 /** 3975 * @param value {@link #copyright} (A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3976 */ 3977 public TerminologyCapabilities setCopyrightElement(MarkdownType value) { 3978 this.copyright = value; 3979 return this; 3980 } 3981 3982 /** 3983 * @return A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. 3984 */ 3985 public String getCopyright() { 3986 return this.copyright == null ? null : this.copyright.getValue(); 3987 } 3988 3989 /** 3990 * @param value A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities. 3991 */ 3992 public TerminologyCapabilities setCopyright(String value) { 3993 if (value == null) 3994 this.copyright = null; 3995 else { 3996 if (this.copyright == null) 3997 this.copyright = new MarkdownType(); 3998 this.copyright.setValue(value); 3999 } 4000 return this; 4001 } 4002 4003 /** 4004 * @return {@link #kind} (The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 4005 */ 4006 public Enumeration<CapabilityStatementKind> getKindElement() { 4007 if (this.kind == null) 4008 if (Configuration.errorOnAutoCreate()) 4009 throw new Error("Attempt to auto-create TerminologyCapabilities.kind"); 4010 else if (Configuration.doAutoCreate()) 4011 this.kind = new Enumeration<CapabilityStatementKind>(new CapabilityStatementKindEnumFactory()); // bb 4012 return this.kind; 4013 } 4014 4015 public boolean hasKindElement() { 4016 return this.kind != null && !this.kind.isEmpty(); 4017 } 4018 4019 public boolean hasKind() { 4020 return this.kind != null && !this.kind.isEmpty(); 4021 } 4022 4023 /** 4024 * @param value {@link #kind} (The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value 4025 */ 4026 public TerminologyCapabilities setKindElement(Enumeration<CapabilityStatementKind> value) { 4027 this.kind = value; 4028 return this; 4029 } 4030 4031 /** 4032 * @return The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). 4033 */ 4034 public CapabilityStatementKind getKind() { 4035 return this.kind == null ? null : this.kind.getValue(); 4036 } 4037 4038 /** 4039 * @param value The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). 4040 */ 4041 public TerminologyCapabilities setKind(CapabilityStatementKind value) { 4042 if (this.kind == null) 4043 this.kind = new Enumeration<CapabilityStatementKind>(new CapabilityStatementKindEnumFactory()); 4044 this.kind.setValue(value); 4045 return this; 4046 } 4047 4048 /** 4049 * @return {@link #software} (Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.) 4050 */ 4051 public TerminologyCapabilitiesSoftwareComponent getSoftware() { 4052 if (this.software == null) 4053 if (Configuration.errorOnAutoCreate()) 4054 throw new Error("Attempt to auto-create TerminologyCapabilities.software"); 4055 else if (Configuration.doAutoCreate()) 4056 this.software = new TerminologyCapabilitiesSoftwareComponent(); // cc 4057 return this.software; 4058 } 4059 4060 public boolean hasSoftware() { 4061 return this.software != null && !this.software.isEmpty(); 4062 } 4063 4064 /** 4065 * @param value {@link #software} (Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.) 4066 */ 4067 public TerminologyCapabilities setSoftware(TerminologyCapabilitiesSoftwareComponent value) { 4068 this.software = value; 4069 return this; 4070 } 4071 4072 /** 4073 * @return {@link #implementation} (Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.) 4074 */ 4075 public TerminologyCapabilitiesImplementationComponent getImplementation() { 4076 if (this.implementation == null) 4077 if (Configuration.errorOnAutoCreate()) 4078 throw new Error("Attempt to auto-create TerminologyCapabilities.implementation"); 4079 else if (Configuration.doAutoCreate()) 4080 this.implementation = new TerminologyCapabilitiesImplementationComponent(); // cc 4081 return this.implementation; 4082 } 4083 4084 public boolean hasImplementation() { 4085 return this.implementation != null && !this.implementation.isEmpty(); 4086 } 4087 4088 /** 4089 * @param value {@link #implementation} (Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.) 4090 */ 4091 public TerminologyCapabilities setImplementation(TerminologyCapabilitiesImplementationComponent value) { 4092 this.implementation = value; 4093 return this; 4094 } 4095 4096 /** 4097 * @return {@link #lockedDate} (Whether the server supports lockedDate.). This is the underlying object with id, value and extensions. The accessor "getLockedDate" gives direct access to the value 4098 */ 4099 public BooleanType getLockedDateElement() { 4100 if (this.lockedDate == null) 4101 if (Configuration.errorOnAutoCreate()) 4102 throw new Error("Attempt to auto-create TerminologyCapabilities.lockedDate"); 4103 else if (Configuration.doAutoCreate()) 4104 this.lockedDate = new BooleanType(); // bb 4105 return this.lockedDate; 4106 } 4107 4108 public boolean hasLockedDateElement() { 4109 return this.lockedDate != null && !this.lockedDate.isEmpty(); 4110 } 4111 4112 public boolean hasLockedDate() { 4113 return this.lockedDate != null && !this.lockedDate.isEmpty(); 4114 } 4115 4116 /** 4117 * @param value {@link #lockedDate} (Whether the server supports lockedDate.). This is the underlying object with id, value and extensions. The accessor "getLockedDate" gives direct access to the value 4118 */ 4119 public TerminologyCapabilities setLockedDateElement(BooleanType value) { 4120 this.lockedDate = value; 4121 return this; 4122 } 4123 4124 /** 4125 * @return Whether the server supports lockedDate. 4126 */ 4127 public boolean getLockedDate() { 4128 return this.lockedDate == null || this.lockedDate.isEmpty() ? false : this.lockedDate.getValue(); 4129 } 4130 4131 /** 4132 * @param value Whether the server supports lockedDate. 4133 */ 4134 public TerminologyCapabilities setLockedDate(boolean value) { 4135 if (this.lockedDate == null) 4136 this.lockedDate = new BooleanType(); 4137 this.lockedDate.setValue(value); 4138 return this; 4139 } 4140 4141 /** 4142 * @return {@link #codeSystem} (Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.) 4143 */ 4144 public List<TerminologyCapabilitiesCodeSystemComponent> getCodeSystem() { 4145 if (this.codeSystem == null) 4146 this.codeSystem = new ArrayList<TerminologyCapabilitiesCodeSystemComponent>(); 4147 return this.codeSystem; 4148 } 4149 4150 /** 4151 * @return Returns a reference to <code>this</code> for easy method chaining 4152 */ 4153 public TerminologyCapabilities setCodeSystem(List<TerminologyCapabilitiesCodeSystemComponent> theCodeSystem) { 4154 this.codeSystem = theCodeSystem; 4155 return this; 4156 } 4157 4158 public boolean hasCodeSystem() { 4159 if (this.codeSystem == null) 4160 return false; 4161 for (TerminologyCapabilitiesCodeSystemComponent item : this.codeSystem) 4162 if (!item.isEmpty()) 4163 return true; 4164 return false; 4165 } 4166 4167 public TerminologyCapabilitiesCodeSystemComponent addCodeSystem() { //3 4168 TerminologyCapabilitiesCodeSystemComponent t = new TerminologyCapabilitiesCodeSystemComponent(); 4169 if (this.codeSystem == null) 4170 this.codeSystem = new ArrayList<TerminologyCapabilitiesCodeSystemComponent>(); 4171 this.codeSystem.add(t); 4172 return t; 4173 } 4174 4175 public TerminologyCapabilities addCodeSystem(TerminologyCapabilitiesCodeSystemComponent t) { //3 4176 if (t == null) 4177 return this; 4178 if (this.codeSystem == null) 4179 this.codeSystem = new ArrayList<TerminologyCapabilitiesCodeSystemComponent>(); 4180 this.codeSystem.add(t); 4181 return this; 4182 } 4183 4184 /** 4185 * @return The first repetition of repeating field {@link #codeSystem}, creating it if it does not already exist {3} 4186 */ 4187 public TerminologyCapabilitiesCodeSystemComponent getCodeSystemFirstRep() { 4188 if (getCodeSystem().isEmpty()) { 4189 addCodeSystem(); 4190 } 4191 return getCodeSystem().get(0); 4192 } 4193 4194 /** 4195 * @return {@link #expansion} (Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.) 4196 */ 4197 public TerminologyCapabilitiesExpansionComponent getExpansion() { 4198 if (this.expansion == null) 4199 if (Configuration.errorOnAutoCreate()) 4200 throw new Error("Attempt to auto-create TerminologyCapabilities.expansion"); 4201 else if (Configuration.doAutoCreate()) 4202 this.expansion = new TerminologyCapabilitiesExpansionComponent(); // cc 4203 return this.expansion; 4204 } 4205 4206 public boolean hasExpansion() { 4207 return this.expansion != null && !this.expansion.isEmpty(); 4208 } 4209 4210 /** 4211 * @param value {@link #expansion} (Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.) 4212 */ 4213 public TerminologyCapabilities setExpansion(TerminologyCapabilitiesExpansionComponent value) { 4214 this.expansion = value; 4215 return this; 4216 } 4217 4218 /** 4219 * @return {@link #codeSearch} (The degree to which the server supports the code search parameter on ValueSet, if it is supported.). This is the underlying object with id, value and extensions. The accessor "getCodeSearch" gives direct access to the value 4220 */ 4221 public Enumeration<CodeSearchSupport> getCodeSearchElement() { 4222 if (this.codeSearch == null) 4223 if (Configuration.errorOnAutoCreate()) 4224 throw new Error("Attempt to auto-create TerminologyCapabilities.codeSearch"); 4225 else if (Configuration.doAutoCreate()) 4226 this.codeSearch = new Enumeration<CodeSearchSupport>(new CodeSearchSupportEnumFactory()); // bb 4227 return this.codeSearch; 4228 } 4229 4230 public boolean hasCodeSearchElement() { 4231 return this.codeSearch != null && !this.codeSearch.isEmpty(); 4232 } 4233 4234 public boolean hasCodeSearch() { 4235 return this.codeSearch != null && !this.codeSearch.isEmpty(); 4236 } 4237 4238 /** 4239 * @param value {@link #codeSearch} (The degree to which the server supports the code search parameter on ValueSet, if it is supported.). This is the underlying object with id, value and extensions. The accessor "getCodeSearch" gives direct access to the value 4240 */ 4241 public TerminologyCapabilities setCodeSearchElement(Enumeration<CodeSearchSupport> value) { 4242 this.codeSearch = value; 4243 return this; 4244 } 4245 4246 /** 4247 * @return The degree to which the server supports the code search parameter on ValueSet, if it is supported. 4248 */ 4249 public CodeSearchSupport getCodeSearch() { 4250 return this.codeSearch == null ? null : this.codeSearch.getValue(); 4251 } 4252 4253 /** 4254 * @param value The degree to which the server supports the code search parameter on ValueSet, if it is supported. 4255 */ 4256 public TerminologyCapabilities setCodeSearch(CodeSearchSupport value) { 4257 if (value == null) 4258 this.codeSearch = null; 4259 else { 4260 if (this.codeSearch == null) 4261 this.codeSearch = new Enumeration<CodeSearchSupport>(new CodeSearchSupportEnumFactory()); 4262 this.codeSearch.setValue(value); 4263 } 4264 return this; 4265 } 4266 4267 /** 4268 * @return {@link #validateCode} (Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.) 4269 */ 4270 public TerminologyCapabilitiesValidateCodeComponent getValidateCode() { 4271 if (this.validateCode == null) 4272 if (Configuration.errorOnAutoCreate()) 4273 throw new Error("Attempt to auto-create TerminologyCapabilities.validateCode"); 4274 else if (Configuration.doAutoCreate()) 4275 this.validateCode = new TerminologyCapabilitiesValidateCodeComponent(); // cc 4276 return this.validateCode; 4277 } 4278 4279 public boolean hasValidateCode() { 4280 return this.validateCode != null && !this.validateCode.isEmpty(); 4281 } 4282 4283 /** 4284 * @param value {@link #validateCode} (Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.) 4285 */ 4286 public TerminologyCapabilities setValidateCode(TerminologyCapabilitiesValidateCodeComponent value) { 4287 this.validateCode = value; 4288 return this; 4289 } 4290 4291 /** 4292 * @return {@link #translation} (Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.) 4293 */ 4294 public TerminologyCapabilitiesTranslationComponent getTranslation() { 4295 if (this.translation == null) 4296 if (Configuration.errorOnAutoCreate()) 4297 throw new Error("Attempt to auto-create TerminologyCapabilities.translation"); 4298 else if (Configuration.doAutoCreate()) 4299 this.translation = new TerminologyCapabilitiesTranslationComponent(); // cc 4300 return this.translation; 4301 } 4302 4303 public boolean hasTranslation() { 4304 return this.translation != null && !this.translation.isEmpty(); 4305 } 4306 4307 /** 4308 * @param value {@link #translation} (Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.) 4309 */ 4310 public TerminologyCapabilities setTranslation(TerminologyCapabilitiesTranslationComponent value) { 4311 this.translation = value; 4312 return this; 4313 } 4314 4315 /** 4316 * @return {@link #closure} (Whether the $closure operation is supported.) 4317 */ 4318 public TerminologyCapabilitiesClosureComponent getClosure() { 4319 if (this.closure == null) 4320 if (Configuration.errorOnAutoCreate()) 4321 throw new Error("Attempt to auto-create TerminologyCapabilities.closure"); 4322 else if (Configuration.doAutoCreate()) 4323 this.closure = new TerminologyCapabilitiesClosureComponent(); // cc 4324 return this.closure; 4325 } 4326 4327 public boolean hasClosure() { 4328 return this.closure != null && !this.closure.isEmpty(); 4329 } 4330 4331 /** 4332 * @param value {@link #closure} (Whether the $closure operation is supported.) 4333 */ 4334 public TerminologyCapabilities setClosure(TerminologyCapabilitiesClosureComponent value) { 4335 this.closure = value; 4336 return this; 4337 } 4338 4339 protected void listChildren(List<Property> children) { 4340 super.listChildren(children); 4341 children.add(new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url)); 4342 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 4343 children.add(new Property("version", "string", "The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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.", 0, 1, version)); 4344 children.add(new Property("name", "string", "A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 4345 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the terminology capabilities.", 0, 1, title)); 4346 children.add(new Property("status", "code", "The status of this terminology capabilities. Enables tracking the life-cycle of the content.", 0, 1, status)); 4347 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 4348 children.add(new Property("date", "dateTime", "The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes.", 0, 1, date)); 4349 children.add(new Property("publisher", "string", "The name of the organization or individual that published the terminology capabilities.", 0, 1, publisher)); 4350 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)); 4351 children.add(new Property("description", "markdown", "A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description)); 4352 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 terminology capabilities instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 4353 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the terminology capabilities is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 4354 children.add(new Property("purpose", "markdown", "Explanation of why this terminology capabilities is needed and why it has been designed as it has.", 0, 1, purpose)); 4355 children.add(new Property("copyright", "markdown", "A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.", 0, 1, copyright)); 4356 children.add(new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind)); 4357 children.add(new Property("software", "", "Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.", 0, 1, software)); 4358 children.add(new Property("implementation", "", "Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.", 0, 1, implementation)); 4359 children.add(new Property("lockedDate", "boolean", "Whether the server supports lockedDate.", 0, 1, lockedDate)); 4360 children.add(new Property("codeSystem", "", "Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.", 0, java.lang.Integer.MAX_VALUE, codeSystem)); 4361 children.add(new Property("expansion", "", "Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.", 0, 1, expansion)); 4362 children.add(new Property("codeSearch", "code", "The degree to which the server supports the code search parameter on ValueSet, if it is supported.", 0, 1, codeSearch)); 4363 children.add(new Property("validateCode", "", "Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.", 0, 1, validateCode)); 4364 children.add(new Property("translation", "", "Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.", 0, 1, translation)); 4365 children.add(new Property("closure", "", "Whether the $closure operation is supported.", 0, 1, closure)); 4366 } 4367 4368 @Override 4369 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4370 switch (_hash) { 4371 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities 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 terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url); 4372 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 4373 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities 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.", 0, 1, version); 4374 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 4375 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the terminology capabilities.", 0, 1, title); 4376 case -892481550: /*status*/ return new Property("status", "code", "The status of this terminology capabilities. Enables tracking the life-cycle of the content.", 0, 1, status); 4377 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 4378 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the terminology capabilities 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 terminology capabilities changes.", 0, 1, date); 4379 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the terminology capabilities.", 0, 1, publisher); 4380 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); 4381 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description); 4382 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 terminology capabilities instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 4383 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the terminology capabilities is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 4384 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this terminology capabilities is needed and why it has been designed as it has.", 0, 1, purpose); 4385 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the terminology capabilities and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the terminology capabilities.", 0, 1, copyright); 4386 case 3292052: /*kind*/ return new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind); 4387 case 1319330215: /*software*/ return new Property("software", "", "Software that is covered by this terminology capability statement. It is used when the statement describes the capabilities of a particular software version, independent of an installation.", 0, 1, software); 4388 case 1683336114: /*implementation*/ return new Property("implementation", "", "Identifies a specific implementation instance that is described by the terminology capability statement - i.e. a particular installation, rather than the capabilities of a software program.", 0, 1, implementation); 4389 case 1391591896: /*lockedDate*/ return new Property("lockedDate", "boolean", "Whether the server supports lockedDate.", 0, 1, lockedDate); 4390 case -916511108: /*codeSystem*/ return new Property("codeSystem", "", "Identifies a code system that is supported by the server. If there is a no code system URL, then this declares the general assumptions a client can make about support for any CodeSystem resource.", 0, java.lang.Integer.MAX_VALUE, codeSystem); 4391 case 17878207: /*expansion*/ return new Property("expansion", "", "Information about the [ValueSet/$expand](valueset-operation-expand.html) operation.", 0, 1, expansion); 4392 case -935519755: /*codeSearch*/ return new Property("codeSearch", "code", "The degree to which the server supports the code search parameter on ValueSet, if it is supported.", 0, 1, codeSearch); 4393 case 1080737827: /*validateCode*/ return new Property("validateCode", "", "Information about the [ValueSet/$validate-code](valueset-operation-validate-code.html) operation.", 0, 1, validateCode); 4394 case -1840647503: /*translation*/ return new Property("translation", "", "Information about the [ConceptMap/$translate](conceptmap-operation-translate.html) operation.", 0, 1, translation); 4395 case 866552379: /*closure*/ return new Property("closure", "", "Whether the $closure operation is supported.", 0, 1, closure); 4396 default: return super.getNamedProperty(_hash, _name, _checkValid); 4397 } 4398 4399 } 4400 4401 @Override 4402 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4403 switch (hash) { 4404 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 4405 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 4406 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 4407 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 4408 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 4409 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 4410 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 4411 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 4412 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 4413 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 4414 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 4415 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 4416 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 4417 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 4418 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 4419 case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration<CapabilityStatementKind> 4420 case 1319330215: /*software*/ return this.software == null ? new Base[0] : new Base[] {this.software}; // TerminologyCapabilitiesSoftwareComponent 4421 case 1683336114: /*implementation*/ return this.implementation == null ? new Base[0] : new Base[] {this.implementation}; // TerminologyCapabilitiesImplementationComponent 4422 case 1391591896: /*lockedDate*/ return this.lockedDate == null ? new Base[0] : new Base[] {this.lockedDate}; // BooleanType 4423 case -916511108: /*codeSystem*/ return this.codeSystem == null ? new Base[0] : this.codeSystem.toArray(new Base[this.codeSystem.size()]); // TerminologyCapabilitiesCodeSystemComponent 4424 case 17878207: /*expansion*/ return this.expansion == null ? new Base[0] : new Base[] {this.expansion}; // TerminologyCapabilitiesExpansionComponent 4425 case -935519755: /*codeSearch*/ return this.codeSearch == null ? new Base[0] : new Base[] {this.codeSearch}; // Enumeration<CodeSearchSupport> 4426 case 1080737827: /*validateCode*/ return this.validateCode == null ? new Base[0] : new Base[] {this.validateCode}; // TerminologyCapabilitiesValidateCodeComponent 4427 case -1840647503: /*translation*/ return this.translation == null ? new Base[0] : new Base[] {this.translation}; // TerminologyCapabilitiesTranslationComponent 4428 case 866552379: /*closure*/ return this.closure == null ? new Base[0] : new Base[] {this.closure}; // TerminologyCapabilitiesClosureComponent 4429 default: return super.getProperty(hash, name, checkValid); 4430 } 4431 4432 } 4433 4434 @Override 4435 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4436 switch (hash) { 4437 case 116079: // url 4438 this.url = TypeConvertor.castToUri(value); // UriType 4439 return value; 4440 case -1618432855: // identifier 4441 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 4442 return value; 4443 case 351608024: // version 4444 this.version = TypeConvertor.castToString(value); // StringType 4445 return value; 4446 case 3373707: // name 4447 this.name = TypeConvertor.castToString(value); // StringType 4448 return value; 4449 case 110371416: // title 4450 this.title = TypeConvertor.castToString(value); // StringType 4451 return value; 4452 case -892481550: // status 4453 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4454 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4455 return value; 4456 case -404562712: // experimental 4457 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4458 return value; 4459 case 3076014: // date 4460 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4461 return value; 4462 case 1447404028: // publisher 4463 this.publisher = TypeConvertor.castToString(value); // StringType 4464 return value; 4465 case 951526432: // contact 4466 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 4467 return value; 4468 case -1724546052: // description 4469 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4470 return value; 4471 case -669707736: // useContext 4472 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 4473 return value; 4474 case -507075711: // jurisdiction 4475 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4476 return value; 4477 case -220463842: // purpose 4478 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4479 return value; 4480 case 1522889671: // copyright 4481 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4482 return value; 4483 case 3292052: // kind 4484 value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 4485 this.kind = (Enumeration) value; // Enumeration<CapabilityStatementKind> 4486 return value; 4487 case 1319330215: // software 4488 this.software = (TerminologyCapabilitiesSoftwareComponent) value; // TerminologyCapabilitiesSoftwareComponent 4489 return value; 4490 case 1683336114: // implementation 4491 this.implementation = (TerminologyCapabilitiesImplementationComponent) value; // TerminologyCapabilitiesImplementationComponent 4492 return value; 4493 case 1391591896: // lockedDate 4494 this.lockedDate = TypeConvertor.castToBoolean(value); // BooleanType 4495 return value; 4496 case -916511108: // codeSystem 4497 this.getCodeSystem().add((TerminologyCapabilitiesCodeSystemComponent) value); // TerminologyCapabilitiesCodeSystemComponent 4498 return value; 4499 case 17878207: // expansion 4500 this.expansion = (TerminologyCapabilitiesExpansionComponent) value; // TerminologyCapabilitiesExpansionComponent 4501 return value; 4502 case -935519755: // codeSearch 4503 value = new CodeSearchSupportEnumFactory().fromType(TypeConvertor.castToCode(value)); 4504 this.codeSearch = (Enumeration) value; // Enumeration<CodeSearchSupport> 4505 return value; 4506 case 1080737827: // validateCode 4507 this.validateCode = (TerminologyCapabilitiesValidateCodeComponent) value; // TerminologyCapabilitiesValidateCodeComponent 4508 return value; 4509 case -1840647503: // translation 4510 this.translation = (TerminologyCapabilitiesTranslationComponent) value; // TerminologyCapabilitiesTranslationComponent 4511 return value; 4512 case 866552379: // closure 4513 this.closure = (TerminologyCapabilitiesClosureComponent) value; // TerminologyCapabilitiesClosureComponent 4514 return value; 4515 default: return super.setProperty(hash, name, value); 4516 } 4517 4518 } 4519 4520 @Override 4521 public Base setProperty(String name, Base value) throws FHIRException { 4522 if (name.equals("url")) { 4523 this.url = TypeConvertor.castToUri(value); // UriType 4524 } else if (name.equals("identifier")) { 4525 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 4526 } else if (name.equals("version")) { 4527 this.version = TypeConvertor.castToString(value); // StringType 4528 } else if (name.equals("name")) { 4529 this.name = TypeConvertor.castToString(value); // StringType 4530 } else if (name.equals("title")) { 4531 this.title = TypeConvertor.castToString(value); // StringType 4532 } else if (name.equals("status")) { 4533 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4534 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4535 } else if (name.equals("experimental")) { 4536 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4537 } else if (name.equals("date")) { 4538 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4539 } else if (name.equals("publisher")) { 4540 this.publisher = TypeConvertor.castToString(value); // StringType 4541 } else if (name.equals("contact")) { 4542 this.getContact().add(TypeConvertor.castToContactDetail(value)); 4543 } else if (name.equals("description")) { 4544 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4545 } else if (name.equals("useContext")) { 4546 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 4547 } else if (name.equals("jurisdiction")) { 4548 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 4549 } else if (name.equals("purpose")) { 4550 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4551 } else if (name.equals("copyright")) { 4552 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4553 } else if (name.equals("kind")) { 4554 value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); 4555 this.kind = (Enumeration) value; // Enumeration<CapabilityStatementKind> 4556 } else if (name.equals("software")) { 4557 this.software = (TerminologyCapabilitiesSoftwareComponent) value; // TerminologyCapabilitiesSoftwareComponent 4558 } else if (name.equals("implementation")) { 4559 this.implementation = (TerminologyCapabilitiesImplementationComponent) value; // TerminologyCapabilitiesImplementationComponent 4560 } else if (name.equals("lockedDate")) { 4561 this.lockedDate = TypeConvertor.castToBoolean(value); // BooleanType 4562 } else if (name.equals("codeSystem")) { 4563 this.getCodeSystem().add((TerminologyCapabilitiesCodeSystemComponent) value); 4564 } else if (name.equals("expansion")) { 4565 this.expansion = (TerminologyCapabilitiesExpansionComponent) value; // TerminologyCapabilitiesExpansionComponent 4566 } else if (name.equals("codeSearch")) { 4567 value = new CodeSearchSupportEnumFactory().fromType(TypeConvertor.castToCode(value)); 4568 this.codeSearch = (Enumeration) value; // Enumeration<CodeSearchSupport> 4569 } else if (name.equals("validateCode")) { 4570 this.validateCode = (TerminologyCapabilitiesValidateCodeComponent) value; // TerminologyCapabilitiesValidateCodeComponent 4571 } else if (name.equals("translation")) { 4572 this.translation = (TerminologyCapabilitiesTranslationComponent) value; // TerminologyCapabilitiesTranslationComponent 4573 } else if (name.equals("closure")) { 4574 this.closure = (TerminologyCapabilitiesClosureComponent) value; // TerminologyCapabilitiesClosureComponent 4575 } else 4576 return super.setProperty(name, value); 4577 return value; 4578 } 4579 4580 @Override 4581 public Base makeProperty(int hash, String name) throws FHIRException { 4582 switch (hash) { 4583 case 116079: return getUrlElement(); 4584 case -1618432855: return addIdentifier(); 4585 case 351608024: return getVersionElement(); 4586 case 3373707: return getNameElement(); 4587 case 110371416: return getTitleElement(); 4588 case -892481550: return getStatusElement(); 4589 case -404562712: return getExperimentalElement(); 4590 case 3076014: return getDateElement(); 4591 case 1447404028: return getPublisherElement(); 4592 case 951526432: return addContact(); 4593 case -1724546052: return getDescriptionElement(); 4594 case -669707736: return addUseContext(); 4595 case -507075711: return addJurisdiction(); 4596 case -220463842: return getPurposeElement(); 4597 case 1522889671: return getCopyrightElement(); 4598 case 3292052: return getKindElement(); 4599 case 1319330215: return getSoftware(); 4600 case 1683336114: return getImplementation(); 4601 case 1391591896: return getLockedDateElement(); 4602 case -916511108: return addCodeSystem(); 4603 case 17878207: return getExpansion(); 4604 case -935519755: return getCodeSearchElement(); 4605 case 1080737827: return getValidateCode(); 4606 case -1840647503: return getTranslation(); 4607 case 866552379: return getClosure(); 4608 default: return super.makeProperty(hash, name); 4609 } 4610 4611 } 4612 4613 @Override 4614 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4615 switch (hash) { 4616 case 116079: /*url*/ return new String[] {"uri"}; 4617 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 4618 case 351608024: /*version*/ return new String[] {"string"}; 4619 case 3373707: /*name*/ return new String[] {"string"}; 4620 case 110371416: /*title*/ return new String[] {"string"}; 4621 case -892481550: /*status*/ return new String[] {"code"}; 4622 case -404562712: /*experimental*/ return new String[] {"boolean"}; 4623 case 3076014: /*date*/ return new String[] {"dateTime"}; 4624 case 1447404028: /*publisher*/ return new String[] {"string"}; 4625 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 4626 case -1724546052: /*description*/ return new String[] {"markdown"}; 4627 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 4628 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 4629 case -220463842: /*purpose*/ return new String[] {"markdown"}; 4630 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 4631 case 3292052: /*kind*/ return new String[] {"code"}; 4632 case 1319330215: /*software*/ return new String[] {}; 4633 case 1683336114: /*implementation*/ return new String[] {}; 4634 case 1391591896: /*lockedDate*/ return new String[] {"boolean"}; 4635 case -916511108: /*codeSystem*/ return new String[] {}; 4636 case 17878207: /*expansion*/ return new String[] {}; 4637 case -935519755: /*codeSearch*/ return new String[] {"code"}; 4638 case 1080737827: /*validateCode*/ return new String[] {}; 4639 case -1840647503: /*translation*/ return new String[] {}; 4640 case 866552379: /*closure*/ return new String[] {}; 4641 default: return super.getTypesForProperty(hash, name); 4642 } 4643 4644 } 4645 4646 @Override 4647 public Base addChild(String name) throws FHIRException { 4648 if (name.equals("url")) { 4649 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.url"); 4650 } 4651 else if (name.equals("identifier")) { 4652 return addIdentifier(); 4653 } 4654 else if (name.equals("version")) { 4655 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.version"); 4656 } 4657 else if (name.equals("name")) { 4658 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.name"); 4659 } 4660 else if (name.equals("title")) { 4661 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.title"); 4662 } 4663 else if (name.equals("status")) { 4664 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.status"); 4665 } 4666 else if (name.equals("experimental")) { 4667 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.experimental"); 4668 } 4669 else if (name.equals("date")) { 4670 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.date"); 4671 } 4672 else if (name.equals("publisher")) { 4673 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.publisher"); 4674 } 4675 else if (name.equals("contact")) { 4676 return addContact(); 4677 } 4678 else if (name.equals("description")) { 4679 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.description"); 4680 } 4681 else if (name.equals("useContext")) { 4682 return addUseContext(); 4683 } 4684 else if (name.equals("jurisdiction")) { 4685 return addJurisdiction(); 4686 } 4687 else if (name.equals("purpose")) { 4688 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.purpose"); 4689 } 4690 else if (name.equals("copyright")) { 4691 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.copyright"); 4692 } 4693 else if (name.equals("kind")) { 4694 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.kind"); 4695 } 4696 else if (name.equals("software")) { 4697 this.software = new TerminologyCapabilitiesSoftwareComponent(); 4698 return this.software; 4699 } 4700 else if (name.equals("implementation")) { 4701 this.implementation = new TerminologyCapabilitiesImplementationComponent(); 4702 return this.implementation; 4703 } 4704 else if (name.equals("lockedDate")) { 4705 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.lockedDate"); 4706 } 4707 else if (name.equals("codeSystem")) { 4708 return addCodeSystem(); 4709 } 4710 else if (name.equals("expansion")) { 4711 this.expansion = new TerminologyCapabilitiesExpansionComponent(); 4712 return this.expansion; 4713 } 4714 else if (name.equals("codeSearch")) { 4715 throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSearch"); 4716 } 4717 else if (name.equals("validateCode")) { 4718 this.validateCode = new TerminologyCapabilitiesValidateCodeComponent(); 4719 return this.validateCode; 4720 } 4721 else if (name.equals("translation")) { 4722 this.translation = new TerminologyCapabilitiesTranslationComponent(); 4723 return this.translation; 4724 } 4725 else if (name.equals("closure")) { 4726 this.closure = new TerminologyCapabilitiesClosureComponent(); 4727 return this.closure; 4728 } 4729 else 4730 return super.addChild(name); 4731 } 4732 4733 public String fhirType() { 4734 return "TerminologyCapabilities"; 4735 4736 } 4737 4738 public TerminologyCapabilities copy() { 4739 TerminologyCapabilities dst = new TerminologyCapabilities(); 4740 copyValues(dst); 4741 return dst; 4742 } 4743 4744 public void copyValues(TerminologyCapabilities dst) { 4745 super.copyValues(dst); 4746 dst.url = url == null ? null : url.copy(); 4747 if (identifier != null) { 4748 dst.identifier = new ArrayList<Identifier>(); 4749 for (Identifier i : identifier) 4750 dst.identifier.add(i.copy()); 4751 }; 4752 dst.version = version == null ? null : version.copy(); 4753 dst.name = name == null ? null : name.copy(); 4754 dst.title = title == null ? null : title.copy(); 4755 dst.status = status == null ? null : status.copy(); 4756 dst.experimental = experimental == null ? null : experimental.copy(); 4757 dst.date = date == null ? null : date.copy(); 4758 dst.publisher = publisher == null ? null : publisher.copy(); 4759 if (contact != null) { 4760 dst.contact = new ArrayList<ContactDetail>(); 4761 for (ContactDetail i : contact) 4762 dst.contact.add(i.copy()); 4763 }; 4764 dst.description = description == null ? null : description.copy(); 4765 if (useContext != null) { 4766 dst.useContext = new ArrayList<UsageContext>(); 4767 for (UsageContext i : useContext) 4768 dst.useContext.add(i.copy()); 4769 }; 4770 if (jurisdiction != null) { 4771 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4772 for (CodeableConcept i : jurisdiction) 4773 dst.jurisdiction.add(i.copy()); 4774 }; 4775 dst.purpose = purpose == null ? null : purpose.copy(); 4776 dst.copyright = copyright == null ? null : copyright.copy(); 4777 dst.kind = kind == null ? null : kind.copy(); 4778 dst.software = software == null ? null : software.copy(); 4779 dst.implementation = implementation == null ? null : implementation.copy(); 4780 dst.lockedDate = lockedDate == null ? null : lockedDate.copy(); 4781 if (codeSystem != null) { 4782 dst.codeSystem = new ArrayList<TerminologyCapabilitiesCodeSystemComponent>(); 4783 for (TerminologyCapabilitiesCodeSystemComponent i : codeSystem) 4784 dst.codeSystem.add(i.copy()); 4785 }; 4786 dst.expansion = expansion == null ? null : expansion.copy(); 4787 dst.codeSearch = codeSearch == null ? null : codeSearch.copy(); 4788 dst.validateCode = validateCode == null ? null : validateCode.copy(); 4789 dst.translation = translation == null ? null : translation.copy(); 4790 dst.closure = closure == null ? null : closure.copy(); 4791 } 4792 4793 protected TerminologyCapabilities typedCopy() { 4794 return copy(); 4795 } 4796 4797 @Override 4798 public boolean equalsDeep(Base other_) { 4799 if (!super.equalsDeep(other_)) 4800 return false; 4801 if (!(other_ instanceof TerminologyCapabilities)) 4802 return false; 4803 TerminologyCapabilities o = (TerminologyCapabilities) other_; 4804 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 4805 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 4806 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 4807 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 4808 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 4809 && compareDeep(kind, o.kind, true) && compareDeep(software, o.software, true) && compareDeep(implementation, o.implementation, true) 4810 && compareDeep(lockedDate, o.lockedDate, true) && compareDeep(codeSystem, o.codeSystem, true) && compareDeep(expansion, o.expansion, true) 4811 && compareDeep(codeSearch, o.codeSearch, true) && compareDeep(validateCode, o.validateCode, true) 4812 && compareDeep(translation, o.translation, true) && compareDeep(closure, o.closure, true); 4813 } 4814 4815 @Override 4816 public boolean equalsShallow(Base other_) { 4817 if (!super.equalsShallow(other_)) 4818 return false; 4819 if (!(other_ instanceof TerminologyCapabilities)) 4820 return false; 4821 TerminologyCapabilities o = (TerminologyCapabilities) other_; 4822 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 4823 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 4824 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 4825 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(kind, o.kind, true) 4826 && compareValues(lockedDate, o.lockedDate, true) && compareValues(codeSearch, o.codeSearch, true); 4827 } 4828 4829 public boolean isEmpty() { 4830 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 4831 , name, title, status, experimental, date, publisher, contact, description, useContext 4832 , jurisdiction, purpose, copyright, kind, software, implementation, lockedDate 4833 , codeSystem, expansion, codeSearch, validateCode, translation, closure); 4834 } 4835 4836 @Override 4837 public ResourceType getResourceType() { 4838 return ResourceType.TerminologyCapabilities; 4839 } 4840 4841 /** 4842 * Search parameter: <b>context-quantity</b> 4843 * <p> 4844 * Description: <b>Multiple Resources: 4845 4846* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4847* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4848* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4849* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4850* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4851* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4852* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4853* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4854* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4855* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4856* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4857* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4858* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4859* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4860</b><br> 4861 * Type: <b>quantity</b><br> 4862 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4863 * </p> 4864 */ 4865 @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" ) 4866 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 4867 /** 4868 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 4869 * <p> 4870 * Description: <b>Multiple Resources: 4871 4872* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4873* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4874* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4875* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4876* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4877* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4878* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4879* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4880* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4881* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4882* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4883* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4884* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4885* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4886</b><br> 4887 * Type: <b>quantity</b><br> 4888 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4889 * </p> 4890 */ 4891 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 4892 4893 /** 4894 * Search parameter: <b>context-type-quantity</b> 4895 * <p> 4896 * Description: <b>Multiple Resources: 4897 4898* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 4899* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 4900* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 4901* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 4902* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 4903* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 4904* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 4905* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 4906* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 4907* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 4908* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 4909* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 4910* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 4911* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 4912</b><br> 4913 * Type: <b>composite</b><br> 4914 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4915 * </p> 4916 */ 4917 @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} ) 4918 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 4919 /** 4920 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 4921 * <p> 4922 * Description: <b>Multiple Resources: 4923 4924* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 4925* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 4926* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 4927* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 4928* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 4929* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 4930* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 4931* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 4932* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 4933* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 4934* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 4935* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 4936* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 4937* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 4938</b><br> 4939 * Type: <b>composite</b><br> 4940 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4941 * </p> 4942 */ 4943 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); 4944 4945 /** 4946 * Search parameter: <b>context-type-value</b> 4947 * <p> 4948 * Description: <b>Multiple Resources: 4949 4950* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 4951* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 4952* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 4953* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 4954* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 4955* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 4956* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 4957* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 4958* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 4959* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 4960* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 4961* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 4962* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 4963* [ValueSet](valueset.html): A use context type and value assigned to the value set 4964</b><br> 4965 * Type: <b>composite</b><br> 4966 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4967 * </p> 4968 */ 4969 @SearchParamDefinition(name="context-type-value", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} ) 4970 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 4971 /** 4972 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 4973 * <p> 4974 * Description: <b>Multiple Resources: 4975 4976* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 4977* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 4978* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 4979* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 4980* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 4981* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 4982* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 4983* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 4984* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 4985* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 4986* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 4987* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 4988* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 4989* [ValueSet](valueset.html): A use context type and value assigned to the value set 4990</b><br> 4991 * Type: <b>composite</b><br> 4992 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4993 * </p> 4994 */ 4995 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); 4996 4997 /** 4998 * Search parameter: <b>context-type</b> 4999 * <p> 5000 * Description: <b>Multiple Resources: 5001 5002* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 5003* [CodeSystem](codesystem.html): A type of use context assigned to the code system 5004* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 5005* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 5006* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 5007* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 5008* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 5009* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 5010* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 5011* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 5012* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 5013* [StructureMap](structuremap.html): A type of use context assigned to the structure map 5014* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 5015* [ValueSet](valueset.html): A type of use context assigned to the value set 5016</b><br> 5017 * Type: <b>token</b><br> 5018 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 5019 * </p> 5020 */ 5021 @SearchParamDefinition(name="context-type", path="CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" ) 5022 public static final String SP_CONTEXT_TYPE = "context-type"; 5023 /** 5024 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 5025 * <p> 5026 * Description: <b>Multiple Resources: 5027 5028* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 5029* [CodeSystem](codesystem.html): A type of use context assigned to the code system 5030* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 5031* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 5032* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 5033* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 5034* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 5035* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 5036* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 5037* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 5038* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 5039* [StructureMap](structuremap.html): A type of use context assigned to the structure map 5040* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 5041* [ValueSet](valueset.html): A type of use context assigned to the value set 5042</b><br> 5043 * Type: <b>token</b><br> 5044 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 5045 * </p> 5046 */ 5047 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 5048 5049 /** 5050 * Search parameter: <b>context</b> 5051 * <p> 5052 * Description: <b>Multiple Resources: 5053 5054* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 5055* [CodeSystem](codesystem.html): A use context assigned to the code system 5056* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 5057* [ConceptMap](conceptmap.html): A use context assigned to the concept map 5058* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 5059* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 5060* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 5061* [NamingSystem](namingsystem.html): A use context assigned to the naming system 5062* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 5063* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 5064* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 5065* [StructureMap](structuremap.html): A use context assigned to the structure map 5066* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 5067* [ValueSet](valueset.html): A use context assigned to the value set 5068</b><br> 5069 * Type: <b>token</b><br> 5070 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 5071 * </p> 5072 */ 5073 @SearchParamDefinition(name="context", path="(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" ) 5074 public static final String SP_CONTEXT = "context"; 5075 /** 5076 * <b>Fluent Client</b> search parameter constant for <b>context</b> 5077 * <p> 5078 * Description: <b>Multiple Resources: 5079 5080* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 5081* [CodeSystem](codesystem.html): A use context assigned to the code system 5082* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 5083* [ConceptMap](conceptmap.html): A use context assigned to the concept map 5084* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 5085* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 5086* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 5087* [NamingSystem](namingsystem.html): A use context assigned to the naming system 5088* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 5089* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 5090* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 5091* [StructureMap](structuremap.html): A use context assigned to the structure map 5092* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 5093* [ValueSet](valueset.html): A use context assigned to the value set 5094</b><br> 5095 * Type: <b>token</b><br> 5096 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 5097 * </p> 5098 */ 5099 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 5100 5101 /** 5102 * Search parameter: <b>date</b> 5103 * <p> 5104 * Description: <b>Multiple Resources: 5105 5106* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 5107* [CodeSystem](codesystem.html): The code system publication date 5108* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 5109* [ConceptMap](conceptmap.html): The concept map publication date 5110* [GraphDefinition](graphdefinition.html): The graph definition publication date 5111* [ImplementationGuide](implementationguide.html): The implementation guide publication date 5112* [MessageDefinition](messagedefinition.html): The message definition publication date 5113* [NamingSystem](namingsystem.html): The naming system publication date 5114* [OperationDefinition](operationdefinition.html): The operation definition publication date 5115* [SearchParameter](searchparameter.html): The search parameter publication date 5116* [StructureDefinition](structuredefinition.html): The structure definition publication date 5117* [StructureMap](structuremap.html): The structure map publication date 5118* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 5119* [ValueSet](valueset.html): The value set publication date 5120</b><br> 5121 * Type: <b>date</b><br> 5122 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 5123 * </p> 5124 */ 5125 @SearchParamDefinition(name="date", path="CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" ) 5126 public static final String SP_DATE = "date"; 5127 /** 5128 * <b>Fluent Client</b> search parameter constant for <b>date</b> 5129 * <p> 5130 * Description: <b>Multiple Resources: 5131 5132* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 5133* [CodeSystem](codesystem.html): The code system publication date 5134* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 5135* [ConceptMap](conceptmap.html): The concept map publication date 5136* [GraphDefinition](graphdefinition.html): The graph definition publication date 5137* [ImplementationGuide](implementationguide.html): The implementation guide publication date 5138* [MessageDefinition](messagedefinition.html): The message definition publication date 5139* [NamingSystem](namingsystem.html): The naming system publication date 5140* [OperationDefinition](operationdefinition.html): The operation definition publication date 5141* [SearchParameter](searchparameter.html): The search parameter publication date 5142* [StructureDefinition](structuredefinition.html): The structure definition publication date 5143* [StructureMap](structuremap.html): The structure map publication date 5144* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 5145* [ValueSet](valueset.html): The value set publication date 5146</b><br> 5147 * Type: <b>date</b><br> 5148 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 5149 * </p> 5150 */ 5151 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 5152 5153 /** 5154 * Search parameter: <b>description</b> 5155 * <p> 5156 * Description: <b>Multiple Resources: 5157 5158* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 5159* [CodeSystem](codesystem.html): The description of the code system 5160* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 5161* [ConceptMap](conceptmap.html): The description of the concept map 5162* [GraphDefinition](graphdefinition.html): The description of the graph definition 5163* [ImplementationGuide](implementationguide.html): The description of the implementation guide 5164* [MessageDefinition](messagedefinition.html): The description of the message definition 5165* [NamingSystem](namingsystem.html): The description of the naming system 5166* [OperationDefinition](operationdefinition.html): The description of the operation definition 5167* [SearchParameter](searchparameter.html): The description of the search parameter 5168* [StructureDefinition](structuredefinition.html): The description of the structure definition 5169* [StructureMap](structuremap.html): The description of the structure map 5170* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 5171* [ValueSet](valueset.html): The description of the value set 5172</b><br> 5173 * Type: <b>string</b><br> 5174 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 5175 * </p> 5176 */ 5177 @SearchParamDefinition(name="description", path="CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" ) 5178 public static final String SP_DESCRIPTION = "description"; 5179 /** 5180 * <b>Fluent Client</b> search parameter constant for <b>description</b> 5181 * <p> 5182 * Description: <b>Multiple Resources: 5183 5184* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 5185* [CodeSystem](codesystem.html): The description of the code system 5186* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 5187* [ConceptMap](conceptmap.html): The description of the concept map 5188* [GraphDefinition](graphdefinition.html): The description of the graph definition 5189* [ImplementationGuide](implementationguide.html): The description of the implementation guide 5190* [MessageDefinition](messagedefinition.html): The description of the message definition 5191* [NamingSystem](namingsystem.html): The description of the naming system 5192* [OperationDefinition](operationdefinition.html): The description of the operation definition 5193* [SearchParameter](searchparameter.html): The description of the search parameter 5194* [StructureDefinition](structuredefinition.html): The description of the structure definition 5195* [StructureMap](structuremap.html): The description of the structure map 5196* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 5197* [ValueSet](valueset.html): The description of the value set 5198</b><br> 5199 * Type: <b>string</b><br> 5200 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 5201 * </p> 5202 */ 5203 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 5204 5205 /** 5206 * Search parameter: <b>identifier</b> 5207 * <p> 5208 * Description: <b>Multiple Resources: 5209 5210* [CodeSystem](codesystem.html): External identifier for the code system 5211* [ConceptMap](conceptmap.html): External identifier for the concept map 5212* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5213* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5214* [StructureMap](structuremap.html): External identifier for the structure map 5215* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 5216* [ValueSet](valueset.html): External identifier for the value set 5217</b><br> 5218 * Type: <b>token</b><br> 5219 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier</b><br> 5220 * </p> 5221 */ 5222 @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 5223 public static final String SP_IDENTIFIER = "identifier"; 5224 /** 5225 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5226 * <p> 5227 * Description: <b>Multiple Resources: 5228 5229* [CodeSystem](codesystem.html): External identifier for the code system 5230* [ConceptMap](conceptmap.html): External identifier for the concept map 5231* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5232* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5233* [StructureMap](structuremap.html): External identifier for the structure map 5234* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities 5235* [ValueSet](valueset.html): External identifier for the value set 5236</b><br> 5237 * Type: <b>token</b><br> 5238 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier</b><br> 5239 * </p> 5240 */ 5241 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5242 5243 /** 5244 * Search parameter: <b>jurisdiction</b> 5245 * <p> 5246 * Description: <b>Multiple Resources: 5247 5248* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5249* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5250* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5251* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5252* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5253* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5254* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5255* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5256* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5257* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5258* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5259* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5260* [ValueSet](valueset.html): Intended jurisdiction for the value set 5261</b><br> 5262 * Type: <b>token</b><br> 5263 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5264 * </p> 5265 */ 5266 @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" ) 5267 public static final String SP_JURISDICTION = "jurisdiction"; 5268 /** 5269 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 5270 * <p> 5271 * Description: <b>Multiple Resources: 5272 5273* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5274* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5275* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5276* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5277* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5278* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5279* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5280* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5281* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5282* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5283* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5284* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5285* [ValueSet](valueset.html): Intended jurisdiction for the value set 5286</b><br> 5287 * Type: <b>token</b><br> 5288 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5289 * </p> 5290 */ 5291 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 5292 5293 /** 5294 * Search parameter: <b>name</b> 5295 * <p> 5296 * Description: <b>Multiple Resources: 5297 5298* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5299* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5300* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5301* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5302* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5303* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5304* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5305* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5306* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5307* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5308* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5309* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5310* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5311* [ValueSet](valueset.html): Computationally friendly name of the value set 5312</b><br> 5313 * Type: <b>string</b><br> 5314 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5315 * </p> 5316 */ 5317 @SearchParamDefinition(name="name", path="CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" ) 5318 public static final String SP_NAME = "name"; 5319 /** 5320 * <b>Fluent Client</b> search parameter constant for <b>name</b> 5321 * <p> 5322 * Description: <b>Multiple Resources: 5323 5324* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5325* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5326* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5327* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5328* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5329* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5330* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5331* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5332* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5333* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5334* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5335* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5336* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5337* [ValueSet](valueset.html): Computationally friendly name of the value set 5338</b><br> 5339 * Type: <b>string</b><br> 5340 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5341 * </p> 5342 */ 5343 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 5344 5345 /** 5346 * Search parameter: <b>publisher</b> 5347 * <p> 5348 * Description: <b>Multiple Resources: 5349 5350* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5351* [CodeSystem](codesystem.html): Name of the publisher of the code system 5352* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5353* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5354* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5355* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5356* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5357* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5358* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5359* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5360* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5361* [StructureMap](structuremap.html): Name of the publisher of the structure map 5362* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5363* [ValueSet](valueset.html): Name of the publisher of the value set 5364</b><br> 5365 * Type: <b>string</b><br> 5366 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5367 * </p> 5368 */ 5369 @SearchParamDefinition(name="publisher", path="CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" ) 5370 public static final String SP_PUBLISHER = "publisher"; 5371 /** 5372 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 5373 * <p> 5374 * Description: <b>Multiple Resources: 5375 5376* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5377* [CodeSystem](codesystem.html): Name of the publisher of the code system 5378* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5379* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5380* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5381* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5382* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5383* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5384* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5385* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5386* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5387* [StructureMap](structuremap.html): Name of the publisher of the structure map 5388* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5389* [ValueSet](valueset.html): Name of the publisher of the value set 5390</b><br> 5391 * Type: <b>string</b><br> 5392 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5393 * </p> 5394 */ 5395 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 5396 5397 /** 5398 * Search parameter: <b>status</b> 5399 * <p> 5400 * Description: <b>Multiple Resources: 5401 5402* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5403* [CodeSystem](codesystem.html): The current status of the code system 5404* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5405* [ConceptMap](conceptmap.html): The current status of the concept map 5406* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5407* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5408* [MessageDefinition](messagedefinition.html): The current status of the message definition 5409* [NamingSystem](namingsystem.html): The current status of the naming system 5410* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5411* [SearchParameter](searchparameter.html): The current status of the search parameter 5412* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5413* [StructureMap](structuremap.html): The current status of the structure map 5414* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5415* [ValueSet](valueset.html): The current status of the value set 5416</b><br> 5417 * Type: <b>token</b><br> 5418 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5419 * </p> 5420 */ 5421 @SearchParamDefinition(name="status", path="CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 5422 public static final String SP_STATUS = "status"; 5423 /** 5424 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5425 * <p> 5426 * Description: <b>Multiple Resources: 5427 5428* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5429* [CodeSystem](codesystem.html): The current status of the code system 5430* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5431* [ConceptMap](conceptmap.html): The current status of the concept map 5432* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5433* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5434* [MessageDefinition](messagedefinition.html): The current status of the message definition 5435* [NamingSystem](namingsystem.html): The current status of the naming system 5436* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5437* [SearchParameter](searchparameter.html): The current status of the search parameter 5438* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5439* [StructureMap](structuremap.html): The current status of the structure map 5440* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5441* [ValueSet](valueset.html): The current status of the value set 5442</b><br> 5443 * Type: <b>token</b><br> 5444 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5445 * </p> 5446 */ 5447 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5448 5449 /** 5450 * Search parameter: <b>title</b> 5451 * <p> 5452 * Description: <b>Multiple Resources: 5453 5454* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5455* [CodeSystem](codesystem.html): The human-friendly name of the code system 5456* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5457* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5458* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5459* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5460* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5461* [StructureMap](structuremap.html): The human-friendly name of the structure map 5462* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5463* [ValueSet](valueset.html): The human-friendly name of the value set 5464</b><br> 5465 * Type: <b>string</b><br> 5466 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5467 * </p> 5468 */ 5469 @SearchParamDefinition(name="title", path="CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 5470 public static final String SP_TITLE = "title"; 5471 /** 5472 * <b>Fluent Client</b> search parameter constant for <b>title</b> 5473 * <p> 5474 * Description: <b>Multiple Resources: 5475 5476* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5477* [CodeSystem](codesystem.html): The human-friendly name of the code system 5478* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5479* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5480* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5481* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5482* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5483* [StructureMap](structuremap.html): The human-friendly name of the structure map 5484* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5485* [ValueSet](valueset.html): The human-friendly name of the value set 5486</b><br> 5487 * Type: <b>string</b><br> 5488 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5489 * </p> 5490 */ 5491 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 5492 5493 /** 5494 * Search parameter: <b>url</b> 5495 * <p> 5496 * Description: <b>Multiple Resources: 5497 5498* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5499* [CodeSystem](codesystem.html): The uri that identifies the code system 5500* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5501* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5502* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5503* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5504* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5505* [NamingSystem](namingsystem.html): The uri that identifies the naming system 5506* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5507* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5508* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5509* [StructureMap](structuremap.html): The uri that identifies the structure map 5510* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5511* [ValueSet](valueset.html): The uri that identifies the value set 5512</b><br> 5513 * Type: <b>uri</b><br> 5514 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5515 * </p> 5516 */ 5517 @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 5518 public static final String SP_URL = "url"; 5519 /** 5520 * <b>Fluent Client</b> search parameter constant for <b>url</b> 5521 * <p> 5522 * Description: <b>Multiple Resources: 5523 5524* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5525* [CodeSystem](codesystem.html): The uri that identifies the code system 5526* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5527* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5528* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5529* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5530* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5531* [NamingSystem](namingsystem.html): The uri that identifies the naming system 5532* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5533* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5534* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5535* [StructureMap](structuremap.html): The uri that identifies the structure map 5536* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5537* [ValueSet](valueset.html): The uri that identifies the value set 5538</b><br> 5539 * Type: <b>uri</b><br> 5540 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5541 * </p> 5542 */ 5543 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 5544 5545 /** 5546 * Search parameter: <b>version</b> 5547 * <p> 5548 * Description: <b>Multiple Resources: 5549 5550* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5551* [CodeSystem](codesystem.html): The business version of the code system 5552* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5553* [ConceptMap](conceptmap.html): The business version of the concept map 5554* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5555* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5556* [MessageDefinition](messagedefinition.html): The business version of the message definition 5557* [NamingSystem](namingsystem.html): The business version of the naming system 5558* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5559* [SearchParameter](searchparameter.html): The business version of the search parameter 5560* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5561* [StructureMap](structuremap.html): The business version of the structure map 5562* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5563* [ValueSet](valueset.html): The business version of the value set 5564</b><br> 5565 * Type: <b>token</b><br> 5566 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5567 * </p> 5568 */ 5569 @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [NamingSystem](namingsystem.html): The business version of the naming system\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" ) 5570 public static final String SP_VERSION = "version"; 5571 /** 5572 * <b>Fluent Client</b> search parameter constant for <b>version</b> 5573 * <p> 5574 * Description: <b>Multiple Resources: 5575 5576* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5577* [CodeSystem](codesystem.html): The business version of the code system 5578* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5579* [ConceptMap](conceptmap.html): The business version of the concept map 5580* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5581* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5582* [MessageDefinition](messagedefinition.html): The business version of the message definition 5583* [NamingSystem](namingsystem.html): The business version of the naming system 5584* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5585* [SearchParameter](searchparameter.html): The business version of the search parameter 5586* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5587* [StructureMap](structuremap.html): The business version of the structure map 5588* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5589* [ValueSet](valueset.html): The business version of the value set 5590</b><br> 5591 * Type: <b>token</b><br> 5592 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | NamingSystem.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5593 * </p> 5594 */ 5595 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 5596 5597 5598} 5599