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