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