001package org.hl7.fhir.dstu2016may.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030*/ 031 032// Generated on Sun, May 8, 2016 03:05+1000 for FHIR v1.4.0 033import java.util.ArrayList; 034import java.util.Date; 035import java.util.List; 036 037import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatus; 038import org.hl7.fhir.dstu2016may.model.Enumerations.ConformanceResourceStatusEnumFactory; 039import org.hl7.fhir.exceptions.FHIRException; 040import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 041import org.hl7.fhir.utilities.Utilities; 042 043import ca.uhn.fhir.model.api.annotation.Block; 044import ca.uhn.fhir.model.api.annotation.Child; 045import ca.uhn.fhir.model.api.annotation.Description; 046import ca.uhn.fhir.model.api.annotation.ResourceDef; 047import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 048/** 049 * Resource to define constraints on the Expansion of a FHIR ValueSet. 050 */ 051@ResourceDef(name="ExpansionProfile", profile="http://hl7.org/fhir/Profile/ExpansionProfile") 052public class ExpansionProfile extends DomainResource { 053 054 @Block() 055 public static class ExpansionProfileContactComponent extends BackboneElement implements IBaseBackboneElement { 056 /** 057 * The name of an individual to contact regarding the expansion profile. 058 */ 059 @Child(name = "name", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) 060 @Description(shortDefinition="Name of an individual to contact", formalDefinition="The name of an individual to contact regarding the expansion profile." ) 061 protected StringType name; 062 063 /** 064 * Contact details for individual (if a name was provided) or the publisher. 065 */ 066 @Child(name = "telecom", type = {ContactPoint.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 067 @Description(shortDefinition="Contact details for individual or publisher", formalDefinition="Contact details for individual (if a name was provided) or the publisher." ) 068 protected List<ContactPoint> telecom; 069 070 private static final long serialVersionUID = -1179697803L; 071 072 /** 073 * Constructor 074 */ 075 public ExpansionProfileContactComponent() { 076 super(); 077 } 078 079 /** 080 * @return {@link #name} (The name of an individual to contact regarding the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 081 */ 082 public StringType getNameElement() { 083 if (this.name == null) 084 if (Configuration.errorOnAutoCreate()) 085 throw new Error("Attempt to auto-create ExpansionProfileContactComponent.name"); 086 else if (Configuration.doAutoCreate()) 087 this.name = new StringType(); // bb 088 return this.name; 089 } 090 091 public boolean hasNameElement() { 092 return this.name != null && !this.name.isEmpty(); 093 } 094 095 public boolean hasName() { 096 return this.name != null && !this.name.isEmpty(); 097 } 098 099 /** 100 * @param value {@link #name} (The name of an individual to contact regarding the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 101 */ 102 public ExpansionProfileContactComponent setNameElement(StringType value) { 103 this.name = value; 104 return this; 105 } 106 107 /** 108 * @return The name of an individual to contact regarding the expansion profile. 109 */ 110 public String getName() { 111 return this.name == null ? null : this.name.getValue(); 112 } 113 114 /** 115 * @param value The name of an individual to contact regarding the expansion profile. 116 */ 117 public ExpansionProfileContactComponent setName(String value) { 118 if (Utilities.noString(value)) 119 this.name = null; 120 else { 121 if (this.name == null) 122 this.name = new StringType(); 123 this.name.setValue(value); 124 } 125 return this; 126 } 127 128 /** 129 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 130 */ 131 public List<ContactPoint> getTelecom() { 132 if (this.telecom == null) 133 this.telecom = new ArrayList<ContactPoint>(); 134 return this.telecom; 135 } 136 137 public boolean hasTelecom() { 138 if (this.telecom == null) 139 return false; 140 for (ContactPoint item : this.telecom) 141 if (!item.isEmpty()) 142 return true; 143 return false; 144 } 145 146 /** 147 * @return {@link #telecom} (Contact details for individual (if a name was provided) or the publisher.) 148 */ 149 // syntactic sugar 150 public ContactPoint addTelecom() { //3 151 ContactPoint t = new ContactPoint(); 152 if (this.telecom == null) 153 this.telecom = new ArrayList<ContactPoint>(); 154 this.telecom.add(t); 155 return t; 156 } 157 158 // syntactic sugar 159 public ExpansionProfileContactComponent addTelecom(ContactPoint t) { //3 160 if (t == null) 161 return this; 162 if (this.telecom == null) 163 this.telecom = new ArrayList<ContactPoint>(); 164 this.telecom.add(t); 165 return this; 166 } 167 168 protected void listChildren(List<Property> childrenList) { 169 super.listChildren(childrenList); 170 childrenList.add(new Property("name", "string", "The name of an individual to contact regarding the expansion profile.", 0, java.lang.Integer.MAX_VALUE, name)); 171 childrenList.add(new Property("telecom", "ContactPoint", "Contact details for individual (if a name was provided) or the publisher.", 0, java.lang.Integer.MAX_VALUE, telecom)); 172 } 173 174 @Override 175 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 176 switch (hash) { 177 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 178 case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint 179 default: return super.getProperty(hash, name, checkValid); 180 } 181 182 } 183 184 @Override 185 public void setProperty(int hash, String name, Base value) throws FHIRException { 186 switch (hash) { 187 case 3373707: // name 188 this.name = castToString(value); // StringType 189 break; 190 case -1429363305: // telecom 191 this.getTelecom().add(castToContactPoint(value)); // ContactPoint 192 break; 193 default: super.setProperty(hash, name, value); 194 } 195 196 } 197 198 @Override 199 public void setProperty(String name, Base value) throws FHIRException { 200 if (name.equals("name")) 201 this.name = castToString(value); // StringType 202 else if (name.equals("telecom")) 203 this.getTelecom().add(castToContactPoint(value)); 204 else 205 super.setProperty(name, value); 206 } 207 208 @Override 209 public Base makeProperty(int hash, String name) throws FHIRException { 210 switch (hash) { 211 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 212 case -1429363305: return addTelecom(); // ContactPoint 213 default: return super.makeProperty(hash, name); 214 } 215 216 } 217 218 @Override 219 public Base addChild(String name) throws FHIRException { 220 if (name.equals("name")) { 221 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.name"); 222 } 223 else if (name.equals("telecom")) { 224 return addTelecom(); 225 } 226 else 227 return super.addChild(name); 228 } 229 230 public ExpansionProfileContactComponent copy() { 231 ExpansionProfileContactComponent dst = new ExpansionProfileContactComponent(); 232 copyValues(dst); 233 dst.name = name == null ? null : name.copy(); 234 if (telecom != null) { 235 dst.telecom = new ArrayList<ContactPoint>(); 236 for (ContactPoint i : telecom) 237 dst.telecom.add(i.copy()); 238 }; 239 return dst; 240 } 241 242 @Override 243 public boolean equalsDeep(Base other) { 244 if (!super.equalsDeep(other)) 245 return false; 246 if (!(other instanceof ExpansionProfileContactComponent)) 247 return false; 248 ExpansionProfileContactComponent o = (ExpansionProfileContactComponent) other; 249 return compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true); 250 } 251 252 @Override 253 public boolean equalsShallow(Base other) { 254 if (!super.equalsShallow(other)) 255 return false; 256 if (!(other instanceof ExpansionProfileContactComponent)) 257 return false; 258 ExpansionProfileContactComponent o = (ExpansionProfileContactComponent) other; 259 return compareValues(name, o.name, true); 260 } 261 262 public boolean isEmpty() { 263 return super.isEmpty() && (name == null || name.isEmpty()) && (telecom == null || telecom.isEmpty()) 264 ; 265 } 266 267 public String fhirType() { 268 return "ExpansionProfile.contact"; 269 270 } 271 272 } 273 274 @Block() 275 public static class ExpansionProfileCodeSystemComponent extends BackboneElement implements IBaseBackboneElement { 276 /** 277 * Code systems to be included in value set expansions. 278 */ 279 @Child(name = "include", type = {}, order=1, min=0, max=1, modifier=false, summary=true) 280 @Description(shortDefinition="Code systems to be included", formalDefinition="Code systems to be included in value set expansions." ) 281 protected CodeSystemIncludeComponent include; 282 283 /** 284 * Code systems to be excluded from value set expansions. 285 */ 286 @Child(name = "exclude", type = {}, order=2, min=0, max=1, modifier=false, summary=true) 287 @Description(shortDefinition="Code systems to be excluded", formalDefinition="Code systems to be excluded from value set expansions." ) 288 protected CodeSystemExcludeComponent exclude; 289 290 private static final long serialVersionUID = 340558624L; 291 292 /** 293 * Constructor 294 */ 295 public ExpansionProfileCodeSystemComponent() { 296 super(); 297 } 298 299 /** 300 * @return {@link #include} (Code systems to be included in value set expansions.) 301 */ 302 public CodeSystemIncludeComponent getInclude() { 303 if (this.include == null) 304 if (Configuration.errorOnAutoCreate()) 305 throw new Error("Attempt to auto-create ExpansionProfileCodeSystemComponent.include"); 306 else if (Configuration.doAutoCreate()) 307 this.include = new CodeSystemIncludeComponent(); // cc 308 return this.include; 309 } 310 311 public boolean hasInclude() { 312 return this.include != null && !this.include.isEmpty(); 313 } 314 315 /** 316 * @param value {@link #include} (Code systems to be included in value set expansions.) 317 */ 318 public ExpansionProfileCodeSystemComponent setInclude(CodeSystemIncludeComponent value) { 319 this.include = value; 320 return this; 321 } 322 323 /** 324 * @return {@link #exclude} (Code systems to be excluded from value set expansions.) 325 */ 326 public CodeSystemExcludeComponent getExclude() { 327 if (this.exclude == null) 328 if (Configuration.errorOnAutoCreate()) 329 throw new Error("Attempt to auto-create ExpansionProfileCodeSystemComponent.exclude"); 330 else if (Configuration.doAutoCreate()) 331 this.exclude = new CodeSystemExcludeComponent(); // cc 332 return this.exclude; 333 } 334 335 public boolean hasExclude() { 336 return this.exclude != null && !this.exclude.isEmpty(); 337 } 338 339 /** 340 * @param value {@link #exclude} (Code systems to be excluded from value set expansions.) 341 */ 342 public ExpansionProfileCodeSystemComponent setExclude(CodeSystemExcludeComponent value) { 343 this.exclude = value; 344 return this; 345 } 346 347 protected void listChildren(List<Property> childrenList) { 348 super.listChildren(childrenList); 349 childrenList.add(new Property("include", "", "Code systems to be included in value set expansions.", 0, java.lang.Integer.MAX_VALUE, include)); 350 childrenList.add(new Property("exclude", "", "Code systems to be excluded from value set expansions.", 0, java.lang.Integer.MAX_VALUE, exclude)); 351 } 352 353 @Override 354 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 355 switch (hash) { 356 case 1942574248: /*include*/ return this.include == null ? new Base[0] : new Base[] {this.include}; // CodeSystemIncludeComponent 357 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : new Base[] {this.exclude}; // CodeSystemExcludeComponent 358 default: return super.getProperty(hash, name, checkValid); 359 } 360 361 } 362 363 @Override 364 public void setProperty(int hash, String name, Base value) throws FHIRException { 365 switch (hash) { 366 case 1942574248: // include 367 this.include = (CodeSystemIncludeComponent) value; // CodeSystemIncludeComponent 368 break; 369 case -1321148966: // exclude 370 this.exclude = (CodeSystemExcludeComponent) value; // CodeSystemExcludeComponent 371 break; 372 default: super.setProperty(hash, name, value); 373 } 374 375 } 376 377 @Override 378 public void setProperty(String name, Base value) throws FHIRException { 379 if (name.equals("include")) 380 this.include = (CodeSystemIncludeComponent) value; // CodeSystemIncludeComponent 381 else if (name.equals("exclude")) 382 this.exclude = (CodeSystemExcludeComponent) value; // CodeSystemExcludeComponent 383 else 384 super.setProperty(name, value); 385 } 386 387 @Override 388 public Base makeProperty(int hash, String name) throws FHIRException { 389 switch (hash) { 390 case 1942574248: return getInclude(); // CodeSystemIncludeComponent 391 case -1321148966: return getExclude(); // CodeSystemExcludeComponent 392 default: return super.makeProperty(hash, name); 393 } 394 395 } 396 397 @Override 398 public Base addChild(String name) throws FHIRException { 399 if (name.equals("include")) { 400 this.include = new CodeSystemIncludeComponent(); 401 return this.include; 402 } 403 else if (name.equals("exclude")) { 404 this.exclude = new CodeSystemExcludeComponent(); 405 return this.exclude; 406 } 407 else 408 return super.addChild(name); 409 } 410 411 public ExpansionProfileCodeSystemComponent copy() { 412 ExpansionProfileCodeSystemComponent dst = new ExpansionProfileCodeSystemComponent(); 413 copyValues(dst); 414 dst.include = include == null ? null : include.copy(); 415 dst.exclude = exclude == null ? null : exclude.copy(); 416 return dst; 417 } 418 419 @Override 420 public boolean equalsDeep(Base other) { 421 if (!super.equalsDeep(other)) 422 return false; 423 if (!(other instanceof ExpansionProfileCodeSystemComponent)) 424 return false; 425 ExpansionProfileCodeSystemComponent o = (ExpansionProfileCodeSystemComponent) other; 426 return compareDeep(include, o.include, true) && compareDeep(exclude, o.exclude, true); 427 } 428 429 @Override 430 public boolean equalsShallow(Base other) { 431 if (!super.equalsShallow(other)) 432 return false; 433 if (!(other instanceof ExpansionProfileCodeSystemComponent)) 434 return false; 435 ExpansionProfileCodeSystemComponent o = (ExpansionProfileCodeSystemComponent) other; 436 return true; 437 } 438 439 public boolean isEmpty() { 440 return super.isEmpty() && (include == null || include.isEmpty()) && (exclude == null || exclude.isEmpty()) 441 ; 442 } 443 444 public String fhirType() { 445 return "ExpansionProfile.codeSystem"; 446 447 } 448 449 } 450 451 @Block() 452 public static class CodeSystemIncludeComponent extends BackboneElement implements IBaseBackboneElement { 453 /** 454 * A data group for each code system to be included. 455 */ 456 @Child(name = "codeSystem", type = {}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 457 @Description(shortDefinition="The code systems to be included", formalDefinition="A data group for each code system to be included." ) 458 protected List<CodeSystemIncludeCodeSystemComponent> codeSystem; 459 460 private static final long serialVersionUID = 1076909689L; 461 462 /** 463 * Constructor 464 */ 465 public CodeSystemIncludeComponent() { 466 super(); 467 } 468 469 /** 470 * @return {@link #codeSystem} (A data group for each code system to be included.) 471 */ 472 public List<CodeSystemIncludeCodeSystemComponent> getCodeSystem() { 473 if (this.codeSystem == null) 474 this.codeSystem = new ArrayList<CodeSystemIncludeCodeSystemComponent>(); 475 return this.codeSystem; 476 } 477 478 public boolean hasCodeSystem() { 479 if (this.codeSystem == null) 480 return false; 481 for (CodeSystemIncludeCodeSystemComponent item : this.codeSystem) 482 if (!item.isEmpty()) 483 return true; 484 return false; 485 } 486 487 /** 488 * @return {@link #codeSystem} (A data group for each code system to be included.) 489 */ 490 // syntactic sugar 491 public CodeSystemIncludeCodeSystemComponent addCodeSystem() { //3 492 CodeSystemIncludeCodeSystemComponent t = new CodeSystemIncludeCodeSystemComponent(); 493 if (this.codeSystem == null) 494 this.codeSystem = new ArrayList<CodeSystemIncludeCodeSystemComponent>(); 495 this.codeSystem.add(t); 496 return t; 497 } 498 499 // syntactic sugar 500 public CodeSystemIncludeComponent addCodeSystem(CodeSystemIncludeCodeSystemComponent t) { //3 501 if (t == null) 502 return this; 503 if (this.codeSystem == null) 504 this.codeSystem = new ArrayList<CodeSystemIncludeCodeSystemComponent>(); 505 this.codeSystem.add(t); 506 return this; 507 } 508 509 protected void listChildren(List<Property> childrenList) { 510 super.listChildren(childrenList); 511 childrenList.add(new Property("codeSystem", "", "A data group for each code system to be included.", 0, java.lang.Integer.MAX_VALUE, codeSystem)); 512 } 513 514 @Override 515 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 516 switch (hash) { 517 case -916511108: /*codeSystem*/ return this.codeSystem == null ? new Base[0] : this.codeSystem.toArray(new Base[this.codeSystem.size()]); // CodeSystemIncludeCodeSystemComponent 518 default: return super.getProperty(hash, name, checkValid); 519 } 520 521 } 522 523 @Override 524 public void setProperty(int hash, String name, Base value) throws FHIRException { 525 switch (hash) { 526 case -916511108: // codeSystem 527 this.getCodeSystem().add((CodeSystemIncludeCodeSystemComponent) value); // CodeSystemIncludeCodeSystemComponent 528 break; 529 default: super.setProperty(hash, name, value); 530 } 531 532 } 533 534 @Override 535 public void setProperty(String name, Base value) throws FHIRException { 536 if (name.equals("codeSystem")) 537 this.getCodeSystem().add((CodeSystemIncludeCodeSystemComponent) value); 538 else 539 super.setProperty(name, value); 540 } 541 542 @Override 543 public Base makeProperty(int hash, String name) throws FHIRException { 544 switch (hash) { 545 case -916511108: return addCodeSystem(); // CodeSystemIncludeCodeSystemComponent 546 default: return super.makeProperty(hash, name); 547 } 548 549 } 550 551 @Override 552 public Base addChild(String name) throws FHIRException { 553 if (name.equals("codeSystem")) { 554 return addCodeSystem(); 555 } 556 else 557 return super.addChild(name); 558 } 559 560 public CodeSystemIncludeComponent copy() { 561 CodeSystemIncludeComponent dst = new CodeSystemIncludeComponent(); 562 copyValues(dst); 563 if (codeSystem != null) { 564 dst.codeSystem = new ArrayList<CodeSystemIncludeCodeSystemComponent>(); 565 for (CodeSystemIncludeCodeSystemComponent i : codeSystem) 566 dst.codeSystem.add(i.copy()); 567 }; 568 return dst; 569 } 570 571 @Override 572 public boolean equalsDeep(Base other) { 573 if (!super.equalsDeep(other)) 574 return false; 575 if (!(other instanceof CodeSystemIncludeComponent)) 576 return false; 577 CodeSystemIncludeComponent o = (CodeSystemIncludeComponent) other; 578 return compareDeep(codeSystem, o.codeSystem, true); 579 } 580 581 @Override 582 public boolean equalsShallow(Base other) { 583 if (!super.equalsShallow(other)) 584 return false; 585 if (!(other instanceof CodeSystemIncludeComponent)) 586 return false; 587 CodeSystemIncludeComponent o = (CodeSystemIncludeComponent) other; 588 return true; 589 } 590 591 public boolean isEmpty() { 592 return super.isEmpty() && (codeSystem == null || codeSystem.isEmpty()); 593 } 594 595 public String fhirType() { 596 return "ExpansionProfile.codeSystem.include"; 597 598 } 599 600 } 601 602 @Block() 603 public static class CodeSystemIncludeCodeSystemComponent extends BackboneElement implements IBaseBackboneElement { 604 /** 605 * An absolute URI which is the code system to be included. 606 */ 607 @Child(name = "system", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=true) 608 @Description(shortDefinition="The specific code system to be included", formalDefinition="An absolute URI which is the code system to be included." ) 609 protected UriType system; 610 611 /** 612 * The version of the code system from which codes in the expansion should be included. 613 */ 614 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 615 @Description(shortDefinition="Specific version of the code system referred to", formalDefinition="The version of the code system from which codes in the expansion should be included." ) 616 protected StringType version; 617 618 private static final long serialVersionUID = 1145288774L; 619 620 /** 621 * Constructor 622 */ 623 public CodeSystemIncludeCodeSystemComponent() { 624 super(); 625 } 626 627 /** 628 * Constructor 629 */ 630 public CodeSystemIncludeCodeSystemComponent(UriType system) { 631 super(); 632 this.system = system; 633 } 634 635 /** 636 * @return {@link #system} (An absolute URI which is the code system to be included.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 637 */ 638 public UriType getSystemElement() { 639 if (this.system == null) 640 if (Configuration.errorOnAutoCreate()) 641 throw new Error("Attempt to auto-create CodeSystemIncludeCodeSystemComponent.system"); 642 else if (Configuration.doAutoCreate()) 643 this.system = new UriType(); // bb 644 return this.system; 645 } 646 647 public boolean hasSystemElement() { 648 return this.system != null && !this.system.isEmpty(); 649 } 650 651 public boolean hasSystem() { 652 return this.system != null && !this.system.isEmpty(); 653 } 654 655 /** 656 * @param value {@link #system} (An absolute URI which is the code system to be included.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 657 */ 658 public CodeSystemIncludeCodeSystemComponent setSystemElement(UriType value) { 659 this.system = value; 660 return this; 661 } 662 663 /** 664 * @return An absolute URI which is the code system to be included. 665 */ 666 public String getSystem() { 667 return this.system == null ? null : this.system.getValue(); 668 } 669 670 /** 671 * @param value An absolute URI which is the code system to be included. 672 */ 673 public CodeSystemIncludeCodeSystemComponent setSystem(String value) { 674 if (this.system == null) 675 this.system = new UriType(); 676 this.system.setValue(value); 677 return this; 678 } 679 680 /** 681 * @return {@link #version} (The version of the code system from which codes in the expansion should be included.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 682 */ 683 public StringType getVersionElement() { 684 if (this.version == null) 685 if (Configuration.errorOnAutoCreate()) 686 throw new Error("Attempt to auto-create CodeSystemIncludeCodeSystemComponent.version"); 687 else if (Configuration.doAutoCreate()) 688 this.version = new StringType(); // bb 689 return this.version; 690 } 691 692 public boolean hasVersionElement() { 693 return this.version != null && !this.version.isEmpty(); 694 } 695 696 public boolean hasVersion() { 697 return this.version != null && !this.version.isEmpty(); 698 } 699 700 /** 701 * @param value {@link #version} (The version of the code system from which codes in the expansion should be included.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 702 */ 703 public CodeSystemIncludeCodeSystemComponent setVersionElement(StringType value) { 704 this.version = value; 705 return this; 706 } 707 708 /** 709 * @return The version of the code system from which codes in the expansion should be included. 710 */ 711 public String getVersion() { 712 return this.version == null ? null : this.version.getValue(); 713 } 714 715 /** 716 * @param value The version of the code system from which codes in the expansion should be included. 717 */ 718 public CodeSystemIncludeCodeSystemComponent setVersion(String value) { 719 if (Utilities.noString(value)) 720 this.version = null; 721 else { 722 if (this.version == null) 723 this.version = new StringType(); 724 this.version.setValue(value); 725 } 726 return this; 727 } 728 729 protected void listChildren(List<Property> childrenList) { 730 super.listChildren(childrenList); 731 childrenList.add(new Property("system", "uri", "An absolute URI which is the code system to be included.", 0, java.lang.Integer.MAX_VALUE, system)); 732 childrenList.add(new Property("version", "string", "The version of the code system from which codes in the expansion should be included.", 0, java.lang.Integer.MAX_VALUE, version)); 733 } 734 735 @Override 736 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 737 switch (hash) { 738 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 739 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 740 default: return super.getProperty(hash, name, checkValid); 741 } 742 743 } 744 745 @Override 746 public void setProperty(int hash, String name, Base value) throws FHIRException { 747 switch (hash) { 748 case -887328209: // system 749 this.system = castToUri(value); // UriType 750 break; 751 case 351608024: // version 752 this.version = castToString(value); // StringType 753 break; 754 default: super.setProperty(hash, name, value); 755 } 756 757 } 758 759 @Override 760 public void setProperty(String name, Base value) throws FHIRException { 761 if (name.equals("system")) 762 this.system = castToUri(value); // UriType 763 else if (name.equals("version")) 764 this.version = castToString(value); // StringType 765 else 766 super.setProperty(name, value); 767 } 768 769 @Override 770 public Base makeProperty(int hash, String name) throws FHIRException { 771 switch (hash) { 772 case -887328209: throw new FHIRException("Cannot make property system as it is not a complex type"); // UriType 773 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 774 default: return super.makeProperty(hash, name); 775 } 776 777 } 778 779 @Override 780 public Base addChild(String name) throws FHIRException { 781 if (name.equals("system")) { 782 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.system"); 783 } 784 else if (name.equals("version")) { 785 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.version"); 786 } 787 else 788 return super.addChild(name); 789 } 790 791 public CodeSystemIncludeCodeSystemComponent copy() { 792 CodeSystemIncludeCodeSystemComponent dst = new CodeSystemIncludeCodeSystemComponent(); 793 copyValues(dst); 794 dst.system = system == null ? null : system.copy(); 795 dst.version = version == null ? null : version.copy(); 796 return dst; 797 } 798 799 @Override 800 public boolean equalsDeep(Base other) { 801 if (!super.equalsDeep(other)) 802 return false; 803 if (!(other instanceof CodeSystemIncludeCodeSystemComponent)) 804 return false; 805 CodeSystemIncludeCodeSystemComponent o = (CodeSystemIncludeCodeSystemComponent) other; 806 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true); 807 } 808 809 @Override 810 public boolean equalsShallow(Base other) { 811 if (!super.equalsShallow(other)) 812 return false; 813 if (!(other instanceof CodeSystemIncludeCodeSystemComponent)) 814 return false; 815 CodeSystemIncludeCodeSystemComponent o = (CodeSystemIncludeCodeSystemComponent) other; 816 return compareValues(system, o.system, true) && compareValues(version, o.version, true); 817 } 818 819 public boolean isEmpty() { 820 return super.isEmpty() && (system == null || system.isEmpty()) && (version == null || version.isEmpty()) 821 ; 822 } 823 824 public String fhirType() { 825 return "ExpansionProfile.codeSystem.include.codeSystem"; 826 827 } 828 829 } 830 831 @Block() 832 public static class CodeSystemExcludeComponent extends BackboneElement implements IBaseBackboneElement { 833 /** 834 * A data group for each code system to be excluded. 835 */ 836 @Child(name = "codeSystem", type = {}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 837 @Description(shortDefinition="The code systems to be excluded", formalDefinition="A data group for each code system to be excluded." ) 838 protected List<CodeSystemExcludeCodeSystemComponent> codeSystem; 839 840 private static final long serialVersionUID = 1960514347L; 841 842 /** 843 * Constructor 844 */ 845 public CodeSystemExcludeComponent() { 846 super(); 847 } 848 849 /** 850 * @return {@link #codeSystem} (A data group for each code system to be excluded.) 851 */ 852 public List<CodeSystemExcludeCodeSystemComponent> getCodeSystem() { 853 if (this.codeSystem == null) 854 this.codeSystem = new ArrayList<CodeSystemExcludeCodeSystemComponent>(); 855 return this.codeSystem; 856 } 857 858 public boolean hasCodeSystem() { 859 if (this.codeSystem == null) 860 return false; 861 for (CodeSystemExcludeCodeSystemComponent item : this.codeSystem) 862 if (!item.isEmpty()) 863 return true; 864 return false; 865 } 866 867 /** 868 * @return {@link #codeSystem} (A data group for each code system to be excluded.) 869 */ 870 // syntactic sugar 871 public CodeSystemExcludeCodeSystemComponent addCodeSystem() { //3 872 CodeSystemExcludeCodeSystemComponent t = new CodeSystemExcludeCodeSystemComponent(); 873 if (this.codeSystem == null) 874 this.codeSystem = new ArrayList<CodeSystemExcludeCodeSystemComponent>(); 875 this.codeSystem.add(t); 876 return t; 877 } 878 879 // syntactic sugar 880 public CodeSystemExcludeComponent addCodeSystem(CodeSystemExcludeCodeSystemComponent t) { //3 881 if (t == null) 882 return this; 883 if (this.codeSystem == null) 884 this.codeSystem = new ArrayList<CodeSystemExcludeCodeSystemComponent>(); 885 this.codeSystem.add(t); 886 return this; 887 } 888 889 protected void listChildren(List<Property> childrenList) { 890 super.listChildren(childrenList); 891 childrenList.add(new Property("codeSystem", "", "A data group for each code system to be excluded.", 0, java.lang.Integer.MAX_VALUE, codeSystem)); 892 } 893 894 @Override 895 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 896 switch (hash) { 897 case -916511108: /*codeSystem*/ return this.codeSystem == null ? new Base[0] : this.codeSystem.toArray(new Base[this.codeSystem.size()]); // CodeSystemExcludeCodeSystemComponent 898 default: return super.getProperty(hash, name, checkValid); 899 } 900 901 } 902 903 @Override 904 public void setProperty(int hash, String name, Base value) throws FHIRException { 905 switch (hash) { 906 case -916511108: // codeSystem 907 this.getCodeSystem().add((CodeSystemExcludeCodeSystemComponent) value); // CodeSystemExcludeCodeSystemComponent 908 break; 909 default: super.setProperty(hash, name, value); 910 } 911 912 } 913 914 @Override 915 public void setProperty(String name, Base value) throws FHIRException { 916 if (name.equals("codeSystem")) 917 this.getCodeSystem().add((CodeSystemExcludeCodeSystemComponent) value); 918 else 919 super.setProperty(name, value); 920 } 921 922 @Override 923 public Base makeProperty(int hash, String name) throws FHIRException { 924 switch (hash) { 925 case -916511108: return addCodeSystem(); // CodeSystemExcludeCodeSystemComponent 926 default: return super.makeProperty(hash, name); 927 } 928 929 } 930 931 @Override 932 public Base addChild(String name) throws FHIRException { 933 if (name.equals("codeSystem")) { 934 return addCodeSystem(); 935 } 936 else 937 return super.addChild(name); 938 } 939 940 public CodeSystemExcludeComponent copy() { 941 CodeSystemExcludeComponent dst = new CodeSystemExcludeComponent(); 942 copyValues(dst); 943 if (codeSystem != null) { 944 dst.codeSystem = new ArrayList<CodeSystemExcludeCodeSystemComponent>(); 945 for (CodeSystemExcludeCodeSystemComponent i : codeSystem) 946 dst.codeSystem.add(i.copy()); 947 }; 948 return dst; 949 } 950 951 @Override 952 public boolean equalsDeep(Base other) { 953 if (!super.equalsDeep(other)) 954 return false; 955 if (!(other instanceof CodeSystemExcludeComponent)) 956 return false; 957 CodeSystemExcludeComponent o = (CodeSystemExcludeComponent) other; 958 return compareDeep(codeSystem, o.codeSystem, true); 959 } 960 961 @Override 962 public boolean equalsShallow(Base other) { 963 if (!super.equalsShallow(other)) 964 return false; 965 if (!(other instanceof CodeSystemExcludeComponent)) 966 return false; 967 CodeSystemExcludeComponent o = (CodeSystemExcludeComponent) other; 968 return true; 969 } 970 971 public boolean isEmpty() { 972 return super.isEmpty() && (codeSystem == null || codeSystem.isEmpty()); 973 } 974 975 public String fhirType() { 976 return "ExpansionProfile.codeSystem.exclude"; 977 978 } 979 980 } 981 982 @Block() 983 public static class CodeSystemExcludeCodeSystemComponent extends BackboneElement implements IBaseBackboneElement { 984 /** 985 * An absolute URI which is the code system to be excluded. 986 */ 987 @Child(name = "system", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=true) 988 @Description(shortDefinition="The specific code system to be excluded", formalDefinition="An absolute URI which is the code system to be excluded." ) 989 protected UriType system; 990 991 /** 992 * The version of the code system from which codes in the expansion should be excluded. 993 */ 994 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 995 @Description(shortDefinition="Specific version of the code system referred to", formalDefinition="The version of the code system from which codes in the expansion should be excluded." ) 996 protected StringType version; 997 998 private static final long serialVersionUID = 1145288774L; 999 1000 /** 1001 * Constructor 1002 */ 1003 public CodeSystemExcludeCodeSystemComponent() { 1004 super(); 1005 } 1006 1007 /** 1008 * Constructor 1009 */ 1010 public CodeSystemExcludeCodeSystemComponent(UriType system) { 1011 super(); 1012 this.system = system; 1013 } 1014 1015 /** 1016 * @return {@link #system} (An absolute URI which is the code system to be excluded.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 1017 */ 1018 public UriType getSystemElement() { 1019 if (this.system == null) 1020 if (Configuration.errorOnAutoCreate()) 1021 throw new Error("Attempt to auto-create CodeSystemExcludeCodeSystemComponent.system"); 1022 else if (Configuration.doAutoCreate()) 1023 this.system = new UriType(); // bb 1024 return this.system; 1025 } 1026 1027 public boolean hasSystemElement() { 1028 return this.system != null && !this.system.isEmpty(); 1029 } 1030 1031 public boolean hasSystem() { 1032 return this.system != null && !this.system.isEmpty(); 1033 } 1034 1035 /** 1036 * @param value {@link #system} (An absolute URI which is the code system to be excluded.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value 1037 */ 1038 public CodeSystemExcludeCodeSystemComponent setSystemElement(UriType value) { 1039 this.system = value; 1040 return this; 1041 } 1042 1043 /** 1044 * @return An absolute URI which is the code system to be excluded. 1045 */ 1046 public String getSystem() { 1047 return this.system == null ? null : this.system.getValue(); 1048 } 1049 1050 /** 1051 * @param value An absolute URI which is the code system to be excluded. 1052 */ 1053 public CodeSystemExcludeCodeSystemComponent setSystem(String value) { 1054 if (this.system == null) 1055 this.system = new UriType(); 1056 this.system.setValue(value); 1057 return this; 1058 } 1059 1060 /** 1061 * @return {@link #version} (The version of the code system from which codes in the expansion should be excluded.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1062 */ 1063 public StringType getVersionElement() { 1064 if (this.version == null) 1065 if (Configuration.errorOnAutoCreate()) 1066 throw new Error("Attempt to auto-create CodeSystemExcludeCodeSystemComponent.version"); 1067 else if (Configuration.doAutoCreate()) 1068 this.version = new StringType(); // bb 1069 return this.version; 1070 } 1071 1072 public boolean hasVersionElement() { 1073 return this.version != null && !this.version.isEmpty(); 1074 } 1075 1076 public boolean hasVersion() { 1077 return this.version != null && !this.version.isEmpty(); 1078 } 1079 1080 /** 1081 * @param value {@link #version} (The version of the code system from which codes in the expansion should be excluded.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 1082 */ 1083 public CodeSystemExcludeCodeSystemComponent setVersionElement(StringType value) { 1084 this.version = value; 1085 return this; 1086 } 1087 1088 /** 1089 * @return The version of the code system from which codes in the expansion should be excluded. 1090 */ 1091 public String getVersion() { 1092 return this.version == null ? null : this.version.getValue(); 1093 } 1094 1095 /** 1096 * @param value The version of the code system from which codes in the expansion should be excluded. 1097 */ 1098 public CodeSystemExcludeCodeSystemComponent setVersion(String value) { 1099 if (Utilities.noString(value)) 1100 this.version = null; 1101 else { 1102 if (this.version == null) 1103 this.version = new StringType(); 1104 this.version.setValue(value); 1105 } 1106 return this; 1107 } 1108 1109 protected void listChildren(List<Property> childrenList) { 1110 super.listChildren(childrenList); 1111 childrenList.add(new Property("system", "uri", "An absolute URI which is the code system to be excluded.", 0, java.lang.Integer.MAX_VALUE, system)); 1112 childrenList.add(new Property("version", "string", "The version of the code system from which codes in the expansion should be excluded.", 0, java.lang.Integer.MAX_VALUE, version)); 1113 } 1114 1115 @Override 1116 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1117 switch (hash) { 1118 case -887328209: /*system*/ return this.system == null ? new Base[0] : new Base[] {this.system}; // UriType 1119 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 1120 default: return super.getProperty(hash, name, checkValid); 1121 } 1122 1123 } 1124 1125 @Override 1126 public void setProperty(int hash, String name, Base value) throws FHIRException { 1127 switch (hash) { 1128 case -887328209: // system 1129 this.system = castToUri(value); // UriType 1130 break; 1131 case 351608024: // version 1132 this.version = castToString(value); // StringType 1133 break; 1134 default: super.setProperty(hash, name, value); 1135 } 1136 1137 } 1138 1139 @Override 1140 public void setProperty(String name, Base value) throws FHIRException { 1141 if (name.equals("system")) 1142 this.system = castToUri(value); // UriType 1143 else if (name.equals("version")) 1144 this.version = castToString(value); // StringType 1145 else 1146 super.setProperty(name, value); 1147 } 1148 1149 @Override 1150 public Base makeProperty(int hash, String name) throws FHIRException { 1151 switch (hash) { 1152 case -887328209: throw new FHIRException("Cannot make property system as it is not a complex type"); // UriType 1153 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 1154 default: return super.makeProperty(hash, name); 1155 } 1156 1157 } 1158 1159 @Override 1160 public Base addChild(String name) throws FHIRException { 1161 if (name.equals("system")) { 1162 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.system"); 1163 } 1164 else if (name.equals("version")) { 1165 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.version"); 1166 } 1167 else 1168 return super.addChild(name); 1169 } 1170 1171 public CodeSystemExcludeCodeSystemComponent copy() { 1172 CodeSystemExcludeCodeSystemComponent dst = new CodeSystemExcludeCodeSystemComponent(); 1173 copyValues(dst); 1174 dst.system = system == null ? null : system.copy(); 1175 dst.version = version == null ? null : version.copy(); 1176 return dst; 1177 } 1178 1179 @Override 1180 public boolean equalsDeep(Base other) { 1181 if (!super.equalsDeep(other)) 1182 return false; 1183 if (!(other instanceof CodeSystemExcludeCodeSystemComponent)) 1184 return false; 1185 CodeSystemExcludeCodeSystemComponent o = (CodeSystemExcludeCodeSystemComponent) other; 1186 return compareDeep(system, o.system, true) && compareDeep(version, o.version, true); 1187 } 1188 1189 @Override 1190 public boolean equalsShallow(Base other) { 1191 if (!super.equalsShallow(other)) 1192 return false; 1193 if (!(other instanceof CodeSystemExcludeCodeSystemComponent)) 1194 return false; 1195 CodeSystemExcludeCodeSystemComponent o = (CodeSystemExcludeCodeSystemComponent) other; 1196 return compareValues(system, o.system, true) && compareValues(version, o.version, true); 1197 } 1198 1199 public boolean isEmpty() { 1200 return super.isEmpty() && (system == null || system.isEmpty()) && (version == null || version.isEmpty()) 1201 ; 1202 } 1203 1204 public String fhirType() { 1205 return "ExpansionProfile.codeSystem.exclude.codeSystem"; 1206 1207 } 1208 1209 } 1210 1211 @Block() 1212 public static class ExpansionProfileDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1213 /** 1214 * Designations to be included. 1215 */ 1216 @Child(name = "include", type = {}, order=1, min=0, max=1, modifier=false, summary=true) 1217 @Description(shortDefinition="Designations to be included", formalDefinition="Designations to be included." ) 1218 protected DesignationIncludeComponent include; 1219 1220 /** 1221 * Designations to be excluded. 1222 */ 1223 @Child(name = "exclude", type = {}, order=2, min=0, max=1, modifier=false, summary=true) 1224 @Description(shortDefinition="Designations to be excluded", formalDefinition="Designations to be excluded." ) 1225 protected DesignationExcludeComponent exclude; 1226 1227 private static final long serialVersionUID = -2080476436L; 1228 1229 /** 1230 * Constructor 1231 */ 1232 public ExpansionProfileDesignationComponent() { 1233 super(); 1234 } 1235 1236 /** 1237 * @return {@link #include} (Designations to be included.) 1238 */ 1239 public DesignationIncludeComponent getInclude() { 1240 if (this.include == null) 1241 if (Configuration.errorOnAutoCreate()) 1242 throw new Error("Attempt to auto-create ExpansionProfileDesignationComponent.include"); 1243 else if (Configuration.doAutoCreate()) 1244 this.include = new DesignationIncludeComponent(); // cc 1245 return this.include; 1246 } 1247 1248 public boolean hasInclude() { 1249 return this.include != null && !this.include.isEmpty(); 1250 } 1251 1252 /** 1253 * @param value {@link #include} (Designations to be included.) 1254 */ 1255 public ExpansionProfileDesignationComponent setInclude(DesignationIncludeComponent value) { 1256 this.include = value; 1257 return this; 1258 } 1259 1260 /** 1261 * @return {@link #exclude} (Designations to be excluded.) 1262 */ 1263 public DesignationExcludeComponent getExclude() { 1264 if (this.exclude == null) 1265 if (Configuration.errorOnAutoCreate()) 1266 throw new Error("Attempt to auto-create ExpansionProfileDesignationComponent.exclude"); 1267 else if (Configuration.doAutoCreate()) 1268 this.exclude = new DesignationExcludeComponent(); // cc 1269 return this.exclude; 1270 } 1271 1272 public boolean hasExclude() { 1273 return this.exclude != null && !this.exclude.isEmpty(); 1274 } 1275 1276 /** 1277 * @param value {@link #exclude} (Designations to be excluded.) 1278 */ 1279 public ExpansionProfileDesignationComponent setExclude(DesignationExcludeComponent value) { 1280 this.exclude = value; 1281 return this; 1282 } 1283 1284 protected void listChildren(List<Property> childrenList) { 1285 super.listChildren(childrenList); 1286 childrenList.add(new Property("include", "", "Designations to be included.", 0, java.lang.Integer.MAX_VALUE, include)); 1287 childrenList.add(new Property("exclude", "", "Designations to be excluded.", 0, java.lang.Integer.MAX_VALUE, exclude)); 1288 } 1289 1290 @Override 1291 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1292 switch (hash) { 1293 case 1942574248: /*include*/ return this.include == null ? new Base[0] : new Base[] {this.include}; // DesignationIncludeComponent 1294 case -1321148966: /*exclude*/ return this.exclude == null ? new Base[0] : new Base[] {this.exclude}; // DesignationExcludeComponent 1295 default: return super.getProperty(hash, name, checkValid); 1296 } 1297 1298 } 1299 1300 @Override 1301 public void setProperty(int hash, String name, Base value) throws FHIRException { 1302 switch (hash) { 1303 case 1942574248: // include 1304 this.include = (DesignationIncludeComponent) value; // DesignationIncludeComponent 1305 break; 1306 case -1321148966: // exclude 1307 this.exclude = (DesignationExcludeComponent) value; // DesignationExcludeComponent 1308 break; 1309 default: super.setProperty(hash, name, value); 1310 } 1311 1312 } 1313 1314 @Override 1315 public void setProperty(String name, Base value) throws FHIRException { 1316 if (name.equals("include")) 1317 this.include = (DesignationIncludeComponent) value; // DesignationIncludeComponent 1318 else if (name.equals("exclude")) 1319 this.exclude = (DesignationExcludeComponent) value; // DesignationExcludeComponent 1320 else 1321 super.setProperty(name, value); 1322 } 1323 1324 @Override 1325 public Base makeProperty(int hash, String name) throws FHIRException { 1326 switch (hash) { 1327 case 1942574248: return getInclude(); // DesignationIncludeComponent 1328 case -1321148966: return getExclude(); // DesignationExcludeComponent 1329 default: return super.makeProperty(hash, name); 1330 } 1331 1332 } 1333 1334 @Override 1335 public Base addChild(String name) throws FHIRException { 1336 if (name.equals("include")) { 1337 this.include = new DesignationIncludeComponent(); 1338 return this.include; 1339 } 1340 else if (name.equals("exclude")) { 1341 this.exclude = new DesignationExcludeComponent(); 1342 return this.exclude; 1343 } 1344 else 1345 return super.addChild(name); 1346 } 1347 1348 public ExpansionProfileDesignationComponent copy() { 1349 ExpansionProfileDesignationComponent dst = new ExpansionProfileDesignationComponent(); 1350 copyValues(dst); 1351 dst.include = include == null ? null : include.copy(); 1352 dst.exclude = exclude == null ? null : exclude.copy(); 1353 return dst; 1354 } 1355 1356 @Override 1357 public boolean equalsDeep(Base other) { 1358 if (!super.equalsDeep(other)) 1359 return false; 1360 if (!(other instanceof ExpansionProfileDesignationComponent)) 1361 return false; 1362 ExpansionProfileDesignationComponent o = (ExpansionProfileDesignationComponent) other; 1363 return compareDeep(include, o.include, true) && compareDeep(exclude, o.exclude, true); 1364 } 1365 1366 @Override 1367 public boolean equalsShallow(Base other) { 1368 if (!super.equalsShallow(other)) 1369 return false; 1370 if (!(other instanceof ExpansionProfileDesignationComponent)) 1371 return false; 1372 ExpansionProfileDesignationComponent o = (ExpansionProfileDesignationComponent) other; 1373 return true; 1374 } 1375 1376 public boolean isEmpty() { 1377 return super.isEmpty() && (include == null || include.isEmpty()) && (exclude == null || exclude.isEmpty()) 1378 ; 1379 } 1380 1381 public String fhirType() { 1382 return "ExpansionProfile.designation"; 1383 1384 } 1385 1386 } 1387 1388 @Block() 1389 public static class DesignationIncludeComponent extends BackboneElement implements IBaseBackboneElement { 1390 /** 1391 * A data group for each designation to be included. 1392 */ 1393 @Child(name = "designation", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1394 @Description(shortDefinition="The designation to be included", formalDefinition="A data group for each designation to be included." ) 1395 protected List<DesignationIncludeDesignationComponent> designation; 1396 1397 private static final long serialVersionUID = -1989669274L; 1398 1399 /** 1400 * Constructor 1401 */ 1402 public DesignationIncludeComponent() { 1403 super(); 1404 } 1405 1406 /** 1407 * @return {@link #designation} (A data group for each designation to be included.) 1408 */ 1409 public List<DesignationIncludeDesignationComponent> getDesignation() { 1410 if (this.designation == null) 1411 this.designation = new ArrayList<DesignationIncludeDesignationComponent>(); 1412 return this.designation; 1413 } 1414 1415 public boolean hasDesignation() { 1416 if (this.designation == null) 1417 return false; 1418 for (DesignationIncludeDesignationComponent item : this.designation) 1419 if (!item.isEmpty()) 1420 return true; 1421 return false; 1422 } 1423 1424 /** 1425 * @return {@link #designation} (A data group for each designation to be included.) 1426 */ 1427 // syntactic sugar 1428 public DesignationIncludeDesignationComponent addDesignation() { //3 1429 DesignationIncludeDesignationComponent t = new DesignationIncludeDesignationComponent(); 1430 if (this.designation == null) 1431 this.designation = new ArrayList<DesignationIncludeDesignationComponent>(); 1432 this.designation.add(t); 1433 return t; 1434 } 1435 1436 // syntactic sugar 1437 public DesignationIncludeComponent addDesignation(DesignationIncludeDesignationComponent t) { //3 1438 if (t == null) 1439 return this; 1440 if (this.designation == null) 1441 this.designation = new ArrayList<DesignationIncludeDesignationComponent>(); 1442 this.designation.add(t); 1443 return this; 1444 } 1445 1446 protected void listChildren(List<Property> childrenList) { 1447 super.listChildren(childrenList); 1448 childrenList.add(new Property("designation", "", "A data group for each designation to be included.", 0, java.lang.Integer.MAX_VALUE, designation)); 1449 } 1450 1451 @Override 1452 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1453 switch (hash) { 1454 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // DesignationIncludeDesignationComponent 1455 default: return super.getProperty(hash, name, checkValid); 1456 } 1457 1458 } 1459 1460 @Override 1461 public void setProperty(int hash, String name, Base value) throws FHIRException { 1462 switch (hash) { 1463 case -900931593: // designation 1464 this.getDesignation().add((DesignationIncludeDesignationComponent) value); // DesignationIncludeDesignationComponent 1465 break; 1466 default: super.setProperty(hash, name, value); 1467 } 1468 1469 } 1470 1471 @Override 1472 public void setProperty(String name, Base value) throws FHIRException { 1473 if (name.equals("designation")) 1474 this.getDesignation().add((DesignationIncludeDesignationComponent) value); 1475 else 1476 super.setProperty(name, value); 1477 } 1478 1479 @Override 1480 public Base makeProperty(int hash, String name) throws FHIRException { 1481 switch (hash) { 1482 case -900931593: return addDesignation(); // DesignationIncludeDesignationComponent 1483 default: return super.makeProperty(hash, name); 1484 } 1485 1486 } 1487 1488 @Override 1489 public Base addChild(String name) throws FHIRException { 1490 if (name.equals("designation")) { 1491 return addDesignation(); 1492 } 1493 else 1494 return super.addChild(name); 1495 } 1496 1497 public DesignationIncludeComponent copy() { 1498 DesignationIncludeComponent dst = new DesignationIncludeComponent(); 1499 copyValues(dst); 1500 if (designation != null) { 1501 dst.designation = new ArrayList<DesignationIncludeDesignationComponent>(); 1502 for (DesignationIncludeDesignationComponent i : designation) 1503 dst.designation.add(i.copy()); 1504 }; 1505 return dst; 1506 } 1507 1508 @Override 1509 public boolean equalsDeep(Base other) { 1510 if (!super.equalsDeep(other)) 1511 return false; 1512 if (!(other instanceof DesignationIncludeComponent)) 1513 return false; 1514 DesignationIncludeComponent o = (DesignationIncludeComponent) other; 1515 return compareDeep(designation, o.designation, true); 1516 } 1517 1518 @Override 1519 public boolean equalsShallow(Base other) { 1520 if (!super.equalsShallow(other)) 1521 return false; 1522 if (!(other instanceof DesignationIncludeComponent)) 1523 return false; 1524 DesignationIncludeComponent o = (DesignationIncludeComponent) other; 1525 return true; 1526 } 1527 1528 public boolean isEmpty() { 1529 return super.isEmpty() && (designation == null || designation.isEmpty()); 1530 } 1531 1532 public String fhirType() { 1533 return "ExpansionProfile.designation.include"; 1534 1535 } 1536 1537 } 1538 1539 @Block() 1540 public static class DesignationIncludeDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1541 /** 1542 * The language this designation is defined for. 1543 */ 1544 @Child(name = "language", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=true) 1545 @Description(shortDefinition="Human language of the designation to be included", formalDefinition="The language this designation is defined for." ) 1546 protected CodeType language; 1547 1548 /** 1549 * Designation uses for inclusion in the expansion. 1550 */ 1551 @Child(name = "use", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) 1552 @Description(shortDefinition="Designation use", formalDefinition="Designation uses for inclusion in the expansion." ) 1553 protected Coding use; 1554 1555 private static final long serialVersionUID = 242239292L; 1556 1557 /** 1558 * Constructor 1559 */ 1560 public DesignationIncludeDesignationComponent() { 1561 super(); 1562 } 1563 1564 /** 1565 * @return {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1566 */ 1567 public CodeType getLanguageElement() { 1568 if (this.language == null) 1569 if (Configuration.errorOnAutoCreate()) 1570 throw new Error("Attempt to auto-create DesignationIncludeDesignationComponent.language"); 1571 else if (Configuration.doAutoCreate()) 1572 this.language = new CodeType(); // bb 1573 return this.language; 1574 } 1575 1576 public boolean hasLanguageElement() { 1577 return this.language != null && !this.language.isEmpty(); 1578 } 1579 1580 public boolean hasLanguage() { 1581 return this.language != null && !this.language.isEmpty(); 1582 } 1583 1584 /** 1585 * @param value {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1586 */ 1587 public DesignationIncludeDesignationComponent setLanguageElement(CodeType value) { 1588 this.language = value; 1589 return this; 1590 } 1591 1592 /** 1593 * @return The language this designation is defined for. 1594 */ 1595 public String getLanguage() { 1596 return this.language == null ? null : this.language.getValue(); 1597 } 1598 1599 /** 1600 * @param value The language this designation is defined for. 1601 */ 1602 public DesignationIncludeDesignationComponent setLanguage(String value) { 1603 if (Utilities.noString(value)) 1604 this.language = null; 1605 else { 1606 if (this.language == null) 1607 this.language = new CodeType(); 1608 this.language.setValue(value); 1609 } 1610 return this; 1611 } 1612 1613 /** 1614 * @return {@link #use} (Designation uses for inclusion in the expansion.) 1615 */ 1616 public Coding getUse() { 1617 if (this.use == null) 1618 if (Configuration.errorOnAutoCreate()) 1619 throw new Error("Attempt to auto-create DesignationIncludeDesignationComponent.use"); 1620 else if (Configuration.doAutoCreate()) 1621 this.use = new Coding(); // cc 1622 return this.use; 1623 } 1624 1625 public boolean hasUse() { 1626 return this.use != null && !this.use.isEmpty(); 1627 } 1628 1629 /** 1630 * @param value {@link #use} (Designation uses for inclusion in the expansion.) 1631 */ 1632 public DesignationIncludeDesignationComponent setUse(Coding value) { 1633 this.use = value; 1634 return this; 1635 } 1636 1637 protected void listChildren(List<Property> childrenList) { 1638 super.listChildren(childrenList); 1639 childrenList.add(new Property("language", "code", "The language this designation is defined for.", 0, java.lang.Integer.MAX_VALUE, language)); 1640 childrenList.add(new Property("use", "Coding", "Designation uses for inclusion in the expansion.", 0, java.lang.Integer.MAX_VALUE, use)); 1641 } 1642 1643 @Override 1644 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1645 switch (hash) { 1646 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 1647 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 1648 default: return super.getProperty(hash, name, checkValid); 1649 } 1650 1651 } 1652 1653 @Override 1654 public void setProperty(int hash, String name, Base value) throws FHIRException { 1655 switch (hash) { 1656 case -1613589672: // language 1657 this.language = castToCode(value); // CodeType 1658 break; 1659 case 116103: // use 1660 this.use = castToCoding(value); // Coding 1661 break; 1662 default: super.setProperty(hash, name, value); 1663 } 1664 1665 } 1666 1667 @Override 1668 public void setProperty(String name, Base value) throws FHIRException { 1669 if (name.equals("language")) 1670 this.language = castToCode(value); // CodeType 1671 else if (name.equals("use")) 1672 this.use = castToCoding(value); // Coding 1673 else 1674 super.setProperty(name, value); 1675 } 1676 1677 @Override 1678 public Base makeProperty(int hash, String name) throws FHIRException { 1679 switch (hash) { 1680 case -1613589672: throw new FHIRException("Cannot make property language as it is not a complex type"); // CodeType 1681 case 116103: return getUse(); // Coding 1682 default: return super.makeProperty(hash, name); 1683 } 1684 1685 } 1686 1687 @Override 1688 public Base addChild(String name) throws FHIRException { 1689 if (name.equals("language")) { 1690 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.language"); 1691 } 1692 else if (name.equals("use")) { 1693 this.use = new Coding(); 1694 return this.use; 1695 } 1696 else 1697 return super.addChild(name); 1698 } 1699 1700 public DesignationIncludeDesignationComponent copy() { 1701 DesignationIncludeDesignationComponent dst = new DesignationIncludeDesignationComponent(); 1702 copyValues(dst); 1703 dst.language = language == null ? null : language.copy(); 1704 dst.use = use == null ? null : use.copy(); 1705 return dst; 1706 } 1707 1708 @Override 1709 public boolean equalsDeep(Base other) { 1710 if (!super.equalsDeep(other)) 1711 return false; 1712 if (!(other instanceof DesignationIncludeDesignationComponent)) 1713 return false; 1714 DesignationIncludeDesignationComponent o = (DesignationIncludeDesignationComponent) other; 1715 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true); 1716 } 1717 1718 @Override 1719 public boolean equalsShallow(Base other) { 1720 if (!super.equalsShallow(other)) 1721 return false; 1722 if (!(other instanceof DesignationIncludeDesignationComponent)) 1723 return false; 1724 DesignationIncludeDesignationComponent o = (DesignationIncludeDesignationComponent) other; 1725 return compareValues(language, o.language, true); 1726 } 1727 1728 public boolean isEmpty() { 1729 return super.isEmpty() && (language == null || language.isEmpty()) && (use == null || use.isEmpty()) 1730 ; 1731 } 1732 1733 public String fhirType() { 1734 return "ExpansionProfile.designation.include.designation"; 1735 1736 } 1737 1738 } 1739 1740 @Block() 1741 public static class DesignationExcludeComponent extends BackboneElement implements IBaseBackboneElement { 1742 /** 1743 * A data group for each designation to be excluded. 1744 */ 1745 @Child(name = "designation", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 1746 @Description(shortDefinition="The designation to be excluded", formalDefinition="A data group for each designation to be excluded." ) 1747 protected List<DesignationExcludeDesignationComponent> designation; 1748 1749 private static final long serialVersionUID = 1045849752L; 1750 1751 /** 1752 * Constructor 1753 */ 1754 public DesignationExcludeComponent() { 1755 super(); 1756 } 1757 1758 /** 1759 * @return {@link #designation} (A data group for each designation to be excluded.) 1760 */ 1761 public List<DesignationExcludeDesignationComponent> getDesignation() { 1762 if (this.designation == null) 1763 this.designation = new ArrayList<DesignationExcludeDesignationComponent>(); 1764 return this.designation; 1765 } 1766 1767 public boolean hasDesignation() { 1768 if (this.designation == null) 1769 return false; 1770 for (DesignationExcludeDesignationComponent item : this.designation) 1771 if (!item.isEmpty()) 1772 return true; 1773 return false; 1774 } 1775 1776 /** 1777 * @return {@link #designation} (A data group for each designation to be excluded.) 1778 */ 1779 // syntactic sugar 1780 public DesignationExcludeDesignationComponent addDesignation() { //3 1781 DesignationExcludeDesignationComponent t = new DesignationExcludeDesignationComponent(); 1782 if (this.designation == null) 1783 this.designation = new ArrayList<DesignationExcludeDesignationComponent>(); 1784 this.designation.add(t); 1785 return t; 1786 } 1787 1788 // syntactic sugar 1789 public DesignationExcludeComponent addDesignation(DesignationExcludeDesignationComponent t) { //3 1790 if (t == null) 1791 return this; 1792 if (this.designation == null) 1793 this.designation = new ArrayList<DesignationExcludeDesignationComponent>(); 1794 this.designation.add(t); 1795 return this; 1796 } 1797 1798 protected void listChildren(List<Property> childrenList) { 1799 super.listChildren(childrenList); 1800 childrenList.add(new Property("designation", "", "A data group for each designation to be excluded.", 0, java.lang.Integer.MAX_VALUE, designation)); 1801 } 1802 1803 @Override 1804 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1805 switch (hash) { 1806 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // DesignationExcludeDesignationComponent 1807 default: return super.getProperty(hash, name, checkValid); 1808 } 1809 1810 } 1811 1812 @Override 1813 public void setProperty(int hash, String name, Base value) throws FHIRException { 1814 switch (hash) { 1815 case -900931593: // designation 1816 this.getDesignation().add((DesignationExcludeDesignationComponent) value); // DesignationExcludeDesignationComponent 1817 break; 1818 default: super.setProperty(hash, name, value); 1819 } 1820 1821 } 1822 1823 @Override 1824 public void setProperty(String name, Base value) throws FHIRException { 1825 if (name.equals("designation")) 1826 this.getDesignation().add((DesignationExcludeDesignationComponent) value); 1827 else 1828 super.setProperty(name, value); 1829 } 1830 1831 @Override 1832 public Base makeProperty(int hash, String name) throws FHIRException { 1833 switch (hash) { 1834 case -900931593: return addDesignation(); // DesignationExcludeDesignationComponent 1835 default: return super.makeProperty(hash, name); 1836 } 1837 1838 } 1839 1840 @Override 1841 public Base addChild(String name) throws FHIRException { 1842 if (name.equals("designation")) { 1843 return addDesignation(); 1844 } 1845 else 1846 return super.addChild(name); 1847 } 1848 1849 public DesignationExcludeComponent copy() { 1850 DesignationExcludeComponent dst = new DesignationExcludeComponent(); 1851 copyValues(dst); 1852 if (designation != null) { 1853 dst.designation = new ArrayList<DesignationExcludeDesignationComponent>(); 1854 for (DesignationExcludeDesignationComponent i : designation) 1855 dst.designation.add(i.copy()); 1856 }; 1857 return dst; 1858 } 1859 1860 @Override 1861 public boolean equalsDeep(Base other) { 1862 if (!super.equalsDeep(other)) 1863 return false; 1864 if (!(other instanceof DesignationExcludeComponent)) 1865 return false; 1866 DesignationExcludeComponent o = (DesignationExcludeComponent) other; 1867 return compareDeep(designation, o.designation, true); 1868 } 1869 1870 @Override 1871 public boolean equalsShallow(Base other) { 1872 if (!super.equalsShallow(other)) 1873 return false; 1874 if (!(other instanceof DesignationExcludeComponent)) 1875 return false; 1876 DesignationExcludeComponent o = (DesignationExcludeComponent) other; 1877 return true; 1878 } 1879 1880 public boolean isEmpty() { 1881 return super.isEmpty() && (designation == null || designation.isEmpty()); 1882 } 1883 1884 public String fhirType() { 1885 return "ExpansionProfile.designation.exclude"; 1886 1887 } 1888 1889 } 1890 1891 @Block() 1892 public static class DesignationExcludeDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1893 /** 1894 * The language this designation is defined for. 1895 */ 1896 @Child(name = "language", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=true) 1897 @Description(shortDefinition="Human language of the designation to be excluded", formalDefinition="The language this designation is defined for." ) 1898 protected CodeType language; 1899 1900 /** 1901 * Designation uses for exclusion in the expansion. 1902 */ 1903 @Child(name = "use", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) 1904 @Description(shortDefinition="Designation use", formalDefinition="Designation uses for exclusion in the expansion." ) 1905 protected Coding use; 1906 1907 private static final long serialVersionUID = 242239292L; 1908 1909 /** 1910 * Constructor 1911 */ 1912 public DesignationExcludeDesignationComponent() { 1913 super(); 1914 } 1915 1916 /** 1917 * @return {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1918 */ 1919 public CodeType getLanguageElement() { 1920 if (this.language == null) 1921 if (Configuration.errorOnAutoCreate()) 1922 throw new Error("Attempt to auto-create DesignationExcludeDesignationComponent.language"); 1923 else if (Configuration.doAutoCreate()) 1924 this.language = new CodeType(); // bb 1925 return this.language; 1926 } 1927 1928 public boolean hasLanguageElement() { 1929 return this.language != null && !this.language.isEmpty(); 1930 } 1931 1932 public boolean hasLanguage() { 1933 return this.language != null && !this.language.isEmpty(); 1934 } 1935 1936 /** 1937 * @param value {@link #language} (The language this designation is defined for.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value 1938 */ 1939 public DesignationExcludeDesignationComponent setLanguageElement(CodeType value) { 1940 this.language = value; 1941 return this; 1942 } 1943 1944 /** 1945 * @return The language this designation is defined for. 1946 */ 1947 public String getLanguage() { 1948 return this.language == null ? null : this.language.getValue(); 1949 } 1950 1951 /** 1952 * @param value The language this designation is defined for. 1953 */ 1954 public DesignationExcludeDesignationComponent setLanguage(String value) { 1955 if (Utilities.noString(value)) 1956 this.language = null; 1957 else { 1958 if (this.language == null) 1959 this.language = new CodeType(); 1960 this.language.setValue(value); 1961 } 1962 return this; 1963 } 1964 1965 /** 1966 * @return {@link #use} (Designation uses for exclusion in the expansion.) 1967 */ 1968 public Coding getUse() { 1969 if (this.use == null) 1970 if (Configuration.errorOnAutoCreate()) 1971 throw new Error("Attempt to auto-create DesignationExcludeDesignationComponent.use"); 1972 else if (Configuration.doAutoCreate()) 1973 this.use = new Coding(); // cc 1974 return this.use; 1975 } 1976 1977 public boolean hasUse() { 1978 return this.use != null && !this.use.isEmpty(); 1979 } 1980 1981 /** 1982 * @param value {@link #use} (Designation uses for exclusion in the expansion.) 1983 */ 1984 public DesignationExcludeDesignationComponent setUse(Coding value) { 1985 this.use = value; 1986 return this; 1987 } 1988 1989 protected void listChildren(List<Property> childrenList) { 1990 super.listChildren(childrenList); 1991 childrenList.add(new Property("language", "code", "The language this designation is defined for.", 0, java.lang.Integer.MAX_VALUE, language)); 1992 childrenList.add(new Property("use", "Coding", "Designation uses for exclusion in the expansion.", 0, java.lang.Integer.MAX_VALUE, use)); 1993 } 1994 1995 @Override 1996 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1997 switch (hash) { 1998 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 1999 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 2000 default: return super.getProperty(hash, name, checkValid); 2001 } 2002 2003 } 2004 2005 @Override 2006 public void setProperty(int hash, String name, Base value) throws FHIRException { 2007 switch (hash) { 2008 case -1613589672: // language 2009 this.language = castToCode(value); // CodeType 2010 break; 2011 case 116103: // use 2012 this.use = castToCoding(value); // Coding 2013 break; 2014 default: super.setProperty(hash, name, value); 2015 } 2016 2017 } 2018 2019 @Override 2020 public void setProperty(String name, Base value) throws FHIRException { 2021 if (name.equals("language")) 2022 this.language = castToCode(value); // CodeType 2023 else if (name.equals("use")) 2024 this.use = castToCoding(value); // Coding 2025 else 2026 super.setProperty(name, value); 2027 } 2028 2029 @Override 2030 public Base makeProperty(int hash, String name) throws FHIRException { 2031 switch (hash) { 2032 case -1613589672: throw new FHIRException("Cannot make property language as it is not a complex type"); // CodeType 2033 case 116103: return getUse(); // Coding 2034 default: return super.makeProperty(hash, name); 2035 } 2036 2037 } 2038 2039 @Override 2040 public Base addChild(String name) throws FHIRException { 2041 if (name.equals("language")) { 2042 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.language"); 2043 } 2044 else if (name.equals("use")) { 2045 this.use = new Coding(); 2046 return this.use; 2047 } 2048 else 2049 return super.addChild(name); 2050 } 2051 2052 public DesignationExcludeDesignationComponent copy() { 2053 DesignationExcludeDesignationComponent dst = new DesignationExcludeDesignationComponent(); 2054 copyValues(dst); 2055 dst.language = language == null ? null : language.copy(); 2056 dst.use = use == null ? null : use.copy(); 2057 return dst; 2058 } 2059 2060 @Override 2061 public boolean equalsDeep(Base other) { 2062 if (!super.equalsDeep(other)) 2063 return false; 2064 if (!(other instanceof DesignationExcludeDesignationComponent)) 2065 return false; 2066 DesignationExcludeDesignationComponent o = (DesignationExcludeDesignationComponent) other; 2067 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true); 2068 } 2069 2070 @Override 2071 public boolean equalsShallow(Base other) { 2072 if (!super.equalsShallow(other)) 2073 return false; 2074 if (!(other instanceof DesignationExcludeDesignationComponent)) 2075 return false; 2076 DesignationExcludeDesignationComponent o = (DesignationExcludeDesignationComponent) other; 2077 return compareValues(language, o.language, true); 2078 } 2079 2080 public boolean isEmpty() { 2081 return super.isEmpty() && (language == null || language.isEmpty()) && (use == null || use.isEmpty()) 2082 ; 2083 } 2084 2085 public String fhirType() { 2086 return "ExpansionProfile.designation.exclude.designation"; 2087 2088 } 2089 2090 } 2091 2092 /** 2093 * An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published. 2094 */ 2095 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 2096 @Description(shortDefinition="Globally unique logical identifier for expansion profile", formalDefinition="An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published." ) 2097 protected UriType url; 2098 2099 /** 2100 * Formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance. 2101 */ 2102 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) 2103 @Description(shortDefinition="Additional identifier for the expansion profile (e.g. an Object Identifier)", formalDefinition="Formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 2104 protected Identifier identifier; 2105 2106 /** 2107 * Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. 2108 */ 2109 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 2110 @Description(shortDefinition="Logical identifier for this version of the expansion profile", formalDefinition="Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance." ) 2111 protected StringType version; 2112 2113 /** 2114 * A free text natural language name for the expansion profile. 2115 */ 2116 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 2117 @Description(shortDefinition="Informal name for this expansion profile", formalDefinition="A free text natural language name for the expansion profile." ) 2118 protected StringType name; 2119 2120 /** 2121 * The status of the expansion profile. 2122 */ 2123 @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) 2124 @Description(shortDefinition="draft | active | retired", formalDefinition="The status of the expansion profile." ) 2125 protected Enumeration<ConformanceResourceStatus> status; 2126 2127 /** 2128 * This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage. 2129 */ 2130 @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) 2131 @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage." ) 2132 protected BooleanType experimental; 2133 2134 /** 2135 * The name of the individual or organization that published the expansion profile. 2136 */ 2137 @Child(name = "publisher", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) 2138 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the individual or organization that published the expansion profile." ) 2139 protected StringType publisher; 2140 2141 /** 2142 * Contacts to assist a user in finding and communicating with the publisher. 2143 */ 2144 @Child(name = "contact", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2145 @Description(shortDefinition="Contact details of the publisher", formalDefinition="Contacts to assist a user in finding and communicating with the publisher." ) 2146 protected List<ExpansionProfileContactComponent> contact; 2147 2148 /** 2149 * The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes. 2150 */ 2151 @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) 2152 @Description(shortDefinition="Date for given status", formalDefinition="The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes." ) 2153 protected DateTimeType date; 2154 2155 /** 2156 * A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile. 2157 */ 2158 @Child(name = "description", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) 2159 @Description(shortDefinition="Human language description of the expansion profile", formalDefinition="A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile." ) 2160 protected StringType description; 2161 2162 /** 2163 * A set of criteria that provide the constraints imposed on the value set expansion by including or excluding codes from specific code systems (or versions). 2164 */ 2165 @Child(name = "codeSystem", type = {}, order=10, min=0, max=1, modifier=false, summary=true) 2166 @Description(shortDefinition="When the expansion profile imposes code system contraints", formalDefinition="A set of criteria that provide the constraints imposed on the value set expansion by including or excluding codes from specific code systems (or versions)." ) 2167 protected ExpansionProfileCodeSystemComponent codeSystem; 2168 2169 /** 2170 * Controls whether concept designations are to be included or excluded in value set expansions. 2171 */ 2172 @Child(name = "includeDesignations", type = {BooleanType.class}, order=11, min=0, max=1, modifier=false, summary=true) 2173 @Description(shortDefinition="Whether the expansion should include concept designations", formalDefinition="Controls whether concept designations are to be included or excluded in value set expansions." ) 2174 protected BooleanType includeDesignations; 2175 2176 /** 2177 * A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations. 2178 */ 2179 @Child(name = "designation", type = {}, order=12, min=0, max=1, modifier=false, summary=true) 2180 @Description(shortDefinition="When the expansion profile imposes designation contraints", formalDefinition="A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations." ) 2181 protected ExpansionProfileDesignationComponent designation; 2182 2183 /** 2184 * Controls whether the value set definition is included or excluded in value set expansions. 2185 */ 2186 @Child(name = "includeDefinition", type = {BooleanType.class}, order=13, min=0, max=1, modifier=false, summary=true) 2187 @Description(shortDefinition="Include or exclude the value set definition in the expansion", formalDefinition="Controls whether the value set definition is included or excluded in value set expansions." ) 2188 protected BooleanType includeDefinition; 2189 2190 /** 2191 * Controls whether inactive concepts are included or excluded in value set expansions. 2192 */ 2193 @Child(name = "includeInactive", type = {BooleanType.class}, order=14, min=0, max=1, modifier=false, summary=true) 2194 @Description(shortDefinition="Include or exclude inactive concepts in the expansion", formalDefinition="Controls whether inactive concepts are included or excluded in value set expansions." ) 2195 protected BooleanType includeInactive; 2196 2197 /** 2198 * Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains). 2199 */ 2200 @Child(name = "excludeNested", type = {BooleanType.class}, order=15, min=0, max=1, modifier=false, summary=true) 2201 @Description(shortDefinition="Include or exclude nested codes in the value set expansion", formalDefinition="Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains)." ) 2202 protected BooleanType excludeNested; 2203 2204 /** 2205 * Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces. 2206 */ 2207 @Child(name = "excludeNotForUI", type = {BooleanType.class}, order=16, min=0, max=1, modifier=false, summary=true) 2208 @Description(shortDefinition="Include or exclude codes which cannot be rendered in user interfaces in the value set expansion", formalDefinition="Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces." ) 2209 protected BooleanType excludeNotForUI; 2210 2211 /** 2212 * Controls whether or not the value set expansion includes post coordinated codes. 2213 */ 2214 @Child(name = "excludePostCoordinated", type = {BooleanType.class}, order=17, min=0, max=1, modifier=false, summary=true) 2215 @Description(shortDefinition="Include or exclude codes which are post coordinated expressions in the value set expansion", formalDefinition="Controls whether or not the value set expansion includes post coordinated codes." ) 2216 protected BooleanType excludePostCoordinated; 2217 2218 /** 2219 * Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display. 2220 */ 2221 @Child(name = "displayLanguage", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=true) 2222 @Description(shortDefinition="Specify the language for the display element of codes in the value set expansion", formalDefinition="Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display." ) 2223 protected CodeType displayLanguage; 2224 2225 /** 2226 * If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete. 2227 */ 2228 @Child(name = "limitedExpansion", type = {BooleanType.class}, order=19, min=0, max=1, modifier=false, summary=true) 2229 @Description(shortDefinition="Controls behaviour of the value set expand operation when value sets are too large to be completely expanded", formalDefinition="If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete." ) 2230 protected BooleanType limitedExpansion; 2231 2232 private static final long serialVersionUID = -651123079L; 2233 2234 /** 2235 * Constructor 2236 */ 2237 public ExpansionProfile() { 2238 super(); 2239 } 2240 2241 /** 2242 * Constructor 2243 */ 2244 public ExpansionProfile(Enumeration<ConformanceResourceStatus> status) { 2245 super(); 2246 this.status = status; 2247 } 2248 2249 /** 2250 * @return {@link #url} (An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2251 */ 2252 public UriType getUrlElement() { 2253 if (this.url == null) 2254 if (Configuration.errorOnAutoCreate()) 2255 throw new Error("Attempt to auto-create ExpansionProfile.url"); 2256 else if (Configuration.doAutoCreate()) 2257 this.url = new UriType(); // bb 2258 return this.url; 2259 } 2260 2261 public boolean hasUrlElement() { 2262 return this.url != null && !this.url.isEmpty(); 2263 } 2264 2265 public boolean hasUrl() { 2266 return this.url != null && !this.url.isEmpty(); 2267 } 2268 2269 /** 2270 * @param value {@link #url} (An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2271 */ 2272 public ExpansionProfile setUrlElement(UriType value) { 2273 this.url = value; 2274 return this; 2275 } 2276 2277 /** 2278 * @return An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published. 2279 */ 2280 public String getUrl() { 2281 return this.url == null ? null : this.url.getValue(); 2282 } 2283 2284 /** 2285 * @param value An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published. 2286 */ 2287 public ExpansionProfile setUrl(String value) { 2288 if (Utilities.noString(value)) 2289 this.url = null; 2290 else { 2291 if (this.url == null) 2292 this.url = new UriType(); 2293 this.url.setValue(value); 2294 } 2295 return this; 2296 } 2297 2298 /** 2299 * @return {@link #identifier} (Formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance.) 2300 */ 2301 public Identifier getIdentifier() { 2302 if (this.identifier == null) 2303 if (Configuration.errorOnAutoCreate()) 2304 throw new Error("Attempt to auto-create ExpansionProfile.identifier"); 2305 else if (Configuration.doAutoCreate()) 2306 this.identifier = new Identifier(); // cc 2307 return this.identifier; 2308 } 2309 2310 public boolean hasIdentifier() { 2311 return this.identifier != null && !this.identifier.isEmpty(); 2312 } 2313 2314 /** 2315 * @param value {@link #identifier} (Formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance.) 2316 */ 2317 public ExpansionProfile setIdentifier(Identifier value) { 2318 this.identifier = value; 2319 return this; 2320 } 2321 2322 /** 2323 * @return {@link #version} (Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2324 */ 2325 public StringType getVersionElement() { 2326 if (this.version == null) 2327 if (Configuration.errorOnAutoCreate()) 2328 throw new Error("Attempt to auto-create ExpansionProfile.version"); 2329 else if (Configuration.doAutoCreate()) 2330 this.version = new StringType(); // bb 2331 return this.version; 2332 } 2333 2334 public boolean hasVersionElement() { 2335 return this.version != null && !this.version.isEmpty(); 2336 } 2337 2338 public boolean hasVersion() { 2339 return this.version != null && !this.version.isEmpty(); 2340 } 2341 2342 /** 2343 * @param value {@link #version} (Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2344 */ 2345 public ExpansionProfile setVersionElement(StringType value) { 2346 this.version = value; 2347 return this; 2348 } 2349 2350 /** 2351 * @return Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. 2352 */ 2353 public String getVersion() { 2354 return this.version == null ? null : this.version.getValue(); 2355 } 2356 2357 /** 2358 * @param value Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance. 2359 */ 2360 public ExpansionProfile setVersion(String value) { 2361 if (Utilities.noString(value)) 2362 this.version = null; 2363 else { 2364 if (this.version == null) 2365 this.version = new StringType(); 2366 this.version.setValue(value); 2367 } 2368 return this; 2369 } 2370 2371 /** 2372 * @return {@link #name} (A free text natural language name for the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2373 */ 2374 public StringType getNameElement() { 2375 if (this.name == null) 2376 if (Configuration.errorOnAutoCreate()) 2377 throw new Error("Attempt to auto-create ExpansionProfile.name"); 2378 else if (Configuration.doAutoCreate()) 2379 this.name = new StringType(); // bb 2380 return this.name; 2381 } 2382 2383 public boolean hasNameElement() { 2384 return this.name != null && !this.name.isEmpty(); 2385 } 2386 2387 public boolean hasName() { 2388 return this.name != null && !this.name.isEmpty(); 2389 } 2390 2391 /** 2392 * @param value {@link #name} (A free text natural language name for the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value 2393 */ 2394 public ExpansionProfile setNameElement(StringType value) { 2395 this.name = value; 2396 return this; 2397 } 2398 2399 /** 2400 * @return A free text natural language name for the expansion profile. 2401 */ 2402 public String getName() { 2403 return this.name == null ? null : this.name.getValue(); 2404 } 2405 2406 /** 2407 * @param value A free text natural language name for the expansion profile. 2408 */ 2409 public ExpansionProfile setName(String value) { 2410 if (Utilities.noString(value)) 2411 this.name = null; 2412 else { 2413 if (this.name == null) 2414 this.name = new StringType(); 2415 this.name.setValue(value); 2416 } 2417 return this; 2418 } 2419 2420 /** 2421 * @return {@link #status} (The status of the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2422 */ 2423 public Enumeration<ConformanceResourceStatus> getStatusElement() { 2424 if (this.status == null) 2425 if (Configuration.errorOnAutoCreate()) 2426 throw new Error("Attempt to auto-create ExpansionProfile.status"); 2427 else if (Configuration.doAutoCreate()) 2428 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); // bb 2429 return this.status; 2430 } 2431 2432 public boolean hasStatusElement() { 2433 return this.status != null && !this.status.isEmpty(); 2434 } 2435 2436 public boolean hasStatus() { 2437 return this.status != null && !this.status.isEmpty(); 2438 } 2439 2440 /** 2441 * @param value {@link #status} (The status of the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 2442 */ 2443 public ExpansionProfile setStatusElement(Enumeration<ConformanceResourceStatus> value) { 2444 this.status = value; 2445 return this; 2446 } 2447 2448 /** 2449 * @return The status of the expansion profile. 2450 */ 2451 public ConformanceResourceStatus getStatus() { 2452 return this.status == null ? null : this.status.getValue(); 2453 } 2454 2455 /** 2456 * @param value The status of the expansion profile. 2457 */ 2458 public ExpansionProfile setStatus(ConformanceResourceStatus value) { 2459 if (this.status == null) 2460 this.status = new Enumeration<ConformanceResourceStatus>(new ConformanceResourceStatusEnumFactory()); 2461 this.status.setValue(value); 2462 return this; 2463 } 2464 2465 /** 2466 * @return {@link #experimental} (This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2467 */ 2468 public BooleanType getExperimentalElement() { 2469 if (this.experimental == null) 2470 if (Configuration.errorOnAutoCreate()) 2471 throw new Error("Attempt to auto-create ExpansionProfile.experimental"); 2472 else if (Configuration.doAutoCreate()) 2473 this.experimental = new BooleanType(); // bb 2474 return this.experimental; 2475 } 2476 2477 public boolean hasExperimentalElement() { 2478 return this.experimental != null && !this.experimental.isEmpty(); 2479 } 2480 2481 public boolean hasExperimental() { 2482 return this.experimental != null && !this.experimental.isEmpty(); 2483 } 2484 2485 /** 2486 * @param value {@link #experimental} (This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value 2487 */ 2488 public ExpansionProfile setExperimentalElement(BooleanType value) { 2489 this.experimental = value; 2490 return this; 2491 } 2492 2493 /** 2494 * @return This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage. 2495 */ 2496 public boolean getExperimental() { 2497 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 2498 } 2499 2500 /** 2501 * @param value This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage. 2502 */ 2503 public ExpansionProfile setExperimental(boolean value) { 2504 if (this.experimental == null) 2505 this.experimental = new BooleanType(); 2506 this.experimental.setValue(value); 2507 return this; 2508 } 2509 2510 /** 2511 * @return {@link #publisher} (The name of the individual or organization that published the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2512 */ 2513 public StringType getPublisherElement() { 2514 if (this.publisher == null) 2515 if (Configuration.errorOnAutoCreate()) 2516 throw new Error("Attempt to auto-create ExpansionProfile.publisher"); 2517 else if (Configuration.doAutoCreate()) 2518 this.publisher = new StringType(); // bb 2519 return this.publisher; 2520 } 2521 2522 public boolean hasPublisherElement() { 2523 return this.publisher != null && !this.publisher.isEmpty(); 2524 } 2525 2526 public boolean hasPublisher() { 2527 return this.publisher != null && !this.publisher.isEmpty(); 2528 } 2529 2530 /** 2531 * @param value {@link #publisher} (The name of the individual or organization that published the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 2532 */ 2533 public ExpansionProfile setPublisherElement(StringType value) { 2534 this.publisher = value; 2535 return this; 2536 } 2537 2538 /** 2539 * @return The name of the individual or organization that published the expansion profile. 2540 */ 2541 public String getPublisher() { 2542 return this.publisher == null ? null : this.publisher.getValue(); 2543 } 2544 2545 /** 2546 * @param value The name of the individual or organization that published the expansion profile. 2547 */ 2548 public ExpansionProfile setPublisher(String value) { 2549 if (Utilities.noString(value)) 2550 this.publisher = null; 2551 else { 2552 if (this.publisher == null) 2553 this.publisher = new StringType(); 2554 this.publisher.setValue(value); 2555 } 2556 return this; 2557 } 2558 2559 /** 2560 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 2561 */ 2562 public List<ExpansionProfileContactComponent> getContact() { 2563 if (this.contact == null) 2564 this.contact = new ArrayList<ExpansionProfileContactComponent>(); 2565 return this.contact; 2566 } 2567 2568 public boolean hasContact() { 2569 if (this.contact == null) 2570 return false; 2571 for (ExpansionProfileContactComponent item : this.contact) 2572 if (!item.isEmpty()) 2573 return true; 2574 return false; 2575 } 2576 2577 /** 2578 * @return {@link #contact} (Contacts to assist a user in finding and communicating with the publisher.) 2579 */ 2580 // syntactic sugar 2581 public ExpansionProfileContactComponent addContact() { //3 2582 ExpansionProfileContactComponent t = new ExpansionProfileContactComponent(); 2583 if (this.contact == null) 2584 this.contact = new ArrayList<ExpansionProfileContactComponent>(); 2585 this.contact.add(t); 2586 return t; 2587 } 2588 2589 // syntactic sugar 2590 public ExpansionProfile addContact(ExpansionProfileContactComponent t) { //3 2591 if (t == null) 2592 return this; 2593 if (this.contact == null) 2594 this.contact = new ArrayList<ExpansionProfileContactComponent>(); 2595 this.contact.add(t); 2596 return this; 2597 } 2598 2599 /** 2600 * @return {@link #date} (The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2601 */ 2602 public DateTimeType getDateElement() { 2603 if (this.date == null) 2604 if (Configuration.errorOnAutoCreate()) 2605 throw new Error("Attempt to auto-create ExpansionProfile.date"); 2606 else if (Configuration.doAutoCreate()) 2607 this.date = new DateTimeType(); // bb 2608 return this.date; 2609 } 2610 2611 public boolean hasDateElement() { 2612 return this.date != null && !this.date.isEmpty(); 2613 } 2614 2615 public boolean hasDate() { 2616 return this.date != null && !this.date.isEmpty(); 2617 } 2618 2619 /** 2620 * @param value {@link #date} (The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 2621 */ 2622 public ExpansionProfile setDateElement(DateTimeType value) { 2623 this.date = value; 2624 return this; 2625 } 2626 2627 /** 2628 * @return The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes. 2629 */ 2630 public Date getDate() { 2631 return this.date == null ? null : this.date.getValue(); 2632 } 2633 2634 /** 2635 * @param value The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes. 2636 */ 2637 public ExpansionProfile setDate(Date value) { 2638 if (value == null) 2639 this.date = null; 2640 else { 2641 if (this.date == null) 2642 this.date = new DateTimeType(); 2643 this.date.setValue(value); 2644 } 2645 return this; 2646 } 2647 2648 /** 2649 * @return {@link #description} (A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2650 */ 2651 public StringType getDescriptionElement() { 2652 if (this.description == null) 2653 if (Configuration.errorOnAutoCreate()) 2654 throw new Error("Attempt to auto-create ExpansionProfile.description"); 2655 else if (Configuration.doAutoCreate()) 2656 this.description = new StringType(); // bb 2657 return this.description; 2658 } 2659 2660 public boolean hasDescriptionElement() { 2661 return this.description != null && !this.description.isEmpty(); 2662 } 2663 2664 public boolean hasDescription() { 2665 return this.description != null && !this.description.isEmpty(); 2666 } 2667 2668 /** 2669 * @param value {@link #description} (A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 2670 */ 2671 public ExpansionProfile setDescriptionElement(StringType value) { 2672 this.description = value; 2673 return this; 2674 } 2675 2676 /** 2677 * @return A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile. 2678 */ 2679 public String getDescription() { 2680 return this.description == null ? null : this.description.getValue(); 2681 } 2682 2683 /** 2684 * @param value A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile. 2685 */ 2686 public ExpansionProfile setDescription(String value) { 2687 if (Utilities.noString(value)) 2688 this.description = null; 2689 else { 2690 if (this.description == null) 2691 this.description = new StringType(); 2692 this.description.setValue(value); 2693 } 2694 return this; 2695 } 2696 2697 /** 2698 * @return {@link #codeSystem} (A set of criteria that provide the constraints imposed on the value set expansion by including or excluding codes from specific code systems (or versions).) 2699 */ 2700 public ExpansionProfileCodeSystemComponent getCodeSystem() { 2701 if (this.codeSystem == null) 2702 if (Configuration.errorOnAutoCreate()) 2703 throw new Error("Attempt to auto-create ExpansionProfile.codeSystem"); 2704 else if (Configuration.doAutoCreate()) 2705 this.codeSystem = new ExpansionProfileCodeSystemComponent(); // cc 2706 return this.codeSystem; 2707 } 2708 2709 public boolean hasCodeSystem() { 2710 return this.codeSystem != null && !this.codeSystem.isEmpty(); 2711 } 2712 2713 /** 2714 * @param value {@link #codeSystem} (A set of criteria that provide the constraints imposed on the value set expansion by including or excluding codes from specific code systems (or versions).) 2715 */ 2716 public ExpansionProfile setCodeSystem(ExpansionProfileCodeSystemComponent value) { 2717 this.codeSystem = value; 2718 return this; 2719 } 2720 2721 /** 2722 * @return {@link #includeDesignations} (Controls whether concept designations are to be included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeDesignations" gives direct access to the value 2723 */ 2724 public BooleanType getIncludeDesignationsElement() { 2725 if (this.includeDesignations == null) 2726 if (Configuration.errorOnAutoCreate()) 2727 throw new Error("Attempt to auto-create ExpansionProfile.includeDesignations"); 2728 else if (Configuration.doAutoCreate()) 2729 this.includeDesignations = new BooleanType(); // bb 2730 return this.includeDesignations; 2731 } 2732 2733 public boolean hasIncludeDesignationsElement() { 2734 return this.includeDesignations != null && !this.includeDesignations.isEmpty(); 2735 } 2736 2737 public boolean hasIncludeDesignations() { 2738 return this.includeDesignations != null && !this.includeDesignations.isEmpty(); 2739 } 2740 2741 /** 2742 * @param value {@link #includeDesignations} (Controls whether concept designations are to be included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeDesignations" gives direct access to the value 2743 */ 2744 public ExpansionProfile setIncludeDesignationsElement(BooleanType value) { 2745 this.includeDesignations = value; 2746 return this; 2747 } 2748 2749 /** 2750 * @return Controls whether concept designations are to be included or excluded in value set expansions. 2751 */ 2752 public boolean getIncludeDesignations() { 2753 return this.includeDesignations == null || this.includeDesignations.isEmpty() ? false : this.includeDesignations.getValue(); 2754 } 2755 2756 /** 2757 * @param value Controls whether concept designations are to be included or excluded in value set expansions. 2758 */ 2759 public ExpansionProfile setIncludeDesignations(boolean value) { 2760 if (this.includeDesignations == null) 2761 this.includeDesignations = new BooleanType(); 2762 this.includeDesignations.setValue(value); 2763 return this; 2764 } 2765 2766 /** 2767 * @return {@link #designation} (A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations.) 2768 */ 2769 public ExpansionProfileDesignationComponent getDesignation() { 2770 if (this.designation == null) 2771 if (Configuration.errorOnAutoCreate()) 2772 throw new Error("Attempt to auto-create ExpansionProfile.designation"); 2773 else if (Configuration.doAutoCreate()) 2774 this.designation = new ExpansionProfileDesignationComponent(); // cc 2775 return this.designation; 2776 } 2777 2778 public boolean hasDesignation() { 2779 return this.designation != null && !this.designation.isEmpty(); 2780 } 2781 2782 /** 2783 * @param value {@link #designation} (A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations.) 2784 */ 2785 public ExpansionProfile setDesignation(ExpansionProfileDesignationComponent value) { 2786 this.designation = value; 2787 return this; 2788 } 2789 2790 /** 2791 * @return {@link #includeDefinition} (Controls whether the value set definition is included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeDefinition" gives direct access to the value 2792 */ 2793 public BooleanType getIncludeDefinitionElement() { 2794 if (this.includeDefinition == null) 2795 if (Configuration.errorOnAutoCreate()) 2796 throw new Error("Attempt to auto-create ExpansionProfile.includeDefinition"); 2797 else if (Configuration.doAutoCreate()) 2798 this.includeDefinition = new BooleanType(); // bb 2799 return this.includeDefinition; 2800 } 2801 2802 public boolean hasIncludeDefinitionElement() { 2803 return this.includeDefinition != null && !this.includeDefinition.isEmpty(); 2804 } 2805 2806 public boolean hasIncludeDefinition() { 2807 return this.includeDefinition != null && !this.includeDefinition.isEmpty(); 2808 } 2809 2810 /** 2811 * @param value {@link #includeDefinition} (Controls whether the value set definition is included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeDefinition" gives direct access to the value 2812 */ 2813 public ExpansionProfile setIncludeDefinitionElement(BooleanType value) { 2814 this.includeDefinition = value; 2815 return this; 2816 } 2817 2818 /** 2819 * @return Controls whether the value set definition is included or excluded in value set expansions. 2820 */ 2821 public boolean getIncludeDefinition() { 2822 return this.includeDefinition == null || this.includeDefinition.isEmpty() ? false : this.includeDefinition.getValue(); 2823 } 2824 2825 /** 2826 * @param value Controls whether the value set definition is included or excluded in value set expansions. 2827 */ 2828 public ExpansionProfile setIncludeDefinition(boolean value) { 2829 if (this.includeDefinition == null) 2830 this.includeDefinition = new BooleanType(); 2831 this.includeDefinition.setValue(value); 2832 return this; 2833 } 2834 2835 /** 2836 * @return {@link #includeInactive} (Controls whether inactive concepts are included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeInactive" gives direct access to the value 2837 */ 2838 public BooleanType getIncludeInactiveElement() { 2839 if (this.includeInactive == null) 2840 if (Configuration.errorOnAutoCreate()) 2841 throw new Error("Attempt to auto-create ExpansionProfile.includeInactive"); 2842 else if (Configuration.doAutoCreate()) 2843 this.includeInactive = new BooleanType(); // bb 2844 return this.includeInactive; 2845 } 2846 2847 public boolean hasIncludeInactiveElement() { 2848 return this.includeInactive != null && !this.includeInactive.isEmpty(); 2849 } 2850 2851 public boolean hasIncludeInactive() { 2852 return this.includeInactive != null && !this.includeInactive.isEmpty(); 2853 } 2854 2855 /** 2856 * @param value {@link #includeInactive} (Controls whether inactive concepts are included or excluded in value set expansions.). This is the underlying object with id, value and extensions. The accessor "getIncludeInactive" gives direct access to the value 2857 */ 2858 public ExpansionProfile setIncludeInactiveElement(BooleanType value) { 2859 this.includeInactive = value; 2860 return this; 2861 } 2862 2863 /** 2864 * @return Controls whether inactive concepts are included or excluded in value set expansions. 2865 */ 2866 public boolean getIncludeInactive() { 2867 return this.includeInactive == null || this.includeInactive.isEmpty() ? false : this.includeInactive.getValue(); 2868 } 2869 2870 /** 2871 * @param value Controls whether inactive concepts are included or excluded in value set expansions. 2872 */ 2873 public ExpansionProfile setIncludeInactive(boolean value) { 2874 if (this.includeInactive == null) 2875 this.includeInactive = new BooleanType(); 2876 this.includeInactive.setValue(value); 2877 return this; 2878 } 2879 2880 /** 2881 * @return {@link #excludeNested} (Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains).). This is the underlying object with id, value and extensions. The accessor "getExcludeNested" gives direct access to the value 2882 */ 2883 public BooleanType getExcludeNestedElement() { 2884 if (this.excludeNested == null) 2885 if (Configuration.errorOnAutoCreate()) 2886 throw new Error("Attempt to auto-create ExpansionProfile.excludeNested"); 2887 else if (Configuration.doAutoCreate()) 2888 this.excludeNested = new BooleanType(); // bb 2889 return this.excludeNested; 2890 } 2891 2892 public boolean hasExcludeNestedElement() { 2893 return this.excludeNested != null && !this.excludeNested.isEmpty(); 2894 } 2895 2896 public boolean hasExcludeNested() { 2897 return this.excludeNested != null && !this.excludeNested.isEmpty(); 2898 } 2899 2900 /** 2901 * @param value {@link #excludeNested} (Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains).). This is the underlying object with id, value and extensions. The accessor "getExcludeNested" gives direct access to the value 2902 */ 2903 public ExpansionProfile setExcludeNestedElement(BooleanType value) { 2904 this.excludeNested = value; 2905 return this; 2906 } 2907 2908 /** 2909 * @return Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains). 2910 */ 2911 public boolean getExcludeNested() { 2912 return this.excludeNested == null || this.excludeNested.isEmpty() ? false : this.excludeNested.getValue(); 2913 } 2914 2915 /** 2916 * @param value Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains). 2917 */ 2918 public ExpansionProfile setExcludeNested(boolean value) { 2919 if (this.excludeNested == null) 2920 this.excludeNested = new BooleanType(); 2921 this.excludeNested.setValue(value); 2922 return this; 2923 } 2924 2925 /** 2926 * @return {@link #excludeNotForUI} (Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces.). This is the underlying object with id, value and extensions. The accessor "getExcludeNotForUI" gives direct access to the value 2927 */ 2928 public BooleanType getExcludeNotForUIElement() { 2929 if (this.excludeNotForUI == null) 2930 if (Configuration.errorOnAutoCreate()) 2931 throw new Error("Attempt to auto-create ExpansionProfile.excludeNotForUI"); 2932 else if (Configuration.doAutoCreate()) 2933 this.excludeNotForUI = new BooleanType(); // bb 2934 return this.excludeNotForUI; 2935 } 2936 2937 public boolean hasExcludeNotForUIElement() { 2938 return this.excludeNotForUI != null && !this.excludeNotForUI.isEmpty(); 2939 } 2940 2941 public boolean hasExcludeNotForUI() { 2942 return this.excludeNotForUI != null && !this.excludeNotForUI.isEmpty(); 2943 } 2944 2945 /** 2946 * @param value {@link #excludeNotForUI} (Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces.). This is the underlying object with id, value and extensions. The accessor "getExcludeNotForUI" gives direct access to the value 2947 */ 2948 public ExpansionProfile setExcludeNotForUIElement(BooleanType value) { 2949 this.excludeNotForUI = value; 2950 return this; 2951 } 2952 2953 /** 2954 * @return Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces. 2955 */ 2956 public boolean getExcludeNotForUI() { 2957 return this.excludeNotForUI == null || this.excludeNotForUI.isEmpty() ? false : this.excludeNotForUI.getValue(); 2958 } 2959 2960 /** 2961 * @param value Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces. 2962 */ 2963 public ExpansionProfile setExcludeNotForUI(boolean value) { 2964 if (this.excludeNotForUI == null) 2965 this.excludeNotForUI = new BooleanType(); 2966 this.excludeNotForUI.setValue(value); 2967 return this; 2968 } 2969 2970 /** 2971 * @return {@link #excludePostCoordinated} (Controls whether or not the value set expansion includes post coordinated codes.). This is the underlying object with id, value and extensions. The accessor "getExcludePostCoordinated" gives direct access to the value 2972 */ 2973 public BooleanType getExcludePostCoordinatedElement() { 2974 if (this.excludePostCoordinated == null) 2975 if (Configuration.errorOnAutoCreate()) 2976 throw new Error("Attempt to auto-create ExpansionProfile.excludePostCoordinated"); 2977 else if (Configuration.doAutoCreate()) 2978 this.excludePostCoordinated = new BooleanType(); // bb 2979 return this.excludePostCoordinated; 2980 } 2981 2982 public boolean hasExcludePostCoordinatedElement() { 2983 return this.excludePostCoordinated != null && !this.excludePostCoordinated.isEmpty(); 2984 } 2985 2986 public boolean hasExcludePostCoordinated() { 2987 return this.excludePostCoordinated != null && !this.excludePostCoordinated.isEmpty(); 2988 } 2989 2990 /** 2991 * @param value {@link #excludePostCoordinated} (Controls whether or not the value set expansion includes post coordinated codes.). This is the underlying object with id, value and extensions. The accessor "getExcludePostCoordinated" gives direct access to the value 2992 */ 2993 public ExpansionProfile setExcludePostCoordinatedElement(BooleanType value) { 2994 this.excludePostCoordinated = value; 2995 return this; 2996 } 2997 2998 /** 2999 * @return Controls whether or not the value set expansion includes post coordinated codes. 3000 */ 3001 public boolean getExcludePostCoordinated() { 3002 return this.excludePostCoordinated == null || this.excludePostCoordinated.isEmpty() ? false : this.excludePostCoordinated.getValue(); 3003 } 3004 3005 /** 3006 * @param value Controls whether or not the value set expansion includes post coordinated codes. 3007 */ 3008 public ExpansionProfile setExcludePostCoordinated(boolean value) { 3009 if (this.excludePostCoordinated == null) 3010 this.excludePostCoordinated = new BooleanType(); 3011 this.excludePostCoordinated.setValue(value); 3012 return this; 3013 } 3014 3015 /** 3016 * @return {@link #displayLanguage} (Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display.). This is the underlying object with id, value and extensions. The accessor "getDisplayLanguage" gives direct access to the value 3017 */ 3018 public CodeType getDisplayLanguageElement() { 3019 if (this.displayLanguage == null) 3020 if (Configuration.errorOnAutoCreate()) 3021 throw new Error("Attempt to auto-create ExpansionProfile.displayLanguage"); 3022 else if (Configuration.doAutoCreate()) 3023 this.displayLanguage = new CodeType(); // bb 3024 return this.displayLanguage; 3025 } 3026 3027 public boolean hasDisplayLanguageElement() { 3028 return this.displayLanguage != null && !this.displayLanguage.isEmpty(); 3029 } 3030 3031 public boolean hasDisplayLanguage() { 3032 return this.displayLanguage != null && !this.displayLanguage.isEmpty(); 3033 } 3034 3035 /** 3036 * @param value {@link #displayLanguage} (Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display.). This is the underlying object with id, value and extensions. The accessor "getDisplayLanguage" gives direct access to the value 3037 */ 3038 public ExpansionProfile setDisplayLanguageElement(CodeType value) { 3039 this.displayLanguage = value; 3040 return this; 3041 } 3042 3043 /** 3044 * @return Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display. 3045 */ 3046 public String getDisplayLanguage() { 3047 return this.displayLanguage == null ? null : this.displayLanguage.getValue(); 3048 } 3049 3050 /** 3051 * @param value Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display. 3052 */ 3053 public ExpansionProfile setDisplayLanguage(String value) { 3054 if (Utilities.noString(value)) 3055 this.displayLanguage = null; 3056 else { 3057 if (this.displayLanguage == null) 3058 this.displayLanguage = new CodeType(); 3059 this.displayLanguage.setValue(value); 3060 } 3061 return this; 3062 } 3063 3064 /** 3065 * @return {@link #limitedExpansion} (If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete.). This is the underlying object with id, value and extensions. The accessor "getLimitedExpansion" gives direct access to the value 3066 */ 3067 public BooleanType getLimitedExpansionElement() { 3068 if (this.limitedExpansion == null) 3069 if (Configuration.errorOnAutoCreate()) 3070 throw new Error("Attempt to auto-create ExpansionProfile.limitedExpansion"); 3071 else if (Configuration.doAutoCreate()) 3072 this.limitedExpansion = new BooleanType(); // bb 3073 return this.limitedExpansion; 3074 } 3075 3076 public boolean hasLimitedExpansionElement() { 3077 return this.limitedExpansion != null && !this.limitedExpansion.isEmpty(); 3078 } 3079 3080 public boolean hasLimitedExpansion() { 3081 return this.limitedExpansion != null && !this.limitedExpansion.isEmpty(); 3082 } 3083 3084 /** 3085 * @param value {@link #limitedExpansion} (If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete.). This is the underlying object with id, value and extensions. The accessor "getLimitedExpansion" gives direct access to the value 3086 */ 3087 public ExpansionProfile setLimitedExpansionElement(BooleanType value) { 3088 this.limitedExpansion = value; 3089 return this; 3090 } 3091 3092 /** 3093 * @return If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete. 3094 */ 3095 public boolean getLimitedExpansion() { 3096 return this.limitedExpansion == null || this.limitedExpansion.isEmpty() ? false : this.limitedExpansion.getValue(); 3097 } 3098 3099 /** 3100 * @param value If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete. 3101 */ 3102 public ExpansionProfile setLimitedExpansion(boolean value) { 3103 if (this.limitedExpansion == null) 3104 this.limitedExpansion = new BooleanType(); 3105 this.limitedExpansion.setValue(value); 3106 return this; 3107 } 3108 3109 protected void listChildren(List<Property> childrenList) { 3110 super.listChildren(childrenList); 3111 childrenList.add(new Property("url", "uri", "An absolute URL that is used to identify this expansion profile when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this expansion profile is (or will be) published.", 0, java.lang.Integer.MAX_VALUE, url)); 3112 childrenList.add(new Property("identifier", "Identifier", "Formal identifier that is used to identify this expansion profile when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 3113 childrenList.add(new Property("version", "string", "Used to identify this version of the expansion profile when it is referenced in a specification, model, design or instance.", 0, java.lang.Integer.MAX_VALUE, version)); 3114 childrenList.add(new Property("name", "string", "A free text natural language name for the expansion profile.", 0, java.lang.Integer.MAX_VALUE, name)); 3115 childrenList.add(new Property("status", "code", "The status of the expansion profile.", 0, java.lang.Integer.MAX_VALUE, status)); 3116 childrenList.add(new Property("experimental", "boolean", "This expansion profile was authored for testing purposes (or education/evaluation/marketing), and is not intended for genuine production usage.", 0, java.lang.Integer.MAX_VALUE, experimental)); 3117 childrenList.add(new Property("publisher", "string", "The name of the individual or organization that published the expansion profile.", 0, java.lang.Integer.MAX_VALUE, publisher)); 3118 childrenList.add(new Property("contact", "", "Contacts to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); 3119 childrenList.add(new Property("date", "dateTime", "The date that the expansion profile status was last changed. The date must change when the business version changes, if it does, and it must change if the status code changes.", 0, java.lang.Integer.MAX_VALUE, date)); 3120 childrenList.add(new Property("description", "string", "A free text natural language description of the use of the expansion profile - reason for definition, conditions of use, etc. The description may include a list of expected usages for the expansion profile and can also describe the approach taken to build the expansion profile.", 0, java.lang.Integer.MAX_VALUE, description)); 3121 childrenList.add(new Property("codeSystem", "", "A set of criteria that provide the constraints imposed on the value set expansion by including or excluding codes from specific code systems (or versions).", 0, java.lang.Integer.MAX_VALUE, codeSystem)); 3122 childrenList.add(new Property("includeDesignations", "boolean", "Controls whether concept designations are to be included or excluded in value set expansions.", 0, java.lang.Integer.MAX_VALUE, includeDesignations)); 3123 childrenList.add(new Property("designation", "", "A set of criteria that provide the constraints imposed on the value set expansion by including or excluding designations.", 0, java.lang.Integer.MAX_VALUE, designation)); 3124 childrenList.add(new Property("includeDefinition", "boolean", "Controls whether the value set definition is included or excluded in value set expansions.", 0, java.lang.Integer.MAX_VALUE, includeDefinition)); 3125 childrenList.add(new Property("includeInactive", "boolean", "Controls whether inactive concepts are included or excluded in value set expansions.", 0, java.lang.Integer.MAX_VALUE, includeInactive)); 3126 childrenList.add(new Property("excludeNested", "boolean", "Controls whether or not the value set expansion includes nested codes (i.e. ValueSet.expansion.contains.contains).", 0, java.lang.Integer.MAX_VALUE, excludeNested)); 3127 childrenList.add(new Property("excludeNotForUI", "boolean", "Controls whether or not the value set expansion includes codes which cannot be displayed in user interfaces.", 0, java.lang.Integer.MAX_VALUE, excludeNotForUI)); 3128 childrenList.add(new Property("excludePostCoordinated", "boolean", "Controls whether or not the value set expansion includes post coordinated codes.", 0, java.lang.Integer.MAX_VALUE, excludePostCoordinated)); 3129 childrenList.add(new Property("displayLanguage", "code", "Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display.", 0, java.lang.Integer.MAX_VALUE, displayLanguage)); 3130 childrenList.add(new Property("limitedExpansion", "boolean", "If the value set being expanded is incomplete (because it is too big to expand), return a limited expansion (a subset) with an indicator that expansion is incomplete.", 0, java.lang.Integer.MAX_VALUE, limitedExpansion)); 3131 } 3132 3133 @Override 3134 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 3135 switch (hash) { 3136 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 3137 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier 3138 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 3139 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 3140 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<ConformanceResourceStatus> 3141 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 3142 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 3143 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExpansionProfileContactComponent 3144 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 3145 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 3146 case -916511108: /*codeSystem*/ return this.codeSystem == null ? new Base[0] : new Base[] {this.codeSystem}; // ExpansionProfileCodeSystemComponent 3147 case 461507620: /*includeDesignations*/ return this.includeDesignations == null ? new Base[0] : new Base[] {this.includeDesignations}; // BooleanType 3148 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : new Base[] {this.designation}; // ExpansionProfileDesignationComponent 3149 case 127972379: /*includeDefinition*/ return this.includeDefinition == null ? new Base[0] : new Base[] {this.includeDefinition}; // BooleanType 3150 case 1634790707: /*includeInactive*/ return this.includeInactive == null ? new Base[0] : new Base[] {this.includeInactive}; // BooleanType 3151 case 424992625: /*excludeNested*/ return this.excludeNested == null ? new Base[0] : new Base[] {this.excludeNested}; // BooleanType 3152 case 667582980: /*excludeNotForUI*/ return this.excludeNotForUI == null ? new Base[0] : new Base[] {this.excludeNotForUI}; // BooleanType 3153 case 563335154: /*excludePostCoordinated*/ return this.excludePostCoordinated == null ? new Base[0] : new Base[] {this.excludePostCoordinated}; // BooleanType 3154 case 1486237242: /*displayLanguage*/ return this.displayLanguage == null ? new Base[0] : new Base[] {this.displayLanguage}; // CodeType 3155 case 597771333: /*limitedExpansion*/ return this.limitedExpansion == null ? new Base[0] : new Base[] {this.limitedExpansion}; // BooleanType 3156 default: return super.getProperty(hash, name, checkValid); 3157 } 3158 3159 } 3160 3161 @Override 3162 public void setProperty(int hash, String name, Base value) throws FHIRException { 3163 switch (hash) { 3164 case 116079: // url 3165 this.url = castToUri(value); // UriType 3166 break; 3167 case -1618432855: // identifier 3168 this.identifier = castToIdentifier(value); // Identifier 3169 break; 3170 case 351608024: // version 3171 this.version = castToString(value); // StringType 3172 break; 3173 case 3373707: // name 3174 this.name = castToString(value); // StringType 3175 break; 3176 case -892481550: // status 3177 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 3178 break; 3179 case -404562712: // experimental 3180 this.experimental = castToBoolean(value); // BooleanType 3181 break; 3182 case 1447404028: // publisher 3183 this.publisher = castToString(value); // StringType 3184 break; 3185 case 951526432: // contact 3186 this.getContact().add((ExpansionProfileContactComponent) value); // ExpansionProfileContactComponent 3187 break; 3188 case 3076014: // date 3189 this.date = castToDateTime(value); // DateTimeType 3190 break; 3191 case -1724546052: // description 3192 this.description = castToString(value); // StringType 3193 break; 3194 case -916511108: // codeSystem 3195 this.codeSystem = (ExpansionProfileCodeSystemComponent) value; // ExpansionProfileCodeSystemComponent 3196 break; 3197 case 461507620: // includeDesignations 3198 this.includeDesignations = castToBoolean(value); // BooleanType 3199 break; 3200 case -900931593: // designation 3201 this.designation = (ExpansionProfileDesignationComponent) value; // ExpansionProfileDesignationComponent 3202 break; 3203 case 127972379: // includeDefinition 3204 this.includeDefinition = castToBoolean(value); // BooleanType 3205 break; 3206 case 1634790707: // includeInactive 3207 this.includeInactive = castToBoolean(value); // BooleanType 3208 break; 3209 case 424992625: // excludeNested 3210 this.excludeNested = castToBoolean(value); // BooleanType 3211 break; 3212 case 667582980: // excludeNotForUI 3213 this.excludeNotForUI = castToBoolean(value); // BooleanType 3214 break; 3215 case 563335154: // excludePostCoordinated 3216 this.excludePostCoordinated = castToBoolean(value); // BooleanType 3217 break; 3218 case 1486237242: // displayLanguage 3219 this.displayLanguage = castToCode(value); // CodeType 3220 break; 3221 case 597771333: // limitedExpansion 3222 this.limitedExpansion = castToBoolean(value); // BooleanType 3223 break; 3224 default: super.setProperty(hash, name, value); 3225 } 3226 3227 } 3228 3229 @Override 3230 public void setProperty(String name, Base value) throws FHIRException { 3231 if (name.equals("url")) 3232 this.url = castToUri(value); // UriType 3233 else if (name.equals("identifier")) 3234 this.identifier = castToIdentifier(value); // Identifier 3235 else if (name.equals("version")) 3236 this.version = castToString(value); // StringType 3237 else if (name.equals("name")) 3238 this.name = castToString(value); // StringType 3239 else if (name.equals("status")) 3240 this.status = new ConformanceResourceStatusEnumFactory().fromType(value); // Enumeration<ConformanceResourceStatus> 3241 else if (name.equals("experimental")) 3242 this.experimental = castToBoolean(value); // BooleanType 3243 else if (name.equals("publisher")) 3244 this.publisher = castToString(value); // StringType 3245 else if (name.equals("contact")) 3246 this.getContact().add((ExpansionProfileContactComponent) value); 3247 else if (name.equals("date")) 3248 this.date = castToDateTime(value); // DateTimeType 3249 else if (name.equals("description")) 3250 this.description = castToString(value); // StringType 3251 else if (name.equals("codeSystem")) 3252 this.codeSystem = (ExpansionProfileCodeSystemComponent) value; // ExpansionProfileCodeSystemComponent 3253 else if (name.equals("includeDesignations")) 3254 this.includeDesignations = castToBoolean(value); // BooleanType 3255 else if (name.equals("designation")) 3256 this.designation = (ExpansionProfileDesignationComponent) value; // ExpansionProfileDesignationComponent 3257 else if (name.equals("includeDefinition")) 3258 this.includeDefinition = castToBoolean(value); // BooleanType 3259 else if (name.equals("includeInactive")) 3260 this.includeInactive = castToBoolean(value); // BooleanType 3261 else if (name.equals("excludeNested")) 3262 this.excludeNested = castToBoolean(value); // BooleanType 3263 else if (name.equals("excludeNotForUI")) 3264 this.excludeNotForUI = castToBoolean(value); // BooleanType 3265 else if (name.equals("excludePostCoordinated")) 3266 this.excludePostCoordinated = castToBoolean(value); // BooleanType 3267 else if (name.equals("displayLanguage")) 3268 this.displayLanguage = castToCode(value); // CodeType 3269 else if (name.equals("limitedExpansion")) 3270 this.limitedExpansion = castToBoolean(value); // BooleanType 3271 else 3272 super.setProperty(name, value); 3273 } 3274 3275 @Override 3276 public Base makeProperty(int hash, String name) throws FHIRException { 3277 switch (hash) { 3278 case 116079: throw new FHIRException("Cannot make property url as it is not a complex type"); // UriType 3279 case -1618432855: return getIdentifier(); // Identifier 3280 case 351608024: throw new FHIRException("Cannot make property version as it is not a complex type"); // StringType 3281 case 3373707: throw new FHIRException("Cannot make property name as it is not a complex type"); // StringType 3282 case -892481550: throw new FHIRException("Cannot make property status as it is not a complex type"); // Enumeration<ConformanceResourceStatus> 3283 case -404562712: throw new FHIRException("Cannot make property experimental as it is not a complex type"); // BooleanType 3284 case 1447404028: throw new FHIRException("Cannot make property publisher as it is not a complex type"); // StringType 3285 case 951526432: return addContact(); // ExpansionProfileContactComponent 3286 case 3076014: throw new FHIRException("Cannot make property date as it is not a complex type"); // DateTimeType 3287 case -1724546052: throw new FHIRException("Cannot make property description as it is not a complex type"); // StringType 3288 case -916511108: return getCodeSystem(); // ExpansionProfileCodeSystemComponent 3289 case 461507620: throw new FHIRException("Cannot make property includeDesignations as it is not a complex type"); // BooleanType 3290 case -900931593: return getDesignation(); // ExpansionProfileDesignationComponent 3291 case 127972379: throw new FHIRException("Cannot make property includeDefinition as it is not a complex type"); // BooleanType 3292 case 1634790707: throw new FHIRException("Cannot make property includeInactive as it is not a complex type"); // BooleanType 3293 case 424992625: throw new FHIRException("Cannot make property excludeNested as it is not a complex type"); // BooleanType 3294 case 667582980: throw new FHIRException("Cannot make property excludeNotForUI as it is not a complex type"); // BooleanType 3295 case 563335154: throw new FHIRException("Cannot make property excludePostCoordinated as it is not a complex type"); // BooleanType 3296 case 1486237242: throw new FHIRException("Cannot make property displayLanguage as it is not a complex type"); // CodeType 3297 case 597771333: throw new FHIRException("Cannot make property limitedExpansion as it is not a complex type"); // BooleanType 3298 default: return super.makeProperty(hash, name); 3299 } 3300 3301 } 3302 3303 @Override 3304 public Base addChild(String name) throws FHIRException { 3305 if (name.equals("url")) { 3306 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.url"); 3307 } 3308 else if (name.equals("identifier")) { 3309 this.identifier = new Identifier(); 3310 return this.identifier; 3311 } 3312 else if (name.equals("version")) { 3313 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.version"); 3314 } 3315 else if (name.equals("name")) { 3316 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.name"); 3317 } 3318 else if (name.equals("status")) { 3319 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.status"); 3320 } 3321 else if (name.equals("experimental")) { 3322 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.experimental"); 3323 } 3324 else if (name.equals("publisher")) { 3325 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.publisher"); 3326 } 3327 else if (name.equals("contact")) { 3328 return addContact(); 3329 } 3330 else if (name.equals("date")) { 3331 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.date"); 3332 } 3333 else if (name.equals("description")) { 3334 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.description"); 3335 } 3336 else if (name.equals("codeSystem")) { 3337 this.codeSystem = new ExpansionProfileCodeSystemComponent(); 3338 return this.codeSystem; 3339 } 3340 else if (name.equals("includeDesignations")) { 3341 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.includeDesignations"); 3342 } 3343 else if (name.equals("designation")) { 3344 this.designation = new ExpansionProfileDesignationComponent(); 3345 return this.designation; 3346 } 3347 else if (name.equals("includeDefinition")) { 3348 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.includeDefinition"); 3349 } 3350 else if (name.equals("includeInactive")) { 3351 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.includeInactive"); 3352 } 3353 else if (name.equals("excludeNested")) { 3354 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.excludeNested"); 3355 } 3356 else if (name.equals("excludeNotForUI")) { 3357 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.excludeNotForUI"); 3358 } 3359 else if (name.equals("excludePostCoordinated")) { 3360 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.excludePostCoordinated"); 3361 } 3362 else if (name.equals("displayLanguage")) { 3363 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.displayLanguage"); 3364 } 3365 else if (name.equals("limitedExpansion")) { 3366 throw new FHIRException("Cannot call addChild on a primitive type ExpansionProfile.limitedExpansion"); 3367 } 3368 else 3369 return super.addChild(name); 3370 } 3371 3372 public String fhirType() { 3373 return "ExpansionProfile"; 3374 3375 } 3376 3377 public ExpansionProfile copy() { 3378 ExpansionProfile dst = new ExpansionProfile(); 3379 copyValues(dst); 3380 dst.url = url == null ? null : url.copy(); 3381 dst.identifier = identifier == null ? null : identifier.copy(); 3382 dst.version = version == null ? null : version.copy(); 3383 dst.name = name == null ? null : name.copy(); 3384 dst.status = status == null ? null : status.copy(); 3385 dst.experimental = experimental == null ? null : experimental.copy(); 3386 dst.publisher = publisher == null ? null : publisher.copy(); 3387 if (contact != null) { 3388 dst.contact = new ArrayList<ExpansionProfileContactComponent>(); 3389 for (ExpansionProfileContactComponent i : contact) 3390 dst.contact.add(i.copy()); 3391 }; 3392 dst.date = date == null ? null : date.copy(); 3393 dst.description = description == null ? null : description.copy(); 3394 dst.codeSystem = codeSystem == null ? null : codeSystem.copy(); 3395 dst.includeDesignations = includeDesignations == null ? null : includeDesignations.copy(); 3396 dst.designation = designation == null ? null : designation.copy(); 3397 dst.includeDefinition = includeDefinition == null ? null : includeDefinition.copy(); 3398 dst.includeInactive = includeInactive == null ? null : includeInactive.copy(); 3399 dst.excludeNested = excludeNested == null ? null : excludeNested.copy(); 3400 dst.excludeNotForUI = excludeNotForUI == null ? null : excludeNotForUI.copy(); 3401 dst.excludePostCoordinated = excludePostCoordinated == null ? null : excludePostCoordinated.copy(); 3402 dst.displayLanguage = displayLanguage == null ? null : displayLanguage.copy(); 3403 dst.limitedExpansion = limitedExpansion == null ? null : limitedExpansion.copy(); 3404 return dst; 3405 } 3406 3407 protected ExpansionProfile typedCopy() { 3408 return copy(); 3409 } 3410 3411 @Override 3412 public boolean equalsDeep(Base other) { 3413 if (!super.equalsDeep(other)) 3414 return false; 3415 if (!(other instanceof ExpansionProfile)) 3416 return false; 3417 ExpansionProfile o = (ExpansionProfile) other; 3418 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 3419 && compareDeep(name, o.name, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) 3420 && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(date, o.date, true) 3421 && compareDeep(description, o.description, true) && compareDeep(codeSystem, o.codeSystem, true) 3422 && compareDeep(includeDesignations, o.includeDesignations, true) && compareDeep(designation, o.designation, true) 3423 && compareDeep(includeDefinition, o.includeDefinition, true) && compareDeep(includeInactive, o.includeInactive, true) 3424 && compareDeep(excludeNested, o.excludeNested, true) && compareDeep(excludeNotForUI, o.excludeNotForUI, true) 3425 && compareDeep(excludePostCoordinated, o.excludePostCoordinated, true) && compareDeep(displayLanguage, o.displayLanguage, true) 3426 && compareDeep(limitedExpansion, o.limitedExpansion, true); 3427 } 3428 3429 @Override 3430 public boolean equalsShallow(Base other) { 3431 if (!super.equalsShallow(other)) 3432 return false; 3433 if (!(other instanceof ExpansionProfile)) 3434 return false; 3435 ExpansionProfile o = (ExpansionProfile) other; 3436 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 3437 && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(publisher, o.publisher, true) 3438 && compareValues(date, o.date, true) && compareValues(description, o.description, true) && compareValues(includeDesignations, o.includeDesignations, true) 3439 && compareValues(includeDefinition, o.includeDefinition, true) && compareValues(includeInactive, o.includeInactive, true) 3440 && compareValues(excludeNested, o.excludeNested, true) && compareValues(excludeNotForUI, o.excludeNotForUI, true) 3441 && compareValues(excludePostCoordinated, o.excludePostCoordinated, true) && compareValues(displayLanguage, o.displayLanguage, true) 3442 && compareValues(limitedExpansion, o.limitedExpansion, true); 3443 } 3444 3445 public boolean isEmpty() { 3446 return super.isEmpty() && (url == null || url.isEmpty()) && (identifier == null || identifier.isEmpty()) 3447 && (version == null || version.isEmpty()) && (name == null || name.isEmpty()) && (status == null || status.isEmpty()) 3448 && (experimental == null || experimental.isEmpty()) && (publisher == null || publisher.isEmpty()) 3449 && (contact == null || contact.isEmpty()) && (date == null || date.isEmpty()) && (description == null || description.isEmpty()) 3450 && (codeSystem == null || codeSystem.isEmpty()) && (includeDesignations == null || includeDesignations.isEmpty()) 3451 && (designation == null || designation.isEmpty()) && (includeDefinition == null || includeDefinition.isEmpty()) 3452 && (includeInactive == null || includeInactive.isEmpty()) && (excludeNested == null || excludeNested.isEmpty()) 3453 && (excludeNotForUI == null || excludeNotForUI.isEmpty()) && (excludePostCoordinated == null || excludePostCoordinated.isEmpty()) 3454 && (displayLanguage == null || displayLanguage.isEmpty()) && (limitedExpansion == null || limitedExpansion.isEmpty()) 3455 ; 3456 } 3457 3458 @Override 3459 public ResourceType getResourceType() { 3460 return ResourceType.ExpansionProfile; 3461 } 3462 3463 /** 3464 * Search parameter: <b>status</b> 3465 * <p> 3466 * Description: <b>The status of the expansion profile</b><br> 3467 * Type: <b>token</b><br> 3468 * Path: <b>ExpansionProfile.status</b><br> 3469 * </p> 3470 */ 3471 @SearchParamDefinition(name="status", path="ExpansionProfile.status", description="The status of the expansion profile", type="token" ) 3472 public static final String SP_STATUS = "status"; 3473 /** 3474 * <b>Fluent Client</b> search parameter constant for <b>status</b> 3475 * <p> 3476 * Description: <b>The status of the expansion profile</b><br> 3477 * Type: <b>token</b><br> 3478 * Path: <b>ExpansionProfile.status</b><br> 3479 * </p> 3480 */ 3481 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 3482 3483 /** 3484 * Search parameter: <b>description</b> 3485 * <p> 3486 * Description: <b>Text search in the description of the expansion profile</b><br> 3487 * Type: <b>string</b><br> 3488 * Path: <b>ExpansionProfile.description</b><br> 3489 * </p> 3490 */ 3491 @SearchParamDefinition(name="description", path="ExpansionProfile.description", description="Text search in the description of the expansion profile", type="string" ) 3492 public static final String SP_DESCRIPTION = "description"; 3493 /** 3494 * <b>Fluent Client</b> search parameter constant for <b>description</b> 3495 * <p> 3496 * Description: <b>Text search in the description of the expansion profile</b><br> 3497 * Type: <b>string</b><br> 3498 * Path: <b>ExpansionProfile.description</b><br> 3499 * </p> 3500 */ 3501 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 3502 3503 /** 3504 * Search parameter: <b>name</b> 3505 * <p> 3506 * Description: <b>The name of the expansion profile</b><br> 3507 * Type: <b>string</b><br> 3508 * Path: <b>ExpansionProfile.name</b><br> 3509 * </p> 3510 */ 3511 @SearchParamDefinition(name="name", path="ExpansionProfile.name", description="The name of the expansion profile", type="string" ) 3512 public static final String SP_NAME = "name"; 3513 /** 3514 * <b>Fluent Client</b> search parameter constant for <b>name</b> 3515 * <p> 3516 * Description: <b>The name of the expansion profile</b><br> 3517 * Type: <b>string</b><br> 3518 * Path: <b>ExpansionProfile.name</b><br> 3519 * </p> 3520 */ 3521 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 3522 3523 /** 3524 * Search parameter: <b>date</b> 3525 * <p> 3526 * Description: <b>The expansion profile publication date</b><br> 3527 * Type: <b>date</b><br> 3528 * Path: <b>ExpansionProfile.date</b><br> 3529 * </p> 3530 */ 3531 @SearchParamDefinition(name="date", path="ExpansionProfile.date", description="The expansion profile publication date", type="date" ) 3532 public static final String SP_DATE = "date"; 3533 /** 3534 * <b>Fluent Client</b> search parameter constant for <b>date</b> 3535 * <p> 3536 * Description: <b>The expansion profile publication date</b><br> 3537 * Type: <b>date</b><br> 3538 * Path: <b>ExpansionProfile.date</b><br> 3539 * </p> 3540 */ 3541 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 3542 3543 /** 3544 * Search parameter: <b>identifier</b> 3545 * <p> 3546 * Description: <b>The identifier for the expansion profile</b><br> 3547 * Type: <b>token</b><br> 3548 * Path: <b>ExpansionProfile.identifier</b><br> 3549 * </p> 3550 */ 3551 @SearchParamDefinition(name="identifier", path="ExpansionProfile.identifier", description="The identifier for the expansion profile", type="token" ) 3552 public static final String SP_IDENTIFIER = "identifier"; 3553 /** 3554 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 3555 * <p> 3556 * Description: <b>The identifier for the expansion profile</b><br> 3557 * Type: <b>token</b><br> 3558 * Path: <b>ExpansionProfile.identifier</b><br> 3559 * </p> 3560 */ 3561 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 3562 3563 /** 3564 * Search parameter: <b>url</b> 3565 * <p> 3566 * Description: <b>The logical URL for the expansion profile</b><br> 3567 * Type: <b>uri</b><br> 3568 * Path: <b>ExpansionProfile.url</b><br> 3569 * </p> 3570 */ 3571 @SearchParamDefinition(name="url", path="ExpansionProfile.url", description="The logical URL for the expansion profile", type="uri" ) 3572 public static final String SP_URL = "url"; 3573 /** 3574 * <b>Fluent Client</b> search parameter constant for <b>url</b> 3575 * <p> 3576 * Description: <b>The logical URL for the expansion profile</b><br> 3577 * Type: <b>uri</b><br> 3578 * Path: <b>ExpansionProfile.url</b><br> 3579 * </p> 3580 */ 3581 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 3582 3583 /** 3584 * Search parameter: <b>publisher</b> 3585 * <p> 3586 * Description: <b>Name of the publisher of the expansion profile</b><br> 3587 * Type: <b>string</b><br> 3588 * Path: <b>ExpansionProfile.publisher</b><br> 3589 * </p> 3590 */ 3591 @SearchParamDefinition(name="publisher", path="ExpansionProfile.publisher", description="Name of the publisher of the expansion profile", type="string" ) 3592 public static final String SP_PUBLISHER = "publisher"; 3593 /** 3594 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 3595 * <p> 3596 * Description: <b>Name of the publisher of the expansion profile</b><br> 3597 * Type: <b>string</b><br> 3598 * Path: <b>ExpansionProfile.publisher</b><br> 3599 * </p> 3600 */ 3601 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 3602 3603 /** 3604 * Search parameter: <b>version</b> 3605 * <p> 3606 * Description: <b>The version identifier of the expansion profile</b><br> 3607 * Type: <b>token</b><br> 3608 * Path: <b>ExpansionProfile.version</b><br> 3609 * </p> 3610 */ 3611 @SearchParamDefinition(name="version", path="ExpansionProfile.version", description="The version identifier of the expansion profile", type="token" ) 3612 public static final String SP_VERSION = "version"; 3613 /** 3614 * <b>Fluent Client</b> search parameter constant for <b>version</b> 3615 * <p> 3616 * Description: <b>The version identifier of the expansion profile</b><br> 3617 * Type: <b>token</b><br> 3618 * Path: <b>ExpansionProfile.version</b><br> 3619 * </p> 3620 */ 3621 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 3622 3623 3624} 3625