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