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