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