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