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