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