001package org.hl7.fhir.r4b.model; 002 003 004/* 005 Copyright (c) 2011+, HL7, Inc. 006 All rights reserved. 007 008 Redistribution and use in source and binary forms, with or without modification, \ 009 are permitted provided that the following conditions are met: 010 011 * Redistributions of source code must retain the above copyright notice, this \ 012 list of conditions and the following disclaimer. 013 * Redistributions in binary form must reproduce the above copyright notice, \ 014 this list of conditions and the following disclaimer in the documentation \ 015 and/or other materials provided with the distribution. 016 * Neither the name of HL7 nor the names of its contributors may be used to 017 endorse or promote products derived from this software without specific 018 prior written permission. 019 020 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ 021 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ 022 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ 023 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ 024 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ 025 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ 026 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ 027 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ 028 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ 029 POSSIBILITY OF SUCH DAMAGE. 030 */ 031 032// Generated on Fri, Dec 31, 2021 05:58+1100 for FHIR v4.3.0-snapshot1 033 034import java.util.ArrayList; 035import java.util.Date; 036import java.util.List; 037import org.hl7.fhir.utilities.Utilities; 038import org.hl7.fhir.r4b.model.Enumerations.*; 039import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 040import org.hl7.fhir.exceptions.FHIRException; 041import org.hl7.fhir.instance.model.api.ICompositeType; 042import ca.uhn.fhir.model.api.annotation.ResourceDef; 043import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; 044import org.hl7.fhir.instance.model.api.IBaseBackboneElement; 045import ca.uhn.fhir.model.api.annotation.Child; 046import ca.uhn.fhir.model.api.annotation.ChildOrder; 047import ca.uhn.fhir.model.api.annotation.Description; 048import ca.uhn.fhir.model.api.annotation.Block; 049 050/** 051 * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. 052 */ 053@ResourceDef(name="CodeSystem", profile="http://hl7.org/fhir/StructureDefinition/CodeSystem") 054public class CodeSystem extends CanonicalResource { 055 056 public enum CodeSystemContentMode { 057 /** 058 * None of the concepts defined by the code system are included in the code system resource. 059 */ 060 NOTPRESENT, 061 /** 062 * A few representative concepts are included in the code system resource. There is no useful intent in the subset choice and there's no process to make it workable: it's not intended to be workable. 063 */ 064 EXAMPLE, 065 /** 066 * A subset of the code system concepts are included in the code system resource. This is a curated subset released for a specific purpose under the governance of the code system steward, and that the intent, bounds and consequences of the fragmentation are clearly defined in the fragment or the code system documentation. Fragments are also known as partitions. 067 */ 068 FRAGMENT, 069 /** 070 * All the concepts defined by the code system are included in the code system resource. 071 */ 072 COMPLETE, 073 /** 074 * The resource doesn't define any new concepts; it just provides additional designations and properties to another code system. 075 */ 076 SUPPLEMENT, 077 /** 078 * added to help the parsers with the generic types 079 */ 080 NULL; 081 public static CodeSystemContentMode fromCode(String codeString) throws FHIRException { 082 if (codeString == null || "".equals(codeString)) 083 return null; 084 if ("not-present".equals(codeString)) 085 return NOTPRESENT; 086 if ("example".equals(codeString)) 087 return EXAMPLE; 088 if ("fragment".equals(codeString)) 089 return FRAGMENT; 090 if ("complete".equals(codeString)) 091 return COMPLETE; 092 if ("supplement".equals(codeString)) 093 return SUPPLEMENT; 094 if (Configuration.isAcceptInvalidEnums()) 095 return null; 096 else 097 throw new FHIRException("Unknown CodeSystemContentMode code '"+codeString+"'"); 098 } 099 public String toCode() { 100 switch (this) { 101 case NOTPRESENT: return "not-present"; 102 case EXAMPLE: return "example"; 103 case FRAGMENT: return "fragment"; 104 case COMPLETE: return "complete"; 105 case SUPPLEMENT: return "supplement"; 106 case NULL: return null; 107 default: return "?"; 108 } 109 } 110 public String getSystem() { 111 switch (this) { 112 case NOTPRESENT: return "http://hl7.org/fhir/codesystem-content-mode"; 113 case EXAMPLE: return "http://hl7.org/fhir/codesystem-content-mode"; 114 case FRAGMENT: return "http://hl7.org/fhir/codesystem-content-mode"; 115 case COMPLETE: return "http://hl7.org/fhir/codesystem-content-mode"; 116 case SUPPLEMENT: return "http://hl7.org/fhir/codesystem-content-mode"; 117 case NULL: return null; 118 default: return "?"; 119 } 120 } 121 public String getDefinition() { 122 switch (this) { 123 case NOTPRESENT: return "None of the concepts defined by the code system are included in the code system resource."; 124 case EXAMPLE: return "A few representative concepts are included in the code system resource. There is no useful intent in the subset choice and there's no process to make it workable: it's not intended to be workable."; 125 case FRAGMENT: return "A subset of the code system concepts are included in the code system resource. This is a curated subset released for a specific purpose under the governance of the code system steward, and that the intent, bounds and consequences of the fragmentation are clearly defined in the fragment or the code system documentation. Fragments are also known as partitions."; 126 case COMPLETE: return "All the concepts defined by the code system are included in the code system resource."; 127 case SUPPLEMENT: return "The resource doesn't define any new concepts; it just provides additional designations and properties to another code system."; 128 case NULL: return null; 129 default: return "?"; 130 } 131 } 132 public String getDisplay() { 133 switch (this) { 134 case NOTPRESENT: return "Not Present"; 135 case EXAMPLE: return "Example"; 136 case FRAGMENT: return "Fragment"; 137 case COMPLETE: return "Complete"; 138 case SUPPLEMENT: return "Supplement"; 139 case NULL: return null; 140 default: return "?"; 141 } 142 } 143 } 144 145 public static class CodeSystemContentModeEnumFactory implements EnumFactory<CodeSystemContentMode> { 146 public CodeSystemContentMode fromCode(String codeString) throws IllegalArgumentException { 147 if (codeString == null || "".equals(codeString)) 148 if (codeString == null || "".equals(codeString)) 149 return null; 150 if ("not-present".equals(codeString)) 151 return CodeSystemContentMode.NOTPRESENT; 152 if ("example".equals(codeString)) 153 return CodeSystemContentMode.EXAMPLE; 154 if ("fragment".equals(codeString)) 155 return CodeSystemContentMode.FRAGMENT; 156 if ("complete".equals(codeString)) 157 return CodeSystemContentMode.COMPLETE; 158 if ("supplement".equals(codeString)) 159 return CodeSystemContentMode.SUPPLEMENT; 160 throw new IllegalArgumentException("Unknown CodeSystemContentMode code '"+codeString+"'"); 161 } 162 public Enumeration<CodeSystemContentMode> fromType(Base code) throws FHIRException { 163 if (code == null) 164 return null; 165 if (code.isEmpty()) 166 return new Enumeration<CodeSystemContentMode>(this); 167 String codeString = ((PrimitiveType) code).asStringValue(); 168 if (codeString == null || "".equals(codeString)) 169 return null; 170 if ("not-present".equals(codeString)) 171 return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.NOTPRESENT); 172 if ("example".equals(codeString)) 173 return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.EXAMPLE); 174 if ("fragment".equals(codeString)) 175 return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.FRAGMENT); 176 if ("complete".equals(codeString)) 177 return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.COMPLETE); 178 if ("supplement".equals(codeString)) 179 return new Enumeration<CodeSystemContentMode>(this, CodeSystemContentMode.SUPPLEMENT); 180 throw new FHIRException("Unknown CodeSystemContentMode code '"+codeString+"'"); 181 } 182 public String toCode(CodeSystemContentMode code) { 183 if (code == CodeSystemContentMode.NOTPRESENT) 184 return "not-present"; 185 if (code == CodeSystemContentMode.EXAMPLE) 186 return "example"; 187 if (code == CodeSystemContentMode.FRAGMENT) 188 return "fragment"; 189 if (code == CodeSystemContentMode.COMPLETE) 190 return "complete"; 191 if (code == CodeSystemContentMode.SUPPLEMENT) 192 return "supplement"; 193 return "?"; 194 } 195 public String toSystem(CodeSystemContentMode code) { 196 return code.getSystem(); 197 } 198 } 199 200 public enum CodeSystemHierarchyMeaning { 201 /** 202 * No particular relationship between the concepts can be assumed, except what can be determined by inspection of the definitions of the elements (possible reasons to use this: importing from a source where this is not defined, or where various parts of the hierarchy have different meanings). 203 */ 204 GROUPEDBY, 205 /** 206 * A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties or the [subsumes](extension-codesystem-subsumes.html) extension. 207 */ 208 ISA, 209 /** 210 * Child elements list the individual parts of a composite whole (e.g. body site). 211 */ 212 PARTOF, 213 /** 214 * Child concepts in the hierarchy may have only one parent, and there is a presumption that the code system is a \"closed world\" meaning all things must be in the hierarchy. This results in concepts such as \"not otherwise classified.\". 215 */ 216 CLASSIFIEDWITH, 217 /** 218 * added to help the parsers with the generic types 219 */ 220 NULL; 221 public static CodeSystemHierarchyMeaning fromCode(String codeString) throws FHIRException { 222 if (codeString == null || "".equals(codeString)) 223 return null; 224 if ("grouped-by".equals(codeString)) 225 return GROUPEDBY; 226 if ("is-a".equals(codeString)) 227 return ISA; 228 if ("part-of".equals(codeString)) 229 return PARTOF; 230 if ("classified-with".equals(codeString)) 231 return CLASSIFIEDWITH; 232 if (Configuration.isAcceptInvalidEnums()) 233 return null; 234 else 235 throw new FHIRException("Unknown CodeSystemHierarchyMeaning code '"+codeString+"'"); 236 } 237 public String toCode() { 238 switch (this) { 239 case GROUPEDBY: return "grouped-by"; 240 case ISA: return "is-a"; 241 case PARTOF: return "part-of"; 242 case CLASSIFIEDWITH: return "classified-with"; 243 case NULL: return null; 244 default: return "?"; 245 } 246 } 247 public String getSystem() { 248 switch (this) { 249 case GROUPEDBY: return "http://hl7.org/fhir/codesystem-hierarchy-meaning"; 250 case ISA: return "http://hl7.org/fhir/codesystem-hierarchy-meaning"; 251 case PARTOF: return "http://hl7.org/fhir/codesystem-hierarchy-meaning"; 252 case CLASSIFIEDWITH: return "http://hl7.org/fhir/codesystem-hierarchy-meaning"; 253 case NULL: return null; 254 default: return "?"; 255 } 256 } 257 public String getDefinition() { 258 switch (this) { 259 case GROUPEDBY: return "No particular relationship between the concepts can be assumed, except what can be determined by inspection of the definitions of the elements (possible reasons to use this: importing from a source where this is not defined, or where various parts of the hierarchy have different meanings)."; 260 case ISA: return "A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties or the [subsumes](extension-codesystem-subsumes.html) extension."; 261 case PARTOF: return "Child elements list the individual parts of a composite whole (e.g. body site)."; 262 case CLASSIFIEDWITH: return "Child concepts in the hierarchy may have only one parent, and there is a presumption that the code system is a \"closed world\" meaning all things must be in the hierarchy. This results in concepts such as \"not otherwise classified.\"."; 263 case NULL: return null; 264 default: return "?"; 265 } 266 } 267 public String getDisplay() { 268 switch (this) { 269 case GROUPEDBY: return "Grouped By"; 270 case ISA: return "Is-A"; 271 case PARTOF: return "Part Of"; 272 case CLASSIFIEDWITH: return "Classified With"; 273 case NULL: return null; 274 default: return "?"; 275 } 276 } 277 } 278 279 public static class CodeSystemHierarchyMeaningEnumFactory implements EnumFactory<CodeSystemHierarchyMeaning> { 280 public CodeSystemHierarchyMeaning fromCode(String codeString) throws IllegalArgumentException { 281 if (codeString == null || "".equals(codeString)) 282 if (codeString == null || "".equals(codeString)) 283 return null; 284 if ("grouped-by".equals(codeString)) 285 return CodeSystemHierarchyMeaning.GROUPEDBY; 286 if ("is-a".equals(codeString)) 287 return CodeSystemHierarchyMeaning.ISA; 288 if ("part-of".equals(codeString)) 289 return CodeSystemHierarchyMeaning.PARTOF; 290 if ("classified-with".equals(codeString)) 291 return CodeSystemHierarchyMeaning.CLASSIFIEDWITH; 292 throw new IllegalArgumentException("Unknown CodeSystemHierarchyMeaning code '"+codeString+"'"); 293 } 294 public Enumeration<CodeSystemHierarchyMeaning> fromType(Base code) throws FHIRException { 295 if (code == null) 296 return null; 297 if (code.isEmpty()) 298 return new Enumeration<CodeSystemHierarchyMeaning>(this); 299 String codeString = ((PrimitiveType) code).asStringValue(); 300 if (codeString == null || "".equals(codeString)) 301 return null; 302 if ("grouped-by".equals(codeString)) 303 return new Enumeration<CodeSystemHierarchyMeaning>(this, CodeSystemHierarchyMeaning.GROUPEDBY); 304 if ("is-a".equals(codeString)) 305 return new Enumeration<CodeSystemHierarchyMeaning>(this, CodeSystemHierarchyMeaning.ISA); 306 if ("part-of".equals(codeString)) 307 return new Enumeration<CodeSystemHierarchyMeaning>(this, CodeSystemHierarchyMeaning.PARTOF); 308 if ("classified-with".equals(codeString)) 309 return new Enumeration<CodeSystemHierarchyMeaning>(this, CodeSystemHierarchyMeaning.CLASSIFIEDWITH); 310 throw new FHIRException("Unknown CodeSystemHierarchyMeaning code '"+codeString+"'"); 311 } 312 public String toCode(CodeSystemHierarchyMeaning code) { 313 if (code == CodeSystemHierarchyMeaning.GROUPEDBY) 314 return "grouped-by"; 315 if (code == CodeSystemHierarchyMeaning.ISA) 316 return "is-a"; 317 if (code == CodeSystemHierarchyMeaning.PARTOF) 318 return "part-of"; 319 if (code == CodeSystemHierarchyMeaning.CLASSIFIEDWITH) 320 return "classified-with"; 321 return "?"; 322 } 323 public String toSystem(CodeSystemHierarchyMeaning code) { 324 return code.getSystem(); 325 } 326 } 327 328 public enum PropertyType { 329 /** 330 * The property value is a code that identifies a concept defined in the code system. 331 */ 332 CODE, 333 /** 334 * The property value is a code defined in an external code system. This may be used for translations, but is not the intent. 335 */ 336 CODING, 337 /** 338 * The property value is a string. 339 */ 340 STRING, 341 /** 342 * The property value is a string (often used to assign ranking values to concepts for supporting score assessments). 343 */ 344 INTEGER, 345 /** 346 * The property value is a boolean true | false. 347 */ 348 BOOLEAN, 349 /** 350 * The property is a date or a date + time. 351 */ 352 DATETIME, 353 /** 354 * The property value is a decimal number. 355 */ 356 DECIMAL, 357 /** 358 * added to help the parsers with the generic types 359 */ 360 NULL; 361 public static PropertyType fromCode(String codeString) throws FHIRException { 362 if (codeString == null || "".equals(codeString)) 363 return null; 364 if ("code".equals(codeString)) 365 return CODE; 366 if ("Coding".equals(codeString)) 367 return CODING; 368 if ("string".equals(codeString)) 369 return STRING; 370 if ("integer".equals(codeString)) 371 return INTEGER; 372 if ("boolean".equals(codeString)) 373 return BOOLEAN; 374 if ("dateTime".equals(codeString)) 375 return DATETIME; 376 if ("decimal".equals(codeString)) 377 return DECIMAL; 378 if (Configuration.isAcceptInvalidEnums()) 379 return null; 380 else 381 throw new FHIRException("Unknown PropertyType code '"+codeString+"'"); 382 } 383 public String toCode() { 384 switch (this) { 385 case CODE: return "code"; 386 case CODING: return "Coding"; 387 case STRING: return "string"; 388 case INTEGER: return "integer"; 389 case BOOLEAN: return "boolean"; 390 case DATETIME: return "dateTime"; 391 case DECIMAL: return "decimal"; 392 case NULL: return null; 393 default: return "?"; 394 } 395 } 396 public String getSystem() { 397 switch (this) { 398 case CODE: return "http://hl7.org/fhir/concept-property-type"; 399 case CODING: return "http://hl7.org/fhir/concept-property-type"; 400 case STRING: return "http://hl7.org/fhir/concept-property-type"; 401 case INTEGER: return "http://hl7.org/fhir/concept-property-type"; 402 case BOOLEAN: return "http://hl7.org/fhir/concept-property-type"; 403 case DATETIME: return "http://hl7.org/fhir/concept-property-type"; 404 case DECIMAL: return "http://hl7.org/fhir/concept-property-type"; 405 case NULL: return null; 406 default: return "?"; 407 } 408 } 409 public String getDefinition() { 410 switch (this) { 411 case CODE: return "The property value is a code that identifies a concept defined in the code system."; 412 case CODING: return "The property value is a code defined in an external code system. This may be used for translations, but is not the intent."; 413 case STRING: return "The property value is a string."; 414 case INTEGER: return "The property value is a string (often used to assign ranking values to concepts for supporting score assessments)."; 415 case BOOLEAN: return "The property value is a boolean true | false."; 416 case DATETIME: return "The property is a date or a date + time."; 417 case DECIMAL: return "The property value is a decimal number."; 418 case NULL: return null; 419 default: return "?"; 420 } 421 } 422 public String getDisplay() { 423 switch (this) { 424 case CODE: return "code (internal reference)"; 425 case CODING: return "Coding (external reference)"; 426 case STRING: return "string"; 427 case INTEGER: return "integer"; 428 case BOOLEAN: return "boolean"; 429 case DATETIME: return "dateTime"; 430 case DECIMAL: return "decimal"; 431 case NULL: return null; 432 default: return "?"; 433 } 434 } 435 } 436 437 public static class PropertyTypeEnumFactory implements EnumFactory<PropertyType> { 438 public PropertyType fromCode(String codeString) throws IllegalArgumentException { 439 if (codeString == null || "".equals(codeString)) 440 if (codeString == null || "".equals(codeString)) 441 return null; 442 if ("code".equals(codeString)) 443 return PropertyType.CODE; 444 if ("Coding".equals(codeString)) 445 return PropertyType.CODING; 446 if ("string".equals(codeString)) 447 return PropertyType.STRING; 448 if ("integer".equals(codeString)) 449 return PropertyType.INTEGER; 450 if ("boolean".equals(codeString)) 451 return PropertyType.BOOLEAN; 452 if ("dateTime".equals(codeString)) 453 return PropertyType.DATETIME; 454 if ("decimal".equals(codeString)) 455 return PropertyType.DECIMAL; 456 throw new IllegalArgumentException("Unknown PropertyType code '"+codeString+"'"); 457 } 458 public Enumeration<PropertyType> fromType(Base code) throws FHIRException { 459 if (code == null) 460 return null; 461 if (code.isEmpty()) 462 return new Enumeration<PropertyType>(this); 463 String codeString = ((PrimitiveType) code).asStringValue(); 464 if (codeString == null || "".equals(codeString)) 465 return null; 466 if ("code".equals(codeString)) 467 return new Enumeration<PropertyType>(this, PropertyType.CODE); 468 if ("Coding".equals(codeString)) 469 return new Enumeration<PropertyType>(this, PropertyType.CODING); 470 if ("string".equals(codeString)) 471 return new Enumeration<PropertyType>(this, PropertyType.STRING); 472 if ("integer".equals(codeString)) 473 return new Enumeration<PropertyType>(this, PropertyType.INTEGER); 474 if ("boolean".equals(codeString)) 475 return new Enumeration<PropertyType>(this, PropertyType.BOOLEAN); 476 if ("dateTime".equals(codeString)) 477 return new Enumeration<PropertyType>(this, PropertyType.DATETIME); 478 if ("decimal".equals(codeString)) 479 return new Enumeration<PropertyType>(this, PropertyType.DECIMAL); 480 throw new FHIRException("Unknown PropertyType code '"+codeString+"'"); 481 } 482 public String toCode(PropertyType code) { 483 if (code == PropertyType.CODE) 484 return "code"; 485 if (code == PropertyType.CODING) 486 return "Coding"; 487 if (code == PropertyType.STRING) 488 return "string"; 489 if (code == PropertyType.INTEGER) 490 return "integer"; 491 if (code == PropertyType.BOOLEAN) 492 return "boolean"; 493 if (code == PropertyType.DATETIME) 494 return "dateTime"; 495 if (code == PropertyType.DECIMAL) 496 return "decimal"; 497 return "?"; 498 } 499 public String toSystem(PropertyType code) { 500 return code.getSystem(); 501 } 502 } 503 504 @Block() 505 public static class CodeSystemFilterComponent extends BackboneElement implements IBaseBackboneElement { 506 /** 507 * The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. 508 */ 509 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 510 @Description(shortDefinition="Code that identifies the filter", formalDefinition="The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter." ) 511 protected CodeType code; 512 513 /** 514 * A description of how or why the filter is used. 515 */ 516 @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 517 @Description(shortDefinition="How or why the filter is used", formalDefinition="A description of how or why the filter is used." ) 518 protected StringType description; 519 520 /** 521 * A list of operators that can be used with the filter. 522 */ 523 @Child(name = "operator", type = {CodeType.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 524 @Description(shortDefinition="= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists", formalDefinition="A list of operators that can be used with the filter." ) 525 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/filter-operator") 526 protected List<Enumeration<FilterOperator>> operator; 527 528 /** 529 * A description of what the value for the filter should be. 530 */ 531 @Child(name = "value", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true) 532 @Description(shortDefinition="What to use for the value", formalDefinition="A description of what the value for the filter should be." ) 533 protected StringType value; 534 535 private static final long serialVersionUID = -1087409836L; 536 537 /** 538 * Constructor 539 */ 540 public CodeSystemFilterComponent() { 541 super(); 542 } 543 544 /** 545 * Constructor 546 */ 547 public CodeSystemFilterComponent(String code, FilterOperator operator, String value) { 548 super(); 549 this.setCode(code); 550 this.addOperator(operator); 551 this.setValue(value); 552 } 553 554 /** 555 * @return {@link #code} (The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 556 */ 557 public CodeType getCodeElement() { 558 if (this.code == null) 559 if (Configuration.errorOnAutoCreate()) 560 throw new Error("Attempt to auto-create CodeSystemFilterComponent.code"); 561 else if (Configuration.doAutoCreate()) 562 this.code = new CodeType(); // bb 563 return this.code; 564 } 565 566 public boolean hasCodeElement() { 567 return this.code != null && !this.code.isEmpty(); 568 } 569 570 public boolean hasCode() { 571 return this.code != null && !this.code.isEmpty(); 572 } 573 574 /** 575 * @param value {@link #code} (The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 576 */ 577 public CodeSystemFilterComponent setCodeElement(CodeType value) { 578 this.code = value; 579 return this; 580 } 581 582 /** 583 * @return The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. 584 */ 585 public String getCode() { 586 return this.code == null ? null : this.code.getValue(); 587 } 588 589 /** 590 * @param value The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter. 591 */ 592 public CodeSystemFilterComponent setCode(String value) { 593 if (this.code == null) 594 this.code = new CodeType(); 595 this.code.setValue(value); 596 return this; 597 } 598 599 /** 600 * @return {@link #description} (A description of how or why the filter is used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 601 */ 602 public StringType getDescriptionElement() { 603 if (this.description == null) 604 if (Configuration.errorOnAutoCreate()) 605 throw new Error("Attempt to auto-create CodeSystemFilterComponent.description"); 606 else if (Configuration.doAutoCreate()) 607 this.description = new StringType(); // bb 608 return this.description; 609 } 610 611 public boolean hasDescriptionElement() { 612 return this.description != null && !this.description.isEmpty(); 613 } 614 615 public boolean hasDescription() { 616 return this.description != null && !this.description.isEmpty(); 617 } 618 619 /** 620 * @param value {@link #description} (A description of how or why the filter is used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 621 */ 622 public CodeSystemFilterComponent setDescriptionElement(StringType value) { 623 this.description = value; 624 return this; 625 } 626 627 /** 628 * @return A description of how or why the filter is used. 629 */ 630 public String getDescription() { 631 return this.description == null ? null : this.description.getValue(); 632 } 633 634 /** 635 * @param value A description of how or why the filter is used. 636 */ 637 public CodeSystemFilterComponent setDescription(String value) { 638 if (Utilities.noString(value)) 639 this.description = null; 640 else { 641 if (this.description == null) 642 this.description = new StringType(); 643 this.description.setValue(value); 644 } 645 return this; 646 } 647 648 /** 649 * @return {@link #operator} (A list of operators that can be used with the filter.) 650 */ 651 public List<Enumeration<FilterOperator>> getOperator() { 652 if (this.operator == null) 653 this.operator = new ArrayList<Enumeration<FilterOperator>>(); 654 return this.operator; 655 } 656 657 /** 658 * @return Returns a reference to <code>this</code> for easy method chaining 659 */ 660 public CodeSystemFilterComponent setOperator(List<Enumeration<FilterOperator>> theOperator) { 661 this.operator = theOperator; 662 return this; 663 } 664 665 public boolean hasOperator() { 666 if (this.operator == null) 667 return false; 668 for (Enumeration<FilterOperator> item : this.operator) 669 if (!item.isEmpty()) 670 return true; 671 return false; 672 } 673 674 /** 675 * @return {@link #operator} (A list of operators that can be used with the filter.) 676 */ 677 public Enumeration<FilterOperator> addOperatorElement() {//2 678 Enumeration<FilterOperator> t = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); 679 if (this.operator == null) 680 this.operator = new ArrayList<Enumeration<FilterOperator>>(); 681 this.operator.add(t); 682 return t; 683 } 684 685 /** 686 * @param value {@link #operator} (A list of operators that can be used with the filter.) 687 */ 688 public CodeSystemFilterComponent addOperator(FilterOperator value) { //1 689 Enumeration<FilterOperator> t = new Enumeration<FilterOperator>(new FilterOperatorEnumFactory()); 690 t.setValue(value); 691 if (this.operator == null) 692 this.operator = new ArrayList<Enumeration<FilterOperator>>(); 693 this.operator.add(t); 694 return this; 695 } 696 697 /** 698 * @param value {@link #operator} (A list of operators that can be used with the filter.) 699 */ 700 public boolean hasOperator(FilterOperator value) { 701 if (this.operator == null) 702 return false; 703 for (Enumeration<FilterOperator> v : this.operator) 704 if (v.getValue().equals(value)) // code 705 return true; 706 return false; 707 } 708 709 /** 710 * @return {@link #value} (A description of what the value for the filter should be.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 711 */ 712 public StringType getValueElement() { 713 if (this.value == null) 714 if (Configuration.errorOnAutoCreate()) 715 throw new Error("Attempt to auto-create CodeSystemFilterComponent.value"); 716 else if (Configuration.doAutoCreate()) 717 this.value = new StringType(); // bb 718 return this.value; 719 } 720 721 public boolean hasValueElement() { 722 return this.value != null && !this.value.isEmpty(); 723 } 724 725 public boolean hasValue() { 726 return this.value != null && !this.value.isEmpty(); 727 } 728 729 /** 730 * @param value {@link #value} (A description of what the value for the filter should be.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 731 */ 732 public CodeSystemFilterComponent setValueElement(StringType value) { 733 this.value = value; 734 return this; 735 } 736 737 /** 738 * @return A description of what the value for the filter should be. 739 */ 740 public String getValue() { 741 return this.value == null ? null : this.value.getValue(); 742 } 743 744 /** 745 * @param value A description of what the value for the filter should be. 746 */ 747 public CodeSystemFilterComponent setValue(String value) { 748 if (this.value == null) 749 this.value = new StringType(); 750 this.value.setValue(value); 751 return this; 752 } 753 754 protected void listChildren(List<Property> children) { 755 super.listChildren(children); 756 children.add(new Property("code", "code", "The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter.", 0, 1, code)); 757 children.add(new Property("description", "string", "A description of how or why the filter is used.", 0, 1, description)); 758 children.add(new Property("operator", "code", "A list of operators that can be used with the filter.", 0, java.lang.Integer.MAX_VALUE, operator)); 759 children.add(new Property("value", "string", "A description of what the value for the filter should be.", 0, 1, value)); 760 } 761 762 @Override 763 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 764 switch (_hash) { 765 case 3059181: /*code*/ return new Property("code", "code", "The code that identifies this filter when it is used as a filter in [ValueSet](valueset.html#).compose.include.filter.", 0, 1, code); 766 case -1724546052: /*description*/ return new Property("description", "string", "A description of how or why the filter is used.", 0, 1, description); 767 case -500553564: /*operator*/ return new Property("operator", "code", "A list of operators that can be used with the filter.", 0, java.lang.Integer.MAX_VALUE, operator); 768 case 111972721: /*value*/ return new Property("value", "string", "A description of what the value for the filter should be.", 0, 1, value); 769 default: return super.getNamedProperty(_hash, _name, _checkValid); 770 } 771 772 } 773 774 @Override 775 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 776 switch (hash) { 777 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 778 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 779 case -500553564: /*operator*/ return this.operator == null ? new Base[0] : this.operator.toArray(new Base[this.operator.size()]); // Enumeration<FilterOperator> 780 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 781 default: return super.getProperty(hash, name, checkValid); 782 } 783 784 } 785 786 @Override 787 public Base setProperty(int hash, String name, Base value) throws FHIRException { 788 switch (hash) { 789 case 3059181: // code 790 this.code = TypeConvertor.castToCode(value); // CodeType 791 return value; 792 case -1724546052: // description 793 this.description = TypeConvertor.castToString(value); // StringType 794 return value; 795 case -500553564: // operator 796 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 797 this.getOperator().add((Enumeration) value); // Enumeration<FilterOperator> 798 return value; 799 case 111972721: // value 800 this.value = TypeConvertor.castToString(value); // StringType 801 return value; 802 default: return super.setProperty(hash, name, value); 803 } 804 805 } 806 807 @Override 808 public Base setProperty(String name, Base value) throws FHIRException { 809 if (name.equals("code")) { 810 this.code = TypeConvertor.castToCode(value); // CodeType 811 } else if (name.equals("description")) { 812 this.description = TypeConvertor.castToString(value); // StringType 813 } else if (name.equals("operator")) { 814 value = new FilterOperatorEnumFactory().fromType(TypeConvertor.castToCode(value)); 815 this.getOperator().add((Enumeration) value); 816 } else if (name.equals("value")) { 817 this.value = TypeConvertor.castToString(value); // StringType 818 } else 819 return super.setProperty(name, value); 820 return value; 821 } 822 823 @Override 824 public Base makeProperty(int hash, String name) throws FHIRException { 825 switch (hash) { 826 case 3059181: return getCodeElement(); 827 case -1724546052: return getDescriptionElement(); 828 case -500553564: return addOperatorElement(); 829 case 111972721: return getValueElement(); 830 default: return super.makeProperty(hash, name); 831 } 832 833 } 834 835 @Override 836 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 837 switch (hash) { 838 case 3059181: /*code*/ return new String[] {"code"}; 839 case -1724546052: /*description*/ return new String[] {"string"}; 840 case -500553564: /*operator*/ return new String[] {"code"}; 841 case 111972721: /*value*/ return new String[] {"string"}; 842 default: return super.getTypesForProperty(hash, name); 843 } 844 845 } 846 847 @Override 848 public Base addChild(String name) throws FHIRException { 849 if (name.equals("code")) { 850 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.filter.code"); 851 } 852 else if (name.equals("description")) { 853 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.filter.description"); 854 } 855 else if (name.equals("operator")) { 856 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.filter.operator"); 857 } 858 else if (name.equals("value")) { 859 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.filter.value"); 860 } 861 else 862 return super.addChild(name); 863 } 864 865 public CodeSystemFilterComponent copy() { 866 CodeSystemFilterComponent dst = new CodeSystemFilterComponent(); 867 copyValues(dst); 868 return dst; 869 } 870 871 public void copyValues(CodeSystemFilterComponent dst) { 872 super.copyValues(dst); 873 dst.code = code == null ? null : code.copy(); 874 dst.description = description == null ? null : description.copy(); 875 if (operator != null) { 876 dst.operator = new ArrayList<Enumeration<FilterOperator>>(); 877 for (Enumeration<FilterOperator> i : operator) 878 dst.operator.add(i.copy()); 879 }; 880 dst.value = value == null ? null : value.copy(); 881 } 882 883 @Override 884 public boolean equalsDeep(Base other_) { 885 if (!super.equalsDeep(other_)) 886 return false; 887 if (!(other_ instanceof CodeSystemFilterComponent)) 888 return false; 889 CodeSystemFilterComponent o = (CodeSystemFilterComponent) other_; 890 return compareDeep(code, o.code, true) && compareDeep(description, o.description, true) && compareDeep(operator, o.operator, true) 891 && compareDeep(value, o.value, true); 892 } 893 894 @Override 895 public boolean equalsShallow(Base other_) { 896 if (!super.equalsShallow(other_)) 897 return false; 898 if (!(other_ instanceof CodeSystemFilterComponent)) 899 return false; 900 CodeSystemFilterComponent o = (CodeSystemFilterComponent) other_; 901 return compareValues(code, o.code, true) && compareValues(description, o.description, true) && compareValues(operator, o.operator, true) 902 && compareValues(value, o.value, true); 903 } 904 905 public boolean isEmpty() { 906 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, description, operator 907 , value); 908 } 909 910 public String fhirType() { 911 return "CodeSystem.filter"; 912 913 } 914 915 } 916 917 @Block() 918 public static class PropertyComponent extends BackboneElement implements IBaseBackboneElement { 919 /** 920 * A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. 921 */ 922 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) 923 @Description(shortDefinition="Identifies the property on the concepts, and when referred to in operations", formalDefinition="A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters." ) 924 protected CodeType code; 925 926 /** 927 * Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 928 */ 929 @Child(name = "uri", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) 930 @Description(shortDefinition="Formal identifier for the property", formalDefinition="Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system." ) 931 protected UriType uri; 932 933 /** 934 * A description of the property- why it is defined, and how its value might be used. 935 */ 936 @Child(name = "description", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 937 @Description(shortDefinition="Why the property is defined, and/or what it conveys", formalDefinition="A description of the property- why it is defined, and how its value might be used." ) 938 protected StringType description; 939 940 /** 941 * The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). 942 */ 943 @Child(name = "type", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=true) 944 @Description(shortDefinition="code | Coding | string | integer | boolean | dateTime | decimal", formalDefinition="The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to another defined concept)." ) 945 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/concept-property-type") 946 protected Enumeration<PropertyType> type; 947 948 private static final long serialVersionUID = -1810713373L; 949 950 /** 951 * Constructor 952 */ 953 public PropertyComponent() { 954 super(); 955 } 956 957 /** 958 * Constructor 959 */ 960 public PropertyComponent(String code, PropertyType type) { 961 super(); 962 this.setCode(code); 963 this.setType(type); 964 } 965 966 /** 967 * @return {@link #code} (A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 968 */ 969 public CodeType getCodeElement() { 970 if (this.code == null) 971 if (Configuration.errorOnAutoCreate()) 972 throw new Error("Attempt to auto-create PropertyComponent.code"); 973 else if (Configuration.doAutoCreate()) 974 this.code = new CodeType(); // bb 975 return this.code; 976 } 977 978 public boolean hasCodeElement() { 979 return this.code != null && !this.code.isEmpty(); 980 } 981 982 public boolean hasCode() { 983 return this.code != null && !this.code.isEmpty(); 984 } 985 986 /** 987 * @param value {@link #code} (A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 988 */ 989 public PropertyComponent setCodeElement(CodeType value) { 990 this.code = value; 991 return this; 992 } 993 994 /** 995 * @return A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. 996 */ 997 public String getCode() { 998 return this.code == null ? null : this.code.getValue(); 999 } 1000 1001 /** 1002 * @param value A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters. 1003 */ 1004 public PropertyComponent setCode(String value) { 1005 if (this.code == null) 1006 this.code = new CodeType(); 1007 this.code.setValue(value); 1008 return this; 1009 } 1010 1011 /** 1012 * @return {@link #uri} (Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 1013 */ 1014 public UriType getUriElement() { 1015 if (this.uri == null) 1016 if (Configuration.errorOnAutoCreate()) 1017 throw new Error("Attempt to auto-create PropertyComponent.uri"); 1018 else if (Configuration.doAutoCreate()) 1019 this.uri = new UriType(); // bb 1020 return this.uri; 1021 } 1022 1023 public boolean hasUriElement() { 1024 return this.uri != null && !this.uri.isEmpty(); 1025 } 1026 1027 public boolean hasUri() { 1028 return this.uri != null && !this.uri.isEmpty(); 1029 } 1030 1031 /** 1032 * @param value {@link #uri} (Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value 1033 */ 1034 public PropertyComponent setUriElement(UriType value) { 1035 this.uri = value; 1036 return this; 1037 } 1038 1039 /** 1040 * @return Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 1041 */ 1042 public String getUri() { 1043 return this.uri == null ? null : this.uri.getValue(); 1044 } 1045 1046 /** 1047 * @param value Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system. 1048 */ 1049 public PropertyComponent setUri(String value) { 1050 if (Utilities.noString(value)) 1051 this.uri = null; 1052 else { 1053 if (this.uri == null) 1054 this.uri = new UriType(); 1055 this.uri.setValue(value); 1056 } 1057 return this; 1058 } 1059 1060 /** 1061 * @return {@link #description} (A description of the property- why it is defined, and how its value might be used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1062 */ 1063 public StringType getDescriptionElement() { 1064 if (this.description == null) 1065 if (Configuration.errorOnAutoCreate()) 1066 throw new Error("Attempt to auto-create PropertyComponent.description"); 1067 else if (Configuration.doAutoCreate()) 1068 this.description = new StringType(); // bb 1069 return this.description; 1070 } 1071 1072 public boolean hasDescriptionElement() { 1073 return this.description != null && !this.description.isEmpty(); 1074 } 1075 1076 public boolean hasDescription() { 1077 return this.description != null && !this.description.isEmpty(); 1078 } 1079 1080 /** 1081 * @param value {@link #description} (A description of the property- why it is defined, and how its value might be used.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 1082 */ 1083 public PropertyComponent setDescriptionElement(StringType value) { 1084 this.description = value; 1085 return this; 1086 } 1087 1088 /** 1089 * @return A description of the property- why it is defined, and how its value might be used. 1090 */ 1091 public String getDescription() { 1092 return this.description == null ? null : this.description.getValue(); 1093 } 1094 1095 /** 1096 * @param value A description of the property- why it is defined, and how its value might be used. 1097 */ 1098 public PropertyComponent setDescription(String value) { 1099 if (Utilities.noString(value)) 1100 this.description = null; 1101 else { 1102 if (this.description == null) 1103 this.description = new StringType(); 1104 this.description.setValue(value); 1105 } 1106 return this; 1107 } 1108 1109 /** 1110 * @return {@link #type} (The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept).). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1111 */ 1112 public Enumeration<PropertyType> getTypeElement() { 1113 if (this.type == null) 1114 if (Configuration.errorOnAutoCreate()) 1115 throw new Error("Attempt to auto-create PropertyComponent.type"); 1116 else if (Configuration.doAutoCreate()) 1117 this.type = new Enumeration<PropertyType>(new PropertyTypeEnumFactory()); // bb 1118 return this.type; 1119 } 1120 1121 public boolean hasTypeElement() { 1122 return this.type != null && !this.type.isEmpty(); 1123 } 1124 1125 public boolean hasType() { 1126 return this.type != null && !this.type.isEmpty(); 1127 } 1128 1129 /** 1130 * @param value {@link #type} (The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept).). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value 1131 */ 1132 public PropertyComponent setTypeElement(Enumeration<PropertyType> value) { 1133 this.type = value; 1134 return this; 1135 } 1136 1137 /** 1138 * @return The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). 1139 */ 1140 public PropertyType getType() { 1141 return this.type == null ? null : this.type.getValue(); 1142 } 1143 1144 /** 1145 * @param value The type of the property value. Properties of type "code" contain a code defined by the code system (e.g. a reference to another defined concept). 1146 */ 1147 public PropertyComponent setType(PropertyType value) { 1148 if (this.type == null) 1149 this.type = new Enumeration<PropertyType>(new PropertyTypeEnumFactory()); 1150 this.type.setValue(value); 1151 return this; 1152 } 1153 1154 protected void listChildren(List<Property> children) { 1155 super.listChildren(children); 1156 children.add(new Property("code", "code", "A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.", 0, 1, code)); 1157 children.add(new Property("uri", "uri", "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.", 0, 1, uri)); 1158 children.add(new Property("description", "string", "A description of the property- why it is defined, and how its value might be used.", 0, 1, description)); 1159 children.add(new Property("type", "code", "The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to another defined concept).", 0, 1, type)); 1160 } 1161 1162 @Override 1163 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1164 switch (_hash) { 1165 case 3059181: /*code*/ return new Property("code", "code", "A code that is used to identify the property. The code is used internally (in CodeSystem.concept.property.code) and also externally, such as in property filters.", 0, 1, code); 1166 case 116076: /*uri*/ return new Property("uri", "uri", "Reference to the formal meaning of the property. One possible source of meaning is the [Concept Properties](codesystem-concept-properties.html) code system.", 0, 1, uri); 1167 case -1724546052: /*description*/ return new Property("description", "string", "A description of the property- why it is defined, and how its value might be used.", 0, 1, description); 1168 case 3575610: /*type*/ return new Property("type", "code", "The type of the property value. Properties of type \"code\" contain a code defined by the code system (e.g. a reference to another defined concept).", 0, 1, type); 1169 default: return super.getNamedProperty(_hash, _name, _checkValid); 1170 } 1171 1172 } 1173 1174 @Override 1175 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1176 switch (hash) { 1177 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1178 case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // UriType 1179 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType 1180 case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration<PropertyType> 1181 default: return super.getProperty(hash, name, checkValid); 1182 } 1183 1184 } 1185 1186 @Override 1187 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1188 switch (hash) { 1189 case 3059181: // code 1190 this.code = TypeConvertor.castToCode(value); // CodeType 1191 return value; 1192 case 116076: // uri 1193 this.uri = TypeConvertor.castToUri(value); // UriType 1194 return value; 1195 case -1724546052: // description 1196 this.description = TypeConvertor.castToString(value); // StringType 1197 return value; 1198 case 3575610: // type 1199 value = new PropertyTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1200 this.type = (Enumeration) value; // Enumeration<PropertyType> 1201 return value; 1202 default: return super.setProperty(hash, name, value); 1203 } 1204 1205 } 1206 1207 @Override 1208 public Base setProperty(String name, Base value) throws FHIRException { 1209 if (name.equals("code")) { 1210 this.code = TypeConvertor.castToCode(value); // CodeType 1211 } else if (name.equals("uri")) { 1212 this.uri = TypeConvertor.castToUri(value); // UriType 1213 } else if (name.equals("description")) { 1214 this.description = TypeConvertor.castToString(value); // StringType 1215 } else if (name.equals("type")) { 1216 value = new PropertyTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); 1217 this.type = (Enumeration) value; // Enumeration<PropertyType> 1218 } else 1219 return super.setProperty(name, value); 1220 return value; 1221 } 1222 1223 @Override 1224 public Base makeProperty(int hash, String name) throws FHIRException { 1225 switch (hash) { 1226 case 3059181: return getCodeElement(); 1227 case 116076: return getUriElement(); 1228 case -1724546052: return getDescriptionElement(); 1229 case 3575610: return getTypeElement(); 1230 default: return super.makeProperty(hash, name); 1231 } 1232 1233 } 1234 1235 @Override 1236 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1237 switch (hash) { 1238 case 3059181: /*code*/ return new String[] {"code"}; 1239 case 116076: /*uri*/ return new String[] {"uri"}; 1240 case -1724546052: /*description*/ return new String[] {"string"}; 1241 case 3575610: /*type*/ return new String[] {"code"}; 1242 default: return super.getTypesForProperty(hash, name); 1243 } 1244 1245 } 1246 1247 @Override 1248 public Base addChild(String name) throws FHIRException { 1249 if (name.equals("code")) { 1250 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.property.code"); 1251 } 1252 else if (name.equals("uri")) { 1253 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.property.uri"); 1254 } 1255 else if (name.equals("description")) { 1256 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.property.description"); 1257 } 1258 else if (name.equals("type")) { 1259 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.property.type"); 1260 } 1261 else 1262 return super.addChild(name); 1263 } 1264 1265 public PropertyComponent copy() { 1266 PropertyComponent dst = new PropertyComponent(); 1267 copyValues(dst); 1268 return dst; 1269 } 1270 1271 public void copyValues(PropertyComponent dst) { 1272 super.copyValues(dst); 1273 dst.code = code == null ? null : code.copy(); 1274 dst.uri = uri == null ? null : uri.copy(); 1275 dst.description = description == null ? null : description.copy(); 1276 dst.type = type == null ? null : type.copy(); 1277 } 1278 1279 @Override 1280 public boolean equalsDeep(Base other_) { 1281 if (!super.equalsDeep(other_)) 1282 return false; 1283 if (!(other_ instanceof PropertyComponent)) 1284 return false; 1285 PropertyComponent o = (PropertyComponent) other_; 1286 return compareDeep(code, o.code, true) && compareDeep(uri, o.uri, true) && compareDeep(description, o.description, true) 1287 && compareDeep(type, o.type, true); 1288 } 1289 1290 @Override 1291 public boolean equalsShallow(Base other_) { 1292 if (!super.equalsShallow(other_)) 1293 return false; 1294 if (!(other_ instanceof PropertyComponent)) 1295 return false; 1296 PropertyComponent o = (PropertyComponent) other_; 1297 return compareValues(code, o.code, true) && compareValues(uri, o.uri, true) && compareValues(description, o.description, true) 1298 && compareValues(type, o.type, true); 1299 } 1300 1301 public boolean isEmpty() { 1302 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, uri, description, type 1303 ); 1304 } 1305 1306 public String fhirType() { 1307 return "CodeSystem.property"; 1308 1309 } 1310 1311 } 1312 1313 @Block() 1314 public static class ConceptDefinitionComponent extends BackboneElement implements IBaseBackboneElement { 1315 /** 1316 * A code - a text symbol - that uniquely identifies the concept within the code system. 1317 */ 1318 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 1319 @Description(shortDefinition="Code that identifies concept", formalDefinition="A code - a text symbol - that uniquely identifies the concept within the code system." ) 1320 protected CodeType code; 1321 1322 /** 1323 * A human readable string that is the recommended default way to present this concept to a user. 1324 */ 1325 @Child(name = "display", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) 1326 @Description(shortDefinition="Text to display to the user", formalDefinition="A human readable string that is the recommended default way to present this concept to a user." ) 1327 protected StringType display; 1328 1329 /** 1330 * The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. 1331 */ 1332 @Child(name = "definition", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) 1333 @Description(shortDefinition="Formal definition", formalDefinition="The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept." ) 1334 protected StringType definition; 1335 1336 /** 1337 * Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc. 1338 */ 1339 @Child(name = "designation", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1340 @Description(shortDefinition="Additional representations for the concept", formalDefinition="Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc." ) 1341 protected List<ConceptDefinitionDesignationComponent> designation; 1342 1343 /** 1344 * A property value for this concept. 1345 */ 1346 @Child(name = "property", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1347 @Description(shortDefinition="Property value for the concept", formalDefinition="A property value for this concept." ) 1348 protected List<ConceptPropertyComponent> property; 1349 1350 /** 1351 * Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning. 1352 */ 1353 @Child(name = "concept", type = {ConceptDefinitionComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 1354 @Description(shortDefinition="Child Concepts (is-a/contains/categorizes)", formalDefinition="Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning." ) 1355 protected List<ConceptDefinitionComponent> concept; 1356 1357 private static final long serialVersionUID = 878320988L; 1358 1359 /** 1360 * Constructor 1361 */ 1362 public ConceptDefinitionComponent() { 1363 super(); 1364 } 1365 1366 /** 1367 * Constructor 1368 */ 1369 public ConceptDefinitionComponent(String code) { 1370 super(); 1371 this.setCode(code); 1372 } 1373 1374 /** 1375 * @return {@link #code} (A code - a text symbol - that uniquely identifies the concept within the code system.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1376 */ 1377 public CodeType getCodeElement() { 1378 if (this.code == null) 1379 if (Configuration.errorOnAutoCreate()) 1380 throw new Error("Attempt to auto-create ConceptDefinitionComponent.code"); 1381 else if (Configuration.doAutoCreate()) 1382 this.code = new CodeType(); // bb 1383 return this.code; 1384 } 1385 1386 public boolean hasCodeElement() { 1387 return this.code != null && !this.code.isEmpty(); 1388 } 1389 1390 public boolean hasCode() { 1391 return this.code != null && !this.code.isEmpty(); 1392 } 1393 1394 /** 1395 * @param value {@link #code} (A code - a text symbol - that uniquely identifies the concept within the code system.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 1396 */ 1397 public ConceptDefinitionComponent setCodeElement(CodeType value) { 1398 this.code = value; 1399 return this; 1400 } 1401 1402 /** 1403 * @return A code - a text symbol - that uniquely identifies the concept within the code system. 1404 */ 1405 public String getCode() { 1406 return this.code == null ? null : this.code.getValue(); 1407 } 1408 1409 /** 1410 * @param value A code - a text symbol - that uniquely identifies the concept within the code system. 1411 */ 1412 public ConceptDefinitionComponent setCode(String value) { 1413 if (this.code == null) 1414 this.code = new CodeType(); 1415 this.code.setValue(value); 1416 return this; 1417 } 1418 1419 /** 1420 * @return {@link #display} (A human readable string that is the recommended default way to present this concept to a user.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1421 */ 1422 public StringType getDisplayElement() { 1423 if (this.display == null) 1424 if (Configuration.errorOnAutoCreate()) 1425 throw new Error("Attempt to auto-create ConceptDefinitionComponent.display"); 1426 else if (Configuration.doAutoCreate()) 1427 this.display = new StringType(); // bb 1428 return this.display; 1429 } 1430 1431 public boolean hasDisplayElement() { 1432 return this.display != null && !this.display.isEmpty(); 1433 } 1434 1435 public boolean hasDisplay() { 1436 return this.display != null && !this.display.isEmpty(); 1437 } 1438 1439 /** 1440 * @param value {@link #display} (A human readable string that is the recommended default way to present this concept to a user.). This is the underlying object with id, value and extensions. The accessor "getDisplay" gives direct access to the value 1441 */ 1442 public ConceptDefinitionComponent setDisplayElement(StringType value) { 1443 this.display = value; 1444 return this; 1445 } 1446 1447 /** 1448 * @return A human readable string that is the recommended default way to present this concept to a user. 1449 */ 1450 public String getDisplay() { 1451 return this.display == null ? null : this.display.getValue(); 1452 } 1453 1454 /** 1455 * @param value A human readable string that is the recommended default way to present this concept to a user. 1456 */ 1457 public ConceptDefinitionComponent setDisplay(String value) { 1458 if (Utilities.noString(value)) 1459 this.display = null; 1460 else { 1461 if (this.display == null) 1462 this.display = new StringType(); 1463 this.display.setValue(value); 1464 } 1465 return this; 1466 } 1467 1468 /** 1469 * @return {@link #definition} (The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value 1470 */ 1471 public StringType getDefinitionElement() { 1472 if (this.definition == null) 1473 if (Configuration.errorOnAutoCreate()) 1474 throw new Error("Attempt to auto-create ConceptDefinitionComponent.definition"); 1475 else if (Configuration.doAutoCreate()) 1476 this.definition = new StringType(); // bb 1477 return this.definition; 1478 } 1479 1480 public boolean hasDefinitionElement() { 1481 return this.definition != null && !this.definition.isEmpty(); 1482 } 1483 1484 public boolean hasDefinition() { 1485 return this.definition != null && !this.definition.isEmpty(); 1486 } 1487 1488 /** 1489 * @param value {@link #definition} (The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value 1490 */ 1491 public ConceptDefinitionComponent setDefinitionElement(StringType value) { 1492 this.definition = value; 1493 return this; 1494 } 1495 1496 /** 1497 * @return The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. 1498 */ 1499 public String getDefinition() { 1500 return this.definition == null ? null : this.definition.getValue(); 1501 } 1502 1503 /** 1504 * @param value The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept. 1505 */ 1506 public ConceptDefinitionComponent setDefinition(String value) { 1507 if (Utilities.noString(value)) 1508 this.definition = null; 1509 else { 1510 if (this.definition == null) 1511 this.definition = new StringType(); 1512 this.definition.setValue(value); 1513 } 1514 return this; 1515 } 1516 1517 /** 1518 * @return {@link #designation} (Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.) 1519 */ 1520 public List<ConceptDefinitionDesignationComponent> getDesignation() { 1521 if (this.designation == null) 1522 this.designation = new ArrayList<ConceptDefinitionDesignationComponent>(); 1523 return this.designation; 1524 } 1525 1526 /** 1527 * @return Returns a reference to <code>this</code> for easy method chaining 1528 */ 1529 public ConceptDefinitionComponent setDesignation(List<ConceptDefinitionDesignationComponent> theDesignation) { 1530 this.designation = theDesignation; 1531 return this; 1532 } 1533 1534 public boolean hasDesignation() { 1535 if (this.designation == null) 1536 return false; 1537 for (ConceptDefinitionDesignationComponent item : this.designation) 1538 if (!item.isEmpty()) 1539 return true; 1540 return false; 1541 } 1542 1543 public ConceptDefinitionDesignationComponent addDesignation() { //3 1544 ConceptDefinitionDesignationComponent t = new ConceptDefinitionDesignationComponent(); 1545 if (this.designation == null) 1546 this.designation = new ArrayList<ConceptDefinitionDesignationComponent>(); 1547 this.designation.add(t); 1548 return t; 1549 } 1550 1551 public ConceptDefinitionComponent addDesignation(ConceptDefinitionDesignationComponent t) { //3 1552 if (t == null) 1553 return this; 1554 if (this.designation == null) 1555 this.designation = new ArrayList<ConceptDefinitionDesignationComponent>(); 1556 this.designation.add(t); 1557 return this; 1558 } 1559 1560 /** 1561 * @return The first repetition of repeating field {@link #designation}, creating it if it does not already exist {3} 1562 */ 1563 public ConceptDefinitionDesignationComponent getDesignationFirstRep() { 1564 if (getDesignation().isEmpty()) { 1565 addDesignation(); 1566 } 1567 return getDesignation().get(0); 1568 } 1569 1570 /** 1571 * @return {@link #property} (A property value for this concept.) 1572 */ 1573 public List<ConceptPropertyComponent> getProperty() { 1574 if (this.property == null) 1575 this.property = new ArrayList<ConceptPropertyComponent>(); 1576 return this.property; 1577 } 1578 1579 /** 1580 * @return Returns a reference to <code>this</code> for easy method chaining 1581 */ 1582 public ConceptDefinitionComponent setProperty(List<ConceptPropertyComponent> theProperty) { 1583 this.property = theProperty; 1584 return this; 1585 } 1586 1587 public boolean hasProperty() { 1588 if (this.property == null) 1589 return false; 1590 for (ConceptPropertyComponent item : this.property) 1591 if (!item.isEmpty()) 1592 return true; 1593 return false; 1594 } 1595 1596 public ConceptPropertyComponent addProperty() { //3 1597 ConceptPropertyComponent t = new ConceptPropertyComponent(); 1598 if (this.property == null) 1599 this.property = new ArrayList<ConceptPropertyComponent>(); 1600 this.property.add(t); 1601 return t; 1602 } 1603 1604 public ConceptDefinitionComponent addProperty(ConceptPropertyComponent t) { //3 1605 if (t == null) 1606 return this; 1607 if (this.property == null) 1608 this.property = new ArrayList<ConceptPropertyComponent>(); 1609 this.property.add(t); 1610 return this; 1611 } 1612 1613 /** 1614 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 1615 */ 1616 public ConceptPropertyComponent getPropertyFirstRep() { 1617 if (getProperty().isEmpty()) { 1618 addProperty(); 1619 } 1620 return getProperty().get(0); 1621 } 1622 1623 /** 1624 * @return {@link #concept} (Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.) 1625 */ 1626 public List<ConceptDefinitionComponent> getConcept() { 1627 if (this.concept == null) 1628 this.concept = new ArrayList<ConceptDefinitionComponent>(); 1629 return this.concept; 1630 } 1631 1632 /** 1633 * @return Returns a reference to <code>this</code> for easy method chaining 1634 */ 1635 public ConceptDefinitionComponent setConcept(List<ConceptDefinitionComponent> theConcept) { 1636 this.concept = theConcept; 1637 return this; 1638 } 1639 1640 public boolean hasConcept() { 1641 if (this.concept == null) 1642 return false; 1643 for (ConceptDefinitionComponent item : this.concept) 1644 if (!item.isEmpty()) 1645 return true; 1646 return false; 1647 } 1648 1649 public ConceptDefinitionComponent addConcept() { //3 1650 ConceptDefinitionComponent t = new ConceptDefinitionComponent(); 1651 if (this.concept == null) 1652 this.concept = new ArrayList<ConceptDefinitionComponent>(); 1653 this.concept.add(t); 1654 return t; 1655 } 1656 1657 public ConceptDefinitionComponent addConcept(ConceptDefinitionComponent t) { //3 1658 if (t == null) 1659 return this; 1660 if (this.concept == null) 1661 this.concept = new ArrayList<ConceptDefinitionComponent>(); 1662 this.concept.add(t); 1663 return this; 1664 } 1665 1666 /** 1667 * @return The first repetition of repeating field {@link #concept}, creating it if it does not already exist {3} 1668 */ 1669 public ConceptDefinitionComponent getConceptFirstRep() { 1670 if (getConcept().isEmpty()) { 1671 addConcept(); 1672 } 1673 return getConcept().get(0); 1674 } 1675 1676 protected void listChildren(List<Property> children) { 1677 super.listChildren(children); 1678 children.add(new Property("code", "code", "A code - a text symbol - that uniquely identifies the concept within the code system.", 0, 1, code)); 1679 children.add(new Property("display", "string", "A human readable string that is the recommended default way to present this concept to a user.", 0, 1, display)); 1680 children.add(new Property("definition", "string", "The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.", 0, 1, definition)); 1681 children.add(new Property("designation", "", "Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.", 0, java.lang.Integer.MAX_VALUE, designation)); 1682 children.add(new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property)); 1683 children.add(new Property("concept", "@CodeSystem.concept", "Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.", 0, java.lang.Integer.MAX_VALUE, concept)); 1684 } 1685 1686 @Override 1687 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 1688 switch (_hash) { 1689 case 3059181: /*code*/ return new Property("code", "code", "A code - a text symbol - that uniquely identifies the concept within the code system.", 0, 1, code); 1690 case 1671764162: /*display*/ return new Property("display", "string", "A human readable string that is the recommended default way to present this concept to a user.", 0, 1, display); 1691 case -1014418093: /*definition*/ return new Property("definition", "string", "The formal definition of the concept. The code system resource does not make formal definitions required, because of the prevalence of legacy systems. However, they are highly recommended, as without them there is no formal meaning associated with the concept.", 0, 1, definition); 1692 case -900931593: /*designation*/ return new Property("designation", "", "Additional representations for the concept - other languages, aliases, specialized purposes, used for particular purposes, etc.", 0, java.lang.Integer.MAX_VALUE, designation); 1693 case -993141291: /*property*/ return new Property("property", "", "A property value for this concept.", 0, java.lang.Integer.MAX_VALUE, property); 1694 case 951024232: /*concept*/ return new Property("concept", "@CodeSystem.concept", "Defines children of a concept to produce a hierarchy of concepts. The nature of the relationships is variable (is-a/contains/categorizes) - see hierarchyMeaning.", 0, java.lang.Integer.MAX_VALUE, concept); 1695 default: return super.getNamedProperty(_hash, _name, _checkValid); 1696 } 1697 1698 } 1699 1700 @Override 1701 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 1702 switch (hash) { 1703 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 1704 case 1671764162: /*display*/ return this.display == null ? new Base[0] : new Base[] {this.display}; // StringType 1705 case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // StringType 1706 case -900931593: /*designation*/ return this.designation == null ? new Base[0] : this.designation.toArray(new Base[this.designation.size()]); // ConceptDefinitionDesignationComponent 1707 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ConceptPropertyComponent 1708 case 951024232: /*concept*/ return this.concept == null ? new Base[0] : this.concept.toArray(new Base[this.concept.size()]); // ConceptDefinitionComponent 1709 default: return super.getProperty(hash, name, checkValid); 1710 } 1711 1712 } 1713 1714 @Override 1715 public Base setProperty(int hash, String name, Base value) throws FHIRException { 1716 switch (hash) { 1717 case 3059181: // code 1718 this.code = TypeConvertor.castToCode(value); // CodeType 1719 return value; 1720 case 1671764162: // display 1721 this.display = TypeConvertor.castToString(value); // StringType 1722 return value; 1723 case -1014418093: // definition 1724 this.definition = TypeConvertor.castToString(value); // StringType 1725 return value; 1726 case -900931593: // designation 1727 this.getDesignation().add((ConceptDefinitionDesignationComponent) value); // ConceptDefinitionDesignationComponent 1728 return value; 1729 case -993141291: // property 1730 this.getProperty().add((ConceptPropertyComponent) value); // ConceptPropertyComponent 1731 return value; 1732 case 951024232: // concept 1733 this.getConcept().add((ConceptDefinitionComponent) value); // ConceptDefinitionComponent 1734 return value; 1735 default: return super.setProperty(hash, name, value); 1736 } 1737 1738 } 1739 1740 @Override 1741 public Base setProperty(String name, Base value) throws FHIRException { 1742 if (name.equals("code")) { 1743 this.code = TypeConvertor.castToCode(value); // CodeType 1744 } else if (name.equals("display")) { 1745 this.display = TypeConvertor.castToString(value); // StringType 1746 } else if (name.equals("definition")) { 1747 this.definition = TypeConvertor.castToString(value); // StringType 1748 } else if (name.equals("designation")) { 1749 this.getDesignation().add((ConceptDefinitionDesignationComponent) value); 1750 } else if (name.equals("property")) { 1751 this.getProperty().add((ConceptPropertyComponent) value); 1752 } else if (name.equals("concept")) { 1753 this.getConcept().add((ConceptDefinitionComponent) value); 1754 } else 1755 return super.setProperty(name, value); 1756 return value; 1757 } 1758 1759 @Override 1760 public Base makeProperty(int hash, String name) throws FHIRException { 1761 switch (hash) { 1762 case 3059181: return getCodeElement(); 1763 case 1671764162: return getDisplayElement(); 1764 case -1014418093: return getDefinitionElement(); 1765 case -900931593: return addDesignation(); 1766 case -993141291: return addProperty(); 1767 case 951024232: return addConcept(); 1768 default: return super.makeProperty(hash, name); 1769 } 1770 1771 } 1772 1773 @Override 1774 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 1775 switch (hash) { 1776 case 3059181: /*code*/ return new String[] {"code"}; 1777 case 1671764162: /*display*/ return new String[] {"string"}; 1778 case -1014418093: /*definition*/ return new String[] {"string"}; 1779 case -900931593: /*designation*/ return new String[] {}; 1780 case -993141291: /*property*/ return new String[] {}; 1781 case 951024232: /*concept*/ return new String[] {"@CodeSystem.concept"}; 1782 default: return super.getTypesForProperty(hash, name); 1783 } 1784 1785 } 1786 1787 @Override 1788 public Base addChild(String name) throws FHIRException { 1789 if (name.equals("code")) { 1790 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.code"); 1791 } 1792 else if (name.equals("display")) { 1793 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.display"); 1794 } 1795 else if (name.equals("definition")) { 1796 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.definition"); 1797 } 1798 else if (name.equals("designation")) { 1799 return addDesignation(); 1800 } 1801 else if (name.equals("property")) { 1802 return addProperty(); 1803 } 1804 else if (name.equals("concept")) { 1805 return addConcept(); 1806 } 1807 else 1808 return super.addChild(name); 1809 } 1810 1811 public ConceptDefinitionComponent copy() { 1812 ConceptDefinitionComponent dst = new ConceptDefinitionComponent(); 1813 copyValues(dst); 1814 return dst; 1815 } 1816 1817 public void copyValues(ConceptDefinitionComponent dst) { 1818 super.copyValues(dst); 1819 dst.code = code == null ? null : code.copy(); 1820 dst.display = display == null ? null : display.copy(); 1821 dst.definition = definition == null ? null : definition.copy(); 1822 if (designation != null) { 1823 dst.designation = new ArrayList<ConceptDefinitionDesignationComponent>(); 1824 for (ConceptDefinitionDesignationComponent i : designation) 1825 dst.designation.add(i.copy()); 1826 }; 1827 if (property != null) { 1828 dst.property = new ArrayList<ConceptPropertyComponent>(); 1829 for (ConceptPropertyComponent i : property) 1830 dst.property.add(i.copy()); 1831 }; 1832 if (concept != null) { 1833 dst.concept = new ArrayList<ConceptDefinitionComponent>(); 1834 for (ConceptDefinitionComponent i : concept) 1835 dst.concept.add(i.copy()); 1836 }; 1837 } 1838 1839 @Override 1840 public boolean equalsDeep(Base other_) { 1841 if (!super.equalsDeep(other_)) 1842 return false; 1843 if (!(other_ instanceof ConceptDefinitionComponent)) 1844 return false; 1845 ConceptDefinitionComponent o = (ConceptDefinitionComponent) other_; 1846 return compareDeep(code, o.code, true) && compareDeep(display, o.display, true) && compareDeep(definition, o.definition, true) 1847 && compareDeep(designation, o.designation, true) && compareDeep(property, o.property, true) && compareDeep(concept, o.concept, true) 1848 ; 1849 } 1850 1851 @Override 1852 public boolean equalsShallow(Base other_) { 1853 if (!super.equalsShallow(other_)) 1854 return false; 1855 if (!(other_ instanceof ConceptDefinitionComponent)) 1856 return false; 1857 ConceptDefinitionComponent o = (ConceptDefinitionComponent) other_; 1858 return compareValues(code, o.code, true) && compareValues(display, o.display, true) && compareValues(definition, o.definition, true) 1859 ; 1860 } 1861 1862 public boolean isEmpty() { 1863 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, display, definition 1864 , designation, property, concept); 1865 } 1866 1867 public String fhirType() { 1868 return "CodeSystem.concept"; 1869 1870 } 1871 1872// added from java-adornments.txt: 1873@Override 1874 public String toString() { 1875 return getCode()+": "+getDisplay(); 1876 } 1877// end addition 1878 } 1879 1880 @Block() 1881 public static class ConceptDefinitionDesignationComponent extends BackboneElement implements IBaseBackboneElement { 1882 /** 1883 * The language this designation is defined for. 1884 */ 1885 @Child(name = "language", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) 1886 @Description(shortDefinition="Human language of the designation", formalDefinition="The language this designation is defined for." ) 1887 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") 1888 protected CodeType language; 1889 1890 /** 1891 * A code that details how this designation would be used. 1892 */ 1893 @Child(name = "use", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=false) 1894 @Description(shortDefinition="Details how this designation would be used", formalDefinition="A code that details how this designation would be used." ) 1895 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") 1896 protected Coding use; 1897 1898 /** 1899 * The text value for this designation. 1900 */ 1901 @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) 1902 @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) 1903 protected StringType value; 1904 1905 private static final long serialVersionUID = 1515662414L; 1906 1907 /** 1908 * Constructor 1909 */ 1910 public ConceptDefinitionDesignationComponent() { 1911 super(); 1912 } 1913 1914 /** 1915 * Constructor 1916 */ 1917 public ConceptDefinitionDesignationComponent(String value) { 1918 super(); 1919 this.setValue(value); 1920 } 1921 1922 /** 1923 * @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 1924 */ 1925 public CodeType getLanguageElement() { 1926 if (this.language == null) 1927 if (Configuration.errorOnAutoCreate()) 1928 throw new Error("Attempt to auto-create ConceptDefinitionDesignationComponent.language"); 1929 else if (Configuration.doAutoCreate()) 1930 this.language = new CodeType(); // bb 1931 return this.language; 1932 } 1933 1934 public boolean hasLanguageElement() { 1935 return this.language != null && !this.language.isEmpty(); 1936 } 1937 1938 public boolean hasLanguage() { 1939 return this.language != null && !this.language.isEmpty(); 1940 } 1941 1942 /** 1943 * @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 1944 */ 1945 public ConceptDefinitionDesignationComponent setLanguageElement(CodeType value) { 1946 this.language = value; 1947 return this; 1948 } 1949 1950 /** 1951 * @return The language this designation is defined for. 1952 */ 1953 public String getLanguage() { 1954 return this.language == null ? null : this.language.getValue(); 1955 } 1956 1957 /** 1958 * @param value The language this designation is defined for. 1959 */ 1960 public ConceptDefinitionDesignationComponent setLanguage(String value) { 1961 if (Utilities.noString(value)) 1962 this.language = null; 1963 else { 1964 if (this.language == null) 1965 this.language = new CodeType(); 1966 this.language.setValue(value); 1967 } 1968 return this; 1969 } 1970 1971 /** 1972 * @return {@link #use} (A code that details how this designation would be used.) 1973 */ 1974 public Coding getUse() { 1975 if (this.use == null) 1976 if (Configuration.errorOnAutoCreate()) 1977 throw new Error("Attempt to auto-create ConceptDefinitionDesignationComponent.use"); 1978 else if (Configuration.doAutoCreate()) 1979 this.use = new Coding(); // cc 1980 return this.use; 1981 } 1982 1983 public boolean hasUse() { 1984 return this.use != null && !this.use.isEmpty(); 1985 } 1986 1987 /** 1988 * @param value {@link #use} (A code that details how this designation would be used.) 1989 */ 1990 public ConceptDefinitionDesignationComponent setUse(Coding value) { 1991 this.use = value; 1992 return this; 1993 } 1994 1995 /** 1996 * @return {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 1997 */ 1998 public StringType getValueElement() { 1999 if (this.value == null) 2000 if (Configuration.errorOnAutoCreate()) 2001 throw new Error("Attempt to auto-create ConceptDefinitionDesignationComponent.value"); 2002 else if (Configuration.doAutoCreate()) 2003 this.value = new StringType(); // bb 2004 return this.value; 2005 } 2006 2007 public boolean hasValueElement() { 2008 return this.value != null && !this.value.isEmpty(); 2009 } 2010 2011 public boolean hasValue() { 2012 return this.value != null && !this.value.isEmpty(); 2013 } 2014 2015 /** 2016 * @param value {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value 2017 */ 2018 public ConceptDefinitionDesignationComponent setValueElement(StringType value) { 2019 this.value = value; 2020 return this; 2021 } 2022 2023 /** 2024 * @return The text value for this designation. 2025 */ 2026 public String getValue() { 2027 return this.value == null ? null : this.value.getValue(); 2028 } 2029 2030 /** 2031 * @param value The text value for this designation. 2032 */ 2033 public ConceptDefinitionDesignationComponent setValue(String value) { 2034 if (this.value == null) 2035 this.value = new StringType(); 2036 this.value.setValue(value); 2037 return this; 2038 } 2039 2040 protected void listChildren(List<Property> children) { 2041 super.listChildren(children); 2042 children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); 2043 children.add(new Property("use", "Coding", "A code that details how this designation would be used.", 0, 1, use)); 2044 children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); 2045 } 2046 2047 @Override 2048 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2049 switch (_hash) { 2050 case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); 2051 case 116103: /*use*/ return new Property("use", "Coding", "A code that details how this designation would be used.", 0, 1, use); 2052 case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); 2053 default: return super.getNamedProperty(_hash, _name, _checkValid); 2054 } 2055 2056 } 2057 2058 @Override 2059 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2060 switch (hash) { 2061 case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType 2062 case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding 2063 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType 2064 default: return super.getProperty(hash, name, checkValid); 2065 } 2066 2067 } 2068 2069 @Override 2070 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2071 switch (hash) { 2072 case -1613589672: // language 2073 this.language = TypeConvertor.castToCode(value); // CodeType 2074 return value; 2075 case 116103: // use 2076 this.use = TypeConvertor.castToCoding(value); // Coding 2077 return value; 2078 case 111972721: // value 2079 this.value = TypeConvertor.castToString(value); // StringType 2080 return value; 2081 default: return super.setProperty(hash, name, value); 2082 } 2083 2084 } 2085 2086 @Override 2087 public Base setProperty(String name, Base value) throws FHIRException { 2088 if (name.equals("language")) { 2089 this.language = TypeConvertor.castToCode(value); // CodeType 2090 } else if (name.equals("use")) { 2091 this.use = TypeConvertor.castToCoding(value); // Coding 2092 } else if (name.equals("value")) { 2093 this.value = TypeConvertor.castToString(value); // StringType 2094 } else 2095 return super.setProperty(name, value); 2096 return value; 2097 } 2098 2099 @Override 2100 public Base makeProperty(int hash, String name) throws FHIRException { 2101 switch (hash) { 2102 case -1613589672: return getLanguageElement(); 2103 case 116103: return getUse(); 2104 case 111972721: return getValueElement(); 2105 default: return super.makeProperty(hash, name); 2106 } 2107 2108 } 2109 2110 @Override 2111 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2112 switch (hash) { 2113 case -1613589672: /*language*/ return new String[] {"code"}; 2114 case 116103: /*use*/ return new String[] {"Coding"}; 2115 case 111972721: /*value*/ return new String[] {"string"}; 2116 default: return super.getTypesForProperty(hash, name); 2117 } 2118 2119 } 2120 2121 @Override 2122 public Base addChild(String name) throws FHIRException { 2123 if (name.equals("language")) { 2124 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.designation.language"); 2125 } 2126 else if (name.equals("use")) { 2127 this.use = new Coding(); 2128 return this.use; 2129 } 2130 else if (name.equals("value")) { 2131 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.designation.value"); 2132 } 2133 else 2134 return super.addChild(name); 2135 } 2136 2137 public ConceptDefinitionDesignationComponent copy() { 2138 ConceptDefinitionDesignationComponent dst = new ConceptDefinitionDesignationComponent(); 2139 copyValues(dst); 2140 return dst; 2141 } 2142 2143 public void copyValues(ConceptDefinitionDesignationComponent dst) { 2144 super.copyValues(dst); 2145 dst.language = language == null ? null : language.copy(); 2146 dst.use = use == null ? null : use.copy(); 2147 dst.value = value == null ? null : value.copy(); 2148 } 2149 2150 @Override 2151 public boolean equalsDeep(Base other_) { 2152 if (!super.equalsDeep(other_)) 2153 return false; 2154 if (!(other_ instanceof ConceptDefinitionDesignationComponent)) 2155 return false; 2156 ConceptDefinitionDesignationComponent o = (ConceptDefinitionDesignationComponent) other_; 2157 return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(value, o.value, true) 2158 ; 2159 } 2160 2161 @Override 2162 public boolean equalsShallow(Base other_) { 2163 if (!super.equalsShallow(other_)) 2164 return false; 2165 if (!(other_ instanceof ConceptDefinitionDesignationComponent)) 2166 return false; 2167 ConceptDefinitionDesignationComponent o = (ConceptDefinitionDesignationComponent) other_; 2168 return compareValues(language, o.language, true) && compareValues(value, o.value, true); 2169 } 2170 2171 public boolean isEmpty() { 2172 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, value); 2173 } 2174 2175 public String fhirType() { 2176 return "CodeSystem.concept.designation"; 2177 2178 } 2179 2180 } 2181 2182 @Block() 2183 public static class ConceptPropertyComponent extends BackboneElement implements IBaseBackboneElement { 2184 /** 2185 * A code that is a reference to CodeSystem.property.code. 2186 */ 2187 @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) 2188 @Description(shortDefinition="Reference to CodeSystem.property.code", formalDefinition="A code that is a reference to CodeSystem.property.code." ) 2189 protected CodeType code; 2190 2191 /** 2192 * The value of this property. 2193 */ 2194 @Child(name = "value", type = {CodeType.class, Coding.class, StringType.class, IntegerType.class, BooleanType.class, DateTimeType.class, DecimalType.class}, order=2, min=1, max=1, modifier=false, summary=false) 2195 @Description(shortDefinition="Value of the property for this concept", formalDefinition="The value of this property." ) 2196 protected DataType value; 2197 2198 private static final long serialVersionUID = -422546419L; 2199 2200 /** 2201 * Constructor 2202 */ 2203 public ConceptPropertyComponent() { 2204 super(); 2205 } 2206 2207 /** 2208 * Constructor 2209 */ 2210 public ConceptPropertyComponent(String code, DataType value) { 2211 super(); 2212 this.setCode(code); 2213 this.setValue(value); 2214 } 2215 2216 /** 2217 * @return {@link #code} (A code that is a reference to CodeSystem.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 2218 */ 2219 public CodeType getCodeElement() { 2220 if (this.code == null) 2221 if (Configuration.errorOnAutoCreate()) 2222 throw new Error("Attempt to auto-create ConceptPropertyComponent.code"); 2223 else if (Configuration.doAutoCreate()) 2224 this.code = new CodeType(); // bb 2225 return this.code; 2226 } 2227 2228 public boolean hasCodeElement() { 2229 return this.code != null && !this.code.isEmpty(); 2230 } 2231 2232 public boolean hasCode() { 2233 return this.code != null && !this.code.isEmpty(); 2234 } 2235 2236 /** 2237 * @param value {@link #code} (A code that is a reference to CodeSystem.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value 2238 */ 2239 public ConceptPropertyComponent setCodeElement(CodeType value) { 2240 this.code = value; 2241 return this; 2242 } 2243 2244 /** 2245 * @return A code that is a reference to CodeSystem.property.code. 2246 */ 2247 public String getCode() { 2248 return this.code == null ? null : this.code.getValue(); 2249 } 2250 2251 /** 2252 * @param value A code that is a reference to CodeSystem.property.code. 2253 */ 2254 public ConceptPropertyComponent setCode(String value) { 2255 if (this.code == null) 2256 this.code = new CodeType(); 2257 this.code.setValue(value); 2258 return this; 2259 } 2260 2261 /** 2262 * @return {@link #value} (The value of this property.) 2263 */ 2264 public DataType getValue() { 2265 return this.value; 2266 } 2267 2268 /** 2269 * @return {@link #value} (The value of this property.) 2270 */ 2271 public CodeType getValueCodeType() throws FHIRException { 2272 if (this.value == null) 2273 this.value = new CodeType(); 2274 if (!(this.value instanceof CodeType)) 2275 throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2276 return (CodeType) this.value; 2277 } 2278 2279 public boolean hasValueCodeType() { 2280 return this != null && this.value instanceof CodeType; 2281 } 2282 2283 /** 2284 * @return {@link #value} (The value of this property.) 2285 */ 2286 public Coding getValueCoding() throws FHIRException { 2287 if (this.value == null) 2288 this.value = new Coding(); 2289 if (!(this.value instanceof Coding)) 2290 throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); 2291 return (Coding) this.value; 2292 } 2293 2294 public boolean hasValueCoding() { 2295 return this != null && this.value instanceof Coding; 2296 } 2297 2298 /** 2299 * @return {@link #value} (The value of this property.) 2300 */ 2301 public StringType getValueStringType() throws FHIRException { 2302 if (this.value == null) 2303 this.value = new StringType(); 2304 if (!(this.value instanceof StringType)) 2305 throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); 2306 return (StringType) this.value; 2307 } 2308 2309 public boolean hasValueStringType() { 2310 return this != null && this.value instanceof StringType; 2311 } 2312 2313 /** 2314 * @return {@link #value} (The value of this property.) 2315 */ 2316 public IntegerType getValueIntegerType() throws FHIRException { 2317 if (this.value == null) 2318 this.value = new IntegerType(); 2319 if (!(this.value instanceof IntegerType)) 2320 throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); 2321 return (IntegerType) this.value; 2322 } 2323 2324 public boolean hasValueIntegerType() { 2325 return this != null && this.value instanceof IntegerType; 2326 } 2327 2328 /** 2329 * @return {@link #value} (The value of this property.) 2330 */ 2331 public BooleanType getValueBooleanType() throws FHIRException { 2332 if (this.value == null) 2333 this.value = new BooleanType(); 2334 if (!(this.value instanceof BooleanType)) 2335 throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); 2336 return (BooleanType) this.value; 2337 } 2338 2339 public boolean hasValueBooleanType() { 2340 return this != null && this.value instanceof BooleanType; 2341 } 2342 2343 /** 2344 * @return {@link #value} (The value of this property.) 2345 */ 2346 public DateTimeType getValueDateTimeType() throws FHIRException { 2347 if (this.value == null) 2348 this.value = new DateTimeType(); 2349 if (!(this.value instanceof DateTimeType)) 2350 throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); 2351 return (DateTimeType) this.value; 2352 } 2353 2354 public boolean hasValueDateTimeType() { 2355 return this != null && this.value instanceof DateTimeType; 2356 } 2357 2358 /** 2359 * @return {@link #value} (The value of this property.) 2360 */ 2361 public DecimalType getValueDecimalType() throws FHIRException { 2362 if (this.value == null) 2363 this.value = new DecimalType(); 2364 if (!(this.value instanceof DecimalType)) 2365 throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); 2366 return (DecimalType) this.value; 2367 } 2368 2369 public boolean hasValueDecimalType() { 2370 return this != null && this.value instanceof DecimalType; 2371 } 2372 2373 public boolean hasValue() { 2374 return this.value != null && !this.value.isEmpty(); 2375 } 2376 2377 /** 2378 * @param value {@link #value} (The value of this property.) 2379 */ 2380 public ConceptPropertyComponent setValue(DataType value) { 2381 if (value != null && !(value instanceof CodeType || value instanceof Coding || value instanceof StringType || value instanceof IntegerType || value instanceof BooleanType || value instanceof DateTimeType || value instanceof DecimalType)) 2382 throw new Error("Not the right type for CodeSystem.concept.property.value[x]: "+value.fhirType()); 2383 this.value = value; 2384 return this; 2385 } 2386 2387 protected void listChildren(List<Property> children) { 2388 super.listChildren(children); 2389 children.add(new Property("code", "code", "A code that is a reference to CodeSystem.property.code.", 0, 1, code)); 2390 children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value)); 2391 } 2392 2393 @Override 2394 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 2395 switch (_hash) { 2396 case 3059181: /*code*/ return new Property("code", "code", "A code that is a reference to CodeSystem.property.code.", 0, 1, code); 2397 case -1410166417: /*value[x]*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 2398 case 111972721: /*value*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value); 2399 case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of this property.", 0, 1, value); 2400 case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "The value of this property.", 0, 1, value); 2401 case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of this property.", 0, 1, value); 2402 case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of this property.", 0, 1, value); 2403 case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this property.", 0, 1, value); 2404 case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this property.", 0, 1, value); 2405 case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this property.", 0, 1, value); 2406 default: return super.getNamedProperty(_hash, _name, _checkValid); 2407 } 2408 2409 } 2410 2411 @Override 2412 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 2413 switch (hash) { 2414 case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType 2415 case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType 2416 default: return super.getProperty(hash, name, checkValid); 2417 } 2418 2419 } 2420 2421 @Override 2422 public Base setProperty(int hash, String name, Base value) throws FHIRException { 2423 switch (hash) { 2424 case 3059181: // code 2425 this.code = TypeConvertor.castToCode(value); // CodeType 2426 return value; 2427 case 111972721: // value 2428 this.value = TypeConvertor.castToType(value); // DataType 2429 return value; 2430 default: return super.setProperty(hash, name, value); 2431 } 2432 2433 } 2434 2435 @Override 2436 public Base setProperty(String name, Base value) throws FHIRException { 2437 if (name.equals("code")) { 2438 this.code = TypeConvertor.castToCode(value); // CodeType 2439 } else if (name.equals("value[x]")) { 2440 this.value = TypeConvertor.castToType(value); // DataType 2441 } else 2442 return super.setProperty(name, value); 2443 return value; 2444 } 2445 2446 @Override 2447 public Base makeProperty(int hash, String name) throws FHIRException { 2448 switch (hash) { 2449 case 3059181: return getCodeElement(); 2450 case -1410166417: return getValue(); 2451 case 111972721: return getValue(); 2452 default: return super.makeProperty(hash, name); 2453 } 2454 2455 } 2456 2457 @Override 2458 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 2459 switch (hash) { 2460 case 3059181: /*code*/ return new String[] {"code"}; 2461 case 111972721: /*value*/ return new String[] {"code", "Coding", "string", "integer", "boolean", "dateTime", "decimal"}; 2462 default: return super.getTypesForProperty(hash, name); 2463 } 2464 2465 } 2466 2467 @Override 2468 public Base addChild(String name) throws FHIRException { 2469 if (name.equals("code")) { 2470 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.property.code"); 2471 } 2472 else if (name.equals("valueCode")) { 2473 this.value = new CodeType(); 2474 return this.value; 2475 } 2476 else if (name.equals("valueCoding")) { 2477 this.value = new Coding(); 2478 return this.value; 2479 } 2480 else if (name.equals("valueString")) { 2481 this.value = new StringType(); 2482 return this.value; 2483 } 2484 else if (name.equals("valueInteger")) { 2485 this.value = new IntegerType(); 2486 return this.value; 2487 } 2488 else if (name.equals("valueBoolean")) { 2489 this.value = new BooleanType(); 2490 return this.value; 2491 } 2492 else if (name.equals("valueDateTime")) { 2493 this.value = new DateTimeType(); 2494 return this.value; 2495 } 2496 else if (name.equals("valueDecimal")) { 2497 this.value = new DecimalType(); 2498 return this.value; 2499 } 2500 else 2501 return super.addChild(name); 2502 } 2503 2504 public ConceptPropertyComponent copy() { 2505 ConceptPropertyComponent dst = new ConceptPropertyComponent(); 2506 copyValues(dst); 2507 return dst; 2508 } 2509 2510 public void copyValues(ConceptPropertyComponent dst) { 2511 super.copyValues(dst); 2512 dst.code = code == null ? null : code.copy(); 2513 dst.value = value == null ? null : value.copy(); 2514 } 2515 2516 @Override 2517 public boolean equalsDeep(Base other_) { 2518 if (!super.equalsDeep(other_)) 2519 return false; 2520 if (!(other_ instanceof ConceptPropertyComponent)) 2521 return false; 2522 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 2523 return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); 2524 } 2525 2526 @Override 2527 public boolean equalsShallow(Base other_) { 2528 if (!super.equalsShallow(other_)) 2529 return false; 2530 if (!(other_ instanceof ConceptPropertyComponent)) 2531 return false; 2532 ConceptPropertyComponent o = (ConceptPropertyComponent) other_; 2533 return compareValues(code, o.code, true); 2534 } 2535 2536 public boolean isEmpty() { 2537 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); 2538 } 2539 2540 public String fhirType() { 2541 return "CodeSystem.concept.property"; 2542 2543 } 2544 2545 } 2546 2547 /** 2548 * An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. 2549 */ 2550 @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) 2551 @Description(shortDefinition="Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)", formalDefinition="An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system." ) 2552 protected UriType url; 2553 2554 /** 2555 * A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance. 2556 */ 2557 @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2558 @Description(shortDefinition="Additional identifier for the code system (business identifier)", formalDefinition="A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance." ) 2559 protected List<Identifier> identifier; 2560 2561 /** 2562 * The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version. 2563 */ 2564 @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) 2565 @Description(shortDefinition="Business version of the code system (Coding.version)", formalDefinition="The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version." ) 2566 protected StringType version; 2567 2568 /** 2569 * A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2570 */ 2571 @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) 2572 @Description(shortDefinition="Name for this code system (computer friendly)", formalDefinition="A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) 2573 protected StringType name; 2574 2575 /** 2576 * A short, descriptive, user-friendly title for the code system. 2577 */ 2578 @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) 2579 @Description(shortDefinition="Name for this code system (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the code system." ) 2580 protected StringType title; 2581 2582 /** 2583 * The date (and optionally time) when the code system resource was created or revised. 2584 */ 2585 @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) 2586 @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The date (and optionally time) when the code system resource was created or revised." ) 2587 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") 2588 protected Enumeration<PublicationStatus> status; 2589 2590 /** 2591 * A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 2592 */ 2593 @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) 2594 @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) 2595 protected BooleanType experimental; 2596 2597 /** 2598 * The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes. 2599 */ 2600 @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) 2601 @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes." ) 2602 protected DateTimeType date; 2603 2604 /** 2605 * The name of the organization or individual that published the code system. 2606 */ 2607 @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) 2608 @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the code system." ) 2609 protected StringType publisher; 2610 2611 /** 2612 * Contact details to assist a user in finding and communicating with the publisher. 2613 */ 2614 @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2615 @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) 2616 protected List<ContactDetail> contact; 2617 2618 /** 2619 * A free text natural language description of the code system from a consumer's perspective. 2620 */ 2621 @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) 2622 @Description(shortDefinition="Natural language description of the code system", formalDefinition="A free text natural language description of the code system from a consumer's perspective." ) 2623 protected MarkdownType description; 2624 2625 /** 2626 * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances. 2627 */ 2628 @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2629 @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances." ) 2630 protected List<UsageContext> useContext; 2631 2632 /** 2633 * A legal or geographic region in which the code system is intended to be used. 2634 */ 2635 @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2636 @Description(shortDefinition="Intended jurisdiction for code system (if applicable)", formalDefinition="A legal or geographic region in which the code system is intended to be used." ) 2637 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") 2638 protected List<CodeableConcept> jurisdiction; 2639 2640 /** 2641 * Explanation of why this code system is needed and why it has been designed as it has. 2642 */ 2643 @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) 2644 @Description(shortDefinition="Why this code system is defined", formalDefinition="Explanation of why this code system is needed and why it has been designed as it has." ) 2645 protected MarkdownType purpose; 2646 2647 /** 2648 * A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system. 2649 */ 2650 @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) 2651 @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system." ) 2652 protected MarkdownType copyright; 2653 2654 /** 2655 * If code comparison is case sensitive when codes within this system are compared to each other. 2656 */ 2657 @Child(name = "caseSensitive", type = {BooleanType.class}, order=15, min=0, max=1, modifier=false, summary=true) 2658 @Description(shortDefinition="If code comparison is case sensitive", formalDefinition="If code comparison is case sensitive when codes within this system are compared to each other." ) 2659 protected BooleanType caseSensitive; 2660 2661 /** 2662 * Canonical reference to the value set that contains the entire code system. 2663 */ 2664 @Child(name = "valueSet", type = {CanonicalType.class}, order=16, min=0, max=1, modifier=false, summary=true) 2665 @Description(shortDefinition="Canonical reference to the value set with entire code system", formalDefinition="Canonical reference to the value set that contains the entire code system." ) 2666 protected CanonicalType valueSet; 2667 2668 /** 2669 * The meaning of the hierarchy of concepts as represented in this resource. 2670 */ 2671 @Child(name = "hierarchyMeaning", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=true) 2672 @Description(shortDefinition="grouped-by | is-a | part-of | classified-with", formalDefinition="The meaning of the hierarchy of concepts as represented in this resource." ) 2673 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning") 2674 protected Enumeration<CodeSystemHierarchyMeaning> hierarchyMeaning; 2675 2676 /** 2677 * The code system defines a compositional (post-coordination) grammar. 2678 */ 2679 @Child(name = "compositional", type = {BooleanType.class}, order=18, min=0, max=1, modifier=false, summary=true) 2680 @Description(shortDefinition="If code system defines a compositional grammar", formalDefinition="The code system defines a compositional (post-coordination) grammar." ) 2681 protected BooleanType compositional; 2682 2683 /** 2684 * This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system. 2685 */ 2686 @Child(name = "versionNeeded", type = {BooleanType.class}, order=19, min=0, max=1, modifier=false, summary=true) 2687 @Description(shortDefinition="If definitions are not stable", formalDefinition="This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system." ) 2688 protected BooleanType versionNeeded; 2689 2690 /** 2691 * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. 2692 */ 2693 @Child(name = "content", type = {CodeType.class}, order=20, min=1, max=1, modifier=false, summary=true) 2694 @Description(shortDefinition="not-present | example | fragment | complete | supplement", formalDefinition="The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance." ) 2695 @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/codesystem-content-mode") 2696 protected Enumeration<CodeSystemContentMode> content; 2697 2698 /** 2699 * The canonical URL of the code system that this code system supplement is adding designations and properties to. 2700 */ 2701 @Child(name = "supplements", type = {CanonicalType.class}, order=21, min=0, max=1, modifier=false, summary=true) 2702 @Description(shortDefinition="Canonical URL of Code System this adds designations and properties to", formalDefinition="The canonical URL of the code system that this code system supplement is adding designations and properties to." ) 2703 protected CanonicalType supplements; 2704 2705 /** 2706 * The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward. 2707 */ 2708 @Child(name = "count", type = {UnsignedIntType.class}, order=22, min=0, max=1, modifier=false, summary=true) 2709 @Description(shortDefinition="Total concepts in the code system", formalDefinition="The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward." ) 2710 protected UnsignedIntType count; 2711 2712 /** 2713 * A filter that can be used in a value set compose statement when selecting concepts using a filter. 2714 */ 2715 @Child(name = "filter", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2716 @Description(shortDefinition="Filter that can be used in a value set", formalDefinition="A filter that can be used in a value set compose statement when selecting concepts using a filter." ) 2717 protected List<CodeSystemFilterComponent> filter; 2718 2719 /** 2720 * A property defines an additional slot through which additional information can be provided about a concept. 2721 */ 2722 @Child(name = "property", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) 2723 @Description(shortDefinition="Additional information supplied about each concept", formalDefinition="A property defines an additional slot through which additional information can be provided about a concept." ) 2724 protected List<PropertyComponent> property; 2725 2726 /** 2727 * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are. 2728 */ 2729 @Child(name = "concept", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) 2730 @Description(shortDefinition="Concepts in the code system", formalDefinition="Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are." ) 2731 protected List<ConceptDefinitionComponent> concept; 2732 2733 private static final long serialVersionUID = -499428696L; 2734 2735 /** 2736 * Constructor 2737 */ 2738 public CodeSystem() { 2739 super(); 2740 } 2741 2742 /** 2743 * Constructor 2744 */ 2745 public CodeSystem(PublicationStatus status, CodeSystemContentMode content) { 2746 super(); 2747 this.setStatus(status); 2748 this.setContent(content); 2749 } 2750 2751 /** 2752 * @return {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2753 */ 2754 public UriType getUrlElement() { 2755 if (this.url == null) 2756 if (Configuration.errorOnAutoCreate()) 2757 throw new Error("Attempt to auto-create CodeSystem.url"); 2758 else if (Configuration.doAutoCreate()) 2759 this.url = new UriType(); // bb 2760 return this.url; 2761 } 2762 2763 public boolean hasUrlElement() { 2764 return this.url != null && !this.url.isEmpty(); 2765 } 2766 2767 public boolean hasUrl() { 2768 return this.url != null && !this.url.isEmpty(); 2769 } 2770 2771 /** 2772 * @param value {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value 2773 */ 2774 public CodeSystem setUrlElement(UriType value) { 2775 this.url = value; 2776 return this; 2777 } 2778 2779 /** 2780 * @return An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. 2781 */ 2782 public String getUrl() { 2783 return this.url == null ? null : this.url.getValue(); 2784 } 2785 2786 /** 2787 * @param value An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. 2788 */ 2789 public CodeSystem setUrl(String value) { 2790 if (Utilities.noString(value)) 2791 this.url = null; 2792 else { 2793 if (this.url == null) 2794 this.url = new UriType(); 2795 this.url.setValue(value); 2796 } 2797 return this; 2798 } 2799 2800 /** 2801 * @return {@link #identifier} (A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.) 2802 */ 2803 public List<Identifier> getIdentifier() { 2804 if (this.identifier == null) 2805 this.identifier = new ArrayList<Identifier>(); 2806 return this.identifier; 2807 } 2808 2809 /** 2810 * @return Returns a reference to <code>this</code> for easy method chaining 2811 */ 2812 public CodeSystem setIdentifier(List<Identifier> theIdentifier) { 2813 this.identifier = theIdentifier; 2814 return this; 2815 } 2816 2817 public boolean hasIdentifier() { 2818 if (this.identifier == null) 2819 return false; 2820 for (Identifier item : this.identifier) 2821 if (!item.isEmpty()) 2822 return true; 2823 return false; 2824 } 2825 2826 public Identifier addIdentifier() { //3 2827 Identifier t = new Identifier(); 2828 if (this.identifier == null) 2829 this.identifier = new ArrayList<Identifier>(); 2830 this.identifier.add(t); 2831 return t; 2832 } 2833 2834 public CodeSystem addIdentifier(Identifier t) { //3 2835 if (t == null) 2836 return this; 2837 if (this.identifier == null) 2838 this.identifier = new ArrayList<Identifier>(); 2839 this.identifier.add(t); 2840 return this; 2841 } 2842 2843 /** 2844 * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} 2845 */ 2846 public Identifier getIdentifierFirstRep() { 2847 if (getIdentifier().isEmpty()) { 2848 addIdentifier(); 2849 } 2850 return getIdentifier().get(0); 2851 } 2852 2853 /** 2854 * @return {@link #version} (The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2855 */ 2856 public StringType getVersionElement() { 2857 if (this.version == null) 2858 if (Configuration.errorOnAutoCreate()) 2859 throw new Error("Attempt to auto-create CodeSystem.version"); 2860 else if (Configuration.doAutoCreate()) 2861 this.version = new StringType(); // bb 2862 return this.version; 2863 } 2864 2865 public boolean hasVersionElement() { 2866 return this.version != null && !this.version.isEmpty(); 2867 } 2868 2869 public boolean hasVersion() { 2870 return this.version != null && !this.version.isEmpty(); 2871 } 2872 2873 /** 2874 * @param value {@link #version} (The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value 2875 */ 2876 public CodeSystem setVersionElement(StringType value) { 2877 this.version = value; 2878 return this; 2879 } 2880 2881 /** 2882 * @return The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version. 2883 */ 2884 public String getVersion() { 2885 return this.version == null ? null : this.version.getValue(); 2886 } 2887 2888 /** 2889 * @param value The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version. 2890 */ 2891 public CodeSystem setVersion(String value) { 2892 if (Utilities.noString(value)) 2893 this.version = null; 2894 else { 2895 if (this.version == null) 2896 this.version = new StringType(); 2897 this.version.setValue(value); 2898 } 2899 return this; 2900 } 2901 2902 /** 2903 * @return {@link #name} (A natural language name identifying the code system. 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 2904 */ 2905 public StringType getNameElement() { 2906 if (this.name == null) 2907 if (Configuration.errorOnAutoCreate()) 2908 throw new Error("Attempt to auto-create CodeSystem.name"); 2909 else if (Configuration.doAutoCreate()) 2910 this.name = new StringType(); // bb 2911 return this.name; 2912 } 2913 2914 public boolean hasNameElement() { 2915 return this.name != null && !this.name.isEmpty(); 2916 } 2917 2918 public boolean hasName() { 2919 return this.name != null && !this.name.isEmpty(); 2920 } 2921 2922 /** 2923 * @param value {@link #name} (A natural language name identifying the code system. 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 2924 */ 2925 public CodeSystem setNameElement(StringType value) { 2926 this.name = value; 2927 return this; 2928 } 2929 2930 /** 2931 * @return A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2932 */ 2933 public String getName() { 2934 return this.name == null ? null : this.name.getValue(); 2935 } 2936 2937 /** 2938 * @param value A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation. 2939 */ 2940 public CodeSystem setName(String value) { 2941 if (Utilities.noString(value)) 2942 this.name = null; 2943 else { 2944 if (this.name == null) 2945 this.name = new StringType(); 2946 this.name.setValue(value); 2947 } 2948 return this; 2949 } 2950 2951 /** 2952 * @return {@link #title} (A short, descriptive, user-friendly title for the code system.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2953 */ 2954 public StringType getTitleElement() { 2955 if (this.title == null) 2956 if (Configuration.errorOnAutoCreate()) 2957 throw new Error("Attempt to auto-create CodeSystem.title"); 2958 else if (Configuration.doAutoCreate()) 2959 this.title = new StringType(); // bb 2960 return this.title; 2961 } 2962 2963 public boolean hasTitleElement() { 2964 return this.title != null && !this.title.isEmpty(); 2965 } 2966 2967 public boolean hasTitle() { 2968 return this.title != null && !this.title.isEmpty(); 2969 } 2970 2971 /** 2972 * @param value {@link #title} (A short, descriptive, user-friendly title for the code system.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value 2973 */ 2974 public CodeSystem setTitleElement(StringType value) { 2975 this.title = value; 2976 return this; 2977 } 2978 2979 /** 2980 * @return A short, descriptive, user-friendly title for the code system. 2981 */ 2982 public String getTitle() { 2983 return this.title == null ? null : this.title.getValue(); 2984 } 2985 2986 /** 2987 * @param value A short, descriptive, user-friendly title for the code system. 2988 */ 2989 public CodeSystem setTitle(String value) { 2990 if (Utilities.noString(value)) 2991 this.title = null; 2992 else { 2993 if (this.title == null) 2994 this.title = new StringType(); 2995 this.title.setValue(value); 2996 } 2997 return this; 2998 } 2999 3000 /** 3001 * @return {@link #status} (The date (and optionally time) when the code system resource was created or revised.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3002 */ 3003 public Enumeration<PublicationStatus> getStatusElement() { 3004 if (this.status == null) 3005 if (Configuration.errorOnAutoCreate()) 3006 throw new Error("Attempt to auto-create CodeSystem.status"); 3007 else if (Configuration.doAutoCreate()) 3008 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); // bb 3009 return this.status; 3010 } 3011 3012 public boolean hasStatusElement() { 3013 return this.status != null && !this.status.isEmpty(); 3014 } 3015 3016 public boolean hasStatus() { 3017 return this.status != null && !this.status.isEmpty(); 3018 } 3019 3020 /** 3021 * @param value {@link #status} (The date (and optionally time) when the code system resource was created or revised.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value 3022 */ 3023 public CodeSystem setStatusElement(Enumeration<PublicationStatus> value) { 3024 this.status = value; 3025 return this; 3026 } 3027 3028 /** 3029 * @return The date (and optionally time) when the code system resource was created or revised. 3030 */ 3031 public PublicationStatus getStatus() { 3032 return this.status == null ? null : this.status.getValue(); 3033 } 3034 3035 /** 3036 * @param value The date (and optionally time) when the code system resource was created or revised. 3037 */ 3038 public CodeSystem setStatus(PublicationStatus value) { 3039 if (this.status == null) 3040 this.status = new Enumeration<PublicationStatus>(new PublicationStatusEnumFactory()); 3041 this.status.setValue(value); 3042 return this; 3043 } 3044 3045 /** 3046 * @return {@link #experimental} (A Boolean value to indicate that this code system 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 3047 */ 3048 public BooleanType getExperimentalElement() { 3049 if (this.experimental == null) 3050 if (Configuration.errorOnAutoCreate()) 3051 throw new Error("Attempt to auto-create CodeSystem.experimental"); 3052 else if (Configuration.doAutoCreate()) 3053 this.experimental = new BooleanType(); // bb 3054 return this.experimental; 3055 } 3056 3057 public boolean hasExperimentalElement() { 3058 return this.experimental != null && !this.experimental.isEmpty(); 3059 } 3060 3061 public boolean hasExperimental() { 3062 return this.experimental != null && !this.experimental.isEmpty(); 3063 } 3064 3065 /** 3066 * @param value {@link #experimental} (A Boolean value to indicate that this code system 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 3067 */ 3068 public CodeSystem setExperimentalElement(BooleanType value) { 3069 this.experimental = value; 3070 return this; 3071 } 3072 3073 /** 3074 * @return A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3075 */ 3076 public boolean getExperimental() { 3077 return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); 3078 } 3079 3080 /** 3081 * @param value A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. 3082 */ 3083 public CodeSystem setExperimental(boolean value) { 3084 if (this.experimental == null) 3085 this.experimental = new BooleanType(); 3086 this.experimental.setValue(value); 3087 return this; 3088 } 3089 3090 /** 3091 * @return {@link #date} (The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 3092 */ 3093 public DateTimeType getDateElement() { 3094 if (this.date == null) 3095 if (Configuration.errorOnAutoCreate()) 3096 throw new Error("Attempt to auto-create CodeSystem.date"); 3097 else if (Configuration.doAutoCreate()) 3098 this.date = new DateTimeType(); // bb 3099 return this.date; 3100 } 3101 3102 public boolean hasDateElement() { 3103 return this.date != null && !this.date.isEmpty(); 3104 } 3105 3106 public boolean hasDate() { 3107 return this.date != null && !this.date.isEmpty(); 3108 } 3109 3110 /** 3111 * @param value {@link #date} (The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value 3112 */ 3113 public CodeSystem setDateElement(DateTimeType value) { 3114 this.date = value; 3115 return this; 3116 } 3117 3118 /** 3119 * @return The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes. 3120 */ 3121 public Date getDate() { 3122 return this.date == null ? null : this.date.getValue(); 3123 } 3124 3125 /** 3126 * @param value The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes. 3127 */ 3128 public CodeSystem setDate(Date value) { 3129 if (value == null) 3130 this.date = null; 3131 else { 3132 if (this.date == null) 3133 this.date = new DateTimeType(); 3134 this.date.setValue(value); 3135 } 3136 return this; 3137 } 3138 3139 /** 3140 * @return {@link #publisher} (The name of the organization or individual that published the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 3141 */ 3142 public StringType getPublisherElement() { 3143 if (this.publisher == null) 3144 if (Configuration.errorOnAutoCreate()) 3145 throw new Error("Attempt to auto-create CodeSystem.publisher"); 3146 else if (Configuration.doAutoCreate()) 3147 this.publisher = new StringType(); // bb 3148 return this.publisher; 3149 } 3150 3151 public boolean hasPublisherElement() { 3152 return this.publisher != null && !this.publisher.isEmpty(); 3153 } 3154 3155 public boolean hasPublisher() { 3156 return this.publisher != null && !this.publisher.isEmpty(); 3157 } 3158 3159 /** 3160 * @param value {@link #publisher} (The name of the organization or individual that published the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value 3161 */ 3162 public CodeSystem setPublisherElement(StringType value) { 3163 this.publisher = value; 3164 return this; 3165 } 3166 3167 /** 3168 * @return The name of the organization or individual that published the code system. 3169 */ 3170 public String getPublisher() { 3171 return this.publisher == null ? null : this.publisher.getValue(); 3172 } 3173 3174 /** 3175 * @param value The name of the organization or individual that published the code system. 3176 */ 3177 public CodeSystem setPublisher(String value) { 3178 if (Utilities.noString(value)) 3179 this.publisher = null; 3180 else { 3181 if (this.publisher == null) 3182 this.publisher = new StringType(); 3183 this.publisher.setValue(value); 3184 } 3185 return this; 3186 } 3187 3188 /** 3189 * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) 3190 */ 3191 public List<ContactDetail> getContact() { 3192 if (this.contact == null) 3193 this.contact = new ArrayList<ContactDetail>(); 3194 return this.contact; 3195 } 3196 3197 /** 3198 * @return Returns a reference to <code>this</code> for easy method chaining 3199 */ 3200 public CodeSystem setContact(List<ContactDetail> theContact) { 3201 this.contact = theContact; 3202 return this; 3203 } 3204 3205 public boolean hasContact() { 3206 if (this.contact == null) 3207 return false; 3208 for (ContactDetail item : this.contact) 3209 if (!item.isEmpty()) 3210 return true; 3211 return false; 3212 } 3213 3214 public ContactDetail addContact() { //3 3215 ContactDetail t = new ContactDetail(); 3216 if (this.contact == null) 3217 this.contact = new ArrayList<ContactDetail>(); 3218 this.contact.add(t); 3219 return t; 3220 } 3221 3222 public CodeSystem addContact(ContactDetail t) { //3 3223 if (t == null) 3224 return this; 3225 if (this.contact == null) 3226 this.contact = new ArrayList<ContactDetail>(); 3227 this.contact.add(t); 3228 return this; 3229 } 3230 3231 /** 3232 * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} 3233 */ 3234 public ContactDetail getContactFirstRep() { 3235 if (getContact().isEmpty()) { 3236 addContact(); 3237 } 3238 return getContact().get(0); 3239 } 3240 3241 /** 3242 * @return {@link #description} (A free text natural language description of the code system from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3243 */ 3244 public MarkdownType getDescriptionElement() { 3245 if (this.description == null) 3246 if (Configuration.errorOnAutoCreate()) 3247 throw new Error("Attempt to auto-create CodeSystem.description"); 3248 else if (Configuration.doAutoCreate()) 3249 this.description = new MarkdownType(); // bb 3250 return this.description; 3251 } 3252 3253 public boolean hasDescriptionElement() { 3254 return this.description != null && !this.description.isEmpty(); 3255 } 3256 3257 public boolean hasDescription() { 3258 return this.description != null && !this.description.isEmpty(); 3259 } 3260 3261 /** 3262 * @param value {@link #description} (A free text natural language description of the code system from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value 3263 */ 3264 public CodeSystem setDescriptionElement(MarkdownType value) { 3265 this.description = value; 3266 return this; 3267 } 3268 3269 /** 3270 * @return A free text natural language description of the code system from a consumer's perspective. 3271 */ 3272 public String getDescription() { 3273 return this.description == null ? null : this.description.getValue(); 3274 } 3275 3276 /** 3277 * @param value A free text natural language description of the code system from a consumer's perspective. 3278 */ 3279 public CodeSystem setDescription(String value) { 3280 if (value == null) 3281 this.description = null; 3282 else { 3283 if (this.description == null) 3284 this.description = new MarkdownType(); 3285 this.description.setValue(value); 3286 } 3287 return this; 3288 } 3289 3290 /** 3291 * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.) 3292 */ 3293 public List<UsageContext> getUseContext() { 3294 if (this.useContext == null) 3295 this.useContext = new ArrayList<UsageContext>(); 3296 return this.useContext; 3297 } 3298 3299 /** 3300 * @return Returns a reference to <code>this</code> for easy method chaining 3301 */ 3302 public CodeSystem setUseContext(List<UsageContext> theUseContext) { 3303 this.useContext = theUseContext; 3304 return this; 3305 } 3306 3307 public boolean hasUseContext() { 3308 if (this.useContext == null) 3309 return false; 3310 for (UsageContext item : this.useContext) 3311 if (!item.isEmpty()) 3312 return true; 3313 return false; 3314 } 3315 3316 public UsageContext addUseContext() { //3 3317 UsageContext t = new UsageContext(); 3318 if (this.useContext == null) 3319 this.useContext = new ArrayList<UsageContext>(); 3320 this.useContext.add(t); 3321 return t; 3322 } 3323 3324 public CodeSystem addUseContext(UsageContext t) { //3 3325 if (t == null) 3326 return this; 3327 if (this.useContext == null) 3328 this.useContext = new ArrayList<UsageContext>(); 3329 this.useContext.add(t); 3330 return this; 3331 } 3332 3333 /** 3334 * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} 3335 */ 3336 public UsageContext getUseContextFirstRep() { 3337 if (getUseContext().isEmpty()) { 3338 addUseContext(); 3339 } 3340 return getUseContext().get(0); 3341 } 3342 3343 /** 3344 * @return {@link #jurisdiction} (A legal or geographic region in which the code system is intended to be used.) 3345 */ 3346 public List<CodeableConcept> getJurisdiction() { 3347 if (this.jurisdiction == null) 3348 this.jurisdiction = new ArrayList<CodeableConcept>(); 3349 return this.jurisdiction; 3350 } 3351 3352 /** 3353 * @return Returns a reference to <code>this</code> for easy method chaining 3354 */ 3355 public CodeSystem setJurisdiction(List<CodeableConcept> theJurisdiction) { 3356 this.jurisdiction = theJurisdiction; 3357 return this; 3358 } 3359 3360 public boolean hasJurisdiction() { 3361 if (this.jurisdiction == null) 3362 return false; 3363 for (CodeableConcept item : this.jurisdiction) 3364 if (!item.isEmpty()) 3365 return true; 3366 return false; 3367 } 3368 3369 public CodeableConcept addJurisdiction() { //3 3370 CodeableConcept t = new CodeableConcept(); 3371 if (this.jurisdiction == null) 3372 this.jurisdiction = new ArrayList<CodeableConcept>(); 3373 this.jurisdiction.add(t); 3374 return t; 3375 } 3376 3377 public CodeSystem addJurisdiction(CodeableConcept t) { //3 3378 if (t == null) 3379 return this; 3380 if (this.jurisdiction == null) 3381 this.jurisdiction = new ArrayList<CodeableConcept>(); 3382 this.jurisdiction.add(t); 3383 return this; 3384 } 3385 3386 /** 3387 * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} 3388 */ 3389 public CodeableConcept getJurisdictionFirstRep() { 3390 if (getJurisdiction().isEmpty()) { 3391 addJurisdiction(); 3392 } 3393 return getJurisdiction().get(0); 3394 } 3395 3396 /** 3397 * @return {@link #purpose} (Explanation of why this code system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 3398 */ 3399 public MarkdownType getPurposeElement() { 3400 if (this.purpose == null) 3401 if (Configuration.errorOnAutoCreate()) 3402 throw new Error("Attempt to auto-create CodeSystem.purpose"); 3403 else if (Configuration.doAutoCreate()) 3404 this.purpose = new MarkdownType(); // bb 3405 return this.purpose; 3406 } 3407 3408 public boolean hasPurposeElement() { 3409 return this.purpose != null && !this.purpose.isEmpty(); 3410 } 3411 3412 public boolean hasPurpose() { 3413 return this.purpose != null && !this.purpose.isEmpty(); 3414 } 3415 3416 /** 3417 * @param value {@link #purpose} (Explanation of why this code system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value 3418 */ 3419 public CodeSystem setPurposeElement(MarkdownType value) { 3420 this.purpose = value; 3421 return this; 3422 } 3423 3424 /** 3425 * @return Explanation of why this code system is needed and why it has been designed as it has. 3426 */ 3427 public String getPurpose() { 3428 return this.purpose == null ? null : this.purpose.getValue(); 3429 } 3430 3431 /** 3432 * @param value Explanation of why this code system is needed and why it has been designed as it has. 3433 */ 3434 public CodeSystem setPurpose(String value) { 3435 if (value == null) 3436 this.purpose = null; 3437 else { 3438 if (this.purpose == null) 3439 this.purpose = new MarkdownType(); 3440 this.purpose.setValue(value); 3441 } 3442 return this; 3443 } 3444 3445 /** 3446 * @return {@link #copyright} (A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3447 */ 3448 public MarkdownType getCopyrightElement() { 3449 if (this.copyright == null) 3450 if (Configuration.errorOnAutoCreate()) 3451 throw new Error("Attempt to auto-create CodeSystem.copyright"); 3452 else if (Configuration.doAutoCreate()) 3453 this.copyright = new MarkdownType(); // bb 3454 return this.copyright; 3455 } 3456 3457 public boolean hasCopyrightElement() { 3458 return this.copyright != null && !this.copyright.isEmpty(); 3459 } 3460 3461 public boolean hasCopyright() { 3462 return this.copyright != null && !this.copyright.isEmpty(); 3463 } 3464 3465 /** 3466 * @param value {@link #copyright} (A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value 3467 */ 3468 public CodeSystem setCopyrightElement(MarkdownType value) { 3469 this.copyright = value; 3470 return this; 3471 } 3472 3473 /** 3474 * @return A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system. 3475 */ 3476 public String getCopyright() { 3477 return this.copyright == null ? null : this.copyright.getValue(); 3478 } 3479 3480 /** 3481 * @param value A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system. 3482 */ 3483 public CodeSystem setCopyright(String value) { 3484 if (value == null) 3485 this.copyright = null; 3486 else { 3487 if (this.copyright == null) 3488 this.copyright = new MarkdownType(); 3489 this.copyright.setValue(value); 3490 } 3491 return this; 3492 } 3493 3494 /** 3495 * @return {@link #caseSensitive} (If code comparison is case sensitive when codes within this system are compared to each other.). This is the underlying object with id, value and extensions. The accessor "getCaseSensitive" gives direct access to the value 3496 */ 3497 public BooleanType getCaseSensitiveElement() { 3498 if (this.caseSensitive == null) 3499 if (Configuration.errorOnAutoCreate()) 3500 throw new Error("Attempt to auto-create CodeSystem.caseSensitive"); 3501 else if (Configuration.doAutoCreate()) 3502 this.caseSensitive = new BooleanType(); // bb 3503 return this.caseSensitive; 3504 } 3505 3506 public boolean hasCaseSensitiveElement() { 3507 return this.caseSensitive != null && !this.caseSensitive.isEmpty(); 3508 } 3509 3510 public boolean hasCaseSensitive() { 3511 return this.caseSensitive != null && !this.caseSensitive.isEmpty(); 3512 } 3513 3514 /** 3515 * @param value {@link #caseSensitive} (If code comparison is case sensitive when codes within this system are compared to each other.). This is the underlying object with id, value and extensions. The accessor "getCaseSensitive" gives direct access to the value 3516 */ 3517 public CodeSystem setCaseSensitiveElement(BooleanType value) { 3518 this.caseSensitive = value; 3519 return this; 3520 } 3521 3522 /** 3523 * @return If code comparison is case sensitive when codes within this system are compared to each other. 3524 */ 3525 public boolean getCaseSensitive() { 3526 return this.caseSensitive == null || this.caseSensitive.isEmpty() ? false : this.caseSensitive.getValue(); 3527 } 3528 3529 /** 3530 * @param value If code comparison is case sensitive when codes within this system are compared to each other. 3531 */ 3532 public CodeSystem setCaseSensitive(boolean value) { 3533 if (this.caseSensitive == null) 3534 this.caseSensitive = new BooleanType(); 3535 this.caseSensitive.setValue(value); 3536 return this; 3537 } 3538 3539 /** 3540 * @return {@link #valueSet} (Canonical reference to the value set that contains the entire code system.). This is the underlying object with id, value and extensions. The accessor "getValueSet" gives direct access to the value 3541 */ 3542 public CanonicalType getValueSetElement() { 3543 if (this.valueSet == null) 3544 if (Configuration.errorOnAutoCreate()) 3545 throw new Error("Attempt to auto-create CodeSystem.valueSet"); 3546 else if (Configuration.doAutoCreate()) 3547 this.valueSet = new CanonicalType(); // bb 3548 return this.valueSet; 3549 } 3550 3551 public boolean hasValueSetElement() { 3552 return this.valueSet != null && !this.valueSet.isEmpty(); 3553 } 3554 3555 public boolean hasValueSet() { 3556 return this.valueSet != null && !this.valueSet.isEmpty(); 3557 } 3558 3559 /** 3560 * @param value {@link #valueSet} (Canonical reference to the value set that contains the entire code system.). This is the underlying object with id, value and extensions. The accessor "getValueSet" gives direct access to the value 3561 */ 3562 public CodeSystem setValueSetElement(CanonicalType value) { 3563 this.valueSet = value; 3564 return this; 3565 } 3566 3567 /** 3568 * @return Canonical reference to the value set that contains the entire code system. 3569 */ 3570 public String getValueSet() { 3571 return this.valueSet == null ? null : this.valueSet.getValue(); 3572 } 3573 3574 /** 3575 * @param value Canonical reference to the value set that contains the entire code system. 3576 */ 3577 public CodeSystem setValueSet(String value) { 3578 if (Utilities.noString(value)) 3579 this.valueSet = null; 3580 else { 3581 if (this.valueSet == null) 3582 this.valueSet = new CanonicalType(); 3583 this.valueSet.setValue(value); 3584 } 3585 return this; 3586 } 3587 3588 /** 3589 * @return {@link #hierarchyMeaning} (The meaning of the hierarchy of concepts as represented in this resource.). This is the underlying object with id, value and extensions. The accessor "getHierarchyMeaning" gives direct access to the value 3590 */ 3591 public Enumeration<CodeSystemHierarchyMeaning> getHierarchyMeaningElement() { 3592 if (this.hierarchyMeaning == null) 3593 if (Configuration.errorOnAutoCreate()) 3594 throw new Error("Attempt to auto-create CodeSystem.hierarchyMeaning"); 3595 else if (Configuration.doAutoCreate()) 3596 this.hierarchyMeaning = new Enumeration<CodeSystemHierarchyMeaning>(new CodeSystemHierarchyMeaningEnumFactory()); // bb 3597 return this.hierarchyMeaning; 3598 } 3599 3600 public boolean hasHierarchyMeaningElement() { 3601 return this.hierarchyMeaning != null && !this.hierarchyMeaning.isEmpty(); 3602 } 3603 3604 public boolean hasHierarchyMeaning() { 3605 return this.hierarchyMeaning != null && !this.hierarchyMeaning.isEmpty(); 3606 } 3607 3608 /** 3609 * @param value {@link #hierarchyMeaning} (The meaning of the hierarchy of concepts as represented in this resource.). This is the underlying object with id, value and extensions. The accessor "getHierarchyMeaning" gives direct access to the value 3610 */ 3611 public CodeSystem setHierarchyMeaningElement(Enumeration<CodeSystemHierarchyMeaning> value) { 3612 this.hierarchyMeaning = value; 3613 return this; 3614 } 3615 3616 /** 3617 * @return The meaning of the hierarchy of concepts as represented in this resource. 3618 */ 3619 public CodeSystemHierarchyMeaning getHierarchyMeaning() { 3620 return this.hierarchyMeaning == null ? null : this.hierarchyMeaning.getValue(); 3621 } 3622 3623 /** 3624 * @param value The meaning of the hierarchy of concepts as represented in this resource. 3625 */ 3626 public CodeSystem setHierarchyMeaning(CodeSystemHierarchyMeaning value) { 3627 if (value == null) 3628 this.hierarchyMeaning = null; 3629 else { 3630 if (this.hierarchyMeaning == null) 3631 this.hierarchyMeaning = new Enumeration<CodeSystemHierarchyMeaning>(new CodeSystemHierarchyMeaningEnumFactory()); 3632 this.hierarchyMeaning.setValue(value); 3633 } 3634 return this; 3635 } 3636 3637 /** 3638 * @return {@link #compositional} (The code system defines a compositional (post-coordination) grammar.). This is the underlying object with id, value and extensions. The accessor "getCompositional" gives direct access to the value 3639 */ 3640 public BooleanType getCompositionalElement() { 3641 if (this.compositional == null) 3642 if (Configuration.errorOnAutoCreate()) 3643 throw new Error("Attempt to auto-create CodeSystem.compositional"); 3644 else if (Configuration.doAutoCreate()) 3645 this.compositional = new BooleanType(); // bb 3646 return this.compositional; 3647 } 3648 3649 public boolean hasCompositionalElement() { 3650 return this.compositional != null && !this.compositional.isEmpty(); 3651 } 3652 3653 public boolean hasCompositional() { 3654 return this.compositional != null && !this.compositional.isEmpty(); 3655 } 3656 3657 /** 3658 * @param value {@link #compositional} (The code system defines a compositional (post-coordination) grammar.). This is the underlying object with id, value and extensions. The accessor "getCompositional" gives direct access to the value 3659 */ 3660 public CodeSystem setCompositionalElement(BooleanType value) { 3661 this.compositional = value; 3662 return this; 3663 } 3664 3665 /** 3666 * @return The code system defines a compositional (post-coordination) grammar. 3667 */ 3668 public boolean getCompositional() { 3669 return this.compositional == null || this.compositional.isEmpty() ? false : this.compositional.getValue(); 3670 } 3671 3672 /** 3673 * @param value The code system defines a compositional (post-coordination) grammar. 3674 */ 3675 public CodeSystem setCompositional(boolean value) { 3676 if (this.compositional == null) 3677 this.compositional = new BooleanType(); 3678 this.compositional.setValue(value); 3679 return this; 3680 } 3681 3682 /** 3683 * @return {@link #versionNeeded} (This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.). This is the underlying object with id, value and extensions. The accessor "getVersionNeeded" gives direct access to the value 3684 */ 3685 public BooleanType getVersionNeededElement() { 3686 if (this.versionNeeded == null) 3687 if (Configuration.errorOnAutoCreate()) 3688 throw new Error("Attempt to auto-create CodeSystem.versionNeeded"); 3689 else if (Configuration.doAutoCreate()) 3690 this.versionNeeded = new BooleanType(); // bb 3691 return this.versionNeeded; 3692 } 3693 3694 public boolean hasVersionNeededElement() { 3695 return this.versionNeeded != null && !this.versionNeeded.isEmpty(); 3696 } 3697 3698 public boolean hasVersionNeeded() { 3699 return this.versionNeeded != null && !this.versionNeeded.isEmpty(); 3700 } 3701 3702 /** 3703 * @param value {@link #versionNeeded} (This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.). This is the underlying object with id, value and extensions. The accessor "getVersionNeeded" gives direct access to the value 3704 */ 3705 public CodeSystem setVersionNeededElement(BooleanType value) { 3706 this.versionNeeded = value; 3707 return this; 3708 } 3709 3710 /** 3711 * @return This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system. 3712 */ 3713 public boolean getVersionNeeded() { 3714 return this.versionNeeded == null || this.versionNeeded.isEmpty() ? false : this.versionNeeded.getValue(); 3715 } 3716 3717 /** 3718 * @param value This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system. 3719 */ 3720 public CodeSystem setVersionNeeded(boolean value) { 3721 if (this.versionNeeded == null) 3722 this.versionNeeded = new BooleanType(); 3723 this.versionNeeded.setValue(value); 3724 return this; 3725 } 3726 3727 /** 3728 * @return {@link #content} (The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.). This is the underlying object with id, value and extensions. The accessor "getContent" gives direct access to the value 3729 */ 3730 public Enumeration<CodeSystemContentMode> getContentElement() { 3731 if (this.content == null) 3732 if (Configuration.errorOnAutoCreate()) 3733 throw new Error("Attempt to auto-create CodeSystem.content"); 3734 else if (Configuration.doAutoCreate()) 3735 this.content = new Enumeration<CodeSystemContentMode>(new CodeSystemContentModeEnumFactory()); // bb 3736 return this.content; 3737 } 3738 3739 public boolean hasContentElement() { 3740 return this.content != null && !this.content.isEmpty(); 3741 } 3742 3743 public boolean hasContent() { 3744 return this.content != null && !this.content.isEmpty(); 3745 } 3746 3747 /** 3748 * @param value {@link #content} (The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.). This is the underlying object with id, value and extensions. The accessor "getContent" gives direct access to the value 3749 */ 3750 public CodeSystem setContentElement(Enumeration<CodeSystemContentMode> value) { 3751 this.content = value; 3752 return this; 3753 } 3754 3755 /** 3756 * @return The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. 3757 */ 3758 public CodeSystemContentMode getContent() { 3759 return this.content == null ? null : this.content.getValue(); 3760 } 3761 3762 /** 3763 * @param value The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. 3764 */ 3765 public CodeSystem setContent(CodeSystemContentMode value) { 3766 if (this.content == null) 3767 this.content = new Enumeration<CodeSystemContentMode>(new CodeSystemContentModeEnumFactory()); 3768 this.content.setValue(value); 3769 return this; 3770 } 3771 3772 /** 3773 * @return {@link #supplements} (The canonical URL of the code system that this code system supplement is adding designations and properties to.). This is the underlying object with id, value and extensions. The accessor "getSupplements" gives direct access to the value 3774 */ 3775 public CanonicalType getSupplementsElement() { 3776 if (this.supplements == null) 3777 if (Configuration.errorOnAutoCreate()) 3778 throw new Error("Attempt to auto-create CodeSystem.supplements"); 3779 else if (Configuration.doAutoCreate()) 3780 this.supplements = new CanonicalType(); // bb 3781 return this.supplements; 3782 } 3783 3784 public boolean hasSupplementsElement() { 3785 return this.supplements != null && !this.supplements.isEmpty(); 3786 } 3787 3788 public boolean hasSupplements() { 3789 return this.supplements != null && !this.supplements.isEmpty(); 3790 } 3791 3792 /** 3793 * @param value {@link #supplements} (The canonical URL of the code system that this code system supplement is adding designations and properties to.). This is the underlying object with id, value and extensions. The accessor "getSupplements" gives direct access to the value 3794 */ 3795 public CodeSystem setSupplementsElement(CanonicalType value) { 3796 this.supplements = value; 3797 return this; 3798 } 3799 3800 /** 3801 * @return The canonical URL of the code system that this code system supplement is adding designations and properties to. 3802 */ 3803 public String getSupplements() { 3804 return this.supplements == null ? null : this.supplements.getValue(); 3805 } 3806 3807 /** 3808 * @param value The canonical URL of the code system that this code system supplement is adding designations and properties to. 3809 */ 3810 public CodeSystem setSupplements(String value) { 3811 if (Utilities.noString(value)) 3812 this.supplements = null; 3813 else { 3814 if (this.supplements == null) 3815 this.supplements = new CanonicalType(); 3816 this.supplements.setValue(value); 3817 } 3818 return this; 3819 } 3820 3821 /** 3822 * @return {@link #count} (The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.). This is the underlying object with id, value and extensions. The accessor "getCount" gives direct access to the value 3823 */ 3824 public UnsignedIntType getCountElement() { 3825 if (this.count == null) 3826 if (Configuration.errorOnAutoCreate()) 3827 throw new Error("Attempt to auto-create CodeSystem.count"); 3828 else if (Configuration.doAutoCreate()) 3829 this.count = new UnsignedIntType(); // bb 3830 return this.count; 3831 } 3832 3833 public boolean hasCountElement() { 3834 return this.count != null && !this.count.isEmpty(); 3835 } 3836 3837 public boolean hasCount() { 3838 return this.count != null && !this.count.isEmpty(); 3839 } 3840 3841 /** 3842 * @param value {@link #count} (The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.). This is the underlying object with id, value and extensions. The accessor "getCount" gives direct access to the value 3843 */ 3844 public CodeSystem setCountElement(UnsignedIntType value) { 3845 this.count = value; 3846 return this; 3847 } 3848 3849 /** 3850 * @return The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward. 3851 */ 3852 public int getCount() { 3853 return this.count == null || this.count.isEmpty() ? 0 : this.count.getValue(); 3854 } 3855 3856 /** 3857 * @param value The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward. 3858 */ 3859 public CodeSystem setCount(int value) { 3860 if (this.count == null) 3861 this.count = new UnsignedIntType(); 3862 this.count.setValue(value); 3863 return this; 3864 } 3865 3866 /** 3867 * @return {@link #filter} (A filter that can be used in a value set compose statement when selecting concepts using a filter.) 3868 */ 3869 public List<CodeSystemFilterComponent> getFilter() { 3870 if (this.filter == null) 3871 this.filter = new ArrayList<CodeSystemFilterComponent>(); 3872 return this.filter; 3873 } 3874 3875 /** 3876 * @return Returns a reference to <code>this</code> for easy method chaining 3877 */ 3878 public CodeSystem setFilter(List<CodeSystemFilterComponent> theFilter) { 3879 this.filter = theFilter; 3880 return this; 3881 } 3882 3883 public boolean hasFilter() { 3884 if (this.filter == null) 3885 return false; 3886 for (CodeSystemFilterComponent item : this.filter) 3887 if (!item.isEmpty()) 3888 return true; 3889 return false; 3890 } 3891 3892 public CodeSystemFilterComponent addFilter() { //3 3893 CodeSystemFilterComponent t = new CodeSystemFilterComponent(); 3894 if (this.filter == null) 3895 this.filter = new ArrayList<CodeSystemFilterComponent>(); 3896 this.filter.add(t); 3897 return t; 3898 } 3899 3900 public CodeSystem addFilter(CodeSystemFilterComponent t) { //3 3901 if (t == null) 3902 return this; 3903 if (this.filter == null) 3904 this.filter = new ArrayList<CodeSystemFilterComponent>(); 3905 this.filter.add(t); 3906 return this; 3907 } 3908 3909 /** 3910 * @return The first repetition of repeating field {@link #filter}, creating it if it does not already exist {3} 3911 */ 3912 public CodeSystemFilterComponent getFilterFirstRep() { 3913 if (getFilter().isEmpty()) { 3914 addFilter(); 3915 } 3916 return getFilter().get(0); 3917 } 3918 3919 /** 3920 * @return {@link #property} (A property defines an additional slot through which additional information can be provided about a concept.) 3921 */ 3922 public List<PropertyComponent> getProperty() { 3923 if (this.property == null) 3924 this.property = new ArrayList<PropertyComponent>(); 3925 return this.property; 3926 } 3927 3928 /** 3929 * @return Returns a reference to <code>this</code> for easy method chaining 3930 */ 3931 public CodeSystem setProperty(List<PropertyComponent> theProperty) { 3932 this.property = theProperty; 3933 return this; 3934 } 3935 3936 public boolean hasProperty() { 3937 if (this.property == null) 3938 return false; 3939 for (PropertyComponent item : this.property) 3940 if (!item.isEmpty()) 3941 return true; 3942 return false; 3943 } 3944 3945 public PropertyComponent addProperty() { //3 3946 PropertyComponent t = new PropertyComponent(); 3947 if (this.property == null) 3948 this.property = new ArrayList<PropertyComponent>(); 3949 this.property.add(t); 3950 return t; 3951 } 3952 3953 public CodeSystem addProperty(PropertyComponent t) { //3 3954 if (t == null) 3955 return this; 3956 if (this.property == null) 3957 this.property = new ArrayList<PropertyComponent>(); 3958 this.property.add(t); 3959 return this; 3960 } 3961 3962 /** 3963 * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} 3964 */ 3965 public PropertyComponent getPropertyFirstRep() { 3966 if (getProperty().isEmpty()) { 3967 addProperty(); 3968 } 3969 return getProperty().get(0); 3970 } 3971 3972 /** 3973 * @return {@link #concept} (Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.) 3974 */ 3975 public List<ConceptDefinitionComponent> getConcept() { 3976 if (this.concept == null) 3977 this.concept = new ArrayList<ConceptDefinitionComponent>(); 3978 return this.concept; 3979 } 3980 3981 /** 3982 * @return Returns a reference to <code>this</code> for easy method chaining 3983 */ 3984 public CodeSystem setConcept(List<ConceptDefinitionComponent> theConcept) { 3985 this.concept = theConcept; 3986 return this; 3987 } 3988 3989 public boolean hasConcept() { 3990 if (this.concept == null) 3991 return false; 3992 for (ConceptDefinitionComponent item : this.concept) 3993 if (!item.isEmpty()) 3994 return true; 3995 return false; 3996 } 3997 3998 public ConceptDefinitionComponent addConcept() { //3 3999 ConceptDefinitionComponent t = new ConceptDefinitionComponent(); 4000 if (this.concept == null) 4001 this.concept = new ArrayList<ConceptDefinitionComponent>(); 4002 this.concept.add(t); 4003 return t; 4004 } 4005 4006 public CodeSystem addConcept(ConceptDefinitionComponent t) { //3 4007 if (t == null) 4008 return this; 4009 if (this.concept == null) 4010 this.concept = new ArrayList<ConceptDefinitionComponent>(); 4011 this.concept.add(t); 4012 return this; 4013 } 4014 4015 /** 4016 * @return The first repetition of repeating field {@link #concept}, creating it if it does not already exist {3} 4017 */ 4018 public ConceptDefinitionComponent getConceptFirstRep() { 4019 if (getConcept().isEmpty()) { 4020 addConcept(); 4021 } 4022 return getConcept().get(0); 4023 } 4024 4025 protected void listChildren(List<Property> children) { 4026 super.listChildren(children); 4027 children.add(new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url)); 4028 children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); 4029 children.add(new Property("version", "string", "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version.", 0, 1, version)); 4030 children.add(new Property("name", "string", "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); 4031 children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the code system.", 0, 1, title)); 4032 children.add(new Property("status", "code", "The date (and optionally time) when the code system resource was created or revised.", 0, 1, status)); 4033 children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); 4034 children.add(new Property("date", "dateTime", "The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.", 0, 1, date)); 4035 children.add(new Property("publisher", "string", "The name of the organization or individual that published the code system.", 0, 1, publisher)); 4036 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)); 4037 children.add(new Property("description", "markdown", "A free text natural language description of the code system from a consumer's perspective.", 0, 1, description)); 4038 children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); 4039 children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the code system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); 4040 children.add(new Property("purpose", "markdown", "Explanation of why this code system is needed and why it has been designed as it has.", 0, 1, purpose)); 4041 children.add(new Property("copyright", "markdown", "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.", 0, 1, copyright)); 4042 children.add(new Property("caseSensitive", "boolean", "If code comparison is case sensitive when codes within this system are compared to each other.", 0, 1, caseSensitive)); 4043 children.add(new Property("valueSet", "canonical(ValueSet)", "Canonical reference to the value set that contains the entire code system.", 0, 1, valueSet)); 4044 children.add(new Property("hierarchyMeaning", "code", "The meaning of the hierarchy of concepts as represented in this resource.", 0, 1, hierarchyMeaning)); 4045 children.add(new Property("compositional", "boolean", "The code system defines a compositional (post-coordination) grammar.", 0, 1, compositional)); 4046 children.add(new Property("versionNeeded", "boolean", "This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.", 0, 1, versionNeeded)); 4047 children.add(new Property("content", "code", "The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.", 0, 1, content)); 4048 children.add(new Property("supplements", "canonical(CodeSystem)", "The canonical URL of the code system that this code system supplement is adding designations and properties to.", 0, 1, supplements)); 4049 children.add(new Property("count", "unsignedInt", "The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.", 0, 1, count)); 4050 children.add(new Property("filter", "", "A filter that can be used in a value set compose statement when selecting concepts using a filter.", 0, java.lang.Integer.MAX_VALUE, filter)); 4051 children.add(new Property("property", "", "A property defines an additional slot through which additional information can be provided about a concept.", 0, java.lang.Integer.MAX_VALUE, property)); 4052 children.add(new Property("concept", "", "Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.", 0, java.lang.Integer.MAX_VALUE, concept)); 4053 } 4054 4055 @Override 4056 public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { 4057 switch (_hash) { 4058 case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url); 4059 case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); 4060 case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system 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 used in [Coding](datatypes.html#Coding).version.", 0, 1, version); 4061 case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); 4062 case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the code system.", 0, 1, title); 4063 case -892481550: /*status*/ return new Property("status", "code", "The date (and optionally time) when the code system resource was created or revised.", 0, 1, status); 4064 case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); 4065 case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.", 0, 1, date); 4066 case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the code system.", 0, 1, publisher); 4067 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); 4068 case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the code system from a consumer's perspective.", 0, 1, description); 4069 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 contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.", 0, java.lang.Integer.MAX_VALUE, useContext); 4070 case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the code system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); 4071 case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this code system is needed and why it has been designed as it has.", 0, 1, purpose); 4072 case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.", 0, 1, copyright); 4073 case -35616442: /*caseSensitive*/ return new Property("caseSensitive", "boolean", "If code comparison is case sensitive when codes within this system are compared to each other.", 0, 1, caseSensitive); 4074 case -1410174671: /*valueSet*/ return new Property("valueSet", "canonical(ValueSet)", "Canonical reference to the value set that contains the entire code system.", 0, 1, valueSet); 4075 case 1913078280: /*hierarchyMeaning*/ return new Property("hierarchyMeaning", "code", "The meaning of the hierarchy of concepts as represented in this resource.", 0, 1, hierarchyMeaning); 4076 case 1248023381: /*compositional*/ return new Property("compositional", "boolean", "The code system defines a compositional (post-coordination) grammar.", 0, 1, compositional); 4077 case 617270957: /*versionNeeded*/ return new Property("versionNeeded", "boolean", "This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system.", 0, 1, versionNeeded); 4078 case 951530617: /*content*/ return new Property("content", "code", "The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.", 0, 1, content); 4079 case -596951334: /*supplements*/ return new Property("supplements", "canonical(CodeSystem)", "The canonical URL of the code system that this code system supplement is adding designations and properties to.", 0, 1, supplements); 4080 case 94851343: /*count*/ return new Property("count", "unsignedInt", "The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward.", 0, 1, count); 4081 case -1274492040: /*filter*/ return new Property("filter", "", "A filter that can be used in a value set compose statement when selecting concepts using a filter.", 0, java.lang.Integer.MAX_VALUE, filter); 4082 case -993141291: /*property*/ return new Property("property", "", "A property defines an additional slot through which additional information can be provided about a concept.", 0, java.lang.Integer.MAX_VALUE, property); 4083 case 951024232: /*concept*/ return new Property("concept", "", "Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are.", 0, java.lang.Integer.MAX_VALUE, concept); 4084 default: return super.getNamedProperty(_hash, _name, _checkValid); 4085 } 4086 4087 } 4088 4089 @Override 4090 public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { 4091 switch (hash) { 4092 case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType 4093 case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier 4094 case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType 4095 case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType 4096 case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType 4097 case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration<PublicationStatus> 4098 case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType 4099 case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType 4100 case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType 4101 case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail 4102 case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType 4103 case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext 4104 case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept 4105 case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType 4106 case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType 4107 case -35616442: /*caseSensitive*/ return this.caseSensitive == null ? new Base[0] : new Base[] {this.caseSensitive}; // BooleanType 4108 case -1410174671: /*valueSet*/ return this.valueSet == null ? new Base[0] : new Base[] {this.valueSet}; // CanonicalType 4109 case 1913078280: /*hierarchyMeaning*/ return this.hierarchyMeaning == null ? new Base[0] : new Base[] {this.hierarchyMeaning}; // Enumeration<CodeSystemHierarchyMeaning> 4110 case 1248023381: /*compositional*/ return this.compositional == null ? new Base[0] : new Base[] {this.compositional}; // BooleanType 4111 case 617270957: /*versionNeeded*/ return this.versionNeeded == null ? new Base[0] : new Base[] {this.versionNeeded}; // BooleanType 4112 case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Enumeration<CodeSystemContentMode> 4113 case -596951334: /*supplements*/ return this.supplements == null ? new Base[0] : new Base[] {this.supplements}; // CanonicalType 4114 case 94851343: /*count*/ return this.count == null ? new Base[0] : new Base[] {this.count}; // UnsignedIntType 4115 case -1274492040: /*filter*/ return this.filter == null ? new Base[0] : this.filter.toArray(new Base[this.filter.size()]); // CodeSystemFilterComponent 4116 case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // PropertyComponent 4117 case 951024232: /*concept*/ return this.concept == null ? new Base[0] : this.concept.toArray(new Base[this.concept.size()]); // ConceptDefinitionComponent 4118 default: return super.getProperty(hash, name, checkValid); 4119 } 4120 4121 } 4122 4123 @Override 4124 public Base setProperty(int hash, String name, Base value) throws FHIRException { 4125 switch (hash) { 4126 case 116079: // url 4127 this.url = TypeConvertor.castToUri(value); // UriType 4128 return value; 4129 case -1618432855: // identifier 4130 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier 4131 return value; 4132 case 351608024: // version 4133 this.version = TypeConvertor.castToString(value); // StringType 4134 return value; 4135 case 3373707: // name 4136 this.name = TypeConvertor.castToString(value); // StringType 4137 return value; 4138 case 110371416: // title 4139 this.title = TypeConvertor.castToString(value); // StringType 4140 return value; 4141 case -892481550: // status 4142 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4143 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4144 return value; 4145 case -404562712: // experimental 4146 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4147 return value; 4148 case 3076014: // date 4149 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4150 return value; 4151 case 1447404028: // publisher 4152 this.publisher = TypeConvertor.castToString(value); // StringType 4153 return value; 4154 case 951526432: // contact 4155 this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail 4156 return value; 4157 case -1724546052: // description 4158 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4159 return value; 4160 case -669707736: // useContext 4161 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext 4162 return value; 4163 case -507075711: // jurisdiction 4164 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept 4165 return value; 4166 case -220463842: // purpose 4167 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4168 return value; 4169 case 1522889671: // copyright 4170 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4171 return value; 4172 case -35616442: // caseSensitive 4173 this.caseSensitive = TypeConvertor.castToBoolean(value); // BooleanType 4174 return value; 4175 case -1410174671: // valueSet 4176 this.valueSet = TypeConvertor.castToCanonical(value); // CanonicalType 4177 return value; 4178 case 1913078280: // hierarchyMeaning 4179 value = new CodeSystemHierarchyMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); 4180 this.hierarchyMeaning = (Enumeration) value; // Enumeration<CodeSystemHierarchyMeaning> 4181 return value; 4182 case 1248023381: // compositional 4183 this.compositional = TypeConvertor.castToBoolean(value); // BooleanType 4184 return value; 4185 case 617270957: // versionNeeded 4186 this.versionNeeded = TypeConvertor.castToBoolean(value); // BooleanType 4187 return value; 4188 case 951530617: // content 4189 value = new CodeSystemContentModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4190 this.content = (Enumeration) value; // Enumeration<CodeSystemContentMode> 4191 return value; 4192 case -596951334: // supplements 4193 this.supplements = TypeConvertor.castToCanonical(value); // CanonicalType 4194 return value; 4195 case 94851343: // count 4196 this.count = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 4197 return value; 4198 case -1274492040: // filter 4199 this.getFilter().add((CodeSystemFilterComponent) value); // CodeSystemFilterComponent 4200 return value; 4201 case -993141291: // property 4202 this.getProperty().add((PropertyComponent) value); // PropertyComponent 4203 return value; 4204 case 951024232: // concept 4205 this.getConcept().add((ConceptDefinitionComponent) value); // ConceptDefinitionComponent 4206 return value; 4207 default: return super.setProperty(hash, name, value); 4208 } 4209 4210 } 4211 4212 @Override 4213 public Base setProperty(String name, Base value) throws FHIRException { 4214 if (name.equals("url")) { 4215 this.url = TypeConvertor.castToUri(value); // UriType 4216 } else if (name.equals("identifier")) { 4217 this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); 4218 } else if (name.equals("version")) { 4219 this.version = TypeConvertor.castToString(value); // StringType 4220 } else if (name.equals("name")) { 4221 this.name = TypeConvertor.castToString(value); // StringType 4222 } else if (name.equals("title")) { 4223 this.title = TypeConvertor.castToString(value); // StringType 4224 } else if (name.equals("status")) { 4225 value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); 4226 this.status = (Enumeration) value; // Enumeration<PublicationStatus> 4227 } else if (name.equals("experimental")) { 4228 this.experimental = TypeConvertor.castToBoolean(value); // BooleanType 4229 } else if (name.equals("date")) { 4230 this.date = TypeConvertor.castToDateTime(value); // DateTimeType 4231 } else if (name.equals("publisher")) { 4232 this.publisher = TypeConvertor.castToString(value); // StringType 4233 } else if (name.equals("contact")) { 4234 this.getContact().add(TypeConvertor.castToContactDetail(value)); 4235 } else if (name.equals("description")) { 4236 this.description = TypeConvertor.castToMarkdown(value); // MarkdownType 4237 } else if (name.equals("useContext")) { 4238 this.getUseContext().add(TypeConvertor.castToUsageContext(value)); 4239 } else if (name.equals("jurisdiction")) { 4240 this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); 4241 } else if (name.equals("purpose")) { 4242 this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType 4243 } else if (name.equals("copyright")) { 4244 this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType 4245 } else if (name.equals("caseSensitive")) { 4246 this.caseSensitive = TypeConvertor.castToBoolean(value); // BooleanType 4247 } else if (name.equals("valueSet")) { 4248 this.valueSet = TypeConvertor.castToCanonical(value); // CanonicalType 4249 } else if (name.equals("hierarchyMeaning")) { 4250 value = new CodeSystemHierarchyMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); 4251 this.hierarchyMeaning = (Enumeration) value; // Enumeration<CodeSystemHierarchyMeaning> 4252 } else if (name.equals("compositional")) { 4253 this.compositional = TypeConvertor.castToBoolean(value); // BooleanType 4254 } else if (name.equals("versionNeeded")) { 4255 this.versionNeeded = TypeConvertor.castToBoolean(value); // BooleanType 4256 } else if (name.equals("content")) { 4257 value = new CodeSystemContentModeEnumFactory().fromType(TypeConvertor.castToCode(value)); 4258 this.content = (Enumeration) value; // Enumeration<CodeSystemContentMode> 4259 } else if (name.equals("supplements")) { 4260 this.supplements = TypeConvertor.castToCanonical(value); // CanonicalType 4261 } else if (name.equals("count")) { 4262 this.count = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType 4263 } else if (name.equals("filter")) { 4264 this.getFilter().add((CodeSystemFilterComponent) value); 4265 } else if (name.equals("property")) { 4266 this.getProperty().add((PropertyComponent) value); 4267 } else if (name.equals("concept")) { 4268 this.getConcept().add((ConceptDefinitionComponent) value); 4269 } else 4270 return super.setProperty(name, value); 4271 return value; 4272 } 4273 4274 @Override 4275 public Base makeProperty(int hash, String name) throws FHIRException { 4276 switch (hash) { 4277 case 116079: return getUrlElement(); 4278 case -1618432855: return addIdentifier(); 4279 case 351608024: return getVersionElement(); 4280 case 3373707: return getNameElement(); 4281 case 110371416: return getTitleElement(); 4282 case -892481550: return getStatusElement(); 4283 case -404562712: return getExperimentalElement(); 4284 case 3076014: return getDateElement(); 4285 case 1447404028: return getPublisherElement(); 4286 case 951526432: return addContact(); 4287 case -1724546052: return getDescriptionElement(); 4288 case -669707736: return addUseContext(); 4289 case -507075711: return addJurisdiction(); 4290 case -220463842: return getPurposeElement(); 4291 case 1522889671: return getCopyrightElement(); 4292 case -35616442: return getCaseSensitiveElement(); 4293 case -1410174671: return getValueSetElement(); 4294 case 1913078280: return getHierarchyMeaningElement(); 4295 case 1248023381: return getCompositionalElement(); 4296 case 617270957: return getVersionNeededElement(); 4297 case 951530617: return getContentElement(); 4298 case -596951334: return getSupplementsElement(); 4299 case 94851343: return getCountElement(); 4300 case -1274492040: return addFilter(); 4301 case -993141291: return addProperty(); 4302 case 951024232: return addConcept(); 4303 default: return super.makeProperty(hash, name); 4304 } 4305 4306 } 4307 4308 @Override 4309 public String[] getTypesForProperty(int hash, String name) throws FHIRException { 4310 switch (hash) { 4311 case 116079: /*url*/ return new String[] {"uri"}; 4312 case -1618432855: /*identifier*/ return new String[] {"Identifier"}; 4313 case 351608024: /*version*/ return new String[] {"string"}; 4314 case 3373707: /*name*/ return new String[] {"string"}; 4315 case 110371416: /*title*/ return new String[] {"string"}; 4316 case -892481550: /*status*/ return new String[] {"code"}; 4317 case -404562712: /*experimental*/ return new String[] {"boolean"}; 4318 case 3076014: /*date*/ return new String[] {"dateTime"}; 4319 case 1447404028: /*publisher*/ return new String[] {"string"}; 4320 case 951526432: /*contact*/ return new String[] {"ContactDetail"}; 4321 case -1724546052: /*description*/ return new String[] {"markdown"}; 4322 case -669707736: /*useContext*/ return new String[] {"UsageContext"}; 4323 case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; 4324 case -220463842: /*purpose*/ return new String[] {"markdown"}; 4325 case 1522889671: /*copyright*/ return new String[] {"markdown"}; 4326 case -35616442: /*caseSensitive*/ return new String[] {"boolean"}; 4327 case -1410174671: /*valueSet*/ return new String[] {"canonical"}; 4328 case 1913078280: /*hierarchyMeaning*/ return new String[] {"code"}; 4329 case 1248023381: /*compositional*/ return new String[] {"boolean"}; 4330 case 617270957: /*versionNeeded*/ return new String[] {"boolean"}; 4331 case 951530617: /*content*/ return new String[] {"code"}; 4332 case -596951334: /*supplements*/ return new String[] {"canonical"}; 4333 case 94851343: /*count*/ return new String[] {"unsignedInt"}; 4334 case -1274492040: /*filter*/ return new String[] {}; 4335 case -993141291: /*property*/ return new String[] {}; 4336 case 951024232: /*concept*/ return new String[] {}; 4337 default: return super.getTypesForProperty(hash, name); 4338 } 4339 4340 } 4341 4342 @Override 4343 public Base addChild(String name) throws FHIRException { 4344 if (name.equals("url")) { 4345 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.url"); 4346 } 4347 else if (name.equals("identifier")) { 4348 return addIdentifier(); 4349 } 4350 else if (name.equals("version")) { 4351 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.version"); 4352 } 4353 else if (name.equals("name")) { 4354 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.name"); 4355 } 4356 else if (name.equals("title")) { 4357 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.title"); 4358 } 4359 else if (name.equals("status")) { 4360 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.status"); 4361 } 4362 else if (name.equals("experimental")) { 4363 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.experimental"); 4364 } 4365 else if (name.equals("date")) { 4366 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.date"); 4367 } 4368 else if (name.equals("publisher")) { 4369 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.publisher"); 4370 } 4371 else if (name.equals("contact")) { 4372 return addContact(); 4373 } 4374 else if (name.equals("description")) { 4375 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.description"); 4376 } 4377 else if (name.equals("useContext")) { 4378 return addUseContext(); 4379 } 4380 else if (name.equals("jurisdiction")) { 4381 return addJurisdiction(); 4382 } 4383 else if (name.equals("purpose")) { 4384 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.purpose"); 4385 } 4386 else if (name.equals("copyright")) { 4387 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.copyright"); 4388 } 4389 else if (name.equals("caseSensitive")) { 4390 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.caseSensitive"); 4391 } 4392 else if (name.equals("valueSet")) { 4393 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.valueSet"); 4394 } 4395 else if (name.equals("hierarchyMeaning")) { 4396 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.hierarchyMeaning"); 4397 } 4398 else if (name.equals("compositional")) { 4399 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.compositional"); 4400 } 4401 else if (name.equals("versionNeeded")) { 4402 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.versionNeeded"); 4403 } 4404 else if (name.equals("content")) { 4405 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.content"); 4406 } 4407 else if (name.equals("supplements")) { 4408 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.supplements"); 4409 } 4410 else if (name.equals("count")) { 4411 throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.count"); 4412 } 4413 else if (name.equals("filter")) { 4414 return addFilter(); 4415 } 4416 else if (name.equals("property")) { 4417 return addProperty(); 4418 } 4419 else if (name.equals("concept")) { 4420 return addConcept(); 4421 } 4422 else 4423 return super.addChild(name); 4424 } 4425 4426 public String fhirType() { 4427 return "CodeSystem"; 4428 4429 } 4430 4431 public CodeSystem copy() { 4432 CodeSystem dst = new CodeSystem(); 4433 copyValues(dst); 4434 return dst; 4435 } 4436 4437 public void copyValues(CodeSystem dst) { 4438 super.copyValues(dst); 4439 dst.url = url == null ? null : url.copy(); 4440 if (identifier != null) { 4441 dst.identifier = new ArrayList<Identifier>(); 4442 for (Identifier i : identifier) 4443 dst.identifier.add(i.copy()); 4444 }; 4445 dst.version = version == null ? null : version.copy(); 4446 dst.name = name == null ? null : name.copy(); 4447 dst.title = title == null ? null : title.copy(); 4448 dst.status = status == null ? null : status.copy(); 4449 dst.experimental = experimental == null ? null : experimental.copy(); 4450 dst.date = date == null ? null : date.copy(); 4451 dst.publisher = publisher == null ? null : publisher.copy(); 4452 if (contact != null) { 4453 dst.contact = new ArrayList<ContactDetail>(); 4454 for (ContactDetail i : contact) 4455 dst.contact.add(i.copy()); 4456 }; 4457 dst.description = description == null ? null : description.copy(); 4458 if (useContext != null) { 4459 dst.useContext = new ArrayList<UsageContext>(); 4460 for (UsageContext i : useContext) 4461 dst.useContext.add(i.copy()); 4462 }; 4463 if (jurisdiction != null) { 4464 dst.jurisdiction = new ArrayList<CodeableConcept>(); 4465 for (CodeableConcept i : jurisdiction) 4466 dst.jurisdiction.add(i.copy()); 4467 }; 4468 dst.purpose = purpose == null ? null : purpose.copy(); 4469 dst.copyright = copyright == null ? null : copyright.copy(); 4470 dst.caseSensitive = caseSensitive == null ? null : caseSensitive.copy(); 4471 dst.valueSet = valueSet == null ? null : valueSet.copy(); 4472 dst.hierarchyMeaning = hierarchyMeaning == null ? null : hierarchyMeaning.copy(); 4473 dst.compositional = compositional == null ? null : compositional.copy(); 4474 dst.versionNeeded = versionNeeded == null ? null : versionNeeded.copy(); 4475 dst.content = content == null ? null : content.copy(); 4476 dst.supplements = supplements == null ? null : supplements.copy(); 4477 dst.count = count == null ? null : count.copy(); 4478 if (filter != null) { 4479 dst.filter = new ArrayList<CodeSystemFilterComponent>(); 4480 for (CodeSystemFilterComponent i : filter) 4481 dst.filter.add(i.copy()); 4482 }; 4483 if (property != null) { 4484 dst.property = new ArrayList<PropertyComponent>(); 4485 for (PropertyComponent i : property) 4486 dst.property.add(i.copy()); 4487 }; 4488 if (concept != null) { 4489 dst.concept = new ArrayList<ConceptDefinitionComponent>(); 4490 for (ConceptDefinitionComponent i : concept) 4491 dst.concept.add(i.copy()); 4492 }; 4493 } 4494 4495 protected CodeSystem typedCopy() { 4496 return copy(); 4497 } 4498 4499 @Override 4500 public boolean equalsDeep(Base other_) { 4501 if (!super.equalsDeep(other_)) 4502 return false; 4503 if (!(other_ instanceof CodeSystem)) 4504 return false; 4505 CodeSystem o = (CodeSystem) other_; 4506 return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) 4507 && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) 4508 && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) 4509 && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) 4510 && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) 4511 && compareDeep(caseSensitive, o.caseSensitive, true) && compareDeep(valueSet, o.valueSet, true) 4512 && compareDeep(hierarchyMeaning, o.hierarchyMeaning, true) && compareDeep(compositional, o.compositional, true) 4513 && compareDeep(versionNeeded, o.versionNeeded, true) && compareDeep(content, o.content, true) && compareDeep(supplements, o.supplements, true) 4514 && compareDeep(count, o.count, true) && compareDeep(filter, o.filter, true) && compareDeep(property, o.property, true) 4515 && compareDeep(concept, o.concept, true); 4516 } 4517 4518 @Override 4519 public boolean equalsShallow(Base other_) { 4520 if (!super.equalsShallow(other_)) 4521 return false; 4522 if (!(other_ instanceof CodeSystem)) 4523 return false; 4524 CodeSystem o = (CodeSystem) other_; 4525 return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) 4526 && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) 4527 && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) 4528 && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(caseSensitive, o.caseSensitive, true) 4529 && compareValues(valueSet, o.valueSet, true) && compareValues(hierarchyMeaning, o.hierarchyMeaning, true) 4530 && compareValues(compositional, o.compositional, true) && compareValues(versionNeeded, o.versionNeeded, true) 4531 && compareValues(content, o.content, true) && compareValues(supplements, o.supplements, true) && compareValues(count, o.count, true) 4532 ; 4533 } 4534 4535 public boolean isEmpty() { 4536 return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version 4537 , name, title, status, experimental, date, publisher, contact, description, useContext 4538 , jurisdiction, purpose, copyright, caseSensitive, valueSet, hierarchyMeaning, compositional 4539 , versionNeeded, content, supplements, count, filter, property, concept); 4540 } 4541 4542 @Override 4543 public ResourceType getResourceType() { 4544 return ResourceType.CodeSystem; 4545 } 4546 4547 /** 4548 * Search parameter: <b>code</b> 4549 * <p> 4550 * Description: <b>A code defined in the code system</b><br> 4551 * Type: <b>token</b><br> 4552 * Path: <b>CodeSystem.concept.code</b><br> 4553 * </p> 4554 */ 4555 @SearchParamDefinition(name="code", path="CodeSystem.concept.code", description="A code defined in the code system", type="token" ) 4556 public static final String SP_CODE = "code"; 4557 /** 4558 * <b>Fluent Client</b> search parameter constant for <b>code</b> 4559 * <p> 4560 * Description: <b>A code defined in the code system</b><br> 4561 * Type: <b>token</b><br> 4562 * Path: <b>CodeSystem.concept.code</b><br> 4563 * </p> 4564 */ 4565 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); 4566 4567 /** 4568 * Search parameter: <b>content-mode</b> 4569 * <p> 4570 * Description: <b>not-present | example | fragment | complete | supplement</b><br> 4571 * Type: <b>token</b><br> 4572 * Path: <b>CodeSystem.content</b><br> 4573 * </p> 4574 */ 4575 @SearchParamDefinition(name="content-mode", path="CodeSystem.content", description="not-present | example | fragment | complete | supplement", type="token" ) 4576 public static final String SP_CONTENT_MODE = "content-mode"; 4577 /** 4578 * <b>Fluent Client</b> search parameter constant for <b>content-mode</b> 4579 * <p> 4580 * Description: <b>not-present | example | fragment | complete | supplement</b><br> 4581 * Type: <b>token</b><br> 4582 * Path: <b>CodeSystem.content</b><br> 4583 * </p> 4584 */ 4585 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTENT_MODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTENT_MODE); 4586 4587 /** 4588 * Search parameter: <b>language</b> 4589 * <p> 4590 * Description: <b>A language in which a designation is provided</b><br> 4591 * Type: <b>token</b><br> 4592 * Path: <b>CodeSystem.concept.designation.language</b><br> 4593 * </p> 4594 */ 4595 @SearchParamDefinition(name="language", path="CodeSystem.concept.designation.language", description="A language in which a designation is provided", type="token" ) 4596 public static final String SP_LANGUAGE = "language"; 4597 /** 4598 * <b>Fluent Client</b> search parameter constant for <b>language</b> 4599 * <p> 4600 * Description: <b>A language in which a designation is provided</b><br> 4601 * Type: <b>token</b><br> 4602 * Path: <b>CodeSystem.concept.designation.language</b><br> 4603 * </p> 4604 */ 4605 public static final ca.uhn.fhir.rest.gclient.TokenClientParam LANGUAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_LANGUAGE); 4606 4607 /** 4608 * Search parameter: <b>supplements</b> 4609 * <p> 4610 * Description: <b>Find code system supplements for the referenced code system</b><br> 4611 * Type: <b>reference</b><br> 4612 * Path: <b>CodeSystem.supplements</b><br> 4613 * </p> 4614 */ 4615 @SearchParamDefinition(name="supplements", path="CodeSystem.supplements", description="Find code system supplements for the referenced code system", type="reference", target={CodeSystem.class } ) 4616 public static final String SP_SUPPLEMENTS = "supplements"; 4617 /** 4618 * <b>Fluent Client</b> search parameter constant for <b>supplements</b> 4619 * <p> 4620 * Description: <b>Find code system supplements for the referenced code system</b><br> 4621 * Type: <b>reference</b><br> 4622 * Path: <b>CodeSystem.supplements</b><br> 4623 * </p> 4624 */ 4625 public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUPPLEMENTS = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUPPLEMENTS); 4626 4627/** 4628 * Constant for fluent queries to be used to add include statements. Specifies 4629 * the path value of "<b>CodeSystem:supplements</b>". 4630 */ 4631 public static final ca.uhn.fhir.model.api.Include INCLUDE_SUPPLEMENTS = new ca.uhn.fhir.model.api.Include("CodeSystem:supplements").toLocked(); 4632 4633 /** 4634 * Search parameter: <b>system</b> 4635 * <p> 4636 * Description: <b>The system for any codes defined by this code system (same as 'url')</b><br> 4637 * Type: <b>uri</b><br> 4638 * Path: <b>CodeSystem.url</b><br> 4639 * </p> 4640 */ 4641 @SearchParamDefinition(name="system", path="CodeSystem.url", description="The system for any codes defined by this code system (same as 'url')", type="uri" ) 4642 public static final String SP_SYSTEM = "system"; 4643 /** 4644 * <b>Fluent Client</b> search parameter constant for <b>system</b> 4645 * <p> 4646 * Description: <b>The system for any codes defined by this code system (same as 'url')</b><br> 4647 * Type: <b>uri</b><br> 4648 * Path: <b>CodeSystem.url</b><br> 4649 * </p> 4650 */ 4651 public static final ca.uhn.fhir.rest.gclient.UriClientParam SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SYSTEM); 4652 4653 /** 4654 * Search parameter: <b>context-quantity</b> 4655 * <p> 4656 * Description: <b>Multiple Resources: 4657 4658* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4659* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4660* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4661* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4662* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4663* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4664* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4665* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4666* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4667* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4668* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4669* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4670* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4671* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4672</b><br> 4673 * Type: <b>quantity</b><br> 4674 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4675 * </p> 4676 */ 4677 @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set\r\n", type="quantity" ) 4678 public static final String SP_CONTEXT_QUANTITY = "context-quantity"; 4679 /** 4680 * <b>Fluent Client</b> search parameter constant for <b>context-quantity</b> 4681 * <p> 4682 * Description: <b>Multiple Resources: 4683 4684* [CapabilityStatement](capabilitystatement.html): A quantity- or range-valued use context assigned to the capability statement 4685* [CodeSystem](codesystem.html): A quantity- or range-valued use context assigned to the code system 4686* [CompartmentDefinition](compartmentdefinition.html): A quantity- or range-valued use context assigned to the compartment definition 4687* [ConceptMap](conceptmap.html): A quantity- or range-valued use context assigned to the concept map 4688* [GraphDefinition](graphdefinition.html): A quantity- or range-valued use context assigned to the graph definition 4689* [ImplementationGuide](implementationguide.html): A quantity- or range-valued use context assigned to the implementation guide 4690* [MessageDefinition](messagedefinition.html): A quantity- or range-valued use context assigned to the message definition 4691* [NamingSystem](namingsystem.html): A quantity- or range-valued use context assigned to the naming system 4692* [OperationDefinition](operationdefinition.html): A quantity- or range-valued use context assigned to the operation definition 4693* [SearchParameter](searchparameter.html): A quantity- or range-valued use context assigned to the search parameter 4694* [StructureDefinition](structuredefinition.html): A quantity- or range-valued use context assigned to the structure definition 4695* [StructureMap](structuremap.html): A quantity- or range-valued use context assigned to the structure map 4696* [TerminologyCapabilities](terminologycapabilities.html): A quantity- or range-valued use context assigned to the terminology capabilities 4697* [ValueSet](valueset.html): A quantity- or range-valued use context assigned to the value set 4698</b><br> 4699 * Type: <b>quantity</b><br> 4700 * Path: <b>(CapabilityStatement.useContext.value as Quantity) | (CapabilityStatement.useContext.value as Range) | (CodeSystem.useContext.value as Quantity) | (CodeSystem.useContext.value as Range) | (CompartmentDefinition.useContext.value as Quantity) | (CompartmentDefinition.useContext.value as Range) | (ConceptMap.useContext.value as Quantity) | (ConceptMap.useContext.value as Range) | (GraphDefinition.useContext.value as Quantity) | (GraphDefinition.useContext.value as Range) | (ImplementationGuide.useContext.value as Quantity) | (ImplementationGuide.useContext.value as Range) | (MessageDefinition.useContext.value as Quantity) | (MessageDefinition.useContext.value as Range) | (NamingSystem.useContext.value as Quantity) | (NamingSystem.useContext.value as Range) | (OperationDefinition.useContext.value as Quantity) | (OperationDefinition.useContext.value as Range) | (SearchParameter.useContext.value as Quantity) | (SearchParameter.useContext.value as Range) | (StructureDefinition.useContext.value as Quantity) | (StructureDefinition.useContext.value as Range) | (StructureMap.useContext.value as Quantity) | (StructureMap.useContext.value as Range) | (TerminologyCapabilities.useContext.value as Quantity) | (TerminologyCapabilities.useContext.value as Range) | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range)</b><br> 4701 * </p> 4702 */ 4703 public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); 4704 4705 /** 4706 * Search parameter: <b>context-type-quantity</b> 4707 * <p> 4708 * Description: <b>Multiple Resources: 4709 4710* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 4711* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 4712* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 4713* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 4714* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 4715* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 4716* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 4717* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 4718* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 4719* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 4720* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 4721* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 4722* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 4723* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 4724</b><br> 4725 * Type: <b>composite</b><br> 4726 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4727 * </p> 4728 */ 4729 @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context-quantity"} ) 4730 public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; 4731 /** 4732 * <b>Fluent Client</b> search parameter constant for <b>context-type-quantity</b> 4733 * <p> 4734 * Description: <b>Multiple Resources: 4735 4736* [CapabilityStatement](capabilitystatement.html): A use context type and quantity- or range-based value assigned to the capability statement 4737* [CodeSystem](codesystem.html): A use context type and quantity- or range-based value assigned to the code system 4738* [CompartmentDefinition](compartmentdefinition.html): A use context type and quantity- or range-based value assigned to the compartment definition 4739* [ConceptMap](conceptmap.html): A use context type and quantity- or range-based value assigned to the concept map 4740* [GraphDefinition](graphdefinition.html): A use context type and quantity- or range-based value assigned to the graph definition 4741* [ImplementationGuide](implementationguide.html): A use context type and quantity- or range-based value assigned to the implementation guide 4742* [MessageDefinition](messagedefinition.html): A use context type and quantity- or range-based value assigned to the message definition 4743* [NamingSystem](namingsystem.html): A use context type and quantity- or range-based value assigned to the naming system 4744* [OperationDefinition](operationdefinition.html): A use context type and quantity- or range-based value assigned to the operation definition 4745* [SearchParameter](searchparameter.html): A use context type and quantity- or range-based value assigned to the search parameter 4746* [StructureDefinition](structuredefinition.html): A use context type and quantity- or range-based value assigned to the structure definition 4747* [StructureMap](structuremap.html): A use context type and quantity- or range-based value assigned to the structure map 4748* [TerminologyCapabilities](terminologycapabilities.html): A use context type and quantity- or range-based value assigned to the terminology capabilities 4749* [ValueSet](valueset.html): A use context type and quantity- or range-based value assigned to the value set 4750</b><br> 4751 * Type: <b>composite</b><br> 4752 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4753 * </p> 4754 */ 4755 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam> CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.QuantityClientParam>(SP_CONTEXT_TYPE_QUANTITY); 4756 4757 /** 4758 * Search parameter: <b>context-type-value</b> 4759 * <p> 4760 * Description: <b>Multiple Resources: 4761 4762* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 4763* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 4764* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 4765* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 4766* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 4767* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 4768* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 4769* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 4770* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 4771* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 4772* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 4773* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 4774* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 4775* [ValueSet](valueset.html): A use context type and value assigned to the value set 4776</b><br> 4777 * Type: <b>composite</b><br> 4778 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4779 * </p> 4780 */ 4781 @SearchParamDefinition(name="context-type-value", path="CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context type and value assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context type and value assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context type and value assigned to the value set\r\n", type="composite", compositeOf={"context-type", "context"} ) 4782 public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; 4783 /** 4784 * <b>Fluent Client</b> search parameter constant for <b>context-type-value</b> 4785 * <p> 4786 * Description: <b>Multiple Resources: 4787 4788* [CapabilityStatement](capabilitystatement.html): A use context type and value assigned to the capability statement 4789* [CodeSystem](codesystem.html): A use context type and value assigned to the code system 4790* [CompartmentDefinition](compartmentdefinition.html): A use context type and value assigned to the compartment definition 4791* [ConceptMap](conceptmap.html): A use context type and value assigned to the concept map 4792* [GraphDefinition](graphdefinition.html): A use context type and value assigned to the graph definition 4793* [ImplementationGuide](implementationguide.html): A use context type and value assigned to the implementation guide 4794* [MessageDefinition](messagedefinition.html): A use context type and value assigned to the message definition 4795* [NamingSystem](namingsystem.html): A use context type and value assigned to the naming system 4796* [OperationDefinition](operationdefinition.html): A use context type and value assigned to the operation definition 4797* [SearchParameter](searchparameter.html): A use context type and value assigned to the search parameter 4798* [StructureDefinition](structuredefinition.html): A use context type and value assigned to the structure definition 4799* [StructureMap](structuremap.html): A use context type and value assigned to the structure map 4800* [TerminologyCapabilities](terminologycapabilities.html): A use context type and value assigned to the terminology capabilities 4801* [ValueSet](valueset.html): A use context type and value assigned to the value set 4802</b><br> 4803 * Type: <b>composite</b><br> 4804 * Path: <b>CapabilityStatement.useContext | CodeSystem.useContext | CompartmentDefinition.useContext | ConceptMap.useContext | GraphDefinition.useContext | ImplementationGuide.useContext | MessageDefinition.useContext | NamingSystem.useContext | OperationDefinition.useContext | SearchParameter.useContext | StructureDefinition.useContext | StructureMap.useContext | TerminologyCapabilities.useContext | ValueSet.useContext</b><br> 4805 * </p> 4806 */ 4807 public static final ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam> CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam<ca.uhn.fhir.rest.gclient.TokenClientParam, ca.uhn.fhir.rest.gclient.TokenClientParam>(SP_CONTEXT_TYPE_VALUE); 4808 4809 /** 4810 * Search parameter: <b>context-type</b> 4811 * <p> 4812 * Description: <b>Multiple Resources: 4813 4814* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 4815* [CodeSystem](codesystem.html): A type of use context assigned to the code system 4816* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 4817* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 4818* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 4819* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 4820* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 4821* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 4822* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 4823* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 4824* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 4825* [StructureMap](structuremap.html): A type of use context assigned to the structure map 4826* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 4827* [ValueSet](valueset.html): A type of use context assigned to the value set 4828</b><br> 4829 * Type: <b>token</b><br> 4830 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 4831 * </p> 4832 */ 4833 @SearchParamDefinition(name="context-type", path="CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A type of use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A type of use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A type of use context assigned to the value set\r\n", type="token" ) 4834 public static final String SP_CONTEXT_TYPE = "context-type"; 4835 /** 4836 * <b>Fluent Client</b> search parameter constant for <b>context-type</b> 4837 * <p> 4838 * Description: <b>Multiple Resources: 4839 4840* [CapabilityStatement](capabilitystatement.html): A type of use context assigned to the capability statement 4841* [CodeSystem](codesystem.html): A type of use context assigned to the code system 4842* [CompartmentDefinition](compartmentdefinition.html): A type of use context assigned to the compartment definition 4843* [ConceptMap](conceptmap.html): A type of use context assigned to the concept map 4844* [GraphDefinition](graphdefinition.html): A type of use context assigned to the graph definition 4845* [ImplementationGuide](implementationguide.html): A type of use context assigned to the implementation guide 4846* [MessageDefinition](messagedefinition.html): A type of use context assigned to the message definition 4847* [NamingSystem](namingsystem.html): A type of use context assigned to the naming system 4848* [OperationDefinition](operationdefinition.html): A type of use context assigned to the operation definition 4849* [SearchParameter](searchparameter.html): A type of use context assigned to the search parameter 4850* [StructureDefinition](structuredefinition.html): A type of use context assigned to the structure definition 4851* [StructureMap](structuremap.html): A type of use context assigned to the structure map 4852* [TerminologyCapabilities](terminologycapabilities.html): A type of use context assigned to the terminology capabilities 4853* [ValueSet](valueset.html): A type of use context assigned to the value set 4854</b><br> 4855 * Type: <b>token</b><br> 4856 * Path: <b>CapabilityStatement.useContext.code | CodeSystem.useContext.code | CompartmentDefinition.useContext.code | ConceptMap.useContext.code | GraphDefinition.useContext.code | ImplementationGuide.useContext.code | MessageDefinition.useContext.code | NamingSystem.useContext.code | OperationDefinition.useContext.code | SearchParameter.useContext.code | StructureDefinition.useContext.code | StructureMap.useContext.code | TerminologyCapabilities.useContext.code | ValueSet.useContext.code</b><br> 4857 * </p> 4858 */ 4859 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); 4860 4861 /** 4862 * Search parameter: <b>context</b> 4863 * <p> 4864 * Description: <b>Multiple Resources: 4865 4866* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 4867* [CodeSystem](codesystem.html): A use context assigned to the code system 4868* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 4869* [ConceptMap](conceptmap.html): A use context assigned to the concept map 4870* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 4871* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 4872* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 4873* [NamingSystem](namingsystem.html): A use context assigned to the naming system 4874* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 4875* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 4876* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 4877* [StructureMap](structuremap.html): A use context assigned to the structure map 4878* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 4879* [ValueSet](valueset.html): A use context assigned to the value set 4880</b><br> 4881 * Type: <b>token</b><br> 4882 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 4883 * </p> 4884 */ 4885 @SearchParamDefinition(name="context", path="(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement\r\n* [CodeSystem](codesystem.html): A use context assigned to the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition\r\n* [ConceptMap](conceptmap.html): A use context assigned to the concept map\r\n* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition\r\n* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide\r\n* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition\r\n* [NamingSystem](namingsystem.html): A use context assigned to the naming system\r\n* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition\r\n* [SearchParameter](searchparameter.html): A use context assigned to the search parameter\r\n* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition\r\n* [StructureMap](structuremap.html): A use context assigned to the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities\r\n* [ValueSet](valueset.html): A use context assigned to the value set\r\n", type="token" ) 4886 public static final String SP_CONTEXT = "context"; 4887 /** 4888 * <b>Fluent Client</b> search parameter constant for <b>context</b> 4889 * <p> 4890 * Description: <b>Multiple Resources: 4891 4892* [CapabilityStatement](capabilitystatement.html): A use context assigned to the capability statement 4893* [CodeSystem](codesystem.html): A use context assigned to the code system 4894* [CompartmentDefinition](compartmentdefinition.html): A use context assigned to the compartment definition 4895* [ConceptMap](conceptmap.html): A use context assigned to the concept map 4896* [GraphDefinition](graphdefinition.html): A use context assigned to the graph definition 4897* [ImplementationGuide](implementationguide.html): A use context assigned to the implementation guide 4898* [MessageDefinition](messagedefinition.html): A use context assigned to the message definition 4899* [NamingSystem](namingsystem.html): A use context assigned to the naming system 4900* [OperationDefinition](operationdefinition.html): A use context assigned to the operation definition 4901* [SearchParameter](searchparameter.html): A use context assigned to the search parameter 4902* [StructureDefinition](structuredefinition.html): A use context assigned to the structure definition 4903* [StructureMap](structuremap.html): A use context assigned to the structure map 4904* [TerminologyCapabilities](terminologycapabilities.html): A use context assigned to the terminology capabilities 4905* [ValueSet](valueset.html): A use context assigned to the value set 4906</b><br> 4907 * Type: <b>token</b><br> 4908 * Path: <b>(CapabilityStatement.useContext.value as CodeableConcept) | (CodeSystem.useContext.value as CodeableConcept) | (CompartmentDefinition.useContext.value as CodeableConcept) | (ConceptMap.useContext.value as CodeableConcept) | (GraphDefinition.useContext.value as CodeableConcept) | (ImplementationGuide.useContext.value as CodeableConcept) | (MessageDefinition.useContext.value as CodeableConcept) | (NamingSystem.useContext.value as CodeableConcept) | (OperationDefinition.useContext.value as CodeableConcept) | (SearchParameter.useContext.value as CodeableConcept) | (StructureDefinition.useContext.value as CodeableConcept) | (StructureMap.useContext.value as CodeableConcept) | (TerminologyCapabilities.useContext.value as CodeableConcept) | (ValueSet.useContext.value as CodeableConcept)</b><br> 4909 * </p> 4910 */ 4911 public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); 4912 4913 /** 4914 * Search parameter: <b>date</b> 4915 * <p> 4916 * Description: <b>Multiple Resources: 4917 4918* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 4919* [CodeSystem](codesystem.html): The code system publication date 4920* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 4921* [ConceptMap](conceptmap.html): The concept map publication date 4922* [GraphDefinition](graphdefinition.html): The graph definition publication date 4923* [ImplementationGuide](implementationguide.html): The implementation guide publication date 4924* [MessageDefinition](messagedefinition.html): The message definition publication date 4925* [NamingSystem](namingsystem.html): The naming system publication date 4926* [OperationDefinition](operationdefinition.html): The operation definition publication date 4927* [SearchParameter](searchparameter.html): The search parameter publication date 4928* [StructureDefinition](structuredefinition.html): The structure definition publication date 4929* [StructureMap](structuremap.html): The structure map publication date 4930* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 4931* [ValueSet](valueset.html): The value set publication date 4932</b><br> 4933 * Type: <b>date</b><br> 4934 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 4935 * </p> 4936 */ 4937 @SearchParamDefinition(name="date", path="CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The capability statement publication date\r\n* [CodeSystem](codesystem.html): The code system publication date\r\n* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date\r\n* [ConceptMap](conceptmap.html): The concept map publication date\r\n* [GraphDefinition](graphdefinition.html): The graph definition publication date\r\n* [ImplementationGuide](implementationguide.html): The implementation guide publication date\r\n* [MessageDefinition](messagedefinition.html): The message definition publication date\r\n* [NamingSystem](namingsystem.html): The naming system publication date\r\n* [OperationDefinition](operationdefinition.html): The operation definition publication date\r\n* [SearchParameter](searchparameter.html): The search parameter publication date\r\n* [StructureDefinition](structuredefinition.html): The structure definition publication date\r\n* [StructureMap](structuremap.html): The structure map publication date\r\n* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date\r\n* [ValueSet](valueset.html): The value set publication date\r\n", type="date" ) 4938 public static final String SP_DATE = "date"; 4939 /** 4940 * <b>Fluent Client</b> search parameter constant for <b>date</b> 4941 * <p> 4942 * Description: <b>Multiple Resources: 4943 4944* [CapabilityStatement](capabilitystatement.html): The capability statement publication date 4945* [CodeSystem](codesystem.html): The code system publication date 4946* [CompartmentDefinition](compartmentdefinition.html): The compartment definition publication date 4947* [ConceptMap](conceptmap.html): The concept map publication date 4948* [GraphDefinition](graphdefinition.html): The graph definition publication date 4949* [ImplementationGuide](implementationguide.html): The implementation guide publication date 4950* [MessageDefinition](messagedefinition.html): The message definition publication date 4951* [NamingSystem](namingsystem.html): The naming system publication date 4952* [OperationDefinition](operationdefinition.html): The operation definition publication date 4953* [SearchParameter](searchparameter.html): The search parameter publication date 4954* [StructureDefinition](structuredefinition.html): The structure definition publication date 4955* [StructureMap](structuremap.html): The structure map publication date 4956* [TerminologyCapabilities](terminologycapabilities.html): The terminology capabilities publication date 4957* [ValueSet](valueset.html): The value set publication date 4958</b><br> 4959 * Type: <b>date</b><br> 4960 * Path: <b>CapabilityStatement.date | CodeSystem.date | CompartmentDefinition.date | ConceptMap.date | GraphDefinition.date | ImplementationGuide.date | MessageDefinition.date | NamingSystem.date | OperationDefinition.date | SearchParameter.date | StructureDefinition.date | StructureMap.date | TerminologyCapabilities.date | ValueSet.date</b><br> 4961 * </p> 4962 */ 4963 public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); 4964 4965 /** 4966 * Search parameter: <b>description</b> 4967 * <p> 4968 * Description: <b>Multiple Resources: 4969 4970* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 4971* [CodeSystem](codesystem.html): The description of the code system 4972* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 4973* [ConceptMap](conceptmap.html): The description of the concept map 4974* [GraphDefinition](graphdefinition.html): The description of the graph definition 4975* [ImplementationGuide](implementationguide.html): The description of the implementation guide 4976* [MessageDefinition](messagedefinition.html): The description of the message definition 4977* [NamingSystem](namingsystem.html): The description of the naming system 4978* [OperationDefinition](operationdefinition.html): The description of the operation definition 4979* [SearchParameter](searchparameter.html): The description of the search parameter 4980* [StructureDefinition](structuredefinition.html): The description of the structure definition 4981* [StructureMap](structuremap.html): The description of the structure map 4982* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 4983* [ValueSet](valueset.html): The description of the value set 4984</b><br> 4985 * Type: <b>string</b><br> 4986 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 4987 * </p> 4988 */ 4989 @SearchParamDefinition(name="description", path="CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The description of the capability statement\r\n* [CodeSystem](codesystem.html): The description of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition\r\n* [ConceptMap](conceptmap.html): The description of the concept map\r\n* [GraphDefinition](graphdefinition.html): The description of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The description of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The description of the message definition\r\n* [NamingSystem](namingsystem.html): The description of the naming system\r\n* [OperationDefinition](operationdefinition.html): The description of the operation definition\r\n* [SearchParameter](searchparameter.html): The description of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The description of the structure definition\r\n* [StructureMap](structuremap.html): The description of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities\r\n* [ValueSet](valueset.html): The description of the value set\r\n", type="string" ) 4990 public static final String SP_DESCRIPTION = "description"; 4991 /** 4992 * <b>Fluent Client</b> search parameter constant for <b>description</b> 4993 * <p> 4994 * Description: <b>Multiple Resources: 4995 4996* [CapabilityStatement](capabilitystatement.html): The description of the capability statement 4997* [CodeSystem](codesystem.html): The description of the code system 4998* [CompartmentDefinition](compartmentdefinition.html): The description of the compartment definition 4999* [ConceptMap](conceptmap.html): The description of the concept map 5000* [GraphDefinition](graphdefinition.html): The description of the graph definition 5001* [ImplementationGuide](implementationguide.html): The description of the implementation guide 5002* [MessageDefinition](messagedefinition.html): The description of the message definition 5003* [NamingSystem](namingsystem.html): The description of the naming system 5004* [OperationDefinition](operationdefinition.html): The description of the operation definition 5005* [SearchParameter](searchparameter.html): The description of the search parameter 5006* [StructureDefinition](structuredefinition.html): The description of the structure definition 5007* [StructureMap](structuremap.html): The description of the structure map 5008* [TerminologyCapabilities](terminologycapabilities.html): The description of the terminology capabilities 5009* [ValueSet](valueset.html): The description of the value set 5010</b><br> 5011 * Type: <b>string</b><br> 5012 * Path: <b>CapabilityStatement.description | CodeSystem.description | CompartmentDefinition.description | ConceptMap.description | GraphDefinition.description | ImplementationGuide.description | MessageDefinition.description | NamingSystem.description | OperationDefinition.description | SearchParameter.description | StructureDefinition.description | StructureMap.description | TerminologyCapabilities.description | ValueSet.description</b><br> 5013 * </p> 5014 */ 5015 public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); 5016 5017 /** 5018 * Search parameter: <b>identifier</b> 5019 * <p> 5020 * Description: <b>Multiple Resources: 5021 5022* [CodeSystem](codesystem.html): External identifier for the code system 5023* [ConceptMap](conceptmap.html): External identifier for the concept map 5024* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5025* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5026* [StructureMap](structuremap.html): External identifier for the structure map 5027* [ValueSet](valueset.html): External identifier for the value set 5028</b><br> 5029 * Type: <b>token</b><br> 5030 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 5031 * </p> 5032 */ 5033 @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) 5034 public static final String SP_IDENTIFIER = "identifier"; 5035 /** 5036 * <b>Fluent Client</b> search parameter constant for <b>identifier</b> 5037 * <p> 5038 * Description: <b>Multiple Resources: 5039 5040* [CodeSystem](codesystem.html): External identifier for the code system 5041* [ConceptMap](conceptmap.html): External identifier for the concept map 5042* [MessageDefinition](messagedefinition.html): External identifier for the message definition 5043* [StructureDefinition](structuredefinition.html): External identifier for the structure definition 5044* [StructureMap](structuremap.html): External identifier for the structure map 5045* [ValueSet](valueset.html): External identifier for the value set 5046</b><br> 5047 * Type: <b>token</b><br> 5048 * Path: <b>CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | ValueSet.identifier</b><br> 5049 * </p> 5050 */ 5051 public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); 5052 5053 /** 5054 * Search parameter: <b>jurisdiction</b> 5055 * <p> 5056 * Description: <b>Multiple Resources: 5057 5058* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5059* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5060* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5061* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5062* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5063* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5064* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5065* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5066* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5067* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5068* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5069* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5070* [ValueSet](valueset.html): Intended jurisdiction for the value set 5071</b><br> 5072 * Type: <b>token</b><br> 5073 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5074 * </p> 5075 */ 5076 @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement\r\n* [CodeSystem](codesystem.html): Intended jurisdiction for the code system\r\n* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map\r\n* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition\r\n* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition\r\n* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system\r\n* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition\r\n* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter\r\n* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition\r\n* [StructureMap](structuremap.html): Intended jurisdiction for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities\r\n* [ValueSet](valueset.html): Intended jurisdiction for the value set\r\n", type="token" ) 5077 public static final String SP_JURISDICTION = "jurisdiction"; 5078 /** 5079 * <b>Fluent Client</b> search parameter constant for <b>jurisdiction</b> 5080 * <p> 5081 * Description: <b>Multiple Resources: 5082 5083* [CapabilityStatement](capabilitystatement.html): Intended jurisdiction for the capability statement 5084* [CodeSystem](codesystem.html): Intended jurisdiction for the code system 5085* [ConceptMap](conceptmap.html): Intended jurisdiction for the concept map 5086* [GraphDefinition](graphdefinition.html): Intended jurisdiction for the graph definition 5087* [ImplementationGuide](implementationguide.html): Intended jurisdiction for the implementation guide 5088* [MessageDefinition](messagedefinition.html): Intended jurisdiction for the message definition 5089* [NamingSystem](namingsystem.html): Intended jurisdiction for the naming system 5090* [OperationDefinition](operationdefinition.html): Intended jurisdiction for the operation definition 5091* [SearchParameter](searchparameter.html): Intended jurisdiction for the search parameter 5092* [StructureDefinition](structuredefinition.html): Intended jurisdiction for the structure definition 5093* [StructureMap](structuremap.html): Intended jurisdiction for the structure map 5094* [TerminologyCapabilities](terminologycapabilities.html): Intended jurisdiction for the terminology capabilities 5095* [ValueSet](valueset.html): Intended jurisdiction for the value set 5096</b><br> 5097 * Type: <b>token</b><br> 5098 * Path: <b>CapabilityStatement.jurisdiction | CodeSystem.jurisdiction | ConceptMap.jurisdiction | GraphDefinition.jurisdiction | ImplementationGuide.jurisdiction | MessageDefinition.jurisdiction | NamingSystem.jurisdiction | OperationDefinition.jurisdiction | SearchParameter.jurisdiction | StructureDefinition.jurisdiction | StructureMap.jurisdiction | TerminologyCapabilities.jurisdiction | ValueSet.jurisdiction</b><br> 5099 * </p> 5100 */ 5101 public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); 5102 5103 /** 5104 * Search parameter: <b>name</b> 5105 * <p> 5106 * Description: <b>Multiple Resources: 5107 5108* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5109* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5110* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5111* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5112* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5113* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5114* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5115* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5116* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5117* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5118* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5119* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5120* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5121* [ValueSet](valueset.html): Computationally friendly name of the value set 5122</b><br> 5123 * Type: <b>string</b><br> 5124 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5125 * </p> 5126 */ 5127 @SearchParamDefinition(name="name", path="CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): Computationally friendly name of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition\r\n* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map\r\n* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition\r\n* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system\r\n* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition\r\n* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition\r\n* [StructureMap](structuremap.html): Computationally friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): Computationally friendly name of the value set\r\n", type="string" ) 5128 public static final String SP_NAME = "name"; 5129 /** 5130 * <b>Fluent Client</b> search parameter constant for <b>name</b> 5131 * <p> 5132 * Description: <b>Multiple Resources: 5133 5134* [CapabilityStatement](capabilitystatement.html): Computationally friendly name of the capability statement 5135* [CodeSystem](codesystem.html): Computationally friendly name of the code system 5136* [CompartmentDefinition](compartmentdefinition.html): Computationally friendly name of the compartment definition 5137* [ConceptMap](conceptmap.html): Computationally friendly name of the concept map 5138* [GraphDefinition](graphdefinition.html): Computationally friendly name of the graph definition 5139* [ImplementationGuide](implementationguide.html): Computationally friendly name of the implementation guide 5140* [MessageDefinition](messagedefinition.html): Computationally friendly name of the message definition 5141* [NamingSystem](namingsystem.html): Computationally friendly name of the naming system 5142* [OperationDefinition](operationdefinition.html): Computationally friendly name of the operation definition 5143* [SearchParameter](searchparameter.html): Computationally friendly name of the search parameter 5144* [StructureDefinition](structuredefinition.html): Computationally friendly name of the structure definition 5145* [StructureMap](structuremap.html): Computationally friendly name of the structure map 5146* [TerminologyCapabilities](terminologycapabilities.html): Computationally friendly name of the terminology capabilities 5147* [ValueSet](valueset.html): Computationally friendly name of the value set 5148</b><br> 5149 * Type: <b>string</b><br> 5150 * Path: <b>CapabilityStatement.name | CodeSystem.name | CompartmentDefinition.name | ConceptMap.name | GraphDefinition.name | ImplementationGuide.name | MessageDefinition.name | NamingSystem.name | OperationDefinition.name | SearchParameter.name | StructureDefinition.name | StructureMap.name | TerminologyCapabilities.name | ValueSet.name</b><br> 5151 * </p> 5152 */ 5153 public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); 5154 5155 /** 5156 * Search parameter: <b>publisher</b> 5157 * <p> 5158 * Description: <b>Multiple Resources: 5159 5160* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5161* [CodeSystem](codesystem.html): Name of the publisher of the code system 5162* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5163* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5164* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5165* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5166* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5167* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5168* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5169* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5170* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5171* [StructureMap](structuremap.html): Name of the publisher of the structure map 5172* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5173* [ValueSet](valueset.html): Name of the publisher of the value set 5174</b><br> 5175 * Type: <b>string</b><br> 5176 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5177 * </p> 5178 */ 5179 @SearchParamDefinition(name="publisher", path="CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement\r\n* [CodeSystem](codesystem.html): Name of the publisher of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition\r\n* [ConceptMap](conceptmap.html): Name of the publisher of the concept map\r\n* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition\r\n* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition\r\n* [NamingSystem](namingsystem.html): Name of the publisher of the naming system\r\n* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition\r\n* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter\r\n* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition\r\n* [StructureMap](structuremap.html): Name of the publisher of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities\r\n* [ValueSet](valueset.html): Name of the publisher of the value set\r\n", type="string" ) 5180 public static final String SP_PUBLISHER = "publisher"; 5181 /** 5182 * <b>Fluent Client</b> search parameter constant for <b>publisher</b> 5183 * <p> 5184 * Description: <b>Multiple Resources: 5185 5186* [CapabilityStatement](capabilitystatement.html): Name of the publisher of the capability statement 5187* [CodeSystem](codesystem.html): Name of the publisher of the code system 5188* [CompartmentDefinition](compartmentdefinition.html): Name of the publisher of the compartment definition 5189* [ConceptMap](conceptmap.html): Name of the publisher of the concept map 5190* [GraphDefinition](graphdefinition.html): Name of the publisher of the graph definition 5191* [ImplementationGuide](implementationguide.html): Name of the publisher of the implementation guide 5192* [MessageDefinition](messagedefinition.html): Name of the publisher of the message definition 5193* [NamingSystem](namingsystem.html): Name of the publisher of the naming system 5194* [OperationDefinition](operationdefinition.html): Name of the publisher of the operation definition 5195* [SearchParameter](searchparameter.html): Name of the publisher of the search parameter 5196* [StructureDefinition](structuredefinition.html): Name of the publisher of the structure definition 5197* [StructureMap](structuremap.html): Name of the publisher of the structure map 5198* [TerminologyCapabilities](terminologycapabilities.html): Name of the publisher of the terminology capabilities 5199* [ValueSet](valueset.html): Name of the publisher of the value set 5200</b><br> 5201 * Type: <b>string</b><br> 5202 * Path: <b>CapabilityStatement.publisher | CodeSystem.publisher | CompartmentDefinition.publisher | ConceptMap.publisher | GraphDefinition.publisher | ImplementationGuide.publisher | MessageDefinition.publisher | NamingSystem.publisher | OperationDefinition.publisher | SearchParameter.publisher | StructureDefinition.publisher | StructureMap.publisher | TerminologyCapabilities.publisher | ValueSet.publisher</b><br> 5203 * </p> 5204 */ 5205 public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); 5206 5207 /** 5208 * Search parameter: <b>status</b> 5209 * <p> 5210 * Description: <b>Multiple Resources: 5211 5212* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5213* [CodeSystem](codesystem.html): The current status of the code system 5214* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5215* [ConceptMap](conceptmap.html): The current status of the concept map 5216* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5217* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5218* [MessageDefinition](messagedefinition.html): The current status of the message definition 5219* [NamingSystem](namingsystem.html): The current status of the naming system 5220* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5221* [SearchParameter](searchparameter.html): The current status of the search parameter 5222* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5223* [StructureMap](structuremap.html): The current status of the structure map 5224* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5225* [ValueSet](valueset.html): The current status of the value set 5226</b><br> 5227 * Type: <b>token</b><br> 5228 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5229 * </p> 5230 */ 5231 @SearchParamDefinition(name="status", path="CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement\r\n* [CodeSystem](codesystem.html): The current status of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition\r\n* [ConceptMap](conceptmap.html): The current status of the concept map\r\n* [GraphDefinition](graphdefinition.html): The current status of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The current status of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The current status of the message definition\r\n* [NamingSystem](namingsystem.html): The current status of the naming system\r\n* [OperationDefinition](operationdefinition.html): The current status of the operation definition\r\n* [SearchParameter](searchparameter.html): The current status of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The current status of the structure definition\r\n* [StructureMap](structuremap.html): The current status of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities\r\n* [ValueSet](valueset.html): The current status of the value set\r\n", type="token" ) 5232 public static final String SP_STATUS = "status"; 5233 /** 5234 * <b>Fluent Client</b> search parameter constant for <b>status</b> 5235 * <p> 5236 * Description: <b>Multiple Resources: 5237 5238* [CapabilityStatement](capabilitystatement.html): The current status of the capability statement 5239* [CodeSystem](codesystem.html): The current status of the code system 5240* [CompartmentDefinition](compartmentdefinition.html): The current status of the compartment definition 5241* [ConceptMap](conceptmap.html): The current status of the concept map 5242* [GraphDefinition](graphdefinition.html): The current status of the graph definition 5243* [ImplementationGuide](implementationguide.html): The current status of the implementation guide 5244* [MessageDefinition](messagedefinition.html): The current status of the message definition 5245* [NamingSystem](namingsystem.html): The current status of the naming system 5246* [OperationDefinition](operationdefinition.html): The current status of the operation definition 5247* [SearchParameter](searchparameter.html): The current status of the search parameter 5248* [StructureDefinition](structuredefinition.html): The current status of the structure definition 5249* [StructureMap](structuremap.html): The current status of the structure map 5250* [TerminologyCapabilities](terminologycapabilities.html): The current status of the terminology capabilities 5251* [ValueSet](valueset.html): The current status of the value set 5252</b><br> 5253 * Type: <b>token</b><br> 5254 * Path: <b>CapabilityStatement.status | CodeSystem.status | CompartmentDefinition.status | ConceptMap.status | GraphDefinition.status | ImplementationGuide.status | MessageDefinition.status | NamingSystem.status | OperationDefinition.status | SearchParameter.status | StructureDefinition.status | StructureMap.status | TerminologyCapabilities.status | ValueSet.status</b><br> 5255 * </p> 5256 */ 5257 public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); 5258 5259 /** 5260 * Search parameter: <b>title</b> 5261 * <p> 5262 * Description: <b>Multiple Resources: 5263 5264* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5265* [CodeSystem](codesystem.html): The human-friendly name of the code system 5266* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5267* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5268* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5269* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5270* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5271* [StructureMap](structuremap.html): The human-friendly name of the structure map 5272* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5273* [ValueSet](valueset.html): The human-friendly name of the value set 5274</b><br> 5275 * Type: <b>string</b><br> 5276 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5277 * </p> 5278 */ 5279 @SearchParamDefinition(name="title", path="CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement\r\n* [CodeSystem](codesystem.html): The human-friendly name of the code system\r\n* [ConceptMap](conceptmap.html): The human-friendly name of the concept map\r\n* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition\r\n* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition\r\n* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition\r\n* [StructureMap](structuremap.html): The human-friendly name of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities\r\n* [ValueSet](valueset.html): The human-friendly name of the value set\r\n", type="string" ) 5280 public static final String SP_TITLE = "title"; 5281 /** 5282 * <b>Fluent Client</b> search parameter constant for <b>title</b> 5283 * <p> 5284 * Description: <b>Multiple Resources: 5285 5286* [CapabilityStatement](capabilitystatement.html): The human-friendly name of the capability statement 5287* [CodeSystem](codesystem.html): The human-friendly name of the code system 5288* [ConceptMap](conceptmap.html): The human-friendly name of the concept map 5289* [ImplementationGuide](implementationguide.html): The human-friendly name of the implementation guide 5290* [MessageDefinition](messagedefinition.html): The human-friendly name of the message definition 5291* [OperationDefinition](operationdefinition.html): The human-friendly name of the operation definition 5292* [StructureDefinition](structuredefinition.html): The human-friendly name of the structure definition 5293* [StructureMap](structuremap.html): The human-friendly name of the structure map 5294* [TerminologyCapabilities](terminologycapabilities.html): The human-friendly name of the terminology capabilities 5295* [ValueSet](valueset.html): The human-friendly name of the value set 5296</b><br> 5297 * Type: <b>string</b><br> 5298 * Path: <b>CapabilityStatement.title | CodeSystem.title | ConceptMap.title | ImplementationGuide.title | MessageDefinition.title | OperationDefinition.title | StructureDefinition.title | StructureMap.title | TerminologyCapabilities.title | ValueSet.title</b><br> 5299 * </p> 5300 */ 5301 public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); 5302 5303 /** 5304 * Search parameter: <b>url</b> 5305 * <p> 5306 * Description: <b>Multiple Resources: 5307 5308* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5309* [CodeSystem](codesystem.html): The uri that identifies the code system 5310* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5311* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5312* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5313* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5314* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5315* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5316* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5317* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5318* [StructureMap](structuremap.html): The uri that identifies the structure map 5319* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5320* [ValueSet](valueset.html): The uri that identifies the value set 5321</b><br> 5322 * Type: <b>uri</b><br> 5323 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5324 * </p> 5325 */ 5326 @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) 5327 public static final String SP_URL = "url"; 5328 /** 5329 * <b>Fluent Client</b> search parameter constant for <b>url</b> 5330 * <p> 5331 * Description: <b>Multiple Resources: 5332 5333* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement 5334* [CodeSystem](codesystem.html): The uri that identifies the code system 5335* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition 5336* [ConceptMap](conceptmap.html): The uri that identifies the concept map 5337* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition 5338* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide 5339* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition 5340* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition 5341* [SearchParameter](searchparameter.html): The uri that identifies the search parameter 5342* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition 5343* [StructureMap](structuremap.html): The uri that identifies the structure map 5344* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities 5345* [ValueSet](valueset.html): The uri that identifies the value set 5346</b><br> 5347 * Type: <b>uri</b><br> 5348 * Path: <b>CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url</b><br> 5349 * </p> 5350 */ 5351 public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); 5352 5353 /** 5354 * Search parameter: <b>version</b> 5355 * <p> 5356 * Description: <b>Multiple Resources: 5357 5358* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5359* [CodeSystem](codesystem.html): The business version of the code system 5360* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5361* [ConceptMap](conceptmap.html): The business version of the concept map 5362* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5363* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5364* [MessageDefinition](messagedefinition.html): The business version of the message definition 5365* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5366* [SearchParameter](searchparameter.html): The business version of the search parameter 5367* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5368* [StructureMap](structuremap.html): The business version of the structure map 5369* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5370* [ValueSet](valueset.html): The business version of the value set 5371</b><br> 5372 * Type: <b>token</b><br> 5373 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5374 * </p> 5375 */ 5376 @SearchParamDefinition(name="version", path="CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement\r\n* [CodeSystem](codesystem.html): The business version of the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition\r\n* [ConceptMap](conceptmap.html): The business version of the concept map\r\n* [GraphDefinition](graphdefinition.html): The business version of the graph definition\r\n* [ImplementationGuide](implementationguide.html): The business version of the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The business version of the message definition\r\n* [OperationDefinition](operationdefinition.html): The business version of the operation definition\r\n* [SearchParameter](searchparameter.html): The business version of the search parameter\r\n* [StructureDefinition](structuredefinition.html): The business version of the structure definition\r\n* [StructureMap](structuremap.html): The business version of the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities\r\n* [ValueSet](valueset.html): The business version of the value set\r\n", type="token" ) 5377 public static final String SP_VERSION = "version"; 5378 /** 5379 * <b>Fluent Client</b> search parameter constant for <b>version</b> 5380 * <p> 5381 * Description: <b>Multiple Resources: 5382 5383* [CapabilityStatement](capabilitystatement.html): The business version of the capability statement 5384* [CodeSystem](codesystem.html): The business version of the code system 5385* [CompartmentDefinition](compartmentdefinition.html): The business version of the compartment definition 5386* [ConceptMap](conceptmap.html): The business version of the concept map 5387* [GraphDefinition](graphdefinition.html): The business version of the graph definition 5388* [ImplementationGuide](implementationguide.html): The business version of the implementation guide 5389* [MessageDefinition](messagedefinition.html): The business version of the message definition 5390* [OperationDefinition](operationdefinition.html): The business version of the operation definition 5391* [SearchParameter](searchparameter.html): The business version of the search parameter 5392* [StructureDefinition](structuredefinition.html): The business version of the structure definition 5393* [StructureMap](structuremap.html): The business version of the structure map 5394* [TerminologyCapabilities](terminologycapabilities.html): The business version of the terminology capabilities 5395* [ValueSet](valueset.html): The business version of the value set 5396</b><br> 5397 * Type: <b>token</b><br> 5398 * Path: <b>CapabilityStatement.version | CodeSystem.version | CompartmentDefinition.version | ConceptMap.version | GraphDefinition.version | ImplementationGuide.version | MessageDefinition.version | OperationDefinition.version | SearchParameter.version | StructureDefinition.version | StructureMap.version | TerminologyCapabilities.version | ValueSet.version</b><br> 5399 * </p> 5400 */ 5401 public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); 5402 5403// Manual code (from Configuration.txt): 5404public PropertyComponent getProperty(String code) { 5405 for (PropertyComponent pd : getProperty()) { 5406 if (pd.getCode().equalsIgnoreCase(code)) 5407 return pd; 5408 } 5409 return null; 5410 } 5411 5412 public ConceptDefinitionComponent getDefinitionByCode(String code) { 5413 return getDefinitionByCode(getConcept(), code); 5414 } 5415 5416 private ConceptDefinitionComponent getDefinitionByCode(List<ConceptDefinitionComponent> list, String code) { 5417 for (ConceptDefinitionComponent t : list) { 5418 if (code.equals(t.getCode())) { 5419 return t; 5420 } 5421 ConceptDefinitionComponent cc = getDefinitionByCode(t.getConcept(), code); 5422 if (cc != null) { 5423 return cc; 5424 } 5425 } 5426 return null; 5427 } 5428// end addition 5429 5430} 5431