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