001package org.hl7.fhir.dstu2.model; 002 003/* 004 Copyright (c) 2011+, HL7, Inc. 005 All rights reserved. 006 007 Redistribution and use in source and binary forms, with or without modification, 008 are permitted provided that the following conditions are met: 009 010 * Redistributions of source code must retain the above copyright notice, this 011 list of conditions and the following disclaimer. 012 * Redistributions in binary form must reproduce the above copyright notice, 013 this list of conditions and the following disclaimer in the documentation 014 and/or other materials provided with the distribution. 015 * Neither the name of HL7 nor the names of its contributors may be used to 016 endorse or promote products derived from this software without specific 017 prior written permission. 018 019 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 020 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 021 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 022 IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 023 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 024 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 025 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 026 WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 027 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 028 POSSIBILITY OF SUCH DAMAGE. 029 030 */ 031 032import org.hl7.fhir.exceptions.FHIRException; 033 034public class Enumerations { 035 036// In here: 037// AdministrativeGender: The gender of a person used for administrative purposes. 038// AgeUnits: A valueSet of UCUM codes for representing age value units. 039// BindingStrength: Indication of the degree of conformance expectations associated with a binding. 040// ConceptMapEquivalence: The degree of equivalence between concepts. 041// ConformanceResourceStatus: The lifecycle status of a Value Set or Concept Map. 042// DataAbsentReason: Used to specify why the normally expected content of the data element is missing. 043// DataType: The type of an element - one of the FHIR data types. 044// DocumentReferenceStatus: The status of the document reference. 045// FHIRDefinedType: Either a resource or a data type. 046// MessageEvent: One of the message events defined as part of FHIR. 047// NoteType: The presentation types of notes. 048// RemittanceOutcome: The outcome of the processing. 049// ResourceType: One of the resource types defined as part of FHIR. 050// SearchParamType: Data types allowed to be used for search parameters. 051// SpecialValues: A set of generally useful codes defined so they can be included in value sets. 052 053 public enum AdministrativeGender { 054 /** 055 * Male 056 */ 057 MALE, 058 /** 059 * Female 060 */ 061 FEMALE, 062 /** 063 * Other 064 */ 065 OTHER, 066 /** 067 * Unknown 068 */ 069 UNKNOWN, 070 /** 071 * added to help the parsers 072 */ 073 NULL; 074 075 public static AdministrativeGender fromCode(String codeString) throws FHIRException { 076 if (codeString == null || "".equals(codeString)) 077 return null; 078 if ("male".equals(codeString)) 079 return MALE; 080 if ("female".equals(codeString)) 081 return FEMALE; 082 if ("other".equals(codeString)) 083 return OTHER; 084 if ("unknown".equals(codeString)) 085 return UNKNOWN; 086 throw new FHIRException("Unknown AdministrativeGender code '" + codeString + "'"); 087 } 088 089 public String toCode() { 090 switch (this) { 091 case MALE: 092 return "male"; 093 case FEMALE: 094 return "female"; 095 case OTHER: 096 return "other"; 097 case UNKNOWN: 098 return "unknown"; 099 case NULL: 100 return null; 101 default: 102 return "?"; 103 } 104 } 105 106 public String getSystem() { 107 switch (this) { 108 case MALE: 109 return "http://hl7.org/fhir/administrative-gender"; 110 case FEMALE: 111 return "http://hl7.org/fhir/administrative-gender"; 112 case OTHER: 113 return "http://hl7.org/fhir/administrative-gender"; 114 case UNKNOWN: 115 return "http://hl7.org/fhir/administrative-gender"; 116 case NULL: 117 return null; 118 default: 119 return "?"; 120 } 121 } 122 123 public String getDefinition() { 124 switch (this) { 125 case MALE: 126 return "Male"; 127 case FEMALE: 128 return "Female"; 129 case OTHER: 130 return "Other"; 131 case UNKNOWN: 132 return "Unknown"; 133 case NULL: 134 return null; 135 default: 136 return "?"; 137 } 138 } 139 140 public String getDisplay() { 141 switch (this) { 142 case MALE: 143 return "Male"; 144 case FEMALE: 145 return "Female"; 146 case OTHER: 147 return "Other"; 148 case UNKNOWN: 149 return "Unknown"; 150 case NULL: 151 return null; 152 default: 153 return "?"; 154 } 155 } 156 } 157 158 public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> { 159 public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException { 160 if (codeString == null || "".equals(codeString)) 161 if (codeString == null || "".equals(codeString)) 162 return null; 163 if ("male".equals(codeString)) 164 return AdministrativeGender.MALE; 165 if ("female".equals(codeString)) 166 return AdministrativeGender.FEMALE; 167 if ("other".equals(codeString)) 168 return AdministrativeGender.OTHER; 169 if ("unknown".equals(codeString)) 170 return AdministrativeGender.UNKNOWN; 171 throw new IllegalArgumentException("Unknown AdministrativeGender code '" + codeString + "'"); 172 } 173 174 public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException { 175 if (code == null || code.isEmpty()) 176 return null; 177 String codeString = ((PrimitiveType) code).asStringValue(); 178 if (codeString == null || "".equals(codeString)) 179 return null; 180 if ("male".equals(codeString)) 181 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE); 182 if ("female".equals(codeString)) 183 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE); 184 if ("other".equals(codeString)) 185 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER); 186 if ("unknown".equals(codeString)) 187 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN); 188 throw new FHIRException("Unknown AdministrativeGender code '" + codeString + "'"); 189 } 190 191 public String toCode(AdministrativeGender code) 192 { 193 if (code == AdministrativeGender.NULL) 194 return null; 195 if (code == AdministrativeGender.MALE) 196 return "male"; 197 if (code == AdministrativeGender.FEMALE) 198 return "female"; 199 if (code == AdministrativeGender.OTHER) 200 return "other"; 201 if (code == AdministrativeGender.UNKNOWN) 202 return "unknown"; 203 return "?"; 204 } 205 } 206 207 public enum AgeUnits { 208 /** 209 * null 210 */ 211 MIN, 212 /** 213 * null 214 */ 215 H, 216 /** 217 * null 218 */ 219 D, 220 /** 221 * null 222 */ 223 WK, 224 /** 225 * null 226 */ 227 MO, 228 /** 229 * null 230 */ 231 A, 232 /** 233 * added to help the parsers 234 */ 235 NULL; 236 237 public static AgeUnits fromCode(String codeString) throws FHIRException { 238 if (codeString == null || "".equals(codeString)) 239 return null; 240 if ("min".equals(codeString)) 241 return MIN; 242 if ("h".equals(codeString)) 243 return H; 244 if ("d".equals(codeString)) 245 return D; 246 if ("wk".equals(codeString)) 247 return WK; 248 if ("mo".equals(codeString)) 249 return MO; 250 if ("a".equals(codeString)) 251 return A; 252 throw new FHIRException("Unknown AgeUnits code '" + codeString + "'"); 253 } 254 255 public String toCode() { 256 switch (this) { 257 case MIN: 258 return "min"; 259 case H: 260 return "h"; 261 case D: 262 return "d"; 263 case WK: 264 return "wk"; 265 case MO: 266 return "mo"; 267 case A: 268 return "a"; 269 case NULL: 270 return null; 271 default: 272 return "?"; 273 } 274 } 275 276 public String getSystem() { 277 switch (this) { 278 case MIN: 279 return "http://unitsofmeasure.org"; 280 case H: 281 return "http://unitsofmeasure.org"; 282 case D: 283 return "http://unitsofmeasure.org"; 284 case WK: 285 return "http://unitsofmeasure.org"; 286 case MO: 287 return "http://unitsofmeasure.org"; 288 case A: 289 return "http://unitsofmeasure.org"; 290 case NULL: 291 return null; 292 default: 293 return "?"; 294 } 295 } 296 297 public String getDefinition() { 298 switch (this) { 299 case MIN: 300 return ""; 301 case H: 302 return ""; 303 case D: 304 return ""; 305 case WK: 306 return ""; 307 case MO: 308 return ""; 309 case A: 310 return ""; 311 case NULL: 312 return null; 313 default: 314 return "?"; 315 } 316 } 317 318 public String getDisplay() { 319 switch (this) { 320 case MIN: 321 return "Minute"; 322 case H: 323 return "Hour"; 324 case D: 325 return "Day"; 326 case WK: 327 return "Week"; 328 case MO: 329 return "Month"; 330 case A: 331 return "Year"; 332 case NULL: 333 return null; 334 default: 335 return "?"; 336 } 337 } 338 } 339 340 public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> { 341 public AgeUnits fromCode(String codeString) throws IllegalArgumentException { 342 if (codeString == null || "".equals(codeString)) 343 if (codeString == null || "".equals(codeString)) 344 return null; 345 if ("min".equals(codeString)) 346 return AgeUnits.MIN; 347 if ("h".equals(codeString)) 348 return AgeUnits.H; 349 if ("d".equals(codeString)) 350 return AgeUnits.D; 351 if ("wk".equals(codeString)) 352 return AgeUnits.WK; 353 if ("mo".equals(codeString)) 354 return AgeUnits.MO; 355 if ("a".equals(codeString)) 356 return AgeUnits.A; 357 throw new IllegalArgumentException("Unknown AgeUnits code '" + codeString + "'"); 358 } 359 360 public Enumeration<AgeUnits> fromType(Base code) throws FHIRException { 361 if (code == null || code.isEmpty()) 362 return null; 363 String codeString = ((PrimitiveType) code).asStringValue(); 364 if (codeString == null || "".equals(codeString)) 365 return null; 366 if ("min".equals(codeString)) 367 return new Enumeration<AgeUnits>(this, AgeUnits.MIN); 368 if ("h".equals(codeString)) 369 return new Enumeration<AgeUnits>(this, AgeUnits.H); 370 if ("d".equals(codeString)) 371 return new Enumeration<AgeUnits>(this, AgeUnits.D); 372 if ("wk".equals(codeString)) 373 return new Enumeration<AgeUnits>(this, AgeUnits.WK); 374 if ("mo".equals(codeString)) 375 return new Enumeration<AgeUnits>(this, AgeUnits.MO); 376 if ("a".equals(codeString)) 377 return new Enumeration<AgeUnits>(this, AgeUnits.A); 378 throw new FHIRException("Unknown AgeUnits code '" + codeString + "'"); 379 } 380 381 public String toCode(AgeUnits code) 382 { 383 if (code == AgeUnits.NULL) 384 return null; 385 if (code == AgeUnits.MIN) 386 return "min"; 387 if (code == AgeUnits.H) 388 return "h"; 389 if (code == AgeUnits.D) 390 return "d"; 391 if (code == AgeUnits.WK) 392 return "wk"; 393 if (code == AgeUnits.MO) 394 return "mo"; 395 if (code == AgeUnits.A) 396 return "a"; 397 return "?"; 398 } 399 } 400 401 public enum BindingStrength { 402 /** 403 * To be conformant, instances of this element SHALL include a code from the 404 * specified value set. 405 */ 406 REQUIRED, 407 /** 408 * To be conformant, instances of this element SHALL include a code from the 409 * specified value set if any of the codes within the value set can apply to the 410 * concept being communicated. If the valueset does not cover the concept (based 411 * on human review), alternate codings (or, data type allowing, text) may be 412 * included instead. 413 */ 414 EXTENSIBLE, 415 /** 416 * Instances are encouraged to draw from the specified codes for 417 * interoperability purposes but are not required to do so to be considered 418 * conformant. 419 */ 420 PREFERRED, 421 /** 422 * Instances are not expected or even encouraged to draw from the specified 423 * value set. The value set merely provides examples of the types of concepts 424 * intended to be included. 425 */ 426 EXAMPLE, 427 /** 428 * added to help the parsers 429 */ 430 NULL; 431 432 public static BindingStrength fromCode(String codeString) throws FHIRException { 433 if (codeString == null || "".equals(codeString)) 434 return null; 435 if ("required".equals(codeString)) 436 return REQUIRED; 437 if ("extensible".equals(codeString)) 438 return EXTENSIBLE; 439 if ("preferred".equals(codeString)) 440 return PREFERRED; 441 if ("example".equals(codeString)) 442 return EXAMPLE; 443 throw new FHIRException("Unknown BindingStrength code '" + codeString + "'"); 444 } 445 446 public String toCode() { 447 switch (this) { 448 case REQUIRED: 449 return "required"; 450 case EXTENSIBLE: 451 return "extensible"; 452 case PREFERRED: 453 return "preferred"; 454 case EXAMPLE: 455 return "example"; 456 case NULL: 457 return null; 458 default: 459 return "?"; 460 } 461 } 462 463 public String getSystem() { 464 switch (this) { 465 case REQUIRED: 466 return "http://hl7.org/fhir/binding-strength"; 467 case EXTENSIBLE: 468 return "http://hl7.org/fhir/binding-strength"; 469 case PREFERRED: 470 return "http://hl7.org/fhir/binding-strength"; 471 case EXAMPLE: 472 return "http://hl7.org/fhir/binding-strength"; 473 case NULL: 474 return null; 475 default: 476 return "?"; 477 } 478 } 479 480 public String getDefinition() { 481 switch (this) { 482 case REQUIRED: 483 return "To be conformant, instances of this element SHALL include a code from the specified value set."; 484 case EXTENSIBLE: 485 return "To be conformant, instances of this element SHALL include a code from the specified value set if any of the codes within the value set can apply to the concept being communicated. If the valueset does not cover the concept (based on human review), alternate codings (or, data type allowing, text) may be included instead."; 486 case PREFERRED: 487 return "Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant."; 488 case EXAMPLE: 489 return "Instances are not expected or even encouraged to draw from the specified value set. The value set merely provides examples of the types of concepts intended to be included."; 490 case NULL: 491 return null; 492 default: 493 return "?"; 494 } 495 } 496 497 public String getDisplay() { 498 switch (this) { 499 case REQUIRED: 500 return "Required"; 501 case EXTENSIBLE: 502 return "Extensible"; 503 case PREFERRED: 504 return "Preferred"; 505 case EXAMPLE: 506 return "Example"; 507 case NULL: 508 return null; 509 default: 510 return "?"; 511 } 512 } 513 } 514 515 public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> { 516 public BindingStrength fromCode(String codeString) throws IllegalArgumentException { 517 if (codeString == null || "".equals(codeString)) 518 if (codeString == null || "".equals(codeString)) 519 return null; 520 if ("required".equals(codeString)) 521 return BindingStrength.REQUIRED; 522 if ("extensible".equals(codeString)) 523 return BindingStrength.EXTENSIBLE; 524 if ("preferred".equals(codeString)) 525 return BindingStrength.PREFERRED; 526 if ("example".equals(codeString)) 527 return BindingStrength.EXAMPLE; 528 throw new IllegalArgumentException("Unknown BindingStrength code '" + codeString + "'"); 529 } 530 531 public Enumeration<BindingStrength> fromType(Base code) throws FHIRException { 532 if (code == null || code.isEmpty()) 533 return null; 534 String codeString = ((PrimitiveType) code).asStringValue(); 535 if (codeString == null || "".equals(codeString)) 536 return null; 537 if ("required".equals(codeString)) 538 return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED); 539 if ("extensible".equals(codeString)) 540 return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE); 541 if ("preferred".equals(codeString)) 542 return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED); 543 if ("example".equals(codeString)) 544 return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE); 545 throw new FHIRException("Unknown BindingStrength code '" + codeString + "'"); 546 } 547 548 public String toCode(BindingStrength code) 549 { 550 if (code == BindingStrength.NULL) 551 return null; 552 if (code == BindingStrength.REQUIRED) 553 return "required"; 554 if (code == BindingStrength.EXTENSIBLE) 555 return "extensible"; 556 if (code == BindingStrength.PREFERRED) 557 return "preferred"; 558 if (code == BindingStrength.EXAMPLE) 559 return "example"; 560 return "?"; 561 } 562 } 563 564 public enum ConceptMapEquivalence { 565 /** 566 * The definitions of the concepts mean the same thing (including when 567 * structural implications of meaning are considered) (i.e. extensionally 568 * identical). 569 */ 570 EQUIVALENT, 571 /** 572 * The definitions of the concepts are exactly the same (i.e. only grammatical 573 * differences) and structural implications of meaning are identical or 574 * irrelevant (i.e. intentionally identical). 575 */ 576 EQUAL, 577 /** 578 * The target mapping is wider in meaning than the source concept. 579 */ 580 WIDER, 581 /** 582 * The target mapping subsumes the meaning of the source concept (e.g. the 583 * source is-a target). 584 */ 585 SUBSUMES, 586 /** 587 * The target mapping is narrower in meaning that the source concept. The sense 588 * in which the mapping is narrower SHALL be described in the comments in this 589 * case, and applications should be careful when attempting to use these 590 * mappings operationally. 591 */ 592 NARROWER, 593 /** 594 * The target mapping specializes the meaning of the source concept (e.g. the 595 * target is-a source). 596 */ 597 SPECIALIZES, 598 /** 599 * The target mapping overlaps with the source concept, but both source and 600 * target cover additional meaning, or the definitions are imprecise and it is 601 * uncertain whether they have the same boundaries to their meaning. The sense 602 * in which the mapping is narrower SHALL be described in the comments in this 603 * case, and applications should be careful when attempting to use these 604 * mappings operationally. 605 */ 606 INEXACT, 607 /** 608 * There is no match for this concept in the destination concept system. 609 */ 610 UNMATCHED, 611 /** 612 * This is an explicit assertion that there is no mapping between the source and 613 * target concept. 614 */ 615 DISJOINT, 616 /** 617 * added to help the parsers 618 */ 619 NULL; 620 621 public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException { 622 if (codeString == null || "".equals(codeString)) 623 return null; 624 if ("equivalent".equals(codeString)) 625 return EQUIVALENT; 626 if ("equal".equals(codeString)) 627 return EQUAL; 628 if ("wider".equals(codeString)) 629 return WIDER; 630 if ("subsumes".equals(codeString)) 631 return SUBSUMES; 632 if ("narrower".equals(codeString)) 633 return NARROWER; 634 if ("specializes".equals(codeString)) 635 return SPECIALIZES; 636 if ("inexact".equals(codeString)) 637 return INEXACT; 638 if ("unmatched".equals(codeString)) 639 return UNMATCHED; 640 if ("disjoint".equals(codeString)) 641 return DISJOINT; 642 throw new FHIRException("Unknown ConceptMapEquivalence code '" + codeString + "'"); 643 } 644 645 public String toCode() { 646 switch (this) { 647 case EQUIVALENT: 648 return "equivalent"; 649 case EQUAL: 650 return "equal"; 651 case WIDER: 652 return "wider"; 653 case SUBSUMES: 654 return "subsumes"; 655 case NARROWER: 656 return "narrower"; 657 case SPECIALIZES: 658 return "specializes"; 659 case INEXACT: 660 return "inexact"; 661 case UNMATCHED: 662 return "unmatched"; 663 case DISJOINT: 664 return "disjoint"; 665 case NULL: 666 return null; 667 default: 668 return "?"; 669 } 670 } 671 672 public String getSystem() { 673 switch (this) { 674 case EQUIVALENT: 675 return "http://hl7.org/fhir/concept-map-equivalence"; 676 case EQUAL: 677 return "http://hl7.org/fhir/concept-map-equivalence"; 678 case WIDER: 679 return "http://hl7.org/fhir/concept-map-equivalence"; 680 case SUBSUMES: 681 return "http://hl7.org/fhir/concept-map-equivalence"; 682 case NARROWER: 683 return "http://hl7.org/fhir/concept-map-equivalence"; 684 case SPECIALIZES: 685 return "http://hl7.org/fhir/concept-map-equivalence"; 686 case INEXACT: 687 return "http://hl7.org/fhir/concept-map-equivalence"; 688 case UNMATCHED: 689 return "http://hl7.org/fhir/concept-map-equivalence"; 690 case DISJOINT: 691 return "http://hl7.org/fhir/concept-map-equivalence"; 692 case NULL: 693 return null; 694 default: 695 return "?"; 696 } 697 } 698 699 public String getDefinition() { 700 switch (this) { 701 case EQUIVALENT: 702 return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical)."; 703 case EQUAL: 704 return "The definitions of the concepts are exactly the same (i.e. only grammatical differences) and structural implications of meaning are identical or irrelevant (i.e. intentionally identical)."; 705 case WIDER: 706 return "The target mapping is wider in meaning than the source concept."; 707 case SUBSUMES: 708 return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target)."; 709 case NARROWER: 710 return "The target mapping is narrower in meaning that the source concept. The sense in which the mapping is narrower SHALL be described in the comments in this case, and applications should be careful when attempting to use these mappings operationally."; 711 case SPECIALIZES: 712 return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source)."; 713 case INEXACT: 714 return "The target mapping overlaps with the source concept, but both source and target cover additional meaning, or the definitions are imprecise and it is uncertain whether they have the same boundaries to their meaning. The sense in which the mapping is narrower SHALL be described in the comments in this case, and applications should be careful when attempting to use these mappings operationally."; 715 case UNMATCHED: 716 return "There is no match for this concept in the destination concept system."; 717 case DISJOINT: 718 return "This is an explicit assertion that there is no mapping between the source and target concept."; 719 case NULL: 720 return null; 721 default: 722 return "?"; 723 } 724 } 725 726 public String getDisplay() { 727 switch (this) { 728 case EQUIVALENT: 729 return "Equivalent"; 730 case EQUAL: 731 return "Equal"; 732 case WIDER: 733 return "Wider"; 734 case SUBSUMES: 735 return "Subsumes"; 736 case NARROWER: 737 return "Narrower"; 738 case SPECIALIZES: 739 return "Specializes"; 740 case INEXACT: 741 return "Inexact"; 742 case UNMATCHED: 743 return "Unmatched"; 744 case DISJOINT: 745 return "Disjoint"; 746 case NULL: 747 return null; 748 default: 749 return "?"; 750 } 751 } 752 } 753 754 public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> { 755 public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException { 756 if (codeString == null || "".equals(codeString)) 757 if (codeString == null || "".equals(codeString)) 758 return null; 759 if ("equivalent".equals(codeString)) 760 return ConceptMapEquivalence.EQUIVALENT; 761 if ("equal".equals(codeString)) 762 return ConceptMapEquivalence.EQUAL; 763 if ("wider".equals(codeString)) 764 return ConceptMapEquivalence.WIDER; 765 if ("subsumes".equals(codeString)) 766 return ConceptMapEquivalence.SUBSUMES; 767 if ("narrower".equals(codeString)) 768 return ConceptMapEquivalence.NARROWER; 769 if ("specializes".equals(codeString)) 770 return ConceptMapEquivalence.SPECIALIZES; 771 if ("inexact".equals(codeString)) 772 return ConceptMapEquivalence.INEXACT; 773 if ("unmatched".equals(codeString)) 774 return ConceptMapEquivalence.UNMATCHED; 775 if ("disjoint".equals(codeString)) 776 return ConceptMapEquivalence.DISJOINT; 777 throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '" + codeString + "'"); 778 } 779 780 public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException { 781 if (code == null || code.isEmpty()) 782 return null; 783 String codeString = ((PrimitiveType) code).asStringValue(); 784 if (codeString == null || "".equals(codeString)) 785 return null; 786 if ("equivalent".equals(codeString)) 787 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT); 788 if ("equal".equals(codeString)) 789 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL); 790 if ("wider".equals(codeString)) 791 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER); 792 if ("subsumes".equals(codeString)) 793 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES); 794 if ("narrower".equals(codeString)) 795 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER); 796 if ("specializes".equals(codeString)) 797 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES); 798 if ("inexact".equals(codeString)) 799 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT); 800 if ("unmatched".equals(codeString)) 801 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED); 802 if ("disjoint".equals(codeString)) 803 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT); 804 throw new FHIRException("Unknown ConceptMapEquivalence code '" + codeString + "'"); 805 } 806 807 public String toCode(ConceptMapEquivalence code) 808 { 809 if (code == ConceptMapEquivalence.NULL) 810 return null; 811 if (code == ConceptMapEquivalence.EQUIVALENT) 812 return "equivalent"; 813 if (code == ConceptMapEquivalence.EQUAL) 814 return "equal"; 815 if (code == ConceptMapEquivalence.WIDER) 816 return "wider"; 817 if (code == ConceptMapEquivalence.SUBSUMES) 818 return "subsumes"; 819 if (code == ConceptMapEquivalence.NARROWER) 820 return "narrower"; 821 if (code == ConceptMapEquivalence.SPECIALIZES) 822 return "specializes"; 823 if (code == ConceptMapEquivalence.INEXACT) 824 return "inexact"; 825 if (code == ConceptMapEquivalence.UNMATCHED) 826 return "unmatched"; 827 if (code == ConceptMapEquivalence.DISJOINT) 828 return "disjoint"; 829 return "?"; 830 } 831 } 832 833 public enum ConformanceResourceStatus { 834 /** 835 * This resource is still under development. 836 */ 837 DRAFT, 838 /** 839 * This resource is ready for normal use. 840 */ 841 ACTIVE, 842 /** 843 * This resource has been withdrawn or superseded and should no longer be used. 844 */ 845 RETIRED, 846 /** 847 * added to help the parsers 848 */ 849 NULL; 850 851 public static ConformanceResourceStatus fromCode(String codeString) throws FHIRException { 852 if (codeString == null || "".equals(codeString)) 853 return null; 854 if ("draft".equals(codeString)) 855 return DRAFT; 856 if ("active".equals(codeString)) 857 return ACTIVE; 858 if ("retired".equals(codeString)) 859 return RETIRED; 860 throw new FHIRException("Unknown ConformanceResourceStatus code '" + codeString + "'"); 861 } 862 863 public String toCode() { 864 switch (this) { 865 case DRAFT: 866 return "draft"; 867 case ACTIVE: 868 return "active"; 869 case RETIRED: 870 return "retired"; 871 case NULL: 872 return null; 873 default: 874 return "?"; 875 } 876 } 877 878 public String getSystem() { 879 switch (this) { 880 case DRAFT: 881 return "http://hl7.org/fhir/conformance-resource-status"; 882 case ACTIVE: 883 return "http://hl7.org/fhir/conformance-resource-status"; 884 case RETIRED: 885 return "http://hl7.org/fhir/conformance-resource-status"; 886 case NULL: 887 return null; 888 default: 889 return "?"; 890 } 891 } 892 893 public String getDefinition() { 894 switch (this) { 895 case DRAFT: 896 return "This resource is still under development."; 897 case ACTIVE: 898 return "This resource is ready for normal use."; 899 case RETIRED: 900 return "This resource has been withdrawn or superseded and should no longer be used."; 901 case NULL: 902 return null; 903 default: 904 return "?"; 905 } 906 } 907 908 public String getDisplay() { 909 switch (this) { 910 case DRAFT: 911 return "Draft"; 912 case ACTIVE: 913 return "Active"; 914 case RETIRED: 915 return "Retired"; 916 case NULL: 917 return null; 918 default: 919 return "?"; 920 } 921 } 922 } 923 924 public static class ConformanceResourceStatusEnumFactory implements EnumFactory<ConformanceResourceStatus> { 925 public ConformanceResourceStatus fromCode(String codeString) throws IllegalArgumentException { 926 if (codeString == null || "".equals(codeString)) 927 if (codeString == null || "".equals(codeString)) 928 return null; 929 if ("draft".equals(codeString)) 930 return ConformanceResourceStatus.DRAFT; 931 if ("active".equals(codeString)) 932 return ConformanceResourceStatus.ACTIVE; 933 if ("retired".equals(codeString)) 934 return ConformanceResourceStatus.RETIRED; 935 throw new IllegalArgumentException("Unknown ConformanceResourceStatus code '" + codeString + "'"); 936 } 937 938 public Enumeration<ConformanceResourceStatus> fromType(Base code) throws FHIRException { 939 if (code == null || code.isEmpty()) 940 return null; 941 String codeString = ((PrimitiveType) code).asStringValue(); 942 if (codeString == null || "".equals(codeString)) 943 return null; 944 if ("draft".equals(codeString)) 945 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.DRAFT); 946 if ("active".equals(codeString)) 947 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.ACTIVE); 948 if ("retired".equals(codeString)) 949 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.RETIRED); 950 throw new FHIRException("Unknown ConformanceResourceStatus code '" + codeString + "'"); 951 } 952 953 public String toCode(ConformanceResourceStatus code) 954 { 955 if (code == ConformanceResourceStatus.NULL) 956 return null; 957 if (code == ConformanceResourceStatus.DRAFT) 958 return "draft"; 959 if (code == ConformanceResourceStatus.ACTIVE) 960 return "active"; 961 if (code == ConformanceResourceStatus.RETIRED) 962 return "retired"; 963 return "?"; 964 } 965 } 966 967 public enum DataAbsentReason { 968 /** 969 * The value is not known. 970 */ 971 UNKNOWN, 972 /** 973 * The source human does not know the value. 974 */ 975 ASKED, 976 /** 977 * There is reason to expect (from the workflow) that the value may become 978 * known. 979 */ 980 TEMP, 981 /** 982 * The workflow didn't lead to this value being known. 983 */ 984 NOTASKED, 985 /** 986 * The information is not available due to security, privacy or related reasons. 987 */ 988 MASKED, 989 /** 990 * The source system wasn't capable of supporting this element. 991 */ 992 UNSUPPORTED, 993 /** 994 * The content of the data is represented in the resource narrative. 995 */ 996 ASTEXT, 997 /** 998 * Some system or workflow process error means that the information is not 999 * available. 1000 */ 1001 ERROR, 1002 /** 1003 * NaN, standing for not a number, is a numeric data type value representing an 1004 * undefined or unrepresentable value. 1005 */ 1006 NAN, 1007 /** 1008 * added to help the parsers 1009 */ 1010 NULL; 1011 1012 public static DataAbsentReason fromCode(String codeString) throws FHIRException { 1013 if (codeString == null || "".equals(codeString)) 1014 return null; 1015 if ("unknown".equals(codeString)) 1016 return UNKNOWN; 1017 if ("asked".equals(codeString)) 1018 return ASKED; 1019 if ("temp".equals(codeString)) 1020 return TEMP; 1021 if ("not-asked".equals(codeString)) 1022 return NOTASKED; 1023 if ("masked".equals(codeString)) 1024 return MASKED; 1025 if ("unsupported".equals(codeString)) 1026 return UNSUPPORTED; 1027 if ("astext".equals(codeString)) 1028 return ASTEXT; 1029 if ("error".equals(codeString)) 1030 return ERROR; 1031 if ("NaN".equals(codeString)) 1032 return NAN; 1033 throw new FHIRException("Unknown DataAbsentReason code '" + codeString + "'"); 1034 } 1035 1036 public String toCode() { 1037 switch (this) { 1038 case UNKNOWN: 1039 return "unknown"; 1040 case ASKED: 1041 return "asked"; 1042 case TEMP: 1043 return "temp"; 1044 case NOTASKED: 1045 return "not-asked"; 1046 case MASKED: 1047 return "masked"; 1048 case UNSUPPORTED: 1049 return "unsupported"; 1050 case ASTEXT: 1051 return "astext"; 1052 case ERROR: 1053 return "error"; 1054 case NAN: 1055 return "NaN"; 1056 case NULL: 1057 return null; 1058 default: 1059 return "?"; 1060 } 1061 } 1062 1063 public String getSystem() { 1064 switch (this) { 1065 case UNKNOWN: 1066 return "http://hl7.org/fhir/data-absent-reason"; 1067 case ASKED: 1068 return "http://hl7.org/fhir/data-absent-reason"; 1069 case TEMP: 1070 return "http://hl7.org/fhir/data-absent-reason"; 1071 case NOTASKED: 1072 return "http://hl7.org/fhir/data-absent-reason"; 1073 case MASKED: 1074 return "http://hl7.org/fhir/data-absent-reason"; 1075 case UNSUPPORTED: 1076 return "http://hl7.org/fhir/data-absent-reason"; 1077 case ASTEXT: 1078 return "http://hl7.org/fhir/data-absent-reason"; 1079 case ERROR: 1080 return "http://hl7.org/fhir/data-absent-reason"; 1081 case NAN: 1082 return "http://hl7.org/fhir/data-absent-reason"; 1083 case NULL: 1084 return null; 1085 default: 1086 return "?"; 1087 } 1088 } 1089 1090 public String getDefinition() { 1091 switch (this) { 1092 case UNKNOWN: 1093 return "The value is not known."; 1094 case ASKED: 1095 return "The source human does not know the value."; 1096 case TEMP: 1097 return "There is reason to expect (from the workflow) that the value may become known."; 1098 case NOTASKED: 1099 return "The workflow didn't lead to this value being known."; 1100 case MASKED: 1101 return "The information is not available due to security, privacy or related reasons."; 1102 case UNSUPPORTED: 1103 return "The source system wasn't capable of supporting this element."; 1104 case ASTEXT: 1105 return "The content of the data is represented in the resource narrative."; 1106 case ERROR: 1107 return "Some system or workflow process error means that the information is not available."; 1108 case NAN: 1109 return "NaN, standing for not a number, is a numeric data type value representing an undefined or unrepresentable value."; 1110 case NULL: 1111 return null; 1112 default: 1113 return "?"; 1114 } 1115 } 1116 1117 public String getDisplay() { 1118 switch (this) { 1119 case UNKNOWN: 1120 return "Unknown"; 1121 case ASKED: 1122 return "Asked"; 1123 case TEMP: 1124 return "Temp"; 1125 case NOTASKED: 1126 return "Not Asked"; 1127 case MASKED: 1128 return "Masked"; 1129 case UNSUPPORTED: 1130 return "Unsupported"; 1131 case ASTEXT: 1132 return "As Text"; 1133 case ERROR: 1134 return "Error"; 1135 case NAN: 1136 return "Not a Number"; 1137 case NULL: 1138 return null; 1139 default: 1140 return "?"; 1141 } 1142 } 1143 } 1144 1145 public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> { 1146 public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException { 1147 if (codeString == null || "".equals(codeString)) 1148 if (codeString == null || "".equals(codeString)) 1149 return null; 1150 if ("unknown".equals(codeString)) 1151 return DataAbsentReason.UNKNOWN; 1152 if ("asked".equals(codeString)) 1153 return DataAbsentReason.ASKED; 1154 if ("temp".equals(codeString)) 1155 return DataAbsentReason.TEMP; 1156 if ("not-asked".equals(codeString)) 1157 return DataAbsentReason.NOTASKED; 1158 if ("masked".equals(codeString)) 1159 return DataAbsentReason.MASKED; 1160 if ("unsupported".equals(codeString)) 1161 return DataAbsentReason.UNSUPPORTED; 1162 if ("astext".equals(codeString)) 1163 return DataAbsentReason.ASTEXT; 1164 if ("error".equals(codeString)) 1165 return DataAbsentReason.ERROR; 1166 if ("NaN".equals(codeString)) 1167 return DataAbsentReason.NAN; 1168 throw new IllegalArgumentException("Unknown DataAbsentReason code '" + codeString + "'"); 1169 } 1170 1171 public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException { 1172 if (code == null || code.isEmpty()) 1173 return null; 1174 String codeString = ((PrimitiveType) code).asStringValue(); 1175 if (codeString == null || "".equals(codeString)) 1176 return null; 1177 if ("unknown".equals(codeString)) 1178 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN); 1179 if ("asked".equals(codeString)) 1180 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKED); 1181 if ("temp".equals(codeString)) 1182 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMP); 1183 if ("not-asked".equals(codeString)) 1184 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED); 1185 if ("masked".equals(codeString)) 1186 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED); 1187 if ("unsupported".equals(codeString)) 1188 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED); 1189 if ("astext".equals(codeString)) 1190 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT); 1191 if ("error".equals(codeString)) 1192 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR); 1193 if ("NaN".equals(codeString)) 1194 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NAN); 1195 throw new FHIRException("Unknown DataAbsentReason code '" + codeString + "'"); 1196 } 1197 1198 public String toCode(DataAbsentReason code) 1199 { 1200 if (code == DataAbsentReason.NULL) 1201 return null; 1202 if (code == DataAbsentReason.UNKNOWN) 1203 return "unknown"; 1204 if (code == DataAbsentReason.ASKED) 1205 return "asked"; 1206 if (code == DataAbsentReason.TEMP) 1207 return "temp"; 1208 if (code == DataAbsentReason.NOTASKED) 1209 return "not-asked"; 1210 if (code == DataAbsentReason.MASKED) 1211 return "masked"; 1212 if (code == DataAbsentReason.UNSUPPORTED) 1213 return "unsupported"; 1214 if (code == DataAbsentReason.ASTEXT) 1215 return "astext"; 1216 if (code == DataAbsentReason.ERROR) 1217 return "error"; 1218 if (code == DataAbsentReason.NAN) 1219 return "NaN"; 1220 return "?"; 1221 } 1222 } 1223 1224 public enum DataType { 1225 /** 1226 * There is a variety of postal address formats defined around the world. This 1227 * format defines a superset that is the basis for all addresses around the 1228 * world. 1229 */ 1230 ADDRESS, 1231 /** 1232 * null 1233 */ 1234 AGE, 1235 /** 1236 * A text note which also contains information about who made the statement and 1237 * when. 1238 */ 1239 ANNOTATION, 1240 /** 1241 * For referring to data content defined in other formats. 1242 */ 1243 ATTACHMENT, 1244 /** 1245 * Base definition for all elements that are defined inside a resource - but not 1246 * those in a data type. 1247 */ 1248 BACKBONEELEMENT, 1249 /** 1250 * A concept that may be defined by a formal reference to a terminology or 1251 * ontology or may be provided by text. 1252 */ 1253 CODEABLECONCEPT, 1254 /** 1255 * A reference to a code defined by a terminology system. 1256 */ 1257 CODING, 1258 /** 1259 * Details for all kinds of technology mediated contact points for a person or 1260 * organization, including telephone, email, etc. 1261 */ 1262 CONTACTPOINT, 1263 /** 1264 * null 1265 */ 1266 COUNT, 1267 /** 1268 * null 1269 */ 1270 DISTANCE, 1271 /** 1272 * null 1273 */ 1274 DURATION, 1275 /** 1276 * Base definition for all elements in a resource. 1277 */ 1278 ELEMENT, 1279 /** 1280 * Captures constraints on each element within the resource, profile, or 1281 * extension. 1282 */ 1283 ELEMENTDEFINITION, 1284 /** 1285 * Optional Extensions Element - found in all resources. 1286 */ 1287 EXTENSION, 1288 /** 1289 * A human's name with the ability to identify parts and usage. 1290 */ 1291 HUMANNAME, 1292 /** 1293 * A technical identifier - identifies some entity uniquely and unambiguously. 1294 */ 1295 IDENTIFIER, 1296 /** 1297 * The metadata about a resource. This is content in the resource that is 1298 * maintained by the infrastructure. Changes to the content may not always be 1299 * associated with version changes to the resource. 1300 */ 1301 META, 1302 /** 1303 * null 1304 */ 1305 MONEY, 1306 /** 1307 * A human-readable formatted text, including images. 1308 */ 1309 NARRATIVE, 1310 /** 1311 * A time period defined by a start and end date and optionally time. 1312 */ 1313 PERIOD, 1314 /** 1315 * A measured amount (or an amount that can potentially be measured). Note that 1316 * measured amounts include amounts that are not precisely quantified, including 1317 * amounts involving arbitrary units and floating currencies. 1318 */ 1319 QUANTITY, 1320 /** 1321 * A set of ordered Quantities defined by a low and high limit. 1322 */ 1323 RANGE, 1324 /** 1325 * A relationship of two Quantity values - expressed as a numerator and a 1326 * denominator. 1327 */ 1328 RATIO, 1329 /** 1330 * A reference from one resource to another. 1331 */ 1332 REFERENCE, 1333 /** 1334 * A series of measurements taken by a device, with upper and lower limits. 1335 * There may be more than one dimension in the data. 1336 */ 1337 SAMPLEDDATA, 1338 /** 1339 * A digital signature along with supporting context. The signature may be 1340 * electronic/cryptographic in nature, or a graphical image representing a 1341 * hand-written signature, or a signature process. Different Signature 1342 * approaches have different utilities. 1343 */ 1344 SIGNATURE, 1345 /** 1346 * null 1347 */ 1348 SIMPLEQUANTITY, 1349 /** 1350 * Specifies an event that may occur multiple times. Timing schedules are used 1351 * to record when things are expected or requested to occur. The most common 1352 * usage is in dosage instructions for medications. They are also used when 1353 * planning care of various kinds. 1354 */ 1355 TIMING, 1356 /** 1357 * A stream of bytes 1358 */ 1359 BASE64BINARY, 1360 /** 1361 * Value of "true" or "false" 1362 */ 1363 BOOLEAN, 1364 /** 1365 * A string which has at least one character and no leading or trailing 1366 * whitespace and where there is no whitespace other than single spaces in the 1367 * contents 1368 */ 1369 CODE, 1370 /** 1371 * A date or partial date (e.g. just year or year + month). There is no time 1372 * zone. The format is a union of the schema types gYear, gYearMonth and date. 1373 * Dates SHALL be valid dates. 1374 */ 1375 DATE, 1376 /** 1377 * A date, date-time or partial date (e.g. just year or year + month). If hours 1378 * and minutes are specified, a time zone SHALL be populated. The format is a 1379 * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must 1380 * be provided due to schema type constraints but may be zero-filled and may be 1381 * ignored. Dates SHALL be valid dates. 1382 */ 1383 DATETIME, 1384 /** 1385 * A rational number with implicit precision 1386 */ 1387 DECIMAL, 1388 /** 1389 * Any combination of letters, numerals, "-" and ".", with a length limit of 64 1390 * characters. (This might be an integer, an unprefixed OID, UUID or any other 1391 * identifier pattern that meets these constraints.) Ids are case-insensitive. 1392 */ 1393 ID, 1394 /** 1395 * An instant in time - known at least to the second 1396 */ 1397 INSTANT, 1398 /** 1399 * A whole number 1400 */ 1401 INTEGER, 1402 /** 1403 * A string that may contain markdown syntax for optional processing by a mark 1404 * down presentation engine 1405 */ 1406 MARKDOWN, 1407 /** 1408 * An oid represented as a URI 1409 */ 1410 OID, 1411 /** 1412 * An integer with a value that is positive (e.g. >0) 1413 */ 1414 POSITIVEINT, 1415 /** 1416 * A sequence of Unicode characters 1417 */ 1418 STRING, 1419 /** 1420 * A time during the day, with no date specified 1421 */ 1422 TIME, 1423 /** 1424 * An integer with a value that is not negative (e.g. >= 0) 1425 */ 1426 UNSIGNEDINT, 1427 /** 1428 * String of characters used to identify a name or a resource 1429 */ 1430 URI, 1431 /** 1432 * A UUID, represented as a URI 1433 */ 1434 UUID, 1435 /** 1436 * XHTML format, as defined by W3C, but restricted usage (mainly, no active 1437 * content) 1438 */ 1439 XHTML, 1440 /** 1441 * added to help the parsers 1442 */ 1443 NULL; 1444 1445 public static DataType fromCode(String codeString) throws FHIRException { 1446 if (codeString == null || "".equals(codeString)) 1447 return null; 1448 if ("Address".equals(codeString)) 1449 return ADDRESS; 1450 if ("Age".equals(codeString)) 1451 return AGE; 1452 if ("Annotation".equals(codeString)) 1453 return ANNOTATION; 1454 if ("Attachment".equals(codeString)) 1455 return ATTACHMENT; 1456 if ("BackboneElement".equals(codeString)) 1457 return BACKBONEELEMENT; 1458 if ("CodeableConcept".equals(codeString)) 1459 return CODEABLECONCEPT; 1460 if ("Coding".equals(codeString)) 1461 return CODING; 1462 if ("ContactPoint".equals(codeString)) 1463 return CONTACTPOINT; 1464 if ("Count".equals(codeString)) 1465 return COUNT; 1466 if ("Distance".equals(codeString)) 1467 return DISTANCE; 1468 if ("Duration".equals(codeString)) 1469 return DURATION; 1470 if ("Element".equals(codeString)) 1471 return ELEMENT; 1472 if ("ElementDefinition".equals(codeString)) 1473 return ELEMENTDEFINITION; 1474 if ("Extension".equals(codeString)) 1475 return EXTENSION; 1476 if ("HumanName".equals(codeString)) 1477 return HUMANNAME; 1478 if ("Identifier".equals(codeString)) 1479 return IDENTIFIER; 1480 if ("Meta".equals(codeString)) 1481 return META; 1482 if ("Money".equals(codeString)) 1483 return MONEY; 1484 if ("Narrative".equals(codeString)) 1485 return NARRATIVE; 1486 if ("Period".equals(codeString)) 1487 return PERIOD; 1488 if ("Quantity".equals(codeString)) 1489 return QUANTITY; 1490 if ("Range".equals(codeString)) 1491 return RANGE; 1492 if ("Ratio".equals(codeString)) 1493 return RATIO; 1494 if ("Reference".equals(codeString)) 1495 return REFERENCE; 1496 if ("SampledData".equals(codeString)) 1497 return SAMPLEDDATA; 1498 if ("Signature".equals(codeString)) 1499 return SIGNATURE; 1500 if ("SimpleQuantity".equals(codeString)) 1501 return SIMPLEQUANTITY; 1502 if ("Timing".equals(codeString)) 1503 return TIMING; 1504 if ("base64Binary".equals(codeString)) 1505 return BASE64BINARY; 1506 if ("boolean".equals(codeString)) 1507 return BOOLEAN; 1508 if ("code".equals(codeString)) 1509 return CODE; 1510 if ("date".equals(codeString)) 1511 return DATE; 1512 if ("dateTime".equals(codeString)) 1513 return DATETIME; 1514 if ("decimal".equals(codeString)) 1515 return DECIMAL; 1516 if ("id".equals(codeString)) 1517 return ID; 1518 if ("instant".equals(codeString)) 1519 return INSTANT; 1520 if ("integer".equals(codeString)) 1521 return INTEGER; 1522 if ("markdown".equals(codeString)) 1523 return MARKDOWN; 1524 if ("oid".equals(codeString)) 1525 return OID; 1526 if ("positiveInt".equals(codeString)) 1527 return POSITIVEINT; 1528 if ("string".equals(codeString)) 1529 return STRING; 1530 if ("time".equals(codeString)) 1531 return TIME; 1532 if ("unsignedInt".equals(codeString)) 1533 return UNSIGNEDINT; 1534 if ("uri".equals(codeString)) 1535 return URI; 1536 if ("uuid".equals(codeString)) 1537 return UUID; 1538 if ("xhtml".equals(codeString)) 1539 return XHTML; 1540 throw new FHIRException("Unknown DataType code '" + codeString + "'"); 1541 } 1542 1543 public String toCode() { 1544 switch (this) { 1545 case ADDRESS: 1546 return "Address"; 1547 case AGE: 1548 return "Age"; 1549 case ANNOTATION: 1550 return "Annotation"; 1551 case ATTACHMENT: 1552 return "Attachment"; 1553 case BACKBONEELEMENT: 1554 return "BackboneElement"; 1555 case CODEABLECONCEPT: 1556 return "CodeableConcept"; 1557 case CODING: 1558 return "Coding"; 1559 case CONTACTPOINT: 1560 return "ContactPoint"; 1561 case COUNT: 1562 return "Count"; 1563 case DISTANCE: 1564 return "Distance"; 1565 case DURATION: 1566 return "Duration"; 1567 case ELEMENT: 1568 return "Element"; 1569 case ELEMENTDEFINITION: 1570 return "ElementDefinition"; 1571 case EXTENSION: 1572 return "Extension"; 1573 case HUMANNAME: 1574 return "HumanName"; 1575 case IDENTIFIER: 1576 return "Identifier"; 1577 case META: 1578 return "Meta"; 1579 case MONEY: 1580 return "Money"; 1581 case NARRATIVE: 1582 return "Narrative"; 1583 case PERIOD: 1584 return "Period"; 1585 case QUANTITY: 1586 return "Quantity"; 1587 case RANGE: 1588 return "Range"; 1589 case RATIO: 1590 return "Ratio"; 1591 case REFERENCE: 1592 return "Reference"; 1593 case SAMPLEDDATA: 1594 return "SampledData"; 1595 case SIGNATURE: 1596 return "Signature"; 1597 case SIMPLEQUANTITY: 1598 return "SimpleQuantity"; 1599 case TIMING: 1600 return "Timing"; 1601 case BASE64BINARY: 1602 return "base64Binary"; 1603 case BOOLEAN: 1604 return "boolean"; 1605 case CODE: 1606 return "code"; 1607 case DATE: 1608 return "date"; 1609 case DATETIME: 1610 return "dateTime"; 1611 case DECIMAL: 1612 return "decimal"; 1613 case ID: 1614 return "id"; 1615 case INSTANT: 1616 return "instant"; 1617 case INTEGER: 1618 return "integer"; 1619 case MARKDOWN: 1620 return "markdown"; 1621 case OID: 1622 return "oid"; 1623 case POSITIVEINT: 1624 return "positiveInt"; 1625 case STRING: 1626 return "string"; 1627 case TIME: 1628 return "time"; 1629 case UNSIGNEDINT: 1630 return "unsignedInt"; 1631 case URI: 1632 return "uri"; 1633 case UUID: 1634 return "uuid"; 1635 case XHTML: 1636 return "xhtml"; 1637 case NULL: 1638 return null; 1639 default: 1640 return "?"; 1641 } 1642 } 1643 1644 public String getSystem() { 1645 switch (this) { 1646 case ADDRESS: 1647 return "http://hl7.org/fhir/data-types"; 1648 case AGE: 1649 return "http://hl7.org/fhir/data-types"; 1650 case ANNOTATION: 1651 return "http://hl7.org/fhir/data-types"; 1652 case ATTACHMENT: 1653 return "http://hl7.org/fhir/data-types"; 1654 case BACKBONEELEMENT: 1655 return "http://hl7.org/fhir/data-types"; 1656 case CODEABLECONCEPT: 1657 return "http://hl7.org/fhir/data-types"; 1658 case CODING: 1659 return "http://hl7.org/fhir/data-types"; 1660 case CONTACTPOINT: 1661 return "http://hl7.org/fhir/data-types"; 1662 case COUNT: 1663 return "http://hl7.org/fhir/data-types"; 1664 case DISTANCE: 1665 return "http://hl7.org/fhir/data-types"; 1666 case DURATION: 1667 return "http://hl7.org/fhir/data-types"; 1668 case ELEMENT: 1669 return "http://hl7.org/fhir/data-types"; 1670 case ELEMENTDEFINITION: 1671 return "http://hl7.org/fhir/data-types"; 1672 case EXTENSION: 1673 return "http://hl7.org/fhir/data-types"; 1674 case HUMANNAME: 1675 return "http://hl7.org/fhir/data-types"; 1676 case IDENTIFIER: 1677 return "http://hl7.org/fhir/data-types"; 1678 case META: 1679 return "http://hl7.org/fhir/data-types"; 1680 case MONEY: 1681 return "http://hl7.org/fhir/data-types"; 1682 case NARRATIVE: 1683 return "http://hl7.org/fhir/data-types"; 1684 case PERIOD: 1685 return "http://hl7.org/fhir/data-types"; 1686 case QUANTITY: 1687 return "http://hl7.org/fhir/data-types"; 1688 case RANGE: 1689 return "http://hl7.org/fhir/data-types"; 1690 case RATIO: 1691 return "http://hl7.org/fhir/data-types"; 1692 case REFERENCE: 1693 return "http://hl7.org/fhir/data-types"; 1694 case SAMPLEDDATA: 1695 return "http://hl7.org/fhir/data-types"; 1696 case SIGNATURE: 1697 return "http://hl7.org/fhir/data-types"; 1698 case SIMPLEQUANTITY: 1699 return "http://hl7.org/fhir/data-types"; 1700 case TIMING: 1701 return "http://hl7.org/fhir/data-types"; 1702 case BASE64BINARY: 1703 return "http://hl7.org/fhir/data-types"; 1704 case BOOLEAN: 1705 return "http://hl7.org/fhir/data-types"; 1706 case CODE: 1707 return "http://hl7.org/fhir/data-types"; 1708 case DATE: 1709 return "http://hl7.org/fhir/data-types"; 1710 case DATETIME: 1711 return "http://hl7.org/fhir/data-types"; 1712 case DECIMAL: 1713 return "http://hl7.org/fhir/data-types"; 1714 case ID: 1715 return "http://hl7.org/fhir/data-types"; 1716 case INSTANT: 1717 return "http://hl7.org/fhir/data-types"; 1718 case INTEGER: 1719 return "http://hl7.org/fhir/data-types"; 1720 case MARKDOWN: 1721 return "http://hl7.org/fhir/data-types"; 1722 case OID: 1723 return "http://hl7.org/fhir/data-types"; 1724 case POSITIVEINT: 1725 return "http://hl7.org/fhir/data-types"; 1726 case STRING: 1727 return "http://hl7.org/fhir/data-types"; 1728 case TIME: 1729 return "http://hl7.org/fhir/data-types"; 1730 case UNSIGNEDINT: 1731 return "http://hl7.org/fhir/data-types"; 1732 case URI: 1733 return "http://hl7.org/fhir/data-types"; 1734 case UUID: 1735 return "http://hl7.org/fhir/data-types"; 1736 case XHTML: 1737 return "http://hl7.org/fhir/data-types"; 1738 case NULL: 1739 return null; 1740 default: 1741 return "?"; 1742 } 1743 } 1744 1745 public String getDefinition() { 1746 switch (this) { 1747 case ADDRESS: 1748 return "There is a variety of postal address formats defined around the world. This format defines a superset that is the basis for all addresses around the world."; 1749 case AGE: 1750 return ""; 1751 case ANNOTATION: 1752 return "A text note which also contains information about who made the statement and when."; 1753 case ATTACHMENT: 1754 return "For referring to data content defined in other formats."; 1755 case BACKBONEELEMENT: 1756 return "Base definition for all elements that are defined inside a resource - but not those in a data type."; 1757 case CODEABLECONCEPT: 1758 return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; 1759 case CODING: 1760 return "A reference to a code defined by a terminology system."; 1761 case CONTACTPOINT: 1762 return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; 1763 case COUNT: 1764 return ""; 1765 case DISTANCE: 1766 return ""; 1767 case DURATION: 1768 return ""; 1769 case ELEMENT: 1770 return "Base definition for all elements in a resource."; 1771 case ELEMENTDEFINITION: 1772 return "Captures constraints on each element within the resource, profile, or extension."; 1773 case EXTENSION: 1774 return "Optional Extensions Element - found in all resources."; 1775 case HUMANNAME: 1776 return "A human's name with the ability to identify parts and usage."; 1777 case IDENTIFIER: 1778 return "A technical identifier - identifies some entity uniquely and unambiguously."; 1779 case META: 1780 return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource."; 1781 case MONEY: 1782 return ""; 1783 case NARRATIVE: 1784 return "A human-readable formatted text, including images."; 1785 case PERIOD: 1786 return "A time period defined by a start and end date and optionally time."; 1787 case QUANTITY: 1788 return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; 1789 case RANGE: 1790 return "A set of ordered Quantities defined by a low and high limit."; 1791 case RATIO: 1792 return "A relationship of two Quantity values - expressed as a numerator and a denominator."; 1793 case REFERENCE: 1794 return "A reference from one resource to another."; 1795 case SAMPLEDDATA: 1796 return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; 1797 case SIGNATURE: 1798 return "A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different Signature approaches have different utilities."; 1799 case SIMPLEQUANTITY: 1800 return ""; 1801 case TIMING: 1802 return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds."; 1803 case BASE64BINARY: 1804 return "A stream of bytes"; 1805 case BOOLEAN: 1806 return "Value of \"true\" or \"false\""; 1807 case CODE: 1808 return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; 1809 case DATE: 1810 return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; 1811 case DATETIME: 1812 return "A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; 1813 case DECIMAL: 1814 return "A rational number with implicit precision"; 1815 case ID: 1816 return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; 1817 case INSTANT: 1818 return "An instant in time - known at least to the second"; 1819 case INTEGER: 1820 return "A whole number"; 1821 case MARKDOWN: 1822 return "A string that may contain markdown syntax for optional processing by a mark down presentation engine"; 1823 case OID: 1824 return "An oid represented as a URI"; 1825 case POSITIVEINT: 1826 return "An integer with a value that is positive (e.g. >0)"; 1827 case STRING: 1828 return "A sequence of Unicode characters"; 1829 case TIME: 1830 return "A time during the day, with no date specified"; 1831 case UNSIGNEDINT: 1832 return "An integer with a value that is not negative (e.g. >= 0)"; 1833 case URI: 1834 return "String of characters used to identify a name or a resource"; 1835 case UUID: 1836 return "A UUID, represented as a URI"; 1837 case XHTML: 1838 return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; 1839 case NULL: 1840 return null; 1841 default: 1842 return "?"; 1843 } 1844 } 1845 1846 public String getDisplay() { 1847 switch (this) { 1848 case ADDRESS: 1849 return "Address"; 1850 case AGE: 1851 return "Age"; 1852 case ANNOTATION: 1853 return "Annotation"; 1854 case ATTACHMENT: 1855 return "Attachment"; 1856 case BACKBONEELEMENT: 1857 return "BackboneElement"; 1858 case CODEABLECONCEPT: 1859 return "CodeableConcept"; 1860 case CODING: 1861 return "Coding"; 1862 case CONTACTPOINT: 1863 return "ContactPoint"; 1864 case COUNT: 1865 return "Count"; 1866 case DISTANCE: 1867 return "Distance"; 1868 case DURATION: 1869 return "Duration"; 1870 case ELEMENT: 1871 return "Element"; 1872 case ELEMENTDEFINITION: 1873 return "ElementDefinition"; 1874 case EXTENSION: 1875 return "Extension"; 1876 case HUMANNAME: 1877 return "HumanName"; 1878 case IDENTIFIER: 1879 return "Identifier"; 1880 case META: 1881 return "Meta"; 1882 case MONEY: 1883 return "Money"; 1884 case NARRATIVE: 1885 return "Narrative"; 1886 case PERIOD: 1887 return "Period"; 1888 case QUANTITY: 1889 return "Quantity"; 1890 case RANGE: 1891 return "Range"; 1892 case RATIO: 1893 return "Ratio"; 1894 case REFERENCE: 1895 return "Reference"; 1896 case SAMPLEDDATA: 1897 return "SampledData"; 1898 case SIGNATURE: 1899 return "Signature"; 1900 case SIMPLEQUANTITY: 1901 return "SimpleQuantity"; 1902 case TIMING: 1903 return "Timing"; 1904 case BASE64BINARY: 1905 return "base64Binary"; 1906 case BOOLEAN: 1907 return "boolean"; 1908 case CODE: 1909 return "code"; 1910 case DATE: 1911 return "date"; 1912 case DATETIME: 1913 return "dateTime"; 1914 case DECIMAL: 1915 return "decimal"; 1916 case ID: 1917 return "id"; 1918 case INSTANT: 1919 return "instant"; 1920 case INTEGER: 1921 return "integer"; 1922 case MARKDOWN: 1923 return "markdown"; 1924 case OID: 1925 return "oid"; 1926 case POSITIVEINT: 1927 return "positiveInt"; 1928 case STRING: 1929 return "string"; 1930 case TIME: 1931 return "time"; 1932 case UNSIGNEDINT: 1933 return "unsignedInt"; 1934 case URI: 1935 return "uri"; 1936 case UUID: 1937 return "uuid"; 1938 case XHTML: 1939 return "XHTML"; 1940 case NULL: 1941 return null; 1942 default: 1943 return "?"; 1944 } 1945 } 1946 } 1947 1948 public static class DataTypeEnumFactory implements EnumFactory<DataType> { 1949 public DataType fromCode(String codeString) throws IllegalArgumentException { 1950 if (codeString == null || "".equals(codeString)) 1951 if (codeString == null || "".equals(codeString)) 1952 return null; 1953 if ("Address".equals(codeString)) 1954 return DataType.ADDRESS; 1955 if ("Age".equals(codeString)) 1956 return DataType.AGE; 1957 if ("Annotation".equals(codeString)) 1958 return DataType.ANNOTATION; 1959 if ("Attachment".equals(codeString)) 1960 return DataType.ATTACHMENT; 1961 if ("BackboneElement".equals(codeString)) 1962 return DataType.BACKBONEELEMENT; 1963 if ("CodeableConcept".equals(codeString)) 1964 return DataType.CODEABLECONCEPT; 1965 if ("Coding".equals(codeString)) 1966 return DataType.CODING; 1967 if ("ContactPoint".equals(codeString)) 1968 return DataType.CONTACTPOINT; 1969 if ("Count".equals(codeString)) 1970 return DataType.COUNT; 1971 if ("Distance".equals(codeString)) 1972 return DataType.DISTANCE; 1973 if ("Duration".equals(codeString)) 1974 return DataType.DURATION; 1975 if ("Element".equals(codeString)) 1976 return DataType.ELEMENT; 1977 if ("ElementDefinition".equals(codeString)) 1978 return DataType.ELEMENTDEFINITION; 1979 if ("Extension".equals(codeString)) 1980 return DataType.EXTENSION; 1981 if ("HumanName".equals(codeString)) 1982 return DataType.HUMANNAME; 1983 if ("Identifier".equals(codeString)) 1984 return DataType.IDENTIFIER; 1985 if ("Meta".equals(codeString)) 1986 return DataType.META; 1987 if ("Money".equals(codeString)) 1988 return DataType.MONEY; 1989 if ("Narrative".equals(codeString)) 1990 return DataType.NARRATIVE; 1991 if ("Period".equals(codeString)) 1992 return DataType.PERIOD; 1993 if ("Quantity".equals(codeString)) 1994 return DataType.QUANTITY; 1995 if ("Range".equals(codeString)) 1996 return DataType.RANGE; 1997 if ("Ratio".equals(codeString)) 1998 return DataType.RATIO; 1999 if ("Reference".equals(codeString)) 2000 return DataType.REFERENCE; 2001 if ("SampledData".equals(codeString)) 2002 return DataType.SAMPLEDDATA; 2003 if ("Signature".equals(codeString)) 2004 return DataType.SIGNATURE; 2005 if ("SimpleQuantity".equals(codeString)) 2006 return DataType.SIMPLEQUANTITY; 2007 if ("Timing".equals(codeString)) 2008 return DataType.TIMING; 2009 if ("base64Binary".equals(codeString)) 2010 return DataType.BASE64BINARY; 2011 if ("boolean".equals(codeString)) 2012 return DataType.BOOLEAN; 2013 if ("code".equals(codeString)) 2014 return DataType.CODE; 2015 if ("date".equals(codeString)) 2016 return DataType.DATE; 2017 if ("dateTime".equals(codeString)) 2018 return DataType.DATETIME; 2019 if ("decimal".equals(codeString)) 2020 return DataType.DECIMAL; 2021 if ("id".equals(codeString)) 2022 return DataType.ID; 2023 if ("instant".equals(codeString)) 2024 return DataType.INSTANT; 2025 if ("integer".equals(codeString)) 2026 return DataType.INTEGER; 2027 if ("markdown".equals(codeString)) 2028 return DataType.MARKDOWN; 2029 if ("oid".equals(codeString)) 2030 return DataType.OID; 2031 if ("positiveInt".equals(codeString)) 2032 return DataType.POSITIVEINT; 2033 if ("string".equals(codeString)) 2034 return DataType.STRING; 2035 if ("time".equals(codeString)) 2036 return DataType.TIME; 2037 if ("unsignedInt".equals(codeString)) 2038 return DataType.UNSIGNEDINT; 2039 if ("uri".equals(codeString)) 2040 return DataType.URI; 2041 if ("uuid".equals(codeString)) 2042 return DataType.UUID; 2043 if ("xhtml".equals(codeString)) 2044 return DataType.XHTML; 2045 throw new IllegalArgumentException("Unknown DataType code '" + codeString + "'"); 2046 } 2047 2048 public Enumeration<DataType> fromType(Base code) throws FHIRException { 2049 if (code == null || code.isEmpty()) 2050 return null; 2051 String codeString = ((PrimitiveType) code).asStringValue(); 2052 if (codeString == null || "".equals(codeString)) 2053 return null; 2054 if ("Address".equals(codeString)) 2055 return new Enumeration<DataType>(this, DataType.ADDRESS); 2056 if ("Age".equals(codeString)) 2057 return new Enumeration<DataType>(this, DataType.AGE); 2058 if ("Annotation".equals(codeString)) 2059 return new Enumeration<DataType>(this, DataType.ANNOTATION); 2060 if ("Attachment".equals(codeString)) 2061 return new Enumeration<DataType>(this, DataType.ATTACHMENT); 2062 if ("BackboneElement".equals(codeString)) 2063 return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT); 2064 if ("CodeableConcept".equals(codeString)) 2065 return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT); 2066 if ("Coding".equals(codeString)) 2067 return new Enumeration<DataType>(this, DataType.CODING); 2068 if ("ContactPoint".equals(codeString)) 2069 return new Enumeration<DataType>(this, DataType.CONTACTPOINT); 2070 if ("Count".equals(codeString)) 2071 return new Enumeration<DataType>(this, DataType.COUNT); 2072 if ("Distance".equals(codeString)) 2073 return new Enumeration<DataType>(this, DataType.DISTANCE); 2074 if ("Duration".equals(codeString)) 2075 return new Enumeration<DataType>(this, DataType.DURATION); 2076 if ("Element".equals(codeString)) 2077 return new Enumeration<DataType>(this, DataType.ELEMENT); 2078 if ("ElementDefinition".equals(codeString)) 2079 return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION); 2080 if ("Extension".equals(codeString)) 2081 return new Enumeration<DataType>(this, DataType.EXTENSION); 2082 if ("HumanName".equals(codeString)) 2083 return new Enumeration<DataType>(this, DataType.HUMANNAME); 2084 if ("Identifier".equals(codeString)) 2085 return new Enumeration<DataType>(this, DataType.IDENTIFIER); 2086 if ("Meta".equals(codeString)) 2087 return new Enumeration<DataType>(this, DataType.META); 2088 if ("Money".equals(codeString)) 2089 return new Enumeration<DataType>(this, DataType.MONEY); 2090 if ("Narrative".equals(codeString)) 2091 return new Enumeration<DataType>(this, DataType.NARRATIVE); 2092 if ("Period".equals(codeString)) 2093 return new Enumeration<DataType>(this, DataType.PERIOD); 2094 if ("Quantity".equals(codeString)) 2095 return new Enumeration<DataType>(this, DataType.QUANTITY); 2096 if ("Range".equals(codeString)) 2097 return new Enumeration<DataType>(this, DataType.RANGE); 2098 if ("Ratio".equals(codeString)) 2099 return new Enumeration<DataType>(this, DataType.RATIO); 2100 if ("Reference".equals(codeString)) 2101 return new Enumeration<DataType>(this, DataType.REFERENCE); 2102 if ("SampledData".equals(codeString)) 2103 return new Enumeration<DataType>(this, DataType.SAMPLEDDATA); 2104 if ("Signature".equals(codeString)) 2105 return new Enumeration<DataType>(this, DataType.SIGNATURE); 2106 if ("SimpleQuantity".equals(codeString)) 2107 return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY); 2108 if ("Timing".equals(codeString)) 2109 return new Enumeration<DataType>(this, DataType.TIMING); 2110 if ("base64Binary".equals(codeString)) 2111 return new Enumeration<DataType>(this, DataType.BASE64BINARY); 2112 if ("boolean".equals(codeString)) 2113 return new Enumeration<DataType>(this, DataType.BOOLEAN); 2114 if ("code".equals(codeString)) 2115 return new Enumeration<DataType>(this, DataType.CODE); 2116 if ("date".equals(codeString)) 2117 return new Enumeration<DataType>(this, DataType.DATE); 2118 if ("dateTime".equals(codeString)) 2119 return new Enumeration<DataType>(this, DataType.DATETIME); 2120 if ("decimal".equals(codeString)) 2121 return new Enumeration<DataType>(this, DataType.DECIMAL); 2122 if ("id".equals(codeString)) 2123 return new Enumeration<DataType>(this, DataType.ID); 2124 if ("instant".equals(codeString)) 2125 return new Enumeration<DataType>(this, DataType.INSTANT); 2126 if ("integer".equals(codeString)) 2127 return new Enumeration<DataType>(this, DataType.INTEGER); 2128 if ("markdown".equals(codeString)) 2129 return new Enumeration<DataType>(this, DataType.MARKDOWN); 2130 if ("oid".equals(codeString)) 2131 return new Enumeration<DataType>(this, DataType.OID); 2132 if ("positiveInt".equals(codeString)) 2133 return new Enumeration<DataType>(this, DataType.POSITIVEINT); 2134 if ("string".equals(codeString)) 2135 return new Enumeration<DataType>(this, DataType.STRING); 2136 if ("time".equals(codeString)) 2137 return new Enumeration<DataType>(this, DataType.TIME); 2138 if ("unsignedInt".equals(codeString)) 2139 return new Enumeration<DataType>(this, DataType.UNSIGNEDINT); 2140 if ("uri".equals(codeString)) 2141 return new Enumeration<DataType>(this, DataType.URI); 2142 if ("uuid".equals(codeString)) 2143 return new Enumeration<DataType>(this, DataType.UUID); 2144 if ("xhtml".equals(codeString)) 2145 return new Enumeration<DataType>(this, DataType.XHTML); 2146 throw new FHIRException("Unknown DataType code '" + codeString + "'"); 2147 } 2148 2149 public String toCode(DataType code) 2150 { 2151 if (code == DataType.NULL) 2152 return null; 2153 if (code == DataType.ADDRESS) 2154 return "Address"; 2155 if (code == DataType.AGE) 2156 return "Age"; 2157 if (code == DataType.ANNOTATION) 2158 return "Annotation"; 2159 if (code == DataType.ATTACHMENT) 2160 return "Attachment"; 2161 if (code == DataType.BACKBONEELEMENT) 2162 return "BackboneElement"; 2163 if (code == DataType.CODEABLECONCEPT) 2164 return "CodeableConcept"; 2165 if (code == DataType.CODING) 2166 return "Coding"; 2167 if (code == DataType.CONTACTPOINT) 2168 return "ContactPoint"; 2169 if (code == DataType.COUNT) 2170 return "Count"; 2171 if (code == DataType.DISTANCE) 2172 return "Distance"; 2173 if (code == DataType.DURATION) 2174 return "Duration"; 2175 if (code == DataType.ELEMENT) 2176 return "Element"; 2177 if (code == DataType.ELEMENTDEFINITION) 2178 return "ElementDefinition"; 2179 if (code == DataType.EXTENSION) 2180 return "Extension"; 2181 if (code == DataType.HUMANNAME) 2182 return "HumanName"; 2183 if (code == DataType.IDENTIFIER) 2184 return "Identifier"; 2185 if (code == DataType.META) 2186 return "Meta"; 2187 if (code == DataType.MONEY) 2188 return "Money"; 2189 if (code == DataType.NARRATIVE) 2190 return "Narrative"; 2191 if (code == DataType.PERIOD) 2192 return "Period"; 2193 if (code == DataType.QUANTITY) 2194 return "Quantity"; 2195 if (code == DataType.RANGE) 2196 return "Range"; 2197 if (code == DataType.RATIO) 2198 return "Ratio"; 2199 if (code == DataType.REFERENCE) 2200 return "Reference"; 2201 if (code == DataType.SAMPLEDDATA) 2202 return "SampledData"; 2203 if (code == DataType.SIGNATURE) 2204 return "Signature"; 2205 if (code == DataType.SIMPLEQUANTITY) 2206 return "SimpleQuantity"; 2207 if (code == DataType.TIMING) 2208 return "Timing"; 2209 if (code == DataType.BASE64BINARY) 2210 return "base64Binary"; 2211 if (code == DataType.BOOLEAN) 2212 return "boolean"; 2213 if (code == DataType.CODE) 2214 return "code"; 2215 if (code == DataType.DATE) 2216 return "date"; 2217 if (code == DataType.DATETIME) 2218 return "dateTime"; 2219 if (code == DataType.DECIMAL) 2220 return "decimal"; 2221 if (code == DataType.ID) 2222 return "id"; 2223 if (code == DataType.INSTANT) 2224 return "instant"; 2225 if (code == DataType.INTEGER) 2226 return "integer"; 2227 if (code == DataType.MARKDOWN) 2228 return "markdown"; 2229 if (code == DataType.OID) 2230 return "oid"; 2231 if (code == DataType.POSITIVEINT) 2232 return "positiveInt"; 2233 if (code == DataType.STRING) 2234 return "string"; 2235 if (code == DataType.TIME) 2236 return "time"; 2237 if (code == DataType.UNSIGNEDINT) 2238 return "unsignedInt"; 2239 if (code == DataType.URI) 2240 return "uri"; 2241 if (code == DataType.UUID) 2242 return "uuid"; 2243 if (code == DataType.XHTML) 2244 return "xhtml"; 2245 return "?"; 2246 } 2247 } 2248 2249 public enum DocumentReferenceStatus { 2250 /** 2251 * This is the current reference for this document. 2252 */ 2253 CURRENT, 2254 /** 2255 * This reference has been superseded by another reference. 2256 */ 2257 SUPERSEDED, 2258 /** 2259 * This reference was created in error. 2260 */ 2261 ENTEREDINERROR, 2262 /** 2263 * added to help the parsers 2264 */ 2265 NULL; 2266 2267 public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException { 2268 if (codeString == null || "".equals(codeString)) 2269 return null; 2270 if ("current".equals(codeString)) 2271 return CURRENT; 2272 if ("superseded".equals(codeString)) 2273 return SUPERSEDED; 2274 if ("entered-in-error".equals(codeString)) 2275 return ENTEREDINERROR; 2276 throw new FHIRException("Unknown DocumentReferenceStatus code '" + codeString + "'"); 2277 } 2278 2279 public String toCode() { 2280 switch (this) { 2281 case CURRENT: 2282 return "current"; 2283 case SUPERSEDED: 2284 return "superseded"; 2285 case ENTEREDINERROR: 2286 return "entered-in-error"; 2287 case NULL: 2288 return null; 2289 default: 2290 return "?"; 2291 } 2292 } 2293 2294 public String getSystem() { 2295 switch (this) { 2296 case CURRENT: 2297 return "http://hl7.org/fhir/document-reference-status"; 2298 case SUPERSEDED: 2299 return "http://hl7.org/fhir/document-reference-status"; 2300 case ENTEREDINERROR: 2301 return "http://hl7.org/fhir/document-reference-status"; 2302 case NULL: 2303 return null; 2304 default: 2305 return "?"; 2306 } 2307 } 2308 2309 public String getDefinition() { 2310 switch (this) { 2311 case CURRENT: 2312 return "This is the current reference for this document."; 2313 case SUPERSEDED: 2314 return "This reference has been superseded by another reference."; 2315 case ENTEREDINERROR: 2316 return "This reference was created in error."; 2317 case NULL: 2318 return null; 2319 default: 2320 return "?"; 2321 } 2322 } 2323 2324 public String getDisplay() { 2325 switch (this) { 2326 case CURRENT: 2327 return "Current"; 2328 case SUPERSEDED: 2329 return "Superseded"; 2330 case ENTEREDINERROR: 2331 return "Entered in Error"; 2332 case NULL: 2333 return null; 2334 default: 2335 return "?"; 2336 } 2337 } 2338 } 2339 2340 public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> { 2341 public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException { 2342 if (codeString == null || "".equals(codeString)) 2343 if (codeString == null || "".equals(codeString)) 2344 return null; 2345 if ("current".equals(codeString)) 2346 return DocumentReferenceStatus.CURRENT; 2347 if ("superseded".equals(codeString)) 2348 return DocumentReferenceStatus.SUPERSEDED; 2349 if ("entered-in-error".equals(codeString)) 2350 return DocumentReferenceStatus.ENTEREDINERROR; 2351 throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '" + codeString + "'"); 2352 } 2353 2354 public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException { 2355 if (code == null || code.isEmpty()) 2356 return null; 2357 String codeString = ((PrimitiveType) code).asStringValue(); 2358 if (codeString == null || "".equals(codeString)) 2359 return null; 2360 if ("current".equals(codeString)) 2361 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT); 2362 if ("superseded".equals(codeString)) 2363 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED); 2364 if ("entered-in-error".equals(codeString)) 2365 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR); 2366 throw new FHIRException("Unknown DocumentReferenceStatus code '" + codeString + "'"); 2367 } 2368 2369 public String toCode(DocumentReferenceStatus code) 2370 { 2371 if (code == DocumentReferenceStatus.NULL) 2372 return null; 2373 if (code == DocumentReferenceStatus.CURRENT) 2374 return "current"; 2375 if (code == DocumentReferenceStatus.SUPERSEDED) 2376 return "superseded"; 2377 if (code == DocumentReferenceStatus.ENTEREDINERROR) 2378 return "entered-in-error"; 2379 return "?"; 2380 } 2381 } 2382 2383 public enum FHIRDefinedType { 2384 /** 2385 * There is a variety of postal address formats defined around the world. This 2386 * format defines a superset that is the basis for all addresses around the 2387 * world. 2388 */ 2389 ADDRESS, 2390 /** 2391 * null 2392 */ 2393 AGE, 2394 /** 2395 * A text note which also contains information about who made the statement and 2396 * when. 2397 */ 2398 ANNOTATION, 2399 /** 2400 * For referring to data content defined in other formats. 2401 */ 2402 ATTACHMENT, 2403 /** 2404 * Base definition for all elements that are defined inside a resource - but not 2405 * those in a data type. 2406 */ 2407 BACKBONEELEMENT, 2408 /** 2409 * A concept that may be defined by a formal reference to a terminology or 2410 * ontology or may be provided by text. 2411 */ 2412 CODEABLECONCEPT, 2413 /** 2414 * A reference to a code defined by a terminology system. 2415 */ 2416 CODING, 2417 /** 2418 * Details for all kinds of technology mediated contact points for a person or 2419 * organization, including telephone, email, etc. 2420 */ 2421 CONTACTPOINT, 2422 /** 2423 * null 2424 */ 2425 COUNT, 2426 /** 2427 * null 2428 */ 2429 DISTANCE, 2430 /** 2431 * null 2432 */ 2433 DURATION, 2434 /** 2435 * Base definition for all elements in a resource. 2436 */ 2437 ELEMENT, 2438 /** 2439 * Captures constraints on each element within the resource, profile, or 2440 * extension. 2441 */ 2442 ELEMENTDEFINITION, 2443 /** 2444 * Optional Extensions Element - found in all resources. 2445 */ 2446 EXTENSION, 2447 /** 2448 * A human's name with the ability to identify parts and usage. 2449 */ 2450 HUMANNAME, 2451 /** 2452 * A technical identifier - identifies some entity uniquely and unambiguously. 2453 */ 2454 IDENTIFIER, 2455 /** 2456 * The metadata about a resource. This is content in the resource that is 2457 * maintained by the infrastructure. Changes to the content may not always be 2458 * associated with version changes to the resource. 2459 */ 2460 META, 2461 /** 2462 * null 2463 */ 2464 MONEY, 2465 /** 2466 * A human-readable formatted text, including images. 2467 */ 2468 NARRATIVE, 2469 /** 2470 * A time period defined by a start and end date and optionally time. 2471 */ 2472 PERIOD, 2473 /** 2474 * A measured amount (or an amount that can potentially be measured). Note that 2475 * measured amounts include amounts that are not precisely quantified, including 2476 * amounts involving arbitrary units and floating currencies. 2477 */ 2478 QUANTITY, 2479 /** 2480 * A set of ordered Quantities defined by a low and high limit. 2481 */ 2482 RANGE, 2483 /** 2484 * A relationship of two Quantity values - expressed as a numerator and a 2485 * denominator. 2486 */ 2487 RATIO, 2488 /** 2489 * A reference from one resource to another. 2490 */ 2491 REFERENCE, 2492 /** 2493 * A series of measurements taken by a device, with upper and lower limits. 2494 * There may be more than one dimension in the data. 2495 */ 2496 SAMPLEDDATA, 2497 /** 2498 * A digital signature along with supporting context. The signature may be 2499 * electronic/cryptographic in nature, or a graphical image representing a 2500 * hand-written signature, or a signature process. Different Signature 2501 * approaches have different utilities. 2502 */ 2503 SIGNATURE, 2504 /** 2505 * null 2506 */ 2507 SIMPLEQUANTITY, 2508 /** 2509 * Specifies an event that may occur multiple times. Timing schedules are used 2510 * to record when things are expected or requested to occur. The most common 2511 * usage is in dosage instructions for medications. They are also used when 2512 * planning care of various kinds. 2513 */ 2514 TIMING, 2515 /** 2516 * A stream of bytes 2517 */ 2518 BASE64BINARY, 2519 /** 2520 * Value of "true" or "false" 2521 */ 2522 BOOLEAN, 2523 /** 2524 * A string which has at least one character and no leading or trailing 2525 * whitespace and where there is no whitespace other than single spaces in the 2526 * contents 2527 */ 2528 CODE, 2529 /** 2530 * A date or partial date (e.g. just year or year + month). There is no time 2531 * zone. The format is a union of the schema types gYear, gYearMonth and date. 2532 * Dates SHALL be valid dates. 2533 */ 2534 DATE, 2535 /** 2536 * A date, date-time or partial date (e.g. just year or year + month). If hours 2537 * and minutes are specified, a time zone SHALL be populated. The format is a 2538 * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must 2539 * be provided due to schema type constraints but may be zero-filled and may be 2540 * ignored. Dates SHALL be valid dates. 2541 */ 2542 DATETIME, 2543 /** 2544 * A rational number with implicit precision 2545 */ 2546 DECIMAL, 2547 /** 2548 * Any combination of letters, numerals, "-" and ".", with a length limit of 64 2549 * characters. (This might be an integer, an unprefixed OID, UUID or any other 2550 * identifier pattern that meets these constraints.) Ids are case-insensitive. 2551 */ 2552 ID, 2553 /** 2554 * An instant in time - known at least to the second 2555 */ 2556 INSTANT, 2557 /** 2558 * A whole number 2559 */ 2560 INTEGER, 2561 /** 2562 * A string that may contain markdown syntax for optional processing by a mark 2563 * down presentation engine 2564 */ 2565 MARKDOWN, 2566 /** 2567 * An oid represented as a URI 2568 */ 2569 OID, 2570 /** 2571 * An integer with a value that is positive (e.g. >0) 2572 */ 2573 POSITIVEINT, 2574 /** 2575 * A sequence of Unicode characters 2576 */ 2577 STRING, 2578 /** 2579 * A time during the day, with no date specified 2580 */ 2581 TIME, 2582 /** 2583 * An integer with a value that is not negative (e.g. >= 0) 2584 */ 2585 UNSIGNEDINT, 2586 /** 2587 * String of characters used to identify a name or a resource 2588 */ 2589 URI, 2590 /** 2591 * A UUID, represented as a URI 2592 */ 2593 UUID, 2594 /** 2595 * XHTML format, as defined by W3C, but restricted usage (mainly, no active 2596 * content) 2597 */ 2598 XHTML, 2599 /** 2600 * A financial tool for tracking value accrued for a particular purpose. In the 2601 * healthcare field, used to track charges for a patient, cost centres, etc. 2602 */ 2603 ACCOUNT, 2604 /** 2605 * Risk of harmful or undesirable, physiological response which is unique to an 2606 * individual and associated with exposure to a substance. 2607 */ 2608 ALLERGYINTOLERANCE, 2609 /** 2610 * A booking of a healthcare event among patient(s), practitioner(s), related 2611 * person(s) and/or device(s) for a specific date/time. This may result in one 2612 * or more Encounter(s). 2613 */ 2614 APPOINTMENT, 2615 /** 2616 * A reply to an appointment request for a patient and/or practitioner(s), such 2617 * as a confirmation or rejection. 2618 */ 2619 APPOINTMENTRESPONSE, 2620 /** 2621 * A record of an event made for purposes of maintaining a security log. Typical 2622 * uses include detection of intrusion attempts and monitoring for inappropriate 2623 * usage. 2624 */ 2625 AUDITEVENT, 2626 /** 2627 * Basic is used for handling concepts not yet defined in FHIR, narrative-only 2628 * resources that don't map to an existing resource, and custom resources not 2629 * appropriate for inclusion in the FHIR specification. 2630 */ 2631 BASIC, 2632 /** 2633 * A binary resource can contain any content, whether text, image, pdf, zip 2634 * archive, etc. 2635 */ 2636 BINARY, 2637 /** 2638 * Record details about the anatomical location of a specimen or body part. This 2639 * resource may be used when a coded concept does not provide the necessary 2640 * detail needed for the use case. 2641 */ 2642 BODYSITE, 2643 /** 2644 * A container for a collection of resources. 2645 */ 2646 BUNDLE, 2647 /** 2648 * Describes the intention of how one or more practitioners intend to deliver 2649 * care for a particular patient, group or community for a period of time, 2650 * possibly limited to care for a specific condition or set of conditions. 2651 */ 2652 CAREPLAN, 2653 /** 2654 * A provider issued list of services and products provided, or to be provided, 2655 * to a patient which is provided to an insurer for payment recovery. 2656 */ 2657 CLAIM, 2658 /** 2659 * This resource provides the adjudication details from the processing of a 2660 * Claim resource. 2661 */ 2662 CLAIMRESPONSE, 2663 /** 2664 * A record of a clinical assessment performed to determine what problem(s) may 2665 * affect the patient and before planning the treatments or management 2666 * strategies that are best to manage a patient's condition. Assessments are 2667 * often 1:1 with a clinical consultation / encounter, but this varies greatly 2668 * depending on the clinical workflow. This resource is called 2669 * "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with 2670 * the recording of assessment tools such as Apgar score. 2671 */ 2672 CLINICALIMPRESSION, 2673 /** 2674 * An occurrence of information being transmitted; e.g. an alert that was sent 2675 * to a responsible provider, a public health agency was notified about a 2676 * reportable condition. 2677 */ 2678 COMMUNICATION, 2679 /** 2680 * A request to convey information; e.g. the CDS system proposes that an alert 2681 * be sent to a responsible provider, the CDS system proposes that the public 2682 * health agency be notified about a reportable condition. 2683 */ 2684 COMMUNICATIONREQUEST, 2685 /** 2686 * A set of healthcare-related information that is assembled together into a 2687 * single logical document that provides a single coherent statement of meaning, 2688 * establishes its own context and that has clinical attestation with regard to 2689 * who is making the statement. While a Composition defines the structure, it 2690 * does not actually contain the content: rather the full content of a document 2691 * is contained in a Bundle, of which the Composition is the first resource 2692 * contained. 2693 */ 2694 COMPOSITION, 2695 /** 2696 * A statement of relationships from one set of concepts to one or more other 2697 * concepts - either code systems or data elements, or classes in class models. 2698 */ 2699 CONCEPTMAP, 2700 /** 2701 * Use to record detailed information about conditions, problems or diagnoses 2702 * recognized by a clinician. There are many uses including: recording a 2703 * diagnosis during an encounter; populating a problem list or a summary 2704 * statement, such as a discharge summary. 2705 */ 2706 CONDITION, 2707 /** 2708 * A conformance statement is a set of capabilities of a FHIR Server that may be 2709 * used as a statement of actual server functionality or a statement of required 2710 * or desired server implementation. 2711 */ 2712 CONFORMANCE, 2713 /** 2714 * A formal agreement between parties regarding the conduct of business, 2715 * exchange of information or other matters. 2716 */ 2717 CONTRACT, 2718 /** 2719 * Financial instrument which may be used to pay for or reimburse health care 2720 * products and services. 2721 */ 2722 COVERAGE, 2723 /** 2724 * The formal description of a single piece of information that can be gathered 2725 * and reported. 2726 */ 2727 DATAELEMENT, 2728 /** 2729 * Indicates an actual or potential clinical issue with or between one or more 2730 * active or proposed clinical actions for a patient; e.g. Drug-drug 2731 * interaction, Ineffective treatment frequency, Procedure-condition conflict, 2732 * etc. 2733 */ 2734 DETECTEDISSUE, 2735 /** 2736 * This resource identifies an instance of a manufactured item that is used in 2737 * the provision of healthcare without being substantially changed through that 2738 * activity. The device may be a medical or non-medical device. Medical devices 2739 * includes durable (reusable) medical equipment, implantable devices, as well 2740 * as disposable equipment used for diagnostic, treatment, and research for 2741 * healthcare and public health. Non-medical devices may include items such as a 2742 * machine, cellphone, computer, application, etc. 2743 */ 2744 DEVICE, 2745 /** 2746 * Describes the characteristics, operational status and capabilities of a 2747 * medical-related component of a medical device. 2748 */ 2749 DEVICECOMPONENT, 2750 /** 2751 * Describes a measurement, calculation or setting capability of a medical 2752 * device. 2753 */ 2754 DEVICEMETRIC, 2755 /** 2756 * Represents a request for a patient to employ a medical device. The device may 2757 * be an implantable device, or an external assistive device, such as a walker. 2758 */ 2759 DEVICEUSEREQUEST, 2760 /** 2761 * A record of a device being used by a patient where the record is the result 2762 * of a report from the patient or another clinician. 2763 */ 2764 DEVICEUSESTATEMENT, 2765 /** 2766 * A record of a request for a diagnostic investigation service to be performed. 2767 */ 2768 DIAGNOSTICORDER, 2769 /** 2770 * The findings and interpretation of diagnostic tests performed on patients, 2771 * groups of patients, devices, and locations, and/or specimens derived from 2772 * these. The report includes clinical context such as requesting and provider 2773 * information, and some mix of atomic results, images, textual and coded 2774 * interpretations, and formatted representation of diagnostic reports. 2775 */ 2776 DIAGNOSTICREPORT, 2777 /** 2778 * A manifest that defines a set of documents. 2779 */ 2780 DOCUMENTMANIFEST, 2781 /** 2782 * A reference to a document . 2783 */ 2784 DOCUMENTREFERENCE, 2785 /** 2786 * --- Abstract Type! ---A resource that includes narrative, extensions, and 2787 * contained resources. 2788 */ 2789 DOMAINRESOURCE, 2790 /** 2791 * This resource provides the insurance eligibility details from the insurer 2792 * regarding a specified coverage and optionally some class of service. 2793 */ 2794 ELIGIBILITYREQUEST, 2795 /** 2796 * This resource provides eligibility and plan details from the processing of an 2797 * Eligibility resource. 2798 */ 2799 ELIGIBILITYRESPONSE, 2800 /** 2801 * An interaction between a patient and healthcare provider(s) for the purpose 2802 * of providing healthcare service(s) or assessing the health status of a 2803 * patient. 2804 */ 2805 ENCOUNTER, 2806 /** 2807 * This resource provides the insurance enrollment details to the insurer 2808 * regarding a specified coverage. 2809 */ 2810 ENROLLMENTREQUEST, 2811 /** 2812 * This resource provides enrollment and plan details from the processing of an 2813 * Enrollment resource. 2814 */ 2815 ENROLLMENTRESPONSE, 2816 /** 2817 * An association between a patient and an organization / healthcare provider(s) 2818 * during which time encounters may occur. The managing organization assumes a 2819 * level of responsibility for the patient during this time. 2820 */ 2821 EPISODEOFCARE, 2822 /** 2823 * This resource provides: the claim details; adjudication details from the 2824 * processing of a Claim; and optionally account balance information, for 2825 * informing the subscriber of the benefits provided. 2826 */ 2827 EXPLANATIONOFBENEFIT, 2828 /** 2829 * Significant health events and conditions for a person related to the patient 2830 * relevant in the context of care for the patient. 2831 */ 2832 FAMILYMEMBERHISTORY, 2833 /** 2834 * Prospective warnings of potential issues when providing care to the patient. 2835 */ 2836 FLAG, 2837 /** 2838 * Describes the intended objective(s) for a patient, group or organization 2839 * care, for example, weight loss, restoring an activity of daily living, 2840 * obtaining herd immunity via immunization, meeting a process improvement 2841 * objective, etc. 2842 */ 2843 GOAL, 2844 /** 2845 * Represents a defined collection of entities that may be discussed or acted 2846 * upon collectively but which are not expected to act collectively and are not 2847 * formally or legally recognized; i.e. a collection of entities that isn't an 2848 * Organization. 2849 */ 2850 GROUP, 2851 /** 2852 * The details of a healthcare service available at a location. 2853 */ 2854 HEALTHCARESERVICE, 2855 /** 2856 * A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). 2857 * The referenced SOP Instances (images or other content) are for a single 2858 * patient, and may be from one or more studies. The referenced SOP Instances 2859 * have been selected for a purpose, such as quality assurance, conference, or 2860 * consult. Reflecting that range of purposes, typical ImagingObjectSelection 2861 * resources may include all SOP Instances in a study (perhaps for sharing 2862 * through a Health Information Exchange); key images from multiple studies (for 2863 * reference by a referring or treating physician); a multi-frame ultrasound 2864 * instance ("cine" video clip) and a set of measurements taken from that 2865 * instance (for inclusion in a teaching file); and so on. 2866 */ 2867 IMAGINGOBJECTSELECTION, 2868 /** 2869 * Representation of the content produced in a DICOM imaging study. A study 2870 * comprises a set of series, each of which includes a set of Service-Object 2871 * Pair Instances (SOP Instances - images or other data) acquired or produced in 2872 * a common context. A series is of only one modality (e.g. X-ray, CT, MR, 2873 * ultrasound), but a study may have multiple series of different modalities. 2874 */ 2875 IMAGINGSTUDY, 2876 /** 2877 * Describes the event of a patient being administered a vaccination or a record 2878 * of a vaccination as reported by a patient, a clinician or another party and 2879 * may include vaccine reaction information and what vaccination protocol was 2880 * followed. 2881 */ 2882 IMMUNIZATION, 2883 /** 2884 * A patient's point-in-time immunization and recommendation (i.e. forecasting a 2885 * patient's immunization eligibility according to a published schedule) with 2886 * optional supporting justification. 2887 */ 2888 IMMUNIZATIONRECOMMENDATION, 2889 /** 2890 * A set of rules or how FHIR is used to solve a particular problem. This 2891 * resource is used to gather all the parts of an implementation guide into a 2892 * logical whole, and to publish a computable definition of all the parts. 2893 */ 2894 IMPLEMENTATIONGUIDE, 2895 /** 2896 * A set of information summarized from a list of other resources. 2897 */ 2898 LIST, 2899 /** 2900 * Details and position information for a physical place where services are 2901 * provided and resources and participants may be stored, found, contained or 2902 * accommodated. 2903 */ 2904 LOCATION, 2905 /** 2906 * A photo, video, or audio recording acquired or used in healthcare. The actual 2907 * content may be inline or provided by direct reference. 2908 */ 2909 MEDIA, 2910 /** 2911 * This resource is primarily used for the identification and definition of a 2912 * medication. It covers the ingredients and the packaging for a medication. 2913 */ 2914 MEDICATION, 2915 /** 2916 * Describes the event of a patient consuming or otherwise being administered a 2917 * medication. This may be as simple as swallowing a tablet or it may be a long 2918 * running infusion. Related resources tie this event to the authorizing 2919 * prescription, and the specific encounter between patient and health care 2920 * practitioner. 2921 */ 2922 MEDICATIONADMINISTRATION, 2923 /** 2924 * Indicates that a medication product is to be or has been dispensed for a 2925 * named person/patient. This includes a description of the medication product 2926 * (supply) provided and the instructions for administering the medication. The 2927 * medication dispense is the result of a pharmacy system responding to a 2928 * medication order. 2929 */ 2930 MEDICATIONDISPENSE, 2931 /** 2932 * An order for both supply of the medication and the instructions for 2933 * administration of the medication to a patient. The resource is called 2934 * "MedicationOrder" rather than "MedicationPrescription" to generalize the use 2935 * across inpatient and outpatient settings as well as for care plans, etc. 2936 */ 2937 MEDICATIONORDER, 2938 /** 2939 * A record of a medication that is being consumed by a patient. A 2940 * MedicationStatement may indicate that the patient may be taking the 2941 * medication now, or has taken the medication in the past or will be taking the 2942 * medication in the future. The source of this information can be the patient, 2943 * significant other (such as a family member or spouse), or a clinician. A 2944 * common scenario where this information is captured is during the history 2945 * taking process during a patient visit or stay. The medication information may 2946 * come from e.g. the patient's memory, from a prescription bottle, or from a 2947 * list of medications the patient, clinician or other party maintains 2948 * 2949 * The primary difference between a medication statement and a medication 2950 * administration is that the medication administration has complete 2951 * administration information and is based on actual administration information 2952 * from the person who administered the medication. A medication statement is 2953 * often, if not always, less specific. There is no required date/time when the 2954 * medication was administered, in fact we only know that a source has reported 2955 * the patient is taking this medication, where details such as time, quantity, 2956 * or rate or even medication product may be incomplete or missing or less 2957 * precise. As stated earlier, the medication statement information may come 2958 * from the patient's memory, from a prescription bottle or from a list of 2959 * medications the patient, clinician or other party maintains. Medication 2960 * administration is more formal and is not missing detailed information. 2961 */ 2962 MEDICATIONSTATEMENT, 2963 /** 2964 * The header for a message exchange that is either requesting or responding to 2965 * an action. The reference(s) that are the subject of the action as well as 2966 * other information related to the action are typically transmitted in a bundle 2967 * in which the MessageHeader resource instance is the first resource in the 2968 * bundle. 2969 */ 2970 MESSAGEHEADER, 2971 /** 2972 * A curated namespace that issues unique symbols within that namespace for the 2973 * identification of concepts, people, devices, etc. Represents a "System" used 2974 * within the Identifier and Coding data types. 2975 */ 2976 NAMINGSYSTEM, 2977 /** 2978 * A request to supply a diet, formula feeding (enteral) or oral nutritional 2979 * supplement to a patient/resident. 2980 */ 2981 NUTRITIONORDER, 2982 /** 2983 * Measurements and simple assertions made about a patient, device or other 2984 * subject. 2985 */ 2986 OBSERVATION, 2987 /** 2988 * A formal computable definition of an operation (on the RESTful interface) or 2989 * a named query (using the search interaction). 2990 */ 2991 OPERATIONDEFINITION, 2992 /** 2993 * A collection of error, warning or information messages that result from a 2994 * system action. 2995 */ 2996 OPERATIONOUTCOME, 2997 /** 2998 * A request to perform an action. 2999 */ 3000 ORDER, 3001 /** 3002 * A response to an order. 3003 */ 3004 ORDERRESPONSE, 3005 /** 3006 * A formally or informally recognized grouping of people or organizations 3007 * formed for the purpose of achieving some form of collective action. Includes 3008 * companies, institutions, corporations, departments, community groups, 3009 * healthcare practice groups, etc. 3010 */ 3011 ORGANIZATION, 3012 /** 3013 * This special resource type is used to represent an operation request and 3014 * response (operations.html). It has no other use, and there is no RESTful 3015 * endpoint associated with it. 3016 */ 3017 PARAMETERS, 3018 /** 3019 * Demographics and other administrative information about an individual or 3020 * animal receiving care or other health-related services. 3021 */ 3022 PATIENT, 3023 /** 3024 * This resource provides the status of the payment for goods and services 3025 * rendered, and the request and response resource references. 3026 */ 3027 PAYMENTNOTICE, 3028 /** 3029 * This resource provides payment details and claim references supporting a bulk 3030 * payment. 3031 */ 3032 PAYMENTRECONCILIATION, 3033 /** 3034 * Demographics and administrative information about a person independent of a 3035 * specific health-related context. 3036 */ 3037 PERSON, 3038 /** 3039 * A person who is directly or indirectly involved in the provisioning of 3040 * healthcare. 3041 */ 3042 PRACTITIONER, 3043 /** 3044 * An action that is or was performed on a patient. This can be a physical 3045 * intervention like an operation, or less invasive like counseling or 3046 * hypnotherapy. 3047 */ 3048 PROCEDURE, 3049 /** 3050 * A request for a procedure to be performed. May be a proposal or an order. 3051 */ 3052 PROCEDUREREQUEST, 3053 /** 3054 * This resource provides the target, request and response, and action details 3055 * for an action to be performed by the target on or about existing resources. 3056 */ 3057 PROCESSREQUEST, 3058 /** 3059 * This resource provides processing status, errors and notes from the 3060 * processing of a resource. 3061 */ 3062 PROCESSRESPONSE, 3063 /** 3064 * Provenance of a resource is a record that describes entities and processes 3065 * involved in producing and delivering or otherwise influencing that resource. 3066 * Provenance provides a critical foundation for assessing authenticity, 3067 * enabling trust, and allowing reproducibility. Provenance assertions are a 3068 * form of contextual metadata and can themselves become important records with 3069 * their own provenance. Provenance statement indicates clinical significance in 3070 * terms of confidence in authenticity, reliability, and trustworthiness, 3071 * integrity, and stage in lifecycle (e.g. Document Completion - has the 3072 * artifact been legally authenticated), all of which may impact security, 3073 * privacy, and trust policies. 3074 */ 3075 PROVENANCE, 3076 /** 3077 * A structured set of questions intended to guide the collection of answers. 3078 * The questions are ordered and grouped into coherent subsets, corresponding to 3079 * the structure of the grouping of the underlying questions. 3080 */ 3081 QUESTIONNAIRE, 3082 /** 3083 * A structured set of questions and their answers. The questions are ordered 3084 * and grouped into coherent subsets, corresponding to the structure of the 3085 * grouping of the underlying questions. 3086 */ 3087 QUESTIONNAIRERESPONSE, 3088 /** 3089 * Used to record and send details about a request for referral service or 3090 * transfer of a patient to the care of another provider or provider 3091 * organization. 3092 */ 3093 REFERRALREQUEST, 3094 /** 3095 * Information about a person that is involved in the care for a patient, but 3096 * who is not the target of healthcare, nor has a formal responsibility in the 3097 * care process. 3098 */ 3099 RELATEDPERSON, 3100 /** 3101 * --- Abstract Type! ---This is the base resource type for everything. 3102 */ 3103 RESOURCE, 3104 /** 3105 * An assessment of the likely outcome(s) for a patient or other subject as well 3106 * as the likelihood of each outcome. 3107 */ 3108 RISKASSESSMENT, 3109 /** 3110 * A container for slot(s) of time that may be available for booking 3111 * appointments. 3112 */ 3113 SCHEDULE, 3114 /** 3115 * A search parameter that defines a named search item that can be used to 3116 * search/filter on a resource. 3117 */ 3118 SEARCHPARAMETER, 3119 /** 3120 * A slot of time on a schedule that may be available for booking appointments. 3121 */ 3122 SLOT, 3123 /** 3124 * A sample to be used for analysis. 3125 */ 3126 SPECIMEN, 3127 /** 3128 * A definition of a FHIR structure. This resource is used to describe the 3129 * underlying resources, data types defined in FHIR, and also for describing 3130 * extensions, and constraints on resources and data types. 3131 */ 3132 STRUCTUREDEFINITION, 3133 /** 3134 * The subscription resource is used to define a push based subscription from a 3135 * server to another system. Once a subscription is registered with the server, 3136 * the server checks every resource that is created or updated, and if the 3137 * resource matches the given criteria, it sends a message on the defined 3138 * "channel" so that another system is able to take an appropriate action. 3139 */ 3140 SUBSCRIPTION, 3141 /** 3142 * A homogeneous material with a definite composition. 3143 */ 3144 SUBSTANCE, 3145 /** 3146 * Record of delivery of what is supplied. 3147 */ 3148 SUPPLYDELIVERY, 3149 /** 3150 * A record of a request for a medication, substance or device used in the 3151 * healthcare setting. 3152 */ 3153 SUPPLYREQUEST, 3154 /** 3155 * TestScript is a resource that specifies a suite of tests against a FHIR 3156 * server implementation to determine compliance against the FHIR specification. 3157 */ 3158 TESTSCRIPT, 3159 /** 3160 * A value set specifies a set of codes drawn from one or more code systems. 3161 */ 3162 VALUESET, 3163 /** 3164 * An authorization for the supply of glasses and/or contact lenses to a 3165 * patient. 3166 */ 3167 VISIONPRESCRIPTION, 3168 /** 3169 * added to help the parsers 3170 */ 3171 NULL; 3172 3173 public static FHIRDefinedType fromCode(String codeString) throws FHIRException { 3174 if (codeString == null || "".equals(codeString)) 3175 return null; 3176 if ("Address".equals(codeString)) 3177 return ADDRESS; 3178 if ("Age".equals(codeString)) 3179 return AGE; 3180 if ("Annotation".equals(codeString)) 3181 return ANNOTATION; 3182 if ("Attachment".equals(codeString)) 3183 return ATTACHMENT; 3184 if ("BackboneElement".equals(codeString)) 3185 return BACKBONEELEMENT; 3186 if ("CodeableConcept".equals(codeString)) 3187 return CODEABLECONCEPT; 3188 if ("Coding".equals(codeString)) 3189 return CODING; 3190 if ("ContactPoint".equals(codeString)) 3191 return CONTACTPOINT; 3192 if ("Count".equals(codeString)) 3193 return COUNT; 3194 if ("Distance".equals(codeString)) 3195 return DISTANCE; 3196 if ("Duration".equals(codeString)) 3197 return DURATION; 3198 if ("Element".equals(codeString)) 3199 return ELEMENT; 3200 if ("ElementDefinition".equals(codeString)) 3201 return ELEMENTDEFINITION; 3202 if ("Extension".equals(codeString)) 3203 return EXTENSION; 3204 if ("HumanName".equals(codeString)) 3205 return HUMANNAME; 3206 if ("Identifier".equals(codeString)) 3207 return IDENTIFIER; 3208 if ("Meta".equals(codeString)) 3209 return META; 3210 if ("Money".equals(codeString)) 3211 return MONEY; 3212 if ("Narrative".equals(codeString)) 3213 return NARRATIVE; 3214 if ("Period".equals(codeString)) 3215 return PERIOD; 3216 if ("Quantity".equals(codeString)) 3217 return QUANTITY; 3218 if ("Range".equals(codeString)) 3219 return RANGE; 3220 if ("Ratio".equals(codeString)) 3221 return RATIO; 3222 if ("Reference".equals(codeString)) 3223 return REFERENCE; 3224 if ("SampledData".equals(codeString)) 3225 return SAMPLEDDATA; 3226 if ("Signature".equals(codeString)) 3227 return SIGNATURE; 3228 if ("SimpleQuantity".equals(codeString)) 3229 return SIMPLEQUANTITY; 3230 if ("Timing".equals(codeString)) 3231 return TIMING; 3232 if ("base64Binary".equals(codeString)) 3233 return BASE64BINARY; 3234 if ("boolean".equals(codeString)) 3235 return BOOLEAN; 3236 if ("code".equals(codeString)) 3237 return CODE; 3238 if ("date".equals(codeString)) 3239 return DATE; 3240 if ("dateTime".equals(codeString)) 3241 return DATETIME; 3242 if ("decimal".equals(codeString)) 3243 return DECIMAL; 3244 if ("id".equals(codeString)) 3245 return ID; 3246 if ("instant".equals(codeString)) 3247 return INSTANT; 3248 if ("integer".equals(codeString)) 3249 return INTEGER; 3250 if ("markdown".equals(codeString)) 3251 return MARKDOWN; 3252 if ("oid".equals(codeString)) 3253 return OID; 3254 if ("positiveInt".equals(codeString)) 3255 return POSITIVEINT; 3256 if ("string".equals(codeString)) 3257 return STRING; 3258 if ("time".equals(codeString)) 3259 return TIME; 3260 if ("unsignedInt".equals(codeString)) 3261 return UNSIGNEDINT; 3262 if ("uri".equals(codeString)) 3263 return URI; 3264 if ("uuid".equals(codeString)) 3265 return UUID; 3266 if ("xhtml".equals(codeString)) 3267 return XHTML; 3268 if ("Account".equals(codeString)) 3269 return ACCOUNT; 3270 if ("AllergyIntolerance".equals(codeString)) 3271 return ALLERGYINTOLERANCE; 3272 if ("Appointment".equals(codeString)) 3273 return APPOINTMENT; 3274 if ("AppointmentResponse".equals(codeString)) 3275 return APPOINTMENTRESPONSE; 3276 if ("AuditEvent".equals(codeString)) 3277 return AUDITEVENT; 3278 if ("Basic".equals(codeString)) 3279 return BASIC; 3280 if ("Binary".equals(codeString)) 3281 return BINARY; 3282 if ("BodySite".equals(codeString)) 3283 return BODYSITE; 3284 if ("Bundle".equals(codeString)) 3285 return BUNDLE; 3286 if ("CarePlan".equals(codeString)) 3287 return CAREPLAN; 3288 if ("Claim".equals(codeString)) 3289 return CLAIM; 3290 if ("ClaimResponse".equals(codeString)) 3291 return CLAIMRESPONSE; 3292 if ("ClinicalImpression".equals(codeString)) 3293 return CLINICALIMPRESSION; 3294 if ("Communication".equals(codeString)) 3295 return COMMUNICATION; 3296 if ("CommunicationRequest".equals(codeString)) 3297 return COMMUNICATIONREQUEST; 3298 if ("Composition".equals(codeString)) 3299 return COMPOSITION; 3300 if ("ConceptMap".equals(codeString)) 3301 return CONCEPTMAP; 3302 if ("Condition".equals(codeString)) 3303 return CONDITION; 3304 if ("Conformance".equals(codeString)) 3305 return CONFORMANCE; 3306 if ("Contract".equals(codeString)) 3307 return CONTRACT; 3308 if ("Coverage".equals(codeString)) 3309 return COVERAGE; 3310 if ("DataElement".equals(codeString)) 3311 return DATAELEMENT; 3312 if ("DetectedIssue".equals(codeString)) 3313 return DETECTEDISSUE; 3314 if ("Device".equals(codeString)) 3315 return DEVICE; 3316 if ("DeviceComponent".equals(codeString)) 3317 return DEVICECOMPONENT; 3318 if ("DeviceMetric".equals(codeString)) 3319 return DEVICEMETRIC; 3320 if ("DeviceUseRequest".equals(codeString)) 3321 return DEVICEUSEREQUEST; 3322 if ("DeviceUseStatement".equals(codeString)) 3323 return DEVICEUSESTATEMENT; 3324 if ("DiagnosticOrder".equals(codeString)) 3325 return DIAGNOSTICORDER; 3326 if ("DiagnosticReport".equals(codeString)) 3327 return DIAGNOSTICREPORT; 3328 if ("DocumentManifest".equals(codeString)) 3329 return DOCUMENTMANIFEST; 3330 if ("DocumentReference".equals(codeString)) 3331 return DOCUMENTREFERENCE; 3332 if ("DomainResource".equals(codeString)) 3333 return DOMAINRESOURCE; 3334 if ("EligibilityRequest".equals(codeString)) 3335 return ELIGIBILITYREQUEST; 3336 if ("EligibilityResponse".equals(codeString)) 3337 return ELIGIBILITYRESPONSE; 3338 if ("Encounter".equals(codeString)) 3339 return ENCOUNTER; 3340 if ("EnrollmentRequest".equals(codeString)) 3341 return ENROLLMENTREQUEST; 3342 if ("EnrollmentResponse".equals(codeString)) 3343 return ENROLLMENTRESPONSE; 3344 if ("EpisodeOfCare".equals(codeString)) 3345 return EPISODEOFCARE; 3346 if ("ExplanationOfBenefit".equals(codeString)) 3347 return EXPLANATIONOFBENEFIT; 3348 if ("FamilyMemberHistory".equals(codeString)) 3349 return FAMILYMEMBERHISTORY; 3350 if ("Flag".equals(codeString)) 3351 return FLAG; 3352 if ("Goal".equals(codeString)) 3353 return GOAL; 3354 if ("Group".equals(codeString)) 3355 return GROUP; 3356 if ("HealthcareService".equals(codeString)) 3357 return HEALTHCARESERVICE; 3358 if ("ImagingObjectSelection".equals(codeString)) 3359 return IMAGINGOBJECTSELECTION; 3360 if ("ImagingStudy".equals(codeString)) 3361 return IMAGINGSTUDY; 3362 if ("Immunization".equals(codeString)) 3363 return IMMUNIZATION; 3364 if ("ImmunizationRecommendation".equals(codeString)) 3365 return IMMUNIZATIONRECOMMENDATION; 3366 if ("ImplementationGuide".equals(codeString)) 3367 return IMPLEMENTATIONGUIDE; 3368 if ("List".equals(codeString)) 3369 return LIST; 3370 if ("Location".equals(codeString)) 3371 return LOCATION; 3372 if ("Media".equals(codeString)) 3373 return MEDIA; 3374 if ("Medication".equals(codeString)) 3375 return MEDICATION; 3376 if ("MedicationAdministration".equals(codeString)) 3377 return MEDICATIONADMINISTRATION; 3378 if ("MedicationDispense".equals(codeString)) 3379 return MEDICATIONDISPENSE; 3380 if ("MedicationOrder".equals(codeString)) 3381 return MEDICATIONORDER; 3382 if ("MedicationStatement".equals(codeString)) 3383 return MEDICATIONSTATEMENT; 3384 if ("MessageHeader".equals(codeString)) 3385 return MESSAGEHEADER; 3386 if ("NamingSystem".equals(codeString)) 3387 return NAMINGSYSTEM; 3388 if ("NutritionOrder".equals(codeString)) 3389 return NUTRITIONORDER; 3390 if ("Observation".equals(codeString)) 3391 return OBSERVATION; 3392 if ("OperationDefinition".equals(codeString)) 3393 return OPERATIONDEFINITION; 3394 if ("OperationOutcome".equals(codeString)) 3395 return OPERATIONOUTCOME; 3396 if ("Order".equals(codeString)) 3397 return ORDER; 3398 if ("OrderResponse".equals(codeString)) 3399 return ORDERRESPONSE; 3400 if ("Organization".equals(codeString)) 3401 return ORGANIZATION; 3402 if ("Parameters".equals(codeString)) 3403 return PARAMETERS; 3404 if ("Patient".equals(codeString)) 3405 return PATIENT; 3406 if ("PaymentNotice".equals(codeString)) 3407 return PAYMENTNOTICE; 3408 if ("PaymentReconciliation".equals(codeString)) 3409 return PAYMENTRECONCILIATION; 3410 if ("Person".equals(codeString)) 3411 return PERSON; 3412 if ("Practitioner".equals(codeString)) 3413 return PRACTITIONER; 3414 if ("Procedure".equals(codeString)) 3415 return PROCEDURE; 3416 if ("ProcedureRequest".equals(codeString)) 3417 return PROCEDUREREQUEST; 3418 if ("ProcessRequest".equals(codeString)) 3419 return PROCESSREQUEST; 3420 if ("ProcessResponse".equals(codeString)) 3421 return PROCESSRESPONSE; 3422 if ("Provenance".equals(codeString)) 3423 return PROVENANCE; 3424 if ("Questionnaire".equals(codeString)) 3425 return QUESTIONNAIRE; 3426 if ("QuestionnaireResponse".equals(codeString)) 3427 return QUESTIONNAIRERESPONSE; 3428 if ("ReferralRequest".equals(codeString)) 3429 return REFERRALREQUEST; 3430 if ("RelatedPerson".equals(codeString)) 3431 return RELATEDPERSON; 3432 if ("Resource".equals(codeString)) 3433 return RESOURCE; 3434 if ("RiskAssessment".equals(codeString)) 3435 return RISKASSESSMENT; 3436 if ("Schedule".equals(codeString)) 3437 return SCHEDULE; 3438 if ("SearchParameter".equals(codeString)) 3439 return SEARCHPARAMETER; 3440 if ("Slot".equals(codeString)) 3441 return SLOT; 3442 if ("Specimen".equals(codeString)) 3443 return SPECIMEN; 3444 if ("StructureDefinition".equals(codeString)) 3445 return STRUCTUREDEFINITION; 3446 if ("Subscription".equals(codeString)) 3447 return SUBSCRIPTION; 3448 if ("Substance".equals(codeString)) 3449 return SUBSTANCE; 3450 if ("SupplyDelivery".equals(codeString)) 3451 return SUPPLYDELIVERY; 3452 if ("SupplyRequest".equals(codeString)) 3453 return SUPPLYREQUEST; 3454 if ("TestScript".equals(codeString)) 3455 return TESTSCRIPT; 3456 if ("ValueSet".equals(codeString)) 3457 return VALUESET; 3458 if ("VisionPrescription".equals(codeString)) 3459 return VISIONPRESCRIPTION; 3460 throw new FHIRException("Unknown FHIRDefinedType code '" + codeString + "'"); 3461 } 3462 3463 public String toCode() { 3464 switch (this) { 3465 case ADDRESS: 3466 return "Address"; 3467 case AGE: 3468 return "Age"; 3469 case ANNOTATION: 3470 return "Annotation"; 3471 case ATTACHMENT: 3472 return "Attachment"; 3473 case BACKBONEELEMENT: 3474 return "BackboneElement"; 3475 case CODEABLECONCEPT: 3476 return "CodeableConcept"; 3477 case CODING: 3478 return "Coding"; 3479 case CONTACTPOINT: 3480 return "ContactPoint"; 3481 case COUNT: 3482 return "Count"; 3483 case DISTANCE: 3484 return "Distance"; 3485 case DURATION: 3486 return "Duration"; 3487 case ELEMENT: 3488 return "Element"; 3489 case ELEMENTDEFINITION: 3490 return "ElementDefinition"; 3491 case EXTENSION: 3492 return "Extension"; 3493 case HUMANNAME: 3494 return "HumanName"; 3495 case IDENTIFIER: 3496 return "Identifier"; 3497 case META: 3498 return "Meta"; 3499 case MONEY: 3500 return "Money"; 3501 case NARRATIVE: 3502 return "Narrative"; 3503 case PERIOD: 3504 return "Period"; 3505 case QUANTITY: 3506 return "Quantity"; 3507 case RANGE: 3508 return "Range"; 3509 case RATIO: 3510 return "Ratio"; 3511 case REFERENCE: 3512 return "Reference"; 3513 case SAMPLEDDATA: 3514 return "SampledData"; 3515 case SIGNATURE: 3516 return "Signature"; 3517 case SIMPLEQUANTITY: 3518 return "SimpleQuantity"; 3519 case TIMING: 3520 return "Timing"; 3521 case BASE64BINARY: 3522 return "base64Binary"; 3523 case BOOLEAN: 3524 return "boolean"; 3525 case CODE: 3526 return "code"; 3527 case DATE: 3528 return "date"; 3529 case DATETIME: 3530 return "dateTime"; 3531 case DECIMAL: 3532 return "decimal"; 3533 case ID: 3534 return "id"; 3535 case INSTANT: 3536 return "instant"; 3537 case INTEGER: 3538 return "integer"; 3539 case MARKDOWN: 3540 return "markdown"; 3541 case OID: 3542 return "oid"; 3543 case POSITIVEINT: 3544 return "positiveInt"; 3545 case STRING: 3546 return "string"; 3547 case TIME: 3548 return "time"; 3549 case UNSIGNEDINT: 3550 return "unsignedInt"; 3551 case URI: 3552 return "uri"; 3553 case UUID: 3554 return "uuid"; 3555 case XHTML: 3556 return "xhtml"; 3557 case ACCOUNT: 3558 return "Account"; 3559 case ALLERGYINTOLERANCE: 3560 return "AllergyIntolerance"; 3561 case APPOINTMENT: 3562 return "Appointment"; 3563 case APPOINTMENTRESPONSE: 3564 return "AppointmentResponse"; 3565 case AUDITEVENT: 3566 return "AuditEvent"; 3567 case BASIC: 3568 return "Basic"; 3569 case BINARY: 3570 return "Binary"; 3571 case BODYSITE: 3572 return "BodySite"; 3573 case BUNDLE: 3574 return "Bundle"; 3575 case CAREPLAN: 3576 return "CarePlan"; 3577 case CLAIM: 3578 return "Claim"; 3579 case CLAIMRESPONSE: 3580 return "ClaimResponse"; 3581 case CLINICALIMPRESSION: 3582 return "ClinicalImpression"; 3583 case COMMUNICATION: 3584 return "Communication"; 3585 case COMMUNICATIONREQUEST: 3586 return "CommunicationRequest"; 3587 case COMPOSITION: 3588 return "Composition"; 3589 case CONCEPTMAP: 3590 return "ConceptMap"; 3591 case CONDITION: 3592 return "Condition"; 3593 case CONFORMANCE: 3594 return "Conformance"; 3595 case CONTRACT: 3596 return "Contract"; 3597 case COVERAGE: 3598 return "Coverage"; 3599 case DATAELEMENT: 3600 return "DataElement"; 3601 case DETECTEDISSUE: 3602 return "DetectedIssue"; 3603 case DEVICE: 3604 return "Device"; 3605 case DEVICECOMPONENT: 3606 return "DeviceComponent"; 3607 case DEVICEMETRIC: 3608 return "DeviceMetric"; 3609 case DEVICEUSEREQUEST: 3610 return "DeviceUseRequest"; 3611 case DEVICEUSESTATEMENT: 3612 return "DeviceUseStatement"; 3613 case DIAGNOSTICORDER: 3614 return "DiagnosticOrder"; 3615 case DIAGNOSTICREPORT: 3616 return "DiagnosticReport"; 3617 case DOCUMENTMANIFEST: 3618 return "DocumentManifest"; 3619 case DOCUMENTREFERENCE: 3620 return "DocumentReference"; 3621 case DOMAINRESOURCE: 3622 return "DomainResource"; 3623 case ELIGIBILITYREQUEST: 3624 return "EligibilityRequest"; 3625 case ELIGIBILITYRESPONSE: 3626 return "EligibilityResponse"; 3627 case ENCOUNTER: 3628 return "Encounter"; 3629 case ENROLLMENTREQUEST: 3630 return "EnrollmentRequest"; 3631 case ENROLLMENTRESPONSE: 3632 return "EnrollmentResponse"; 3633 case EPISODEOFCARE: 3634 return "EpisodeOfCare"; 3635 case EXPLANATIONOFBENEFIT: 3636 return "ExplanationOfBenefit"; 3637 case FAMILYMEMBERHISTORY: 3638 return "FamilyMemberHistory"; 3639 case FLAG: 3640 return "Flag"; 3641 case GOAL: 3642 return "Goal"; 3643 case GROUP: 3644 return "Group"; 3645 case HEALTHCARESERVICE: 3646 return "HealthcareService"; 3647 case IMAGINGOBJECTSELECTION: 3648 return "ImagingObjectSelection"; 3649 case IMAGINGSTUDY: 3650 return "ImagingStudy"; 3651 case IMMUNIZATION: 3652 return "Immunization"; 3653 case IMMUNIZATIONRECOMMENDATION: 3654 return "ImmunizationRecommendation"; 3655 case IMPLEMENTATIONGUIDE: 3656 return "ImplementationGuide"; 3657 case LIST: 3658 return "List"; 3659 case LOCATION: 3660 return "Location"; 3661 case MEDIA: 3662 return "Media"; 3663 case MEDICATION: 3664 return "Medication"; 3665 case MEDICATIONADMINISTRATION: 3666 return "MedicationAdministration"; 3667 case MEDICATIONDISPENSE: 3668 return "MedicationDispense"; 3669 case MEDICATIONORDER: 3670 return "MedicationOrder"; 3671 case MEDICATIONSTATEMENT: 3672 return "MedicationStatement"; 3673 case MESSAGEHEADER: 3674 return "MessageHeader"; 3675 case NAMINGSYSTEM: 3676 return "NamingSystem"; 3677 case NUTRITIONORDER: 3678 return "NutritionOrder"; 3679 case OBSERVATION: 3680 return "Observation"; 3681 case OPERATIONDEFINITION: 3682 return "OperationDefinition"; 3683 case OPERATIONOUTCOME: 3684 return "OperationOutcome"; 3685 case ORDER: 3686 return "Order"; 3687 case ORDERRESPONSE: 3688 return "OrderResponse"; 3689 case ORGANIZATION: 3690 return "Organization"; 3691 case PARAMETERS: 3692 return "Parameters"; 3693 case PATIENT: 3694 return "Patient"; 3695 case PAYMENTNOTICE: 3696 return "PaymentNotice"; 3697 case PAYMENTRECONCILIATION: 3698 return "PaymentReconciliation"; 3699 case PERSON: 3700 return "Person"; 3701 case PRACTITIONER: 3702 return "Practitioner"; 3703 case PROCEDURE: 3704 return "Procedure"; 3705 case PROCEDUREREQUEST: 3706 return "ProcedureRequest"; 3707 case PROCESSREQUEST: 3708 return "ProcessRequest"; 3709 case PROCESSRESPONSE: 3710 return "ProcessResponse"; 3711 case PROVENANCE: 3712 return "Provenance"; 3713 case QUESTIONNAIRE: 3714 return "Questionnaire"; 3715 case QUESTIONNAIRERESPONSE: 3716 return "QuestionnaireResponse"; 3717 case REFERRALREQUEST: 3718 return "ReferralRequest"; 3719 case RELATEDPERSON: 3720 return "RelatedPerson"; 3721 case RESOURCE: 3722 return "Resource"; 3723 case RISKASSESSMENT: 3724 return "RiskAssessment"; 3725 case SCHEDULE: 3726 return "Schedule"; 3727 case SEARCHPARAMETER: 3728 return "SearchParameter"; 3729 case SLOT: 3730 return "Slot"; 3731 case SPECIMEN: 3732 return "Specimen"; 3733 case STRUCTUREDEFINITION: 3734 return "StructureDefinition"; 3735 case SUBSCRIPTION: 3736 return "Subscription"; 3737 case SUBSTANCE: 3738 return "Substance"; 3739 case SUPPLYDELIVERY: 3740 return "SupplyDelivery"; 3741 case SUPPLYREQUEST: 3742 return "SupplyRequest"; 3743 case TESTSCRIPT: 3744 return "TestScript"; 3745 case VALUESET: 3746 return "ValueSet"; 3747 case VISIONPRESCRIPTION: 3748 return "VisionPrescription"; 3749 case NULL: 3750 return null; 3751 default: 3752 return "?"; 3753 } 3754 } 3755 3756 public String getSystem() { 3757 switch (this) { 3758 case ADDRESS: 3759 return "http://hl7.org/fhir/data-types"; 3760 case AGE: 3761 return "http://hl7.org/fhir/data-types"; 3762 case ANNOTATION: 3763 return "http://hl7.org/fhir/data-types"; 3764 case ATTACHMENT: 3765 return "http://hl7.org/fhir/data-types"; 3766 case BACKBONEELEMENT: 3767 return "http://hl7.org/fhir/data-types"; 3768 case CODEABLECONCEPT: 3769 return "http://hl7.org/fhir/data-types"; 3770 case CODING: 3771 return "http://hl7.org/fhir/data-types"; 3772 case CONTACTPOINT: 3773 return "http://hl7.org/fhir/data-types"; 3774 case COUNT: 3775 return "http://hl7.org/fhir/data-types"; 3776 case DISTANCE: 3777 return "http://hl7.org/fhir/data-types"; 3778 case DURATION: 3779 return "http://hl7.org/fhir/data-types"; 3780 case ELEMENT: 3781 return "http://hl7.org/fhir/data-types"; 3782 case ELEMENTDEFINITION: 3783 return "http://hl7.org/fhir/data-types"; 3784 case EXTENSION: 3785 return "http://hl7.org/fhir/data-types"; 3786 case HUMANNAME: 3787 return "http://hl7.org/fhir/data-types"; 3788 case IDENTIFIER: 3789 return "http://hl7.org/fhir/data-types"; 3790 case META: 3791 return "http://hl7.org/fhir/data-types"; 3792 case MONEY: 3793 return "http://hl7.org/fhir/data-types"; 3794 case NARRATIVE: 3795 return "http://hl7.org/fhir/data-types"; 3796 case PERIOD: 3797 return "http://hl7.org/fhir/data-types"; 3798 case QUANTITY: 3799 return "http://hl7.org/fhir/data-types"; 3800 case RANGE: 3801 return "http://hl7.org/fhir/data-types"; 3802 case RATIO: 3803 return "http://hl7.org/fhir/data-types"; 3804 case REFERENCE: 3805 return "http://hl7.org/fhir/data-types"; 3806 case SAMPLEDDATA: 3807 return "http://hl7.org/fhir/data-types"; 3808 case SIGNATURE: 3809 return "http://hl7.org/fhir/data-types"; 3810 case SIMPLEQUANTITY: 3811 return "http://hl7.org/fhir/data-types"; 3812 case TIMING: 3813 return "http://hl7.org/fhir/data-types"; 3814 case BASE64BINARY: 3815 return "http://hl7.org/fhir/data-types"; 3816 case BOOLEAN: 3817 return "http://hl7.org/fhir/data-types"; 3818 case CODE: 3819 return "http://hl7.org/fhir/data-types"; 3820 case DATE: 3821 return "http://hl7.org/fhir/data-types"; 3822 case DATETIME: 3823 return "http://hl7.org/fhir/data-types"; 3824 case DECIMAL: 3825 return "http://hl7.org/fhir/data-types"; 3826 case ID: 3827 return "http://hl7.org/fhir/data-types"; 3828 case INSTANT: 3829 return "http://hl7.org/fhir/data-types"; 3830 case INTEGER: 3831 return "http://hl7.org/fhir/data-types"; 3832 case MARKDOWN: 3833 return "http://hl7.org/fhir/data-types"; 3834 case OID: 3835 return "http://hl7.org/fhir/data-types"; 3836 case POSITIVEINT: 3837 return "http://hl7.org/fhir/data-types"; 3838 case STRING: 3839 return "http://hl7.org/fhir/data-types"; 3840 case TIME: 3841 return "http://hl7.org/fhir/data-types"; 3842 case UNSIGNEDINT: 3843 return "http://hl7.org/fhir/data-types"; 3844 case URI: 3845 return "http://hl7.org/fhir/data-types"; 3846 case UUID: 3847 return "http://hl7.org/fhir/data-types"; 3848 case XHTML: 3849 return "http://hl7.org/fhir/data-types"; 3850 case ACCOUNT: 3851 return "http://hl7.org/fhir/resource-types"; 3852 case ALLERGYINTOLERANCE: 3853 return "http://hl7.org/fhir/resource-types"; 3854 case APPOINTMENT: 3855 return "http://hl7.org/fhir/resource-types"; 3856 case APPOINTMENTRESPONSE: 3857 return "http://hl7.org/fhir/resource-types"; 3858 case AUDITEVENT: 3859 return "http://hl7.org/fhir/resource-types"; 3860 case BASIC: 3861 return "http://hl7.org/fhir/resource-types"; 3862 case BINARY: 3863 return "http://hl7.org/fhir/resource-types"; 3864 case BODYSITE: 3865 return "http://hl7.org/fhir/resource-types"; 3866 case BUNDLE: 3867 return "http://hl7.org/fhir/resource-types"; 3868 case CAREPLAN: 3869 return "http://hl7.org/fhir/resource-types"; 3870 case CLAIM: 3871 return "http://hl7.org/fhir/resource-types"; 3872 case CLAIMRESPONSE: 3873 return "http://hl7.org/fhir/resource-types"; 3874 case CLINICALIMPRESSION: 3875 return "http://hl7.org/fhir/resource-types"; 3876 case COMMUNICATION: 3877 return "http://hl7.org/fhir/resource-types"; 3878 case COMMUNICATIONREQUEST: 3879 return "http://hl7.org/fhir/resource-types"; 3880 case COMPOSITION: 3881 return "http://hl7.org/fhir/resource-types"; 3882 case CONCEPTMAP: 3883 return "http://hl7.org/fhir/resource-types"; 3884 case CONDITION: 3885 return "http://hl7.org/fhir/resource-types"; 3886 case CONFORMANCE: 3887 return "http://hl7.org/fhir/resource-types"; 3888 case CONTRACT: 3889 return "http://hl7.org/fhir/resource-types"; 3890 case COVERAGE: 3891 return "http://hl7.org/fhir/resource-types"; 3892 case DATAELEMENT: 3893 return "http://hl7.org/fhir/resource-types"; 3894 case DETECTEDISSUE: 3895 return "http://hl7.org/fhir/resource-types"; 3896 case DEVICE: 3897 return "http://hl7.org/fhir/resource-types"; 3898 case DEVICECOMPONENT: 3899 return "http://hl7.org/fhir/resource-types"; 3900 case DEVICEMETRIC: 3901 return "http://hl7.org/fhir/resource-types"; 3902 case DEVICEUSEREQUEST: 3903 return "http://hl7.org/fhir/resource-types"; 3904 case DEVICEUSESTATEMENT: 3905 return "http://hl7.org/fhir/resource-types"; 3906 case DIAGNOSTICORDER: 3907 return "http://hl7.org/fhir/resource-types"; 3908 case DIAGNOSTICREPORT: 3909 return "http://hl7.org/fhir/resource-types"; 3910 case DOCUMENTMANIFEST: 3911 return "http://hl7.org/fhir/resource-types"; 3912 case DOCUMENTREFERENCE: 3913 return "http://hl7.org/fhir/resource-types"; 3914 case DOMAINRESOURCE: 3915 return "http://hl7.org/fhir/resource-types"; 3916 case ELIGIBILITYREQUEST: 3917 return "http://hl7.org/fhir/resource-types"; 3918 case ELIGIBILITYRESPONSE: 3919 return "http://hl7.org/fhir/resource-types"; 3920 case ENCOUNTER: 3921 return "http://hl7.org/fhir/resource-types"; 3922 case ENROLLMENTREQUEST: 3923 return "http://hl7.org/fhir/resource-types"; 3924 case ENROLLMENTRESPONSE: 3925 return "http://hl7.org/fhir/resource-types"; 3926 case EPISODEOFCARE: 3927 return "http://hl7.org/fhir/resource-types"; 3928 case EXPLANATIONOFBENEFIT: 3929 return "http://hl7.org/fhir/resource-types"; 3930 case FAMILYMEMBERHISTORY: 3931 return "http://hl7.org/fhir/resource-types"; 3932 case FLAG: 3933 return "http://hl7.org/fhir/resource-types"; 3934 case GOAL: 3935 return "http://hl7.org/fhir/resource-types"; 3936 case GROUP: 3937 return "http://hl7.org/fhir/resource-types"; 3938 case HEALTHCARESERVICE: 3939 return "http://hl7.org/fhir/resource-types"; 3940 case IMAGINGOBJECTSELECTION: 3941 return "http://hl7.org/fhir/resource-types"; 3942 case IMAGINGSTUDY: 3943 return "http://hl7.org/fhir/resource-types"; 3944 case IMMUNIZATION: 3945 return "http://hl7.org/fhir/resource-types"; 3946 case IMMUNIZATIONRECOMMENDATION: 3947 return "http://hl7.org/fhir/resource-types"; 3948 case IMPLEMENTATIONGUIDE: 3949 return "http://hl7.org/fhir/resource-types"; 3950 case LIST: 3951 return "http://hl7.org/fhir/resource-types"; 3952 case LOCATION: 3953 return "http://hl7.org/fhir/resource-types"; 3954 case MEDIA: 3955 return "http://hl7.org/fhir/resource-types"; 3956 case MEDICATION: 3957 return "http://hl7.org/fhir/resource-types"; 3958 case MEDICATIONADMINISTRATION: 3959 return "http://hl7.org/fhir/resource-types"; 3960 case MEDICATIONDISPENSE: 3961 return "http://hl7.org/fhir/resource-types"; 3962 case MEDICATIONORDER: 3963 return "http://hl7.org/fhir/resource-types"; 3964 case MEDICATIONSTATEMENT: 3965 return "http://hl7.org/fhir/resource-types"; 3966 case MESSAGEHEADER: 3967 return "http://hl7.org/fhir/resource-types"; 3968 case NAMINGSYSTEM: 3969 return "http://hl7.org/fhir/resource-types"; 3970 case NUTRITIONORDER: 3971 return "http://hl7.org/fhir/resource-types"; 3972 case OBSERVATION: 3973 return "http://hl7.org/fhir/resource-types"; 3974 case OPERATIONDEFINITION: 3975 return "http://hl7.org/fhir/resource-types"; 3976 case OPERATIONOUTCOME: 3977 return "http://hl7.org/fhir/resource-types"; 3978 case ORDER: 3979 return "http://hl7.org/fhir/resource-types"; 3980 case ORDERRESPONSE: 3981 return "http://hl7.org/fhir/resource-types"; 3982 case ORGANIZATION: 3983 return "http://hl7.org/fhir/resource-types"; 3984 case PARAMETERS: 3985 return "http://hl7.org/fhir/resource-types"; 3986 case PATIENT: 3987 return "http://hl7.org/fhir/resource-types"; 3988 case PAYMENTNOTICE: 3989 return "http://hl7.org/fhir/resource-types"; 3990 case PAYMENTRECONCILIATION: 3991 return "http://hl7.org/fhir/resource-types"; 3992 case PERSON: 3993 return "http://hl7.org/fhir/resource-types"; 3994 case PRACTITIONER: 3995 return "http://hl7.org/fhir/resource-types"; 3996 case PROCEDURE: 3997 return "http://hl7.org/fhir/resource-types"; 3998 case PROCEDUREREQUEST: 3999 return "http://hl7.org/fhir/resource-types"; 4000 case PROCESSREQUEST: 4001 return "http://hl7.org/fhir/resource-types"; 4002 case PROCESSRESPONSE: 4003 return "http://hl7.org/fhir/resource-types"; 4004 case PROVENANCE: 4005 return "http://hl7.org/fhir/resource-types"; 4006 case QUESTIONNAIRE: 4007 return "http://hl7.org/fhir/resource-types"; 4008 case QUESTIONNAIRERESPONSE: 4009 return "http://hl7.org/fhir/resource-types"; 4010 case REFERRALREQUEST: 4011 return "http://hl7.org/fhir/resource-types"; 4012 case RELATEDPERSON: 4013 return "http://hl7.org/fhir/resource-types"; 4014 case RESOURCE: 4015 return "http://hl7.org/fhir/resource-types"; 4016 case RISKASSESSMENT: 4017 return "http://hl7.org/fhir/resource-types"; 4018 case SCHEDULE: 4019 return "http://hl7.org/fhir/resource-types"; 4020 case SEARCHPARAMETER: 4021 return "http://hl7.org/fhir/resource-types"; 4022 case SLOT: 4023 return "http://hl7.org/fhir/resource-types"; 4024 case SPECIMEN: 4025 return "http://hl7.org/fhir/resource-types"; 4026 case STRUCTUREDEFINITION: 4027 return "http://hl7.org/fhir/resource-types"; 4028 case SUBSCRIPTION: 4029 return "http://hl7.org/fhir/resource-types"; 4030 case SUBSTANCE: 4031 return "http://hl7.org/fhir/resource-types"; 4032 case SUPPLYDELIVERY: 4033 return "http://hl7.org/fhir/resource-types"; 4034 case SUPPLYREQUEST: 4035 return "http://hl7.org/fhir/resource-types"; 4036 case TESTSCRIPT: 4037 return "http://hl7.org/fhir/resource-types"; 4038 case VALUESET: 4039 return "http://hl7.org/fhir/resource-types"; 4040 case VISIONPRESCRIPTION: 4041 return "http://hl7.org/fhir/resource-types"; 4042 case NULL: 4043 return null; 4044 default: 4045 return "?"; 4046 } 4047 } 4048 4049 public String getDefinition() { 4050 switch (this) { 4051 case ADDRESS: 4052 return "There is a variety of postal address formats defined around the world. This format defines a superset that is the basis for all addresses around the world."; 4053 case AGE: 4054 return ""; 4055 case ANNOTATION: 4056 return "A text note which also contains information about who made the statement and when."; 4057 case ATTACHMENT: 4058 return "For referring to data content defined in other formats."; 4059 case BACKBONEELEMENT: 4060 return "Base definition for all elements that are defined inside a resource - but not those in a data type."; 4061 case CODEABLECONCEPT: 4062 return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; 4063 case CODING: 4064 return "A reference to a code defined by a terminology system."; 4065 case CONTACTPOINT: 4066 return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; 4067 case COUNT: 4068 return ""; 4069 case DISTANCE: 4070 return ""; 4071 case DURATION: 4072 return ""; 4073 case ELEMENT: 4074 return "Base definition for all elements in a resource."; 4075 case ELEMENTDEFINITION: 4076 return "Captures constraints on each element within the resource, profile, or extension."; 4077 case EXTENSION: 4078 return "Optional Extensions Element - found in all resources."; 4079 case HUMANNAME: 4080 return "A human's name with the ability to identify parts and usage."; 4081 case IDENTIFIER: 4082 return "A technical identifier - identifies some entity uniquely and unambiguously."; 4083 case META: 4084 return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource."; 4085 case MONEY: 4086 return ""; 4087 case NARRATIVE: 4088 return "A human-readable formatted text, including images."; 4089 case PERIOD: 4090 return "A time period defined by a start and end date and optionally time."; 4091 case QUANTITY: 4092 return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; 4093 case RANGE: 4094 return "A set of ordered Quantities defined by a low and high limit."; 4095 case RATIO: 4096 return "A relationship of two Quantity values - expressed as a numerator and a denominator."; 4097 case REFERENCE: 4098 return "A reference from one resource to another."; 4099 case SAMPLEDDATA: 4100 return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; 4101 case SIGNATURE: 4102 return "A digital signature along with supporting context. The signature may be electronic/cryptographic in nature, or a graphical image representing a hand-written signature, or a signature process. Different Signature approaches have different utilities."; 4103 case SIMPLEQUANTITY: 4104 return ""; 4105 case TIMING: 4106 return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds."; 4107 case BASE64BINARY: 4108 return "A stream of bytes"; 4109 case BOOLEAN: 4110 return "Value of \"true\" or \"false\""; 4111 case CODE: 4112 return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; 4113 case DATE: 4114 return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; 4115 case DATETIME: 4116 return "A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; 4117 case DECIMAL: 4118 return "A rational number with implicit precision"; 4119 case ID: 4120 return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; 4121 case INSTANT: 4122 return "An instant in time - known at least to the second"; 4123 case INTEGER: 4124 return "A whole number"; 4125 case MARKDOWN: 4126 return "A string that may contain markdown syntax for optional processing by a mark down presentation engine"; 4127 case OID: 4128 return "An oid represented as a URI"; 4129 case POSITIVEINT: 4130 return "An integer with a value that is positive (e.g. >0)"; 4131 case STRING: 4132 return "A sequence of Unicode characters"; 4133 case TIME: 4134 return "A time during the day, with no date specified"; 4135 case UNSIGNEDINT: 4136 return "An integer with a value that is not negative (e.g. >= 0)"; 4137 case URI: 4138 return "String of characters used to identify a name or a resource"; 4139 case UUID: 4140 return "A UUID, represented as a URI"; 4141 case XHTML: 4142 return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; 4143 case ACCOUNT: 4144 return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centres, etc."; 4145 case ALLERGYINTOLERANCE: 4146 return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 4147 case APPOINTMENT: 4148 return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 4149 case APPOINTMENTRESPONSE: 4150 return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 4151 case AUDITEVENT: 4152 return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage."; 4153 case BASIC: 4154 return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; 4155 case BINARY: 4156 return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 4157 case BODYSITE: 4158 return "Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; 4159 case BUNDLE: 4160 return "A container for a collection of resources."; 4161 case CAREPLAN: 4162 return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; 4163 case CLAIM: 4164 return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery."; 4165 case CLAIMRESPONSE: 4166 return "This resource provides the adjudication details from the processing of a Claim resource."; 4167 case CLINICALIMPRESSION: 4168 return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; 4169 case COMMUNICATION: 4170 return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition."; 4171 case COMMUNICATIONREQUEST: 4172 return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; 4173 case COMPOSITION: 4174 return "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained."; 4175 case CONCEPTMAP: 4176 return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models."; 4177 case CONDITION: 4178 return "Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary."; 4179 case CONFORMANCE: 4180 return "A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 4181 case CONTRACT: 4182 return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters."; 4183 case COVERAGE: 4184 return "Financial instrument which may be used to pay for or reimburse health care products and services."; 4185 case DATAELEMENT: 4186 return "The formal description of a single piece of information that can be gathered and reported."; 4187 case DETECTEDISSUE: 4188 return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; 4189 case DEVICE: 4190 return "This resource identifies an instance of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc."; 4191 case DEVICECOMPONENT: 4192 return "Describes the characteristics, operational status and capabilities of a medical-related component of a medical device."; 4193 case DEVICEMETRIC: 4194 return "Describes a measurement, calculation or setting capability of a medical device."; 4195 case DEVICEUSEREQUEST: 4196 return "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker."; 4197 case DEVICEUSESTATEMENT: 4198 return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician."; 4199 case DIAGNOSTICORDER: 4200 return "A record of a request for a diagnostic investigation service to be performed."; 4201 case DIAGNOSTICREPORT: 4202 return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports."; 4203 case DOCUMENTMANIFEST: 4204 return "A manifest that defines a set of documents."; 4205 case DOCUMENTREFERENCE: 4206 return "A reference to a document ."; 4207 case DOMAINRESOURCE: 4208 return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; 4209 case ELIGIBILITYREQUEST: 4210 return "This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service."; 4211 case ELIGIBILITYRESPONSE: 4212 return "This resource provides eligibility and plan details from the processing of an Eligibility resource."; 4213 case ENCOUNTER: 4214 return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; 4215 case ENROLLMENTREQUEST: 4216 return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 4217 case ENROLLMENTRESPONSE: 4218 return "This resource provides enrollment and plan details from the processing of an Enrollment resource."; 4219 case EPISODEOFCARE: 4220 return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; 4221 case EXPLANATIONOFBENEFIT: 4222 return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; 4223 case FAMILYMEMBERHISTORY: 4224 return "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient."; 4225 case FLAG: 4226 return "Prospective warnings of potential issues when providing care to the patient."; 4227 case GOAL: 4228 return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; 4229 case GROUP: 4230 return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; 4231 case HEALTHCARESERVICE: 4232 return "The details of a healthcare service available at a location."; 4233 case IMAGINGOBJECTSELECTION: 4234 return "A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). The referenced SOP Instances (images or other content) are for a single patient, and may be from one or more studies. The referenced SOP Instances have been selected for a purpose, such as quality assurance, conference, or consult. Reflecting that range of purposes, typical ImagingObjectSelection resources may include all SOP Instances in a study (perhaps for sharing through a Health Information Exchange); key images from multiple studies (for reference by a referring or treating physician); a multi-frame ultrasound instance (\"cine\" video clip) and a set of measurements taken from that instance (for inclusion in a teaching file); and so on."; 4235 case IMAGINGSTUDY: 4236 return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; 4237 case IMMUNIZATION: 4238 return "Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed."; 4239 case IMMUNIZATIONRECOMMENDATION: 4240 return "A patient's point-in-time immunization and recommendation (i.e. forecasting a patient's immunization eligibility according to a published schedule) with optional supporting justification."; 4241 case IMPLEMENTATIONGUIDE: 4242 return "A set of rules or how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole, and to publish a computable definition of all the parts."; 4243 case LIST: 4244 return "A set of information summarized from a list of other resources."; 4245 case LOCATION: 4246 return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated."; 4247 case MEDIA: 4248 return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference."; 4249 case MEDICATION: 4250 return "This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication."; 4251 case MEDICATIONADMINISTRATION: 4252 return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; 4253 case MEDICATIONDISPENSE: 4254 return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; 4255 case MEDICATIONORDER: 4256 return "An order for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationOrder\" rather than \"MedicationPrescription\" to generalize the use across inpatient and outpatient settings as well as for care plans, etc."; 4257 case MEDICATIONSTATEMENT: 4258 return "A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."; 4259 case MESSAGEHEADER: 4260 return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; 4261 case NAMINGSYSTEM: 4262 return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; 4263 case NUTRITIONORDER: 4264 return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 4265 case OBSERVATION: 4266 return "Measurements and simple assertions made about a patient, device or other subject."; 4267 case OPERATIONDEFINITION: 4268 return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 4269 case OPERATIONOUTCOME: 4270 return "A collection of error, warning or information messages that result from a system action."; 4271 case ORDER: 4272 return "A request to perform an action."; 4273 case ORDERRESPONSE: 4274 return "A response to an order."; 4275 case ORGANIZATION: 4276 return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc."; 4277 case PARAMETERS: 4278 return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it."; 4279 case PATIENT: 4280 return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 4281 case PAYMENTNOTICE: 4282 return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 4283 case PAYMENTRECONCILIATION: 4284 return "This resource provides payment details and claim references supporting a bulk payment."; 4285 case PERSON: 4286 return "Demographics and administrative information about a person independent of a specific health-related context."; 4287 case PRACTITIONER: 4288 return "A person who is directly or indirectly involved in the provisioning of healthcare."; 4289 case PROCEDURE: 4290 return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy."; 4291 case PROCEDUREREQUEST: 4292 return "A request for a procedure to be performed. May be a proposal or an order."; 4293 case PROCESSREQUEST: 4294 return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources."; 4295 case PROCESSRESPONSE: 4296 return "This resource provides processing status, errors and notes from the processing of a resource."; 4297 case PROVENANCE: 4298 return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; 4299 case QUESTIONNAIRE: 4300 return "A structured set of questions intended to guide the collection of answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions."; 4301 case QUESTIONNAIRERESPONSE: 4302 return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions."; 4303 case REFERRALREQUEST: 4304 return "Used to record and send details about a request for referral service or transfer of a patient to the care of another provider or provider organization."; 4305 case RELATEDPERSON: 4306 return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; 4307 case RESOURCE: 4308 return "--- Abstract Type! ---This is the base resource type for everything."; 4309 case RISKASSESSMENT: 4310 return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 4311 case SCHEDULE: 4312 return "A container for slot(s) of time that may be available for booking appointments."; 4313 case SEARCHPARAMETER: 4314 return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 4315 case SLOT: 4316 return "A slot of time on a schedule that may be available for booking appointments."; 4317 case SPECIMEN: 4318 return "A sample to be used for analysis."; 4319 case STRUCTUREDEFINITION: 4320 return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions, and constraints on resources and data types."; 4321 case SUBSCRIPTION: 4322 return "The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system is able to take an appropriate action."; 4323 case SUBSTANCE: 4324 return "A homogeneous material with a definite composition."; 4325 case SUPPLYDELIVERY: 4326 return "Record of delivery of what is supplied."; 4327 case SUPPLYREQUEST: 4328 return "A record of a request for a medication, substance or device used in the healthcare setting."; 4329 case TESTSCRIPT: 4330 return "TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification."; 4331 case VALUESET: 4332 return "A value set specifies a set of codes drawn from one or more code systems."; 4333 case VISIONPRESCRIPTION: 4334 return "An authorization for the supply of glasses and/or contact lenses to a patient."; 4335 case NULL: 4336 return null; 4337 default: 4338 return "?"; 4339 } 4340 } 4341 4342 public String getDisplay() { 4343 switch (this) { 4344 case ADDRESS: 4345 return "Address"; 4346 case AGE: 4347 return "Age"; 4348 case ANNOTATION: 4349 return "Annotation"; 4350 case ATTACHMENT: 4351 return "Attachment"; 4352 case BACKBONEELEMENT: 4353 return "BackboneElement"; 4354 case CODEABLECONCEPT: 4355 return "CodeableConcept"; 4356 case CODING: 4357 return "Coding"; 4358 case CONTACTPOINT: 4359 return "ContactPoint"; 4360 case COUNT: 4361 return "Count"; 4362 case DISTANCE: 4363 return "Distance"; 4364 case DURATION: 4365 return "Duration"; 4366 case ELEMENT: 4367 return "Element"; 4368 case ELEMENTDEFINITION: 4369 return "ElementDefinition"; 4370 case EXTENSION: 4371 return "Extension"; 4372 case HUMANNAME: 4373 return "HumanName"; 4374 case IDENTIFIER: 4375 return "Identifier"; 4376 case META: 4377 return "Meta"; 4378 case MONEY: 4379 return "Money"; 4380 case NARRATIVE: 4381 return "Narrative"; 4382 case PERIOD: 4383 return "Period"; 4384 case QUANTITY: 4385 return "Quantity"; 4386 case RANGE: 4387 return "Range"; 4388 case RATIO: 4389 return "Ratio"; 4390 case REFERENCE: 4391 return "Reference"; 4392 case SAMPLEDDATA: 4393 return "SampledData"; 4394 case SIGNATURE: 4395 return "Signature"; 4396 case SIMPLEQUANTITY: 4397 return "SimpleQuantity"; 4398 case TIMING: 4399 return "Timing"; 4400 case BASE64BINARY: 4401 return "base64Binary"; 4402 case BOOLEAN: 4403 return "boolean"; 4404 case CODE: 4405 return "code"; 4406 case DATE: 4407 return "date"; 4408 case DATETIME: 4409 return "dateTime"; 4410 case DECIMAL: 4411 return "decimal"; 4412 case ID: 4413 return "id"; 4414 case INSTANT: 4415 return "instant"; 4416 case INTEGER: 4417 return "integer"; 4418 case MARKDOWN: 4419 return "markdown"; 4420 case OID: 4421 return "oid"; 4422 case POSITIVEINT: 4423 return "positiveInt"; 4424 case STRING: 4425 return "string"; 4426 case TIME: 4427 return "time"; 4428 case UNSIGNEDINT: 4429 return "unsignedInt"; 4430 case URI: 4431 return "uri"; 4432 case UUID: 4433 return "uuid"; 4434 case XHTML: 4435 return "XHTML"; 4436 case ACCOUNT: 4437 return "Account"; 4438 case ALLERGYINTOLERANCE: 4439 return "AllergyIntolerance"; 4440 case APPOINTMENT: 4441 return "Appointment"; 4442 case APPOINTMENTRESPONSE: 4443 return "AppointmentResponse"; 4444 case AUDITEVENT: 4445 return "AuditEvent"; 4446 case BASIC: 4447 return "Basic"; 4448 case BINARY: 4449 return "Binary"; 4450 case BODYSITE: 4451 return "BodySite"; 4452 case BUNDLE: 4453 return "Bundle"; 4454 case CAREPLAN: 4455 return "CarePlan"; 4456 case CLAIM: 4457 return "Claim"; 4458 case CLAIMRESPONSE: 4459 return "ClaimResponse"; 4460 case CLINICALIMPRESSION: 4461 return "ClinicalImpression"; 4462 case COMMUNICATION: 4463 return "Communication"; 4464 case COMMUNICATIONREQUEST: 4465 return "CommunicationRequest"; 4466 case COMPOSITION: 4467 return "Composition"; 4468 case CONCEPTMAP: 4469 return "ConceptMap"; 4470 case CONDITION: 4471 return "Condition"; 4472 case CONFORMANCE: 4473 return "Conformance"; 4474 case CONTRACT: 4475 return "Contract"; 4476 case COVERAGE: 4477 return "Coverage"; 4478 case DATAELEMENT: 4479 return "DataElement"; 4480 case DETECTEDISSUE: 4481 return "DetectedIssue"; 4482 case DEVICE: 4483 return "Device"; 4484 case DEVICECOMPONENT: 4485 return "DeviceComponent"; 4486 case DEVICEMETRIC: 4487 return "DeviceMetric"; 4488 case DEVICEUSEREQUEST: 4489 return "DeviceUseRequest"; 4490 case DEVICEUSESTATEMENT: 4491 return "DeviceUseStatement"; 4492 case DIAGNOSTICORDER: 4493 return "DiagnosticOrder"; 4494 case DIAGNOSTICREPORT: 4495 return "DiagnosticReport"; 4496 case DOCUMENTMANIFEST: 4497 return "DocumentManifest"; 4498 case DOCUMENTREFERENCE: 4499 return "DocumentReference"; 4500 case DOMAINRESOURCE: 4501 return "DomainResource"; 4502 case ELIGIBILITYREQUEST: 4503 return "EligibilityRequest"; 4504 case ELIGIBILITYRESPONSE: 4505 return "EligibilityResponse"; 4506 case ENCOUNTER: 4507 return "Encounter"; 4508 case ENROLLMENTREQUEST: 4509 return "EnrollmentRequest"; 4510 case ENROLLMENTRESPONSE: 4511 return "EnrollmentResponse"; 4512 case EPISODEOFCARE: 4513 return "EpisodeOfCare"; 4514 case EXPLANATIONOFBENEFIT: 4515 return "ExplanationOfBenefit"; 4516 case FAMILYMEMBERHISTORY: 4517 return "FamilyMemberHistory"; 4518 case FLAG: 4519 return "Flag"; 4520 case GOAL: 4521 return "Goal"; 4522 case GROUP: 4523 return "Group"; 4524 case HEALTHCARESERVICE: 4525 return "HealthcareService"; 4526 case IMAGINGOBJECTSELECTION: 4527 return "ImagingObjectSelection"; 4528 case IMAGINGSTUDY: 4529 return "ImagingStudy"; 4530 case IMMUNIZATION: 4531 return "Immunization"; 4532 case IMMUNIZATIONRECOMMENDATION: 4533 return "ImmunizationRecommendation"; 4534 case IMPLEMENTATIONGUIDE: 4535 return "ImplementationGuide"; 4536 case LIST: 4537 return "List"; 4538 case LOCATION: 4539 return "Location"; 4540 case MEDIA: 4541 return "Media"; 4542 case MEDICATION: 4543 return "Medication"; 4544 case MEDICATIONADMINISTRATION: 4545 return "MedicationAdministration"; 4546 case MEDICATIONDISPENSE: 4547 return "MedicationDispense"; 4548 case MEDICATIONORDER: 4549 return "MedicationOrder"; 4550 case MEDICATIONSTATEMENT: 4551 return "MedicationStatement"; 4552 case MESSAGEHEADER: 4553 return "MessageHeader"; 4554 case NAMINGSYSTEM: 4555 return "NamingSystem"; 4556 case NUTRITIONORDER: 4557 return "NutritionOrder"; 4558 case OBSERVATION: 4559 return "Observation"; 4560 case OPERATIONDEFINITION: 4561 return "OperationDefinition"; 4562 case OPERATIONOUTCOME: 4563 return "OperationOutcome"; 4564 case ORDER: 4565 return "Order"; 4566 case ORDERRESPONSE: 4567 return "OrderResponse"; 4568 case ORGANIZATION: 4569 return "Organization"; 4570 case PARAMETERS: 4571 return "Parameters"; 4572 case PATIENT: 4573 return "Patient"; 4574 case PAYMENTNOTICE: 4575 return "PaymentNotice"; 4576 case PAYMENTRECONCILIATION: 4577 return "PaymentReconciliation"; 4578 case PERSON: 4579 return "Person"; 4580 case PRACTITIONER: 4581 return "Practitioner"; 4582 case PROCEDURE: 4583 return "Procedure"; 4584 case PROCEDUREREQUEST: 4585 return "ProcedureRequest"; 4586 case PROCESSREQUEST: 4587 return "ProcessRequest"; 4588 case PROCESSRESPONSE: 4589 return "ProcessResponse"; 4590 case PROVENANCE: 4591 return "Provenance"; 4592 case QUESTIONNAIRE: 4593 return "Questionnaire"; 4594 case QUESTIONNAIRERESPONSE: 4595 return "QuestionnaireResponse"; 4596 case REFERRALREQUEST: 4597 return "ReferralRequest"; 4598 case RELATEDPERSON: 4599 return "RelatedPerson"; 4600 case RESOURCE: 4601 return "Resource"; 4602 case RISKASSESSMENT: 4603 return "RiskAssessment"; 4604 case SCHEDULE: 4605 return "Schedule"; 4606 case SEARCHPARAMETER: 4607 return "SearchParameter"; 4608 case SLOT: 4609 return "Slot"; 4610 case SPECIMEN: 4611 return "Specimen"; 4612 case STRUCTUREDEFINITION: 4613 return "StructureDefinition"; 4614 case SUBSCRIPTION: 4615 return "Subscription"; 4616 case SUBSTANCE: 4617 return "Substance"; 4618 case SUPPLYDELIVERY: 4619 return "SupplyDelivery"; 4620 case SUPPLYREQUEST: 4621 return "SupplyRequest"; 4622 case TESTSCRIPT: 4623 return "TestScript"; 4624 case VALUESET: 4625 return "ValueSet"; 4626 case VISIONPRESCRIPTION: 4627 return "VisionPrescription"; 4628 case NULL: 4629 return null; 4630 default: 4631 return "?"; 4632 } 4633 } 4634 } 4635 4636 public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> { 4637 public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException { 4638 if (codeString == null || "".equals(codeString)) 4639 if (codeString == null || "".equals(codeString)) 4640 return null; 4641 if ("Address".equals(codeString)) 4642 return FHIRDefinedType.ADDRESS; 4643 if ("Age".equals(codeString)) 4644 return FHIRDefinedType.AGE; 4645 if ("Annotation".equals(codeString)) 4646 return FHIRDefinedType.ANNOTATION; 4647 if ("Attachment".equals(codeString)) 4648 return FHIRDefinedType.ATTACHMENT; 4649 if ("BackboneElement".equals(codeString)) 4650 return FHIRDefinedType.BACKBONEELEMENT; 4651 if ("CodeableConcept".equals(codeString)) 4652 return FHIRDefinedType.CODEABLECONCEPT; 4653 if ("Coding".equals(codeString)) 4654 return FHIRDefinedType.CODING; 4655 if ("ContactPoint".equals(codeString)) 4656 return FHIRDefinedType.CONTACTPOINT; 4657 if ("Count".equals(codeString)) 4658 return FHIRDefinedType.COUNT; 4659 if ("Distance".equals(codeString)) 4660 return FHIRDefinedType.DISTANCE; 4661 if ("Duration".equals(codeString)) 4662 return FHIRDefinedType.DURATION; 4663 if ("Element".equals(codeString)) 4664 return FHIRDefinedType.ELEMENT; 4665 if ("ElementDefinition".equals(codeString)) 4666 return FHIRDefinedType.ELEMENTDEFINITION; 4667 if ("Extension".equals(codeString)) 4668 return FHIRDefinedType.EXTENSION; 4669 if ("HumanName".equals(codeString)) 4670 return FHIRDefinedType.HUMANNAME; 4671 if ("Identifier".equals(codeString)) 4672 return FHIRDefinedType.IDENTIFIER; 4673 if ("Meta".equals(codeString)) 4674 return FHIRDefinedType.META; 4675 if ("Money".equals(codeString)) 4676 return FHIRDefinedType.MONEY; 4677 if ("Narrative".equals(codeString)) 4678 return FHIRDefinedType.NARRATIVE; 4679 if ("Period".equals(codeString)) 4680 return FHIRDefinedType.PERIOD; 4681 if ("Quantity".equals(codeString)) 4682 return FHIRDefinedType.QUANTITY; 4683 if ("Range".equals(codeString)) 4684 return FHIRDefinedType.RANGE; 4685 if ("Ratio".equals(codeString)) 4686 return FHIRDefinedType.RATIO; 4687 if ("Reference".equals(codeString)) 4688 return FHIRDefinedType.REFERENCE; 4689 if ("SampledData".equals(codeString)) 4690 return FHIRDefinedType.SAMPLEDDATA; 4691 if ("Signature".equals(codeString)) 4692 return FHIRDefinedType.SIGNATURE; 4693 if ("SimpleQuantity".equals(codeString)) 4694 return FHIRDefinedType.SIMPLEQUANTITY; 4695 if ("Timing".equals(codeString)) 4696 return FHIRDefinedType.TIMING; 4697 if ("base64Binary".equals(codeString)) 4698 return FHIRDefinedType.BASE64BINARY; 4699 if ("boolean".equals(codeString)) 4700 return FHIRDefinedType.BOOLEAN; 4701 if ("code".equals(codeString)) 4702 return FHIRDefinedType.CODE; 4703 if ("date".equals(codeString)) 4704 return FHIRDefinedType.DATE; 4705 if ("dateTime".equals(codeString)) 4706 return FHIRDefinedType.DATETIME; 4707 if ("decimal".equals(codeString)) 4708 return FHIRDefinedType.DECIMAL; 4709 if ("id".equals(codeString)) 4710 return FHIRDefinedType.ID; 4711 if ("instant".equals(codeString)) 4712 return FHIRDefinedType.INSTANT; 4713 if ("integer".equals(codeString)) 4714 return FHIRDefinedType.INTEGER; 4715 if ("markdown".equals(codeString)) 4716 return FHIRDefinedType.MARKDOWN; 4717 if ("oid".equals(codeString)) 4718 return FHIRDefinedType.OID; 4719 if ("positiveInt".equals(codeString)) 4720 return FHIRDefinedType.POSITIVEINT; 4721 if ("string".equals(codeString)) 4722 return FHIRDefinedType.STRING; 4723 if ("time".equals(codeString)) 4724 return FHIRDefinedType.TIME; 4725 if ("unsignedInt".equals(codeString)) 4726 return FHIRDefinedType.UNSIGNEDINT; 4727 if ("uri".equals(codeString)) 4728 return FHIRDefinedType.URI; 4729 if ("uuid".equals(codeString)) 4730 return FHIRDefinedType.UUID; 4731 if ("xhtml".equals(codeString)) 4732 return FHIRDefinedType.XHTML; 4733 if ("Account".equals(codeString)) 4734 return FHIRDefinedType.ACCOUNT; 4735 if ("AllergyIntolerance".equals(codeString)) 4736 return FHIRDefinedType.ALLERGYINTOLERANCE; 4737 if ("Appointment".equals(codeString)) 4738 return FHIRDefinedType.APPOINTMENT; 4739 if ("AppointmentResponse".equals(codeString)) 4740 return FHIRDefinedType.APPOINTMENTRESPONSE; 4741 if ("AuditEvent".equals(codeString)) 4742 return FHIRDefinedType.AUDITEVENT; 4743 if ("Basic".equals(codeString)) 4744 return FHIRDefinedType.BASIC; 4745 if ("Binary".equals(codeString)) 4746 return FHIRDefinedType.BINARY; 4747 if ("BodySite".equals(codeString)) 4748 return FHIRDefinedType.BODYSITE; 4749 if ("Bundle".equals(codeString)) 4750 return FHIRDefinedType.BUNDLE; 4751 if ("CarePlan".equals(codeString)) 4752 return FHIRDefinedType.CAREPLAN; 4753 if ("Claim".equals(codeString)) 4754 return FHIRDefinedType.CLAIM; 4755 if ("ClaimResponse".equals(codeString)) 4756 return FHIRDefinedType.CLAIMRESPONSE; 4757 if ("ClinicalImpression".equals(codeString)) 4758 return FHIRDefinedType.CLINICALIMPRESSION; 4759 if ("Communication".equals(codeString)) 4760 return FHIRDefinedType.COMMUNICATION; 4761 if ("CommunicationRequest".equals(codeString)) 4762 return FHIRDefinedType.COMMUNICATIONREQUEST; 4763 if ("Composition".equals(codeString)) 4764 return FHIRDefinedType.COMPOSITION; 4765 if ("ConceptMap".equals(codeString)) 4766 return FHIRDefinedType.CONCEPTMAP; 4767 if ("Condition".equals(codeString)) 4768 return FHIRDefinedType.CONDITION; 4769 if ("Conformance".equals(codeString)) 4770 return FHIRDefinedType.CONFORMANCE; 4771 if ("Contract".equals(codeString)) 4772 return FHIRDefinedType.CONTRACT; 4773 if ("Coverage".equals(codeString)) 4774 return FHIRDefinedType.COVERAGE; 4775 if ("DataElement".equals(codeString)) 4776 return FHIRDefinedType.DATAELEMENT; 4777 if ("DetectedIssue".equals(codeString)) 4778 return FHIRDefinedType.DETECTEDISSUE; 4779 if ("Device".equals(codeString)) 4780 return FHIRDefinedType.DEVICE; 4781 if ("DeviceComponent".equals(codeString)) 4782 return FHIRDefinedType.DEVICECOMPONENT; 4783 if ("DeviceMetric".equals(codeString)) 4784 return FHIRDefinedType.DEVICEMETRIC; 4785 if ("DeviceUseRequest".equals(codeString)) 4786 return FHIRDefinedType.DEVICEUSEREQUEST; 4787 if ("DeviceUseStatement".equals(codeString)) 4788 return FHIRDefinedType.DEVICEUSESTATEMENT; 4789 if ("DiagnosticOrder".equals(codeString)) 4790 return FHIRDefinedType.DIAGNOSTICORDER; 4791 if ("DiagnosticReport".equals(codeString)) 4792 return FHIRDefinedType.DIAGNOSTICREPORT; 4793 if ("DocumentManifest".equals(codeString)) 4794 return FHIRDefinedType.DOCUMENTMANIFEST; 4795 if ("DocumentReference".equals(codeString)) 4796 return FHIRDefinedType.DOCUMENTREFERENCE; 4797 if ("DomainResource".equals(codeString)) 4798 return FHIRDefinedType.DOMAINRESOURCE; 4799 if ("EligibilityRequest".equals(codeString)) 4800 return FHIRDefinedType.ELIGIBILITYREQUEST; 4801 if ("EligibilityResponse".equals(codeString)) 4802 return FHIRDefinedType.ELIGIBILITYRESPONSE; 4803 if ("Encounter".equals(codeString)) 4804 return FHIRDefinedType.ENCOUNTER; 4805 if ("EnrollmentRequest".equals(codeString)) 4806 return FHIRDefinedType.ENROLLMENTREQUEST; 4807 if ("EnrollmentResponse".equals(codeString)) 4808 return FHIRDefinedType.ENROLLMENTRESPONSE; 4809 if ("EpisodeOfCare".equals(codeString)) 4810 return FHIRDefinedType.EPISODEOFCARE; 4811 if ("ExplanationOfBenefit".equals(codeString)) 4812 return FHIRDefinedType.EXPLANATIONOFBENEFIT; 4813 if ("FamilyMemberHistory".equals(codeString)) 4814 return FHIRDefinedType.FAMILYMEMBERHISTORY; 4815 if ("Flag".equals(codeString)) 4816 return FHIRDefinedType.FLAG; 4817 if ("Goal".equals(codeString)) 4818 return FHIRDefinedType.GOAL; 4819 if ("Group".equals(codeString)) 4820 return FHIRDefinedType.GROUP; 4821 if ("HealthcareService".equals(codeString)) 4822 return FHIRDefinedType.HEALTHCARESERVICE; 4823 if ("ImagingObjectSelection".equals(codeString)) 4824 return FHIRDefinedType.IMAGINGOBJECTSELECTION; 4825 if ("ImagingStudy".equals(codeString)) 4826 return FHIRDefinedType.IMAGINGSTUDY; 4827 if ("Immunization".equals(codeString)) 4828 return FHIRDefinedType.IMMUNIZATION; 4829 if ("ImmunizationRecommendation".equals(codeString)) 4830 return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION; 4831 if ("ImplementationGuide".equals(codeString)) 4832 return FHIRDefinedType.IMPLEMENTATIONGUIDE; 4833 if ("List".equals(codeString)) 4834 return FHIRDefinedType.LIST; 4835 if ("Location".equals(codeString)) 4836 return FHIRDefinedType.LOCATION; 4837 if ("Media".equals(codeString)) 4838 return FHIRDefinedType.MEDIA; 4839 if ("Medication".equals(codeString)) 4840 return FHIRDefinedType.MEDICATION; 4841 if ("MedicationAdministration".equals(codeString)) 4842 return FHIRDefinedType.MEDICATIONADMINISTRATION; 4843 if ("MedicationDispense".equals(codeString)) 4844 return FHIRDefinedType.MEDICATIONDISPENSE; 4845 if ("MedicationOrder".equals(codeString)) 4846 return FHIRDefinedType.MEDICATIONORDER; 4847 if ("MedicationStatement".equals(codeString)) 4848 return FHIRDefinedType.MEDICATIONSTATEMENT; 4849 if ("MessageHeader".equals(codeString)) 4850 return FHIRDefinedType.MESSAGEHEADER; 4851 if ("NamingSystem".equals(codeString)) 4852 return FHIRDefinedType.NAMINGSYSTEM; 4853 if ("NutritionOrder".equals(codeString)) 4854 return FHIRDefinedType.NUTRITIONORDER; 4855 if ("Observation".equals(codeString)) 4856 return FHIRDefinedType.OBSERVATION; 4857 if ("OperationDefinition".equals(codeString)) 4858 return FHIRDefinedType.OPERATIONDEFINITION; 4859 if ("OperationOutcome".equals(codeString)) 4860 return FHIRDefinedType.OPERATIONOUTCOME; 4861 if ("Order".equals(codeString)) 4862 return FHIRDefinedType.ORDER; 4863 if ("OrderResponse".equals(codeString)) 4864 return FHIRDefinedType.ORDERRESPONSE; 4865 if ("Organization".equals(codeString)) 4866 return FHIRDefinedType.ORGANIZATION; 4867 if ("Parameters".equals(codeString)) 4868 return FHIRDefinedType.PARAMETERS; 4869 if ("Patient".equals(codeString)) 4870 return FHIRDefinedType.PATIENT; 4871 if ("PaymentNotice".equals(codeString)) 4872 return FHIRDefinedType.PAYMENTNOTICE; 4873 if ("PaymentReconciliation".equals(codeString)) 4874 return FHIRDefinedType.PAYMENTRECONCILIATION; 4875 if ("Person".equals(codeString)) 4876 return FHIRDefinedType.PERSON; 4877 if ("Practitioner".equals(codeString)) 4878 return FHIRDefinedType.PRACTITIONER; 4879 if ("Procedure".equals(codeString)) 4880 return FHIRDefinedType.PROCEDURE; 4881 if ("ProcedureRequest".equals(codeString)) 4882 return FHIRDefinedType.PROCEDUREREQUEST; 4883 if ("ProcessRequest".equals(codeString)) 4884 return FHIRDefinedType.PROCESSREQUEST; 4885 if ("ProcessResponse".equals(codeString)) 4886 return FHIRDefinedType.PROCESSRESPONSE; 4887 if ("Provenance".equals(codeString)) 4888 return FHIRDefinedType.PROVENANCE; 4889 if ("Questionnaire".equals(codeString)) 4890 return FHIRDefinedType.QUESTIONNAIRE; 4891 if ("QuestionnaireResponse".equals(codeString)) 4892 return FHIRDefinedType.QUESTIONNAIRERESPONSE; 4893 if ("ReferralRequest".equals(codeString)) 4894 return FHIRDefinedType.REFERRALREQUEST; 4895 if ("RelatedPerson".equals(codeString)) 4896 return FHIRDefinedType.RELATEDPERSON; 4897 if ("Resource".equals(codeString)) 4898 return FHIRDefinedType.RESOURCE; 4899 if ("RiskAssessment".equals(codeString)) 4900 return FHIRDefinedType.RISKASSESSMENT; 4901 if ("Schedule".equals(codeString)) 4902 return FHIRDefinedType.SCHEDULE; 4903 if ("SearchParameter".equals(codeString)) 4904 return FHIRDefinedType.SEARCHPARAMETER; 4905 if ("Slot".equals(codeString)) 4906 return FHIRDefinedType.SLOT; 4907 if ("Specimen".equals(codeString)) 4908 return FHIRDefinedType.SPECIMEN; 4909 if ("StructureDefinition".equals(codeString)) 4910 return FHIRDefinedType.STRUCTUREDEFINITION; 4911 if ("Subscription".equals(codeString)) 4912 return FHIRDefinedType.SUBSCRIPTION; 4913 if ("Substance".equals(codeString)) 4914 return FHIRDefinedType.SUBSTANCE; 4915 if ("SupplyDelivery".equals(codeString)) 4916 return FHIRDefinedType.SUPPLYDELIVERY; 4917 if ("SupplyRequest".equals(codeString)) 4918 return FHIRDefinedType.SUPPLYREQUEST; 4919 if ("TestScript".equals(codeString)) 4920 return FHIRDefinedType.TESTSCRIPT; 4921 if ("ValueSet".equals(codeString)) 4922 return FHIRDefinedType.VALUESET; 4923 if ("VisionPrescription".equals(codeString)) 4924 return FHIRDefinedType.VISIONPRESCRIPTION; 4925 throw new IllegalArgumentException("Unknown FHIRDefinedType code '" + codeString + "'"); 4926 } 4927 4928 public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException { 4929 if (code == null || code.isEmpty()) 4930 return null; 4931 String codeString = ((PrimitiveType) code).asStringValue(); 4932 if (codeString == null || "".equals(codeString)) 4933 return null; 4934 if ("Address".equals(codeString)) 4935 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS); 4936 if ("Age".equals(codeString)) 4937 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE); 4938 if ("Annotation".equals(codeString)) 4939 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION); 4940 if ("Attachment".equals(codeString)) 4941 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT); 4942 if ("BackboneElement".equals(codeString)) 4943 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT); 4944 if ("CodeableConcept".equals(codeString)) 4945 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT); 4946 if ("Coding".equals(codeString)) 4947 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING); 4948 if ("ContactPoint".equals(codeString)) 4949 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT); 4950 if ("Count".equals(codeString)) 4951 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT); 4952 if ("Distance".equals(codeString)) 4953 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE); 4954 if ("Duration".equals(codeString)) 4955 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION); 4956 if ("Element".equals(codeString)) 4957 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT); 4958 if ("ElementDefinition".equals(codeString)) 4959 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION); 4960 if ("Extension".equals(codeString)) 4961 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION); 4962 if ("HumanName".equals(codeString)) 4963 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME); 4964 if ("Identifier".equals(codeString)) 4965 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER); 4966 if ("Meta".equals(codeString)) 4967 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META); 4968 if ("Money".equals(codeString)) 4969 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY); 4970 if ("Narrative".equals(codeString)) 4971 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE); 4972 if ("Period".equals(codeString)) 4973 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD); 4974 if ("Quantity".equals(codeString)) 4975 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY); 4976 if ("Range".equals(codeString)) 4977 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE); 4978 if ("Ratio".equals(codeString)) 4979 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO); 4980 if ("Reference".equals(codeString)) 4981 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE); 4982 if ("SampledData".equals(codeString)) 4983 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA); 4984 if ("Signature".equals(codeString)) 4985 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE); 4986 if ("SimpleQuantity".equals(codeString)) 4987 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY); 4988 if ("Timing".equals(codeString)) 4989 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING); 4990 if ("base64Binary".equals(codeString)) 4991 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY); 4992 if ("boolean".equals(codeString)) 4993 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN); 4994 if ("code".equals(codeString)) 4995 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE); 4996 if ("date".equals(codeString)) 4997 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE); 4998 if ("dateTime".equals(codeString)) 4999 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME); 5000 if ("decimal".equals(codeString)) 5001 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL); 5002 if ("id".equals(codeString)) 5003 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID); 5004 if ("instant".equals(codeString)) 5005 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT); 5006 if ("integer".equals(codeString)) 5007 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER); 5008 if ("markdown".equals(codeString)) 5009 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN); 5010 if ("oid".equals(codeString)) 5011 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID); 5012 if ("positiveInt".equals(codeString)) 5013 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT); 5014 if ("string".equals(codeString)) 5015 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING); 5016 if ("time".equals(codeString)) 5017 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME); 5018 if ("unsignedInt".equals(codeString)) 5019 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT); 5020 if ("uri".equals(codeString)) 5021 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI); 5022 if ("uuid".equals(codeString)) 5023 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID); 5024 if ("xhtml".equals(codeString)) 5025 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML); 5026 if ("Account".equals(codeString)) 5027 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT); 5028 if ("AllergyIntolerance".equals(codeString)) 5029 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE); 5030 if ("Appointment".equals(codeString)) 5031 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT); 5032 if ("AppointmentResponse".equals(codeString)) 5033 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE); 5034 if ("AuditEvent".equals(codeString)) 5035 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT); 5036 if ("Basic".equals(codeString)) 5037 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC); 5038 if ("Binary".equals(codeString)) 5039 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY); 5040 if ("BodySite".equals(codeString)) 5041 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSITE); 5042 if ("Bundle".equals(codeString)) 5043 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE); 5044 if ("CarePlan".equals(codeString)) 5045 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN); 5046 if ("Claim".equals(codeString)) 5047 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM); 5048 if ("ClaimResponse".equals(codeString)) 5049 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE); 5050 if ("ClinicalImpression".equals(codeString)) 5051 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION); 5052 if ("Communication".equals(codeString)) 5053 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION); 5054 if ("CommunicationRequest".equals(codeString)) 5055 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST); 5056 if ("Composition".equals(codeString)) 5057 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION); 5058 if ("ConceptMap".equals(codeString)) 5059 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP); 5060 if ("Condition".equals(codeString)) 5061 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION); 5062 if ("Conformance".equals(codeString)) 5063 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONFORMANCE); 5064 if ("Contract".equals(codeString)) 5065 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT); 5066 if ("Coverage".equals(codeString)) 5067 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE); 5068 if ("DataElement".equals(codeString)) 5069 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAELEMENT); 5070 if ("DetectedIssue".equals(codeString)) 5071 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE); 5072 if ("Device".equals(codeString)) 5073 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE); 5074 if ("DeviceComponent".equals(codeString)) 5075 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICECOMPONENT); 5076 if ("DeviceMetric".equals(codeString)) 5077 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC); 5078 if ("DeviceUseRequest".equals(codeString)) 5079 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSEREQUEST); 5080 if ("DeviceUseStatement".equals(codeString)) 5081 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT); 5082 if ("DiagnosticOrder".equals(codeString)) 5083 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICORDER); 5084 if ("DiagnosticReport".equals(codeString)) 5085 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT); 5086 if ("DocumentManifest".equals(codeString)) 5087 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST); 5088 if ("DocumentReference".equals(codeString)) 5089 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE); 5090 if ("DomainResource".equals(codeString)) 5091 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE); 5092 if ("EligibilityRequest".equals(codeString)) 5093 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYREQUEST); 5094 if ("EligibilityResponse".equals(codeString)) 5095 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYRESPONSE); 5096 if ("Encounter".equals(codeString)) 5097 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER); 5098 if ("EnrollmentRequest".equals(codeString)) 5099 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST); 5100 if ("EnrollmentResponse".equals(codeString)) 5101 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE); 5102 if ("EpisodeOfCare".equals(codeString)) 5103 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE); 5104 if ("ExplanationOfBenefit".equals(codeString)) 5105 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT); 5106 if ("FamilyMemberHistory".equals(codeString)) 5107 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY); 5108 if ("Flag".equals(codeString)) 5109 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG); 5110 if ("Goal".equals(codeString)) 5111 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL); 5112 if ("Group".equals(codeString)) 5113 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP); 5114 if ("HealthcareService".equals(codeString)) 5115 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE); 5116 if ("ImagingObjectSelection".equals(codeString)) 5117 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGOBJECTSELECTION); 5118 if ("ImagingStudy".equals(codeString)) 5119 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY); 5120 if ("Immunization".equals(codeString)) 5121 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION); 5122 if ("ImmunizationRecommendation".equals(codeString)) 5123 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION); 5124 if ("ImplementationGuide".equals(codeString)) 5125 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE); 5126 if ("List".equals(codeString)) 5127 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST); 5128 if ("Location".equals(codeString)) 5129 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION); 5130 if ("Media".equals(codeString)) 5131 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA); 5132 if ("Medication".equals(codeString)) 5133 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION); 5134 if ("MedicationAdministration".equals(codeString)) 5135 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION); 5136 if ("MedicationDispense".equals(codeString)) 5137 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE); 5138 if ("MedicationOrder".equals(codeString)) 5139 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONORDER); 5140 if ("MedicationStatement".equals(codeString)) 5141 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT); 5142 if ("MessageHeader".equals(codeString)) 5143 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER); 5144 if ("NamingSystem".equals(codeString)) 5145 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM); 5146 if ("NutritionOrder".equals(codeString)) 5147 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER); 5148 if ("Observation".equals(codeString)) 5149 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION); 5150 if ("OperationDefinition".equals(codeString)) 5151 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION); 5152 if ("OperationOutcome".equals(codeString)) 5153 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME); 5154 if ("Order".equals(codeString)) 5155 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORDER); 5156 if ("OrderResponse".equals(codeString)) 5157 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORDERRESPONSE); 5158 if ("Organization".equals(codeString)) 5159 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION); 5160 if ("Parameters".equals(codeString)) 5161 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS); 5162 if ("Patient".equals(codeString)) 5163 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT); 5164 if ("PaymentNotice".equals(codeString)) 5165 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE); 5166 if ("PaymentReconciliation".equals(codeString)) 5167 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION); 5168 if ("Person".equals(codeString)) 5169 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON); 5170 if ("Practitioner".equals(codeString)) 5171 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER); 5172 if ("Procedure".equals(codeString)) 5173 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE); 5174 if ("ProcedureRequest".equals(codeString)) 5175 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDUREREQUEST); 5176 if ("ProcessRequest".equals(codeString)) 5177 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSREQUEST); 5178 if ("ProcessResponse".equals(codeString)) 5179 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSRESPONSE); 5180 if ("Provenance".equals(codeString)) 5181 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE); 5182 if ("Questionnaire".equals(codeString)) 5183 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE); 5184 if ("QuestionnaireResponse".equals(codeString)) 5185 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE); 5186 if ("ReferralRequest".equals(codeString)) 5187 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERRALREQUEST); 5188 if ("RelatedPerson".equals(codeString)) 5189 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON); 5190 if ("Resource".equals(codeString)) 5191 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE); 5192 if ("RiskAssessment".equals(codeString)) 5193 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT); 5194 if ("Schedule".equals(codeString)) 5195 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE); 5196 if ("SearchParameter".equals(codeString)) 5197 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER); 5198 if ("Slot".equals(codeString)) 5199 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT); 5200 if ("Specimen".equals(codeString)) 5201 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN); 5202 if ("StructureDefinition".equals(codeString)) 5203 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION); 5204 if ("Subscription".equals(codeString)) 5205 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION); 5206 if ("Substance".equals(codeString)) 5207 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE); 5208 if ("SupplyDelivery".equals(codeString)) 5209 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY); 5210 if ("SupplyRequest".equals(codeString)) 5211 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST); 5212 if ("TestScript".equals(codeString)) 5213 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT); 5214 if ("ValueSet".equals(codeString)) 5215 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET); 5216 if ("VisionPrescription".equals(codeString)) 5217 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION); 5218 throw new FHIRException("Unknown FHIRDefinedType code '" + codeString + "'"); 5219 } 5220 5221 public String toCode(FHIRDefinedType code) 5222 { 5223 if (code == FHIRDefinedType.NULL) 5224 return null; 5225 if (code == FHIRDefinedType.ADDRESS) 5226 return "Address"; 5227 if (code == FHIRDefinedType.AGE) 5228 return "Age"; 5229 if (code == FHIRDefinedType.ANNOTATION) 5230 return "Annotation"; 5231 if (code == FHIRDefinedType.ATTACHMENT) 5232 return "Attachment"; 5233 if (code == FHIRDefinedType.BACKBONEELEMENT) 5234 return "BackboneElement"; 5235 if (code == FHIRDefinedType.CODEABLECONCEPT) 5236 return "CodeableConcept"; 5237 if (code == FHIRDefinedType.CODING) 5238 return "Coding"; 5239 if (code == FHIRDefinedType.CONTACTPOINT) 5240 return "ContactPoint"; 5241 if (code == FHIRDefinedType.COUNT) 5242 return "Count"; 5243 if (code == FHIRDefinedType.DISTANCE) 5244 return "Distance"; 5245 if (code == FHIRDefinedType.DURATION) 5246 return "Duration"; 5247 if (code == FHIRDefinedType.ELEMENT) 5248 return "Element"; 5249 if (code == FHIRDefinedType.ELEMENTDEFINITION) 5250 return "ElementDefinition"; 5251 if (code == FHIRDefinedType.EXTENSION) 5252 return "Extension"; 5253 if (code == FHIRDefinedType.HUMANNAME) 5254 return "HumanName"; 5255 if (code == FHIRDefinedType.IDENTIFIER) 5256 return "Identifier"; 5257 if (code == FHIRDefinedType.META) 5258 return "Meta"; 5259 if (code == FHIRDefinedType.MONEY) 5260 return "Money"; 5261 if (code == FHIRDefinedType.NARRATIVE) 5262 return "Narrative"; 5263 if (code == FHIRDefinedType.PERIOD) 5264 return "Period"; 5265 if (code == FHIRDefinedType.QUANTITY) 5266 return "Quantity"; 5267 if (code == FHIRDefinedType.RANGE) 5268 return "Range"; 5269 if (code == FHIRDefinedType.RATIO) 5270 return "Ratio"; 5271 if (code == FHIRDefinedType.REFERENCE) 5272 return "Reference"; 5273 if (code == FHIRDefinedType.SAMPLEDDATA) 5274 return "SampledData"; 5275 if (code == FHIRDefinedType.SIGNATURE) 5276 return "Signature"; 5277 if (code == FHIRDefinedType.SIMPLEQUANTITY) 5278 return "SimpleQuantity"; 5279 if (code == FHIRDefinedType.TIMING) 5280 return "Timing"; 5281 if (code == FHIRDefinedType.BASE64BINARY) 5282 return "base64Binary"; 5283 if (code == FHIRDefinedType.BOOLEAN) 5284 return "boolean"; 5285 if (code == FHIRDefinedType.CODE) 5286 return "code"; 5287 if (code == FHIRDefinedType.DATE) 5288 return "date"; 5289 if (code == FHIRDefinedType.DATETIME) 5290 return "dateTime"; 5291 if (code == FHIRDefinedType.DECIMAL) 5292 return "decimal"; 5293 if (code == FHIRDefinedType.ID) 5294 return "id"; 5295 if (code == FHIRDefinedType.INSTANT) 5296 return "instant"; 5297 if (code == FHIRDefinedType.INTEGER) 5298 return "integer"; 5299 if (code == FHIRDefinedType.MARKDOWN) 5300 return "markdown"; 5301 if (code == FHIRDefinedType.OID) 5302 return "oid"; 5303 if (code == FHIRDefinedType.POSITIVEINT) 5304 return "positiveInt"; 5305 if (code == FHIRDefinedType.STRING) 5306 return "string"; 5307 if (code == FHIRDefinedType.TIME) 5308 return "time"; 5309 if (code == FHIRDefinedType.UNSIGNEDINT) 5310 return "unsignedInt"; 5311 if (code == FHIRDefinedType.URI) 5312 return "uri"; 5313 if (code == FHIRDefinedType.UUID) 5314 return "uuid"; 5315 if (code == FHIRDefinedType.XHTML) 5316 return "xhtml"; 5317 if (code == FHIRDefinedType.ACCOUNT) 5318 return "Account"; 5319 if (code == FHIRDefinedType.ALLERGYINTOLERANCE) 5320 return "AllergyIntolerance"; 5321 if (code == FHIRDefinedType.APPOINTMENT) 5322 return "Appointment"; 5323 if (code == FHIRDefinedType.APPOINTMENTRESPONSE) 5324 return "AppointmentResponse"; 5325 if (code == FHIRDefinedType.AUDITEVENT) 5326 return "AuditEvent"; 5327 if (code == FHIRDefinedType.BASIC) 5328 return "Basic"; 5329 if (code == FHIRDefinedType.BINARY) 5330 return "Binary"; 5331 if (code == FHIRDefinedType.BODYSITE) 5332 return "BodySite"; 5333 if (code == FHIRDefinedType.BUNDLE) 5334 return "Bundle"; 5335 if (code == FHIRDefinedType.CAREPLAN) 5336 return "CarePlan"; 5337 if (code == FHIRDefinedType.CLAIM) 5338 return "Claim"; 5339 if (code == FHIRDefinedType.CLAIMRESPONSE) 5340 return "ClaimResponse"; 5341 if (code == FHIRDefinedType.CLINICALIMPRESSION) 5342 return "ClinicalImpression"; 5343 if (code == FHIRDefinedType.COMMUNICATION) 5344 return "Communication"; 5345 if (code == FHIRDefinedType.COMMUNICATIONREQUEST) 5346 return "CommunicationRequest"; 5347 if (code == FHIRDefinedType.COMPOSITION) 5348 return "Composition"; 5349 if (code == FHIRDefinedType.CONCEPTMAP) 5350 return "ConceptMap"; 5351 if (code == FHIRDefinedType.CONDITION) 5352 return "Condition"; 5353 if (code == FHIRDefinedType.CONFORMANCE) 5354 return "Conformance"; 5355 if (code == FHIRDefinedType.CONTRACT) 5356 return "Contract"; 5357 if (code == FHIRDefinedType.COVERAGE) 5358 return "Coverage"; 5359 if (code == FHIRDefinedType.DATAELEMENT) 5360 return "DataElement"; 5361 if (code == FHIRDefinedType.DETECTEDISSUE) 5362 return "DetectedIssue"; 5363 if (code == FHIRDefinedType.DEVICE) 5364 return "Device"; 5365 if (code == FHIRDefinedType.DEVICECOMPONENT) 5366 return "DeviceComponent"; 5367 if (code == FHIRDefinedType.DEVICEMETRIC) 5368 return "DeviceMetric"; 5369 if (code == FHIRDefinedType.DEVICEUSEREQUEST) 5370 return "DeviceUseRequest"; 5371 if (code == FHIRDefinedType.DEVICEUSESTATEMENT) 5372 return "DeviceUseStatement"; 5373 if (code == FHIRDefinedType.DIAGNOSTICORDER) 5374 return "DiagnosticOrder"; 5375 if (code == FHIRDefinedType.DIAGNOSTICREPORT) 5376 return "DiagnosticReport"; 5377 if (code == FHIRDefinedType.DOCUMENTMANIFEST) 5378 return "DocumentManifest"; 5379 if (code == FHIRDefinedType.DOCUMENTREFERENCE) 5380 return "DocumentReference"; 5381 if (code == FHIRDefinedType.DOMAINRESOURCE) 5382 return "DomainResource"; 5383 if (code == FHIRDefinedType.ELIGIBILITYREQUEST) 5384 return "EligibilityRequest"; 5385 if (code == FHIRDefinedType.ELIGIBILITYRESPONSE) 5386 return "EligibilityResponse"; 5387 if (code == FHIRDefinedType.ENCOUNTER) 5388 return "Encounter"; 5389 if (code == FHIRDefinedType.ENROLLMENTREQUEST) 5390 return "EnrollmentRequest"; 5391 if (code == FHIRDefinedType.ENROLLMENTRESPONSE) 5392 return "EnrollmentResponse"; 5393 if (code == FHIRDefinedType.EPISODEOFCARE) 5394 return "EpisodeOfCare"; 5395 if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT) 5396 return "ExplanationOfBenefit"; 5397 if (code == FHIRDefinedType.FAMILYMEMBERHISTORY) 5398 return "FamilyMemberHistory"; 5399 if (code == FHIRDefinedType.FLAG) 5400 return "Flag"; 5401 if (code == FHIRDefinedType.GOAL) 5402 return "Goal"; 5403 if (code == FHIRDefinedType.GROUP) 5404 return "Group"; 5405 if (code == FHIRDefinedType.HEALTHCARESERVICE) 5406 return "HealthcareService"; 5407 if (code == FHIRDefinedType.IMAGINGOBJECTSELECTION) 5408 return "ImagingObjectSelection"; 5409 if (code == FHIRDefinedType.IMAGINGSTUDY) 5410 return "ImagingStudy"; 5411 if (code == FHIRDefinedType.IMMUNIZATION) 5412 return "Immunization"; 5413 if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION) 5414 return "ImmunizationRecommendation"; 5415 if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE) 5416 return "ImplementationGuide"; 5417 if (code == FHIRDefinedType.LIST) 5418 return "List"; 5419 if (code == FHIRDefinedType.LOCATION) 5420 return "Location"; 5421 if (code == FHIRDefinedType.MEDIA) 5422 return "Media"; 5423 if (code == FHIRDefinedType.MEDICATION) 5424 return "Medication"; 5425 if (code == FHIRDefinedType.MEDICATIONADMINISTRATION) 5426 return "MedicationAdministration"; 5427 if (code == FHIRDefinedType.MEDICATIONDISPENSE) 5428 return "MedicationDispense"; 5429 if (code == FHIRDefinedType.MEDICATIONORDER) 5430 return "MedicationOrder"; 5431 if (code == FHIRDefinedType.MEDICATIONSTATEMENT) 5432 return "MedicationStatement"; 5433 if (code == FHIRDefinedType.MESSAGEHEADER) 5434 return "MessageHeader"; 5435 if (code == FHIRDefinedType.NAMINGSYSTEM) 5436 return "NamingSystem"; 5437 if (code == FHIRDefinedType.NUTRITIONORDER) 5438 return "NutritionOrder"; 5439 if (code == FHIRDefinedType.OBSERVATION) 5440 return "Observation"; 5441 if (code == FHIRDefinedType.OPERATIONDEFINITION) 5442 return "OperationDefinition"; 5443 if (code == FHIRDefinedType.OPERATIONOUTCOME) 5444 return "OperationOutcome"; 5445 if (code == FHIRDefinedType.ORDER) 5446 return "Order"; 5447 if (code == FHIRDefinedType.ORDERRESPONSE) 5448 return "OrderResponse"; 5449 if (code == FHIRDefinedType.ORGANIZATION) 5450 return "Organization"; 5451 if (code == FHIRDefinedType.PARAMETERS) 5452 return "Parameters"; 5453 if (code == FHIRDefinedType.PATIENT) 5454 return "Patient"; 5455 if (code == FHIRDefinedType.PAYMENTNOTICE) 5456 return "PaymentNotice"; 5457 if (code == FHIRDefinedType.PAYMENTRECONCILIATION) 5458 return "PaymentReconciliation"; 5459 if (code == FHIRDefinedType.PERSON) 5460 return "Person"; 5461 if (code == FHIRDefinedType.PRACTITIONER) 5462 return "Practitioner"; 5463 if (code == FHIRDefinedType.PROCEDURE) 5464 return "Procedure"; 5465 if (code == FHIRDefinedType.PROCEDUREREQUEST) 5466 return "ProcedureRequest"; 5467 if (code == FHIRDefinedType.PROCESSREQUEST) 5468 return "ProcessRequest"; 5469 if (code == FHIRDefinedType.PROCESSRESPONSE) 5470 return "ProcessResponse"; 5471 if (code == FHIRDefinedType.PROVENANCE) 5472 return "Provenance"; 5473 if (code == FHIRDefinedType.QUESTIONNAIRE) 5474 return "Questionnaire"; 5475 if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE) 5476 return "QuestionnaireResponse"; 5477 if (code == FHIRDefinedType.REFERRALREQUEST) 5478 return "ReferralRequest"; 5479 if (code == FHIRDefinedType.RELATEDPERSON) 5480 return "RelatedPerson"; 5481 if (code == FHIRDefinedType.RESOURCE) 5482 return "Resource"; 5483 if (code == FHIRDefinedType.RISKASSESSMENT) 5484 return "RiskAssessment"; 5485 if (code == FHIRDefinedType.SCHEDULE) 5486 return "Schedule"; 5487 if (code == FHIRDefinedType.SEARCHPARAMETER) 5488 return "SearchParameter"; 5489 if (code == FHIRDefinedType.SLOT) 5490 return "Slot"; 5491 if (code == FHIRDefinedType.SPECIMEN) 5492 return "Specimen"; 5493 if (code == FHIRDefinedType.STRUCTUREDEFINITION) 5494 return "StructureDefinition"; 5495 if (code == FHIRDefinedType.SUBSCRIPTION) 5496 return "Subscription"; 5497 if (code == FHIRDefinedType.SUBSTANCE) 5498 return "Substance"; 5499 if (code == FHIRDefinedType.SUPPLYDELIVERY) 5500 return "SupplyDelivery"; 5501 if (code == FHIRDefinedType.SUPPLYREQUEST) 5502 return "SupplyRequest"; 5503 if (code == FHIRDefinedType.TESTSCRIPT) 5504 return "TestScript"; 5505 if (code == FHIRDefinedType.VALUESET) 5506 return "ValueSet"; 5507 if (code == FHIRDefinedType.VISIONPRESCRIPTION) 5508 return "VisionPrescription"; 5509 return "?"; 5510 } 5511 } 5512 5513 public enum MessageEvent { 5514 /** 5515 * Change the status of a Medication Administration to show that it is complete. 5516 */ 5517 MEDICATIONADMINISTRATIONCOMPLETE, 5518 /** 5519 * Someone wishes to record that the record of administration of a medication is 5520 * in error and should be ignored. 5521 */ 5522 MEDICATIONADMINISTRATIONNULLIFICATION, 5523 /** 5524 * Indicates that a medication has been recorded against the patient's record. 5525 */ 5526 MEDICATIONADMINISTRATIONRECORDING, 5527 /** 5528 * Update a Medication Administration record. 5529 */ 5530 MEDICATIONADMINISTRATIONUPDATE, 5531 /** 5532 * Notification of a change to an administrative resource (either create or 5533 * update). Note that there is no delete, though some administrative resources 5534 * have status or period elements for this use. 5535 */ 5536 ADMINNOTIFY, 5537 /** 5538 * Provide a diagnostic report, or update a previously provided diagnostic 5539 * report. 5540 */ 5541 DIAGNOSTICREPORTPROVIDE, 5542 /** 5543 * Provide a simple observation or update a previously provided simple 5544 * observation. 5545 */ 5546 OBSERVATIONPROVIDE, 5547 /** 5548 * Notification that two patient records actually identify the same patient. 5549 */ 5550 PATIENTLINK, 5551 /** 5552 * Notification that previous advice that two patient records concern the same 5553 * patient is now considered incorrect. 5554 */ 5555 PATIENTUNLINK, 5556 /** 5557 * The definition of a value set is used to create a simple collection of codes 5558 * suitable for use for data entry or validation. An expanded value set will be 5559 * returned, or an error message. 5560 */ 5561 VALUESETEXPAND, 5562 /** 5563 * added to help the parsers 5564 */ 5565 NULL; 5566 5567 public static MessageEvent fromCode(String codeString) throws FHIRException { 5568 if (codeString == null || "".equals(codeString)) 5569 return null; 5570 if ("MedicationAdministration-Complete".equals(codeString)) 5571 return MEDICATIONADMINISTRATIONCOMPLETE; 5572 if ("MedicationAdministration-Nullification".equals(codeString)) 5573 return MEDICATIONADMINISTRATIONNULLIFICATION; 5574 if ("MedicationAdministration-Recording".equals(codeString)) 5575 return MEDICATIONADMINISTRATIONRECORDING; 5576 if ("MedicationAdministration-Update".equals(codeString)) 5577 return MEDICATIONADMINISTRATIONUPDATE; 5578 if ("admin-notify".equals(codeString)) 5579 return ADMINNOTIFY; 5580 if ("diagnosticreport-provide".equals(codeString)) 5581 return DIAGNOSTICREPORTPROVIDE; 5582 if ("observation-provide".equals(codeString)) 5583 return OBSERVATIONPROVIDE; 5584 if ("patient-link".equals(codeString)) 5585 return PATIENTLINK; 5586 if ("patient-unlink".equals(codeString)) 5587 return PATIENTUNLINK; 5588 if ("valueset-expand".equals(codeString)) 5589 return VALUESETEXPAND; 5590 throw new FHIRException("Unknown MessageEvent code '" + codeString + "'"); 5591 } 5592 5593 public String toCode() { 5594 switch (this) { 5595 case MEDICATIONADMINISTRATIONCOMPLETE: 5596 return "MedicationAdministration-Complete"; 5597 case MEDICATIONADMINISTRATIONNULLIFICATION: 5598 return "MedicationAdministration-Nullification"; 5599 case MEDICATIONADMINISTRATIONRECORDING: 5600 return "MedicationAdministration-Recording"; 5601 case MEDICATIONADMINISTRATIONUPDATE: 5602 return "MedicationAdministration-Update"; 5603 case ADMINNOTIFY: 5604 return "admin-notify"; 5605 case DIAGNOSTICREPORTPROVIDE: 5606 return "diagnosticreport-provide"; 5607 case OBSERVATIONPROVIDE: 5608 return "observation-provide"; 5609 case PATIENTLINK: 5610 return "patient-link"; 5611 case PATIENTUNLINK: 5612 return "patient-unlink"; 5613 case VALUESETEXPAND: 5614 return "valueset-expand"; 5615 case NULL: 5616 return null; 5617 default: 5618 return "?"; 5619 } 5620 } 5621 5622 public String getSystem() { 5623 switch (this) { 5624 case MEDICATIONADMINISTRATIONCOMPLETE: 5625 return "http://hl7.org/fhir/message-events"; 5626 case MEDICATIONADMINISTRATIONNULLIFICATION: 5627 return "http://hl7.org/fhir/message-events"; 5628 case MEDICATIONADMINISTRATIONRECORDING: 5629 return "http://hl7.org/fhir/message-events"; 5630 case MEDICATIONADMINISTRATIONUPDATE: 5631 return "http://hl7.org/fhir/message-events"; 5632 case ADMINNOTIFY: 5633 return "http://hl7.org/fhir/message-events"; 5634 case DIAGNOSTICREPORTPROVIDE: 5635 return "http://hl7.org/fhir/message-events"; 5636 case OBSERVATIONPROVIDE: 5637 return "http://hl7.org/fhir/message-events"; 5638 case PATIENTLINK: 5639 return "http://hl7.org/fhir/message-events"; 5640 case PATIENTUNLINK: 5641 return "http://hl7.org/fhir/message-events"; 5642 case VALUESETEXPAND: 5643 return "http://hl7.org/fhir/message-events"; 5644 case NULL: 5645 return null; 5646 default: 5647 return "?"; 5648 } 5649 } 5650 5651 public String getDefinition() { 5652 switch (this) { 5653 case MEDICATIONADMINISTRATIONCOMPLETE: 5654 return "Change the status of a Medication Administration to show that it is complete."; 5655 case MEDICATIONADMINISTRATIONNULLIFICATION: 5656 return "Someone wishes to record that the record of administration of a medication is in error and should be ignored."; 5657 case MEDICATIONADMINISTRATIONRECORDING: 5658 return "Indicates that a medication has been recorded against the patient's record."; 5659 case MEDICATIONADMINISTRATIONUPDATE: 5660 return "Update a Medication Administration record."; 5661 case ADMINNOTIFY: 5662 return "Notification of a change to an administrative resource (either create or update). Note that there is no delete, though some administrative resources have status or period elements for this use."; 5663 case DIAGNOSTICREPORTPROVIDE: 5664 return "Provide a diagnostic report, or update a previously provided diagnostic report."; 5665 case OBSERVATIONPROVIDE: 5666 return "Provide a simple observation or update a previously provided simple observation."; 5667 case PATIENTLINK: 5668 return "Notification that two patient records actually identify the same patient."; 5669 case PATIENTUNLINK: 5670 return "Notification that previous advice that two patient records concern the same patient is now considered incorrect."; 5671 case VALUESETEXPAND: 5672 return "The definition of a value set is used to create a simple collection of codes suitable for use for data entry or validation. An expanded value set will be returned, or an error message."; 5673 case NULL: 5674 return null; 5675 default: 5676 return "?"; 5677 } 5678 } 5679 5680 public String getDisplay() { 5681 switch (this) { 5682 case MEDICATIONADMINISTRATIONCOMPLETE: 5683 return "MedicationAdministration-Complete"; 5684 case MEDICATIONADMINISTRATIONNULLIFICATION: 5685 return "MedicationAdministration-Nullification"; 5686 case MEDICATIONADMINISTRATIONRECORDING: 5687 return "MedicationAdministration-Recording"; 5688 case MEDICATIONADMINISTRATIONUPDATE: 5689 return "MedicationAdministration-Update"; 5690 case ADMINNOTIFY: 5691 return "admin-notify"; 5692 case DIAGNOSTICREPORTPROVIDE: 5693 return "diagnosticreport-provide"; 5694 case OBSERVATIONPROVIDE: 5695 return "observation-provide"; 5696 case PATIENTLINK: 5697 return "patient-link"; 5698 case PATIENTUNLINK: 5699 return "patient-unlink"; 5700 case VALUESETEXPAND: 5701 return "valueset-expand"; 5702 case NULL: 5703 return null; 5704 default: 5705 return "?"; 5706 } 5707 } 5708 } 5709 5710 public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> { 5711 public MessageEvent fromCode(String codeString) throws IllegalArgumentException { 5712 if (codeString == null || "".equals(codeString)) 5713 if (codeString == null || "".equals(codeString)) 5714 return null; 5715 if ("MedicationAdministration-Complete".equals(codeString)) 5716 return MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE; 5717 if ("MedicationAdministration-Nullification".equals(codeString)) 5718 return MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION; 5719 if ("MedicationAdministration-Recording".equals(codeString)) 5720 return MessageEvent.MEDICATIONADMINISTRATIONRECORDING; 5721 if ("MedicationAdministration-Update".equals(codeString)) 5722 return MessageEvent.MEDICATIONADMINISTRATIONUPDATE; 5723 if ("admin-notify".equals(codeString)) 5724 return MessageEvent.ADMINNOTIFY; 5725 if ("diagnosticreport-provide".equals(codeString)) 5726 return MessageEvent.DIAGNOSTICREPORTPROVIDE; 5727 if ("observation-provide".equals(codeString)) 5728 return MessageEvent.OBSERVATIONPROVIDE; 5729 if ("patient-link".equals(codeString)) 5730 return MessageEvent.PATIENTLINK; 5731 if ("patient-unlink".equals(codeString)) 5732 return MessageEvent.PATIENTUNLINK; 5733 if ("valueset-expand".equals(codeString)) 5734 return MessageEvent.VALUESETEXPAND; 5735 throw new IllegalArgumentException("Unknown MessageEvent code '" + codeString + "'"); 5736 } 5737 5738 public Enumeration<MessageEvent> fromType(Base code) throws FHIRException { 5739 if (code == null || code.isEmpty()) 5740 return null; 5741 String codeString = ((PrimitiveType) code).asStringValue(); 5742 if (codeString == null || "".equals(codeString)) 5743 return null; 5744 if ("MedicationAdministration-Complete".equals(codeString)) 5745 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE); 5746 if ("MedicationAdministration-Nullification".equals(codeString)) 5747 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION); 5748 if ("MedicationAdministration-Recording".equals(codeString)) 5749 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONRECORDING); 5750 if ("MedicationAdministration-Update".equals(codeString)) 5751 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONUPDATE); 5752 if ("admin-notify".equals(codeString)) 5753 return new Enumeration<MessageEvent>(this, MessageEvent.ADMINNOTIFY); 5754 if ("diagnosticreport-provide".equals(codeString)) 5755 return new Enumeration<MessageEvent>(this, MessageEvent.DIAGNOSTICREPORTPROVIDE); 5756 if ("observation-provide".equals(codeString)) 5757 return new Enumeration<MessageEvent>(this, MessageEvent.OBSERVATIONPROVIDE); 5758 if ("patient-link".equals(codeString)) 5759 return new Enumeration<MessageEvent>(this, MessageEvent.PATIENTLINK); 5760 if ("patient-unlink".equals(codeString)) 5761 return new Enumeration<MessageEvent>(this, MessageEvent.PATIENTUNLINK); 5762 if ("valueset-expand".equals(codeString)) 5763 return new Enumeration<MessageEvent>(this, MessageEvent.VALUESETEXPAND); 5764 throw new FHIRException("Unknown MessageEvent code '" + codeString + "'"); 5765 } 5766 5767 public String toCode(MessageEvent code) 5768 { 5769 if (code == MessageEvent.NULL) 5770 return null; 5771 if (code == MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE) 5772 return "MedicationAdministration-Complete"; 5773 if (code == MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION) 5774 return "MedicationAdministration-Nullification"; 5775 if (code == MessageEvent.MEDICATIONADMINISTRATIONRECORDING) 5776 return "MedicationAdministration-Recording"; 5777 if (code == MessageEvent.MEDICATIONADMINISTRATIONUPDATE) 5778 return "MedicationAdministration-Update"; 5779 if (code == MessageEvent.ADMINNOTIFY) 5780 return "admin-notify"; 5781 if (code == MessageEvent.DIAGNOSTICREPORTPROVIDE) 5782 return "diagnosticreport-provide"; 5783 if (code == MessageEvent.OBSERVATIONPROVIDE) 5784 return "observation-provide"; 5785 if (code == MessageEvent.PATIENTLINK) 5786 return "patient-link"; 5787 if (code == MessageEvent.PATIENTUNLINK) 5788 return "patient-unlink"; 5789 if (code == MessageEvent.VALUESETEXPAND) 5790 return "valueset-expand"; 5791 return "?"; 5792 } 5793 } 5794 5795 public enum NoteType { 5796 /** 5797 * Display the note. 5798 */ 5799 DISPLAY, 5800 /** 5801 * Print the note on the form. 5802 */ 5803 PRINT, 5804 /** 5805 * Print the note for the operator. 5806 */ 5807 PRINTOPER, 5808 /** 5809 * added to help the parsers 5810 */ 5811 NULL; 5812 5813 public static NoteType fromCode(String codeString) throws FHIRException { 5814 if (codeString == null || "".equals(codeString)) 5815 return null; 5816 if ("display".equals(codeString)) 5817 return DISPLAY; 5818 if ("print".equals(codeString)) 5819 return PRINT; 5820 if ("printoper".equals(codeString)) 5821 return PRINTOPER; 5822 throw new FHIRException("Unknown NoteType code '" + codeString + "'"); 5823 } 5824 5825 public String toCode() { 5826 switch (this) { 5827 case DISPLAY: 5828 return "display"; 5829 case PRINT: 5830 return "print"; 5831 case PRINTOPER: 5832 return "printoper"; 5833 case NULL: 5834 return null; 5835 default: 5836 return "?"; 5837 } 5838 } 5839 5840 public String getSystem() { 5841 switch (this) { 5842 case DISPLAY: 5843 return "http://hl7.org/fhir/note-type"; 5844 case PRINT: 5845 return "http://hl7.org/fhir/note-type"; 5846 case PRINTOPER: 5847 return "http://hl7.org/fhir/note-type"; 5848 case NULL: 5849 return null; 5850 default: 5851 return "?"; 5852 } 5853 } 5854 5855 public String getDefinition() { 5856 switch (this) { 5857 case DISPLAY: 5858 return "Display the note."; 5859 case PRINT: 5860 return "Print the note on the form."; 5861 case PRINTOPER: 5862 return "Print the note for the operator."; 5863 case NULL: 5864 return null; 5865 default: 5866 return "?"; 5867 } 5868 } 5869 5870 public String getDisplay() { 5871 switch (this) { 5872 case DISPLAY: 5873 return "Display"; 5874 case PRINT: 5875 return "Print (Form)"; 5876 case PRINTOPER: 5877 return "Print (Operator)"; 5878 case NULL: 5879 return null; 5880 default: 5881 return "?"; 5882 } 5883 } 5884 } 5885 5886 public static class NoteTypeEnumFactory implements EnumFactory<NoteType> { 5887 public NoteType fromCode(String codeString) throws IllegalArgumentException { 5888 if (codeString == null || "".equals(codeString)) 5889 if (codeString == null || "".equals(codeString)) 5890 return null; 5891 if ("display".equals(codeString)) 5892 return NoteType.DISPLAY; 5893 if ("print".equals(codeString)) 5894 return NoteType.PRINT; 5895 if ("printoper".equals(codeString)) 5896 return NoteType.PRINTOPER; 5897 throw new IllegalArgumentException("Unknown NoteType code '" + codeString + "'"); 5898 } 5899 5900 public Enumeration<NoteType> fromType(Base code) throws FHIRException { 5901 if (code == null || code.isEmpty()) 5902 return null; 5903 String codeString = ((PrimitiveType) code).asStringValue(); 5904 if (codeString == null || "".equals(codeString)) 5905 return null; 5906 if ("display".equals(codeString)) 5907 return new Enumeration<NoteType>(this, NoteType.DISPLAY); 5908 if ("print".equals(codeString)) 5909 return new Enumeration<NoteType>(this, NoteType.PRINT); 5910 if ("printoper".equals(codeString)) 5911 return new Enumeration<NoteType>(this, NoteType.PRINTOPER); 5912 throw new FHIRException("Unknown NoteType code '" + codeString + "'"); 5913 } 5914 5915 public String toCode(NoteType code) 5916 { 5917 if (code == NoteType.NULL) 5918 return null; 5919 if (code == NoteType.DISPLAY) 5920 return "display"; 5921 if (code == NoteType.PRINT) 5922 return "print"; 5923 if (code == NoteType.PRINTOPER) 5924 return "printoper"; 5925 return "?"; 5926 } 5927 } 5928 5929 public enum RemittanceOutcome { 5930 /** 5931 * The processing completed without errors. 5932 */ 5933 COMPLETE, 5934 /** 5935 * The processing identified errors. 5936 */ 5937 ERROR, 5938 /** 5939 * added to help the parsers 5940 */ 5941 NULL; 5942 5943 public static RemittanceOutcome fromCode(String codeString) throws FHIRException { 5944 if (codeString == null || "".equals(codeString)) 5945 return null; 5946 if ("complete".equals(codeString)) 5947 return COMPLETE; 5948 if ("error".equals(codeString)) 5949 return ERROR; 5950 throw new FHIRException("Unknown RemittanceOutcome code '" + codeString + "'"); 5951 } 5952 5953 public String toCode() { 5954 switch (this) { 5955 case COMPLETE: 5956 return "complete"; 5957 case ERROR: 5958 return "error"; 5959 case NULL: 5960 return null; 5961 default: 5962 return "?"; 5963 } 5964 } 5965 5966 public String getSystem() { 5967 switch (this) { 5968 case COMPLETE: 5969 return "http://hl7.org/fhir/remittance-outcome"; 5970 case ERROR: 5971 return "http://hl7.org/fhir/remittance-outcome"; 5972 case NULL: 5973 return null; 5974 default: 5975 return "?"; 5976 } 5977 } 5978 5979 public String getDefinition() { 5980 switch (this) { 5981 case COMPLETE: 5982 return "The processing completed without errors."; 5983 case ERROR: 5984 return "The processing identified errors."; 5985 case NULL: 5986 return null; 5987 default: 5988 return "?"; 5989 } 5990 } 5991 5992 public String getDisplay() { 5993 switch (this) { 5994 case COMPLETE: 5995 return "Complete"; 5996 case ERROR: 5997 return "Error"; 5998 case NULL: 5999 return null; 6000 default: 6001 return "?"; 6002 } 6003 } 6004 } 6005 6006 public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> { 6007 public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException { 6008 if (codeString == null || "".equals(codeString)) 6009 if (codeString == null || "".equals(codeString)) 6010 return null; 6011 if ("complete".equals(codeString)) 6012 return RemittanceOutcome.COMPLETE; 6013 if ("error".equals(codeString)) 6014 return RemittanceOutcome.ERROR; 6015 throw new IllegalArgumentException("Unknown RemittanceOutcome code '" + codeString + "'"); 6016 } 6017 6018 public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException { 6019 if (code == null || code.isEmpty()) 6020 return null; 6021 String codeString = ((PrimitiveType) code).asStringValue(); 6022 if (codeString == null || "".equals(codeString)) 6023 return null; 6024 if ("complete".equals(codeString)) 6025 return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE); 6026 if ("error".equals(codeString)) 6027 return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR); 6028 throw new FHIRException("Unknown RemittanceOutcome code '" + codeString + "'"); 6029 } 6030 6031 public String toCode(RemittanceOutcome code) 6032 { 6033 if (code == RemittanceOutcome.NULL) 6034 return null; 6035 if (code == RemittanceOutcome.COMPLETE) 6036 return "complete"; 6037 if (code == RemittanceOutcome.ERROR) 6038 return "error"; 6039 return "?"; 6040 } 6041 } 6042 6043 public enum ResourceType { 6044 /** 6045 * A financial tool for tracking value accrued for a particular purpose. In the 6046 * healthcare field, used to track charges for a patient, cost centres, etc. 6047 */ 6048 ACCOUNT, 6049 /** 6050 * Risk of harmful or undesirable, physiological response which is unique to an 6051 * individual and associated with exposure to a substance. 6052 */ 6053 ALLERGYINTOLERANCE, 6054 /** 6055 * A booking of a healthcare event among patient(s), practitioner(s), related 6056 * person(s) and/or device(s) for a specific date/time. This may result in one 6057 * or more Encounter(s). 6058 */ 6059 APPOINTMENT, 6060 /** 6061 * A reply to an appointment request for a patient and/or practitioner(s), such 6062 * as a confirmation or rejection. 6063 */ 6064 APPOINTMENTRESPONSE, 6065 /** 6066 * A record of an event made for purposes of maintaining a security log. Typical 6067 * uses include detection of intrusion attempts and monitoring for inappropriate 6068 * usage. 6069 */ 6070 AUDITEVENT, 6071 /** 6072 * Basic is used for handling concepts not yet defined in FHIR, narrative-only 6073 * resources that don't map to an existing resource, and custom resources not 6074 * appropriate for inclusion in the FHIR specification. 6075 */ 6076 BASIC, 6077 /** 6078 * A binary resource can contain any content, whether text, image, pdf, zip 6079 * archive, etc. 6080 */ 6081 BINARY, 6082 /** 6083 * Record details about the anatomical location of a specimen or body part. This 6084 * resource may be used when a coded concept does not provide the necessary 6085 * detail needed for the use case. 6086 */ 6087 BODYSITE, 6088 /** 6089 * A container for a collection of resources. 6090 */ 6091 BUNDLE, 6092 /** 6093 * Describes the intention of how one or more practitioners intend to deliver 6094 * care for a particular patient, group or community for a period of time, 6095 * possibly limited to care for a specific condition or set of conditions. 6096 */ 6097 CAREPLAN, 6098 /** 6099 * A provider issued list of services and products provided, or to be provided, 6100 * to a patient which is provided to an insurer for payment recovery. 6101 */ 6102 CLAIM, 6103 /** 6104 * This resource provides the adjudication details from the processing of a 6105 * Claim resource. 6106 */ 6107 CLAIMRESPONSE, 6108 /** 6109 * A record of a clinical assessment performed to determine what problem(s) may 6110 * affect the patient and before planning the treatments or management 6111 * strategies that are best to manage a patient's condition. Assessments are 6112 * often 1:1 with a clinical consultation / encounter, but this varies greatly 6113 * depending on the clinical workflow. This resource is called 6114 * "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with 6115 * the recording of assessment tools such as Apgar score. 6116 */ 6117 CLINICALIMPRESSION, 6118 /** 6119 * An occurrence of information being transmitted; e.g. an alert that was sent 6120 * to a responsible provider, a public health agency was notified about a 6121 * reportable condition. 6122 */ 6123 COMMUNICATION, 6124 /** 6125 * A request to convey information; e.g. the CDS system proposes that an alert 6126 * be sent to a responsible provider, the CDS system proposes that the public 6127 * health agency be notified about a reportable condition. 6128 */ 6129 COMMUNICATIONREQUEST, 6130 /** 6131 * A set of healthcare-related information that is assembled together into a 6132 * single logical document that provides a single coherent statement of meaning, 6133 * establishes its own context and that has clinical attestation with regard to 6134 * who is making the statement. While a Composition defines the structure, it 6135 * does not actually contain the content: rather the full content of a document 6136 * is contained in a Bundle, of which the Composition is the first resource 6137 * contained. 6138 */ 6139 COMPOSITION, 6140 /** 6141 * A statement of relationships from one set of concepts to one or more other 6142 * concepts - either code systems or data elements, or classes in class models. 6143 */ 6144 CONCEPTMAP, 6145 /** 6146 * Use to record detailed information about conditions, problems or diagnoses 6147 * recognized by a clinician. There are many uses including: recording a 6148 * diagnosis during an encounter; populating a problem list or a summary 6149 * statement, such as a discharge summary. 6150 */ 6151 CONDITION, 6152 /** 6153 * A conformance statement is a set of capabilities of a FHIR Server that may be 6154 * used as a statement of actual server functionality or a statement of required 6155 * or desired server implementation. 6156 */ 6157 CONFORMANCE, 6158 /** 6159 * A formal agreement between parties regarding the conduct of business, 6160 * exchange of information or other matters. 6161 */ 6162 CONTRACT, 6163 /** 6164 * Financial instrument which may be used to pay for or reimburse health care 6165 * products and services. 6166 */ 6167 COVERAGE, 6168 /** 6169 * The formal description of a single piece of information that can be gathered 6170 * and reported. 6171 */ 6172 DATAELEMENT, 6173 /** 6174 * Indicates an actual or potential clinical issue with or between one or more 6175 * active or proposed clinical actions for a patient; e.g. Drug-drug 6176 * interaction, Ineffective treatment frequency, Procedure-condition conflict, 6177 * etc. 6178 */ 6179 DETECTEDISSUE, 6180 /** 6181 * This resource identifies an instance of a manufactured item that is used in 6182 * the provision of healthcare without being substantially changed through that 6183 * activity. The device may be a medical or non-medical device. Medical devices 6184 * includes durable (reusable) medical equipment, implantable devices, as well 6185 * as disposable equipment used for diagnostic, treatment, and research for 6186 * healthcare and public health. Non-medical devices may include items such as a 6187 * machine, cellphone, computer, application, etc. 6188 */ 6189 DEVICE, 6190 /** 6191 * Describes the characteristics, operational status and capabilities of a 6192 * medical-related component of a medical device. 6193 */ 6194 DEVICECOMPONENT, 6195 /** 6196 * Describes a measurement, calculation or setting capability of a medical 6197 * device. 6198 */ 6199 DEVICEMETRIC, 6200 /** 6201 * Represents a request for a patient to employ a medical device. The device may 6202 * be an implantable device, or an external assistive device, such as a walker. 6203 */ 6204 DEVICEUSEREQUEST, 6205 /** 6206 * A record of a device being used by a patient where the record is the result 6207 * of a report from the patient or another clinician. 6208 */ 6209 DEVICEUSESTATEMENT, 6210 /** 6211 * A record of a request for a diagnostic investigation service to be performed. 6212 */ 6213 DIAGNOSTICORDER, 6214 /** 6215 * The findings and interpretation of diagnostic tests performed on patients, 6216 * groups of patients, devices, and locations, and/or specimens derived from 6217 * these. The report includes clinical context such as requesting and provider 6218 * information, and some mix of atomic results, images, textual and coded 6219 * interpretations, and formatted representation of diagnostic reports. 6220 */ 6221 DIAGNOSTICREPORT, 6222 /** 6223 * A manifest that defines a set of documents. 6224 */ 6225 DOCUMENTMANIFEST, 6226 /** 6227 * A reference to a document . 6228 */ 6229 DOCUMENTREFERENCE, 6230 /** 6231 * --- Abstract Type! ---A resource that includes narrative, extensions, and 6232 * contained resources. 6233 */ 6234 DOMAINRESOURCE, 6235 /** 6236 * This resource provides the insurance eligibility details from the insurer 6237 * regarding a specified coverage and optionally some class of service. 6238 */ 6239 ELIGIBILITYREQUEST, 6240 /** 6241 * This resource provides eligibility and plan details from the processing of an 6242 * Eligibility resource. 6243 */ 6244 ELIGIBILITYRESPONSE, 6245 /** 6246 * An interaction between a patient and healthcare provider(s) for the purpose 6247 * of providing healthcare service(s) or assessing the health status of a 6248 * patient. 6249 */ 6250 ENCOUNTER, 6251 /** 6252 * This resource provides the insurance enrollment details to the insurer 6253 * regarding a specified coverage. 6254 */ 6255 ENROLLMENTREQUEST, 6256 /** 6257 * This resource provides enrollment and plan details from the processing of an 6258 * Enrollment resource. 6259 */ 6260 ENROLLMENTRESPONSE, 6261 /** 6262 * An association between a patient and an organization / healthcare provider(s) 6263 * during which time encounters may occur. The managing organization assumes a 6264 * level of responsibility for the patient during this time. 6265 */ 6266 EPISODEOFCARE, 6267 /** 6268 * This resource provides: the claim details; adjudication details from the 6269 * processing of a Claim; and optionally account balance information, for 6270 * informing the subscriber of the benefits provided. 6271 */ 6272 EXPLANATIONOFBENEFIT, 6273 /** 6274 * Significant health events and conditions for a person related to the patient 6275 * relevant in the context of care for the patient. 6276 */ 6277 FAMILYMEMBERHISTORY, 6278 /** 6279 * Prospective warnings of potential issues when providing care to the patient. 6280 */ 6281 FLAG, 6282 /** 6283 * Describes the intended objective(s) for a patient, group or organization 6284 * care, for example, weight loss, restoring an activity of daily living, 6285 * obtaining herd immunity via immunization, meeting a process improvement 6286 * objective, etc. 6287 */ 6288 GOAL, 6289 /** 6290 * Represents a defined collection of entities that may be discussed or acted 6291 * upon collectively but which are not expected to act collectively and are not 6292 * formally or legally recognized; i.e. a collection of entities that isn't an 6293 * Organization. 6294 */ 6295 GROUP, 6296 /** 6297 * The details of a healthcare service available at a location. 6298 */ 6299 HEALTHCARESERVICE, 6300 /** 6301 * A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). 6302 * The referenced SOP Instances (images or other content) are for a single 6303 * patient, and may be from one or more studies. The referenced SOP Instances 6304 * have been selected for a purpose, such as quality assurance, conference, or 6305 * consult. Reflecting that range of purposes, typical ImagingObjectSelection 6306 * resources may include all SOP Instances in a study (perhaps for sharing 6307 * through a Health Information Exchange); key images from multiple studies (for 6308 * reference by a referring or treating physician); a multi-frame ultrasound 6309 * instance ("cine" video clip) and a set of measurements taken from that 6310 * instance (for inclusion in a teaching file); and so on. 6311 */ 6312 IMAGINGOBJECTSELECTION, 6313 /** 6314 * Representation of the content produced in a DICOM imaging study. A study 6315 * comprises a set of series, each of which includes a set of Service-Object 6316 * Pair Instances (SOP Instances - images or other data) acquired or produced in 6317 * a common context. A series is of only one modality (e.g. X-ray, CT, MR, 6318 * ultrasound), but a study may have multiple series of different modalities. 6319 */ 6320 IMAGINGSTUDY, 6321 /** 6322 * Describes the event of a patient being administered a vaccination or a record 6323 * of a vaccination as reported by a patient, a clinician or another party and 6324 * may include vaccine reaction information and what vaccination protocol was 6325 * followed. 6326 */ 6327 IMMUNIZATION, 6328 /** 6329 * A patient's point-in-time immunization and recommendation (i.e. forecasting a 6330 * patient's immunization eligibility according to a published schedule) with 6331 * optional supporting justification. 6332 */ 6333 IMMUNIZATIONRECOMMENDATION, 6334 /** 6335 * A set of rules or how FHIR is used to solve a particular problem. This 6336 * resource is used to gather all the parts of an implementation guide into a 6337 * logical whole, and to publish a computable definition of all the parts. 6338 */ 6339 IMPLEMENTATIONGUIDE, 6340 /** 6341 * A set of information summarized from a list of other resources. 6342 */ 6343 LIST, 6344 /** 6345 * Details and position information for a physical place where services are 6346 * provided and resources and participants may be stored, found, contained or 6347 * accommodated. 6348 */ 6349 LOCATION, 6350 /** 6351 * A photo, video, or audio recording acquired or used in healthcare. The actual 6352 * content may be inline or provided by direct reference. 6353 */ 6354 MEDIA, 6355 /** 6356 * This resource is primarily used for the identification and definition of a 6357 * medication. It covers the ingredients and the packaging for a medication. 6358 */ 6359 MEDICATION, 6360 /** 6361 * Describes the event of a patient consuming or otherwise being administered a 6362 * medication. This may be as simple as swallowing a tablet or it may be a long 6363 * running infusion. Related resources tie this event to the authorizing 6364 * prescription, and the specific encounter between patient and health care 6365 * practitioner. 6366 */ 6367 MEDICATIONADMINISTRATION, 6368 /** 6369 * Indicates that a medication product is to be or has been dispensed for a 6370 * named person/patient. This includes a description of the medication product 6371 * (supply) provided and the instructions for administering the medication. The 6372 * medication dispense is the result of a pharmacy system responding to a 6373 * medication order. 6374 */ 6375 MEDICATIONDISPENSE, 6376 /** 6377 * An order for both supply of the medication and the instructions for 6378 * administration of the medication to a patient. The resource is called 6379 * "MedicationOrder" rather than "MedicationPrescription" to generalize the use 6380 * across inpatient and outpatient settings as well as for care plans, etc. 6381 */ 6382 MEDICATIONORDER, 6383 /** 6384 * A record of a medication that is being consumed by a patient. A 6385 * MedicationStatement may indicate that the patient may be taking the 6386 * medication now, or has taken the medication in the past or will be taking the 6387 * medication in the future. The source of this information can be the patient, 6388 * significant other (such as a family member or spouse), or a clinician. A 6389 * common scenario where this information is captured is during the history 6390 * taking process during a patient visit or stay. The medication information may 6391 * come from e.g. the patient's memory, from a prescription bottle, or from a 6392 * list of medications the patient, clinician or other party maintains 6393 * 6394 * The primary difference between a medication statement and a medication 6395 * administration is that the medication administration has complete 6396 * administration information and is based on actual administration information 6397 * from the person who administered the medication. A medication statement is 6398 * often, if not always, less specific. There is no required date/time when the 6399 * medication was administered, in fact we only know that a source has reported 6400 * the patient is taking this medication, where details such as time, quantity, 6401 * or rate or even medication product may be incomplete or missing or less 6402 * precise. As stated earlier, the medication statement information may come 6403 * from the patient's memory, from a prescription bottle or from a list of 6404 * medications the patient, clinician or other party maintains. Medication 6405 * administration is more formal and is not missing detailed information. 6406 */ 6407 MEDICATIONSTATEMENT, 6408 /** 6409 * The header for a message exchange that is either requesting or responding to 6410 * an action. The reference(s) that are the subject of the action as well as 6411 * other information related to the action are typically transmitted in a bundle 6412 * in which the MessageHeader resource instance is the first resource in the 6413 * bundle. 6414 */ 6415 MESSAGEHEADER, 6416 /** 6417 * A curated namespace that issues unique symbols within that namespace for the 6418 * identification of concepts, people, devices, etc. Represents a "System" used 6419 * within the Identifier and Coding data types. 6420 */ 6421 NAMINGSYSTEM, 6422 /** 6423 * A request to supply a diet, formula feeding (enteral) or oral nutritional 6424 * supplement to a patient/resident. 6425 */ 6426 NUTRITIONORDER, 6427 /** 6428 * Measurements and simple assertions made about a patient, device or other 6429 * subject. 6430 */ 6431 OBSERVATION, 6432 /** 6433 * A formal computable definition of an operation (on the RESTful interface) or 6434 * a named query (using the search interaction). 6435 */ 6436 OPERATIONDEFINITION, 6437 /** 6438 * A collection of error, warning or information messages that result from a 6439 * system action. 6440 */ 6441 OPERATIONOUTCOME, 6442 /** 6443 * A request to perform an action. 6444 */ 6445 ORDER, 6446 /** 6447 * A response to an order. 6448 */ 6449 ORDERRESPONSE, 6450 /** 6451 * A formally or informally recognized grouping of people or organizations 6452 * formed for the purpose of achieving some form of collective action. Includes 6453 * companies, institutions, corporations, departments, community groups, 6454 * healthcare practice groups, etc. 6455 */ 6456 ORGANIZATION, 6457 /** 6458 * This special resource type is used to represent an operation request and 6459 * response (operations.html). It has no other use, and there is no RESTful 6460 * endpoint associated with it. 6461 */ 6462 PARAMETERS, 6463 /** 6464 * Demographics and other administrative information about an individual or 6465 * animal receiving care or other health-related services. 6466 */ 6467 PATIENT, 6468 /** 6469 * This resource provides the status of the payment for goods and services 6470 * rendered, and the request and response resource references. 6471 */ 6472 PAYMENTNOTICE, 6473 /** 6474 * This resource provides payment details and claim references supporting a bulk 6475 * payment. 6476 */ 6477 PAYMENTRECONCILIATION, 6478 /** 6479 * Demographics and administrative information about a person independent of a 6480 * specific health-related context. 6481 */ 6482 PERSON, 6483 /** 6484 * A person who is directly or indirectly involved in the provisioning of 6485 * healthcare. 6486 */ 6487 PRACTITIONER, 6488 /** 6489 * An action that is or was performed on a patient. This can be a physical 6490 * intervention like an operation, or less invasive like counseling or 6491 * hypnotherapy. 6492 */ 6493 PROCEDURE, 6494 /** 6495 * A request for a procedure to be performed. May be a proposal or an order. 6496 */ 6497 PROCEDUREREQUEST, 6498 /** 6499 * This resource provides the target, request and response, and action details 6500 * for an action to be performed by the target on or about existing resources. 6501 */ 6502 PROCESSREQUEST, 6503 /** 6504 * This resource provides processing status, errors and notes from the 6505 * processing of a resource. 6506 */ 6507 PROCESSRESPONSE, 6508 /** 6509 * Provenance of a resource is a record that describes entities and processes 6510 * involved in producing and delivering or otherwise influencing that resource. 6511 * Provenance provides a critical foundation for assessing authenticity, 6512 * enabling trust, and allowing reproducibility. Provenance assertions are a 6513 * form of contextual metadata and can themselves become important records with 6514 * their own provenance. Provenance statement indicates clinical significance in 6515 * terms of confidence in authenticity, reliability, and trustworthiness, 6516 * integrity, and stage in lifecycle (e.g. Document Completion - has the 6517 * artifact been legally authenticated), all of which may impact security, 6518 * privacy, and trust policies. 6519 */ 6520 PROVENANCE, 6521 /** 6522 * A structured set of questions intended to guide the collection of answers. 6523 * The questions are ordered and grouped into coherent subsets, corresponding to 6524 * the structure of the grouping of the underlying questions. 6525 */ 6526 QUESTIONNAIRE, 6527 /** 6528 * A structured set of questions and their answers. The questions are ordered 6529 * and grouped into coherent subsets, corresponding to the structure of the 6530 * grouping of the underlying questions. 6531 */ 6532 QUESTIONNAIRERESPONSE, 6533 /** 6534 * Used to record and send details about a request for referral service or 6535 * transfer of a patient to the care of another provider or provider 6536 * organization. 6537 */ 6538 REFERRALREQUEST, 6539 /** 6540 * Information about a person that is involved in the care for a patient, but 6541 * who is not the target of healthcare, nor has a formal responsibility in the 6542 * care process. 6543 */ 6544 RELATEDPERSON, 6545 /** 6546 * --- Abstract Type! ---This is the base resource type for everything. 6547 */ 6548 RESOURCE, 6549 /** 6550 * An assessment of the likely outcome(s) for a patient or other subject as well 6551 * as the likelihood of each outcome. 6552 */ 6553 RISKASSESSMENT, 6554 /** 6555 * A container for slot(s) of time that may be available for booking 6556 * appointments. 6557 */ 6558 SCHEDULE, 6559 /** 6560 * A search parameter that defines a named search item that can be used to 6561 * search/filter on a resource. 6562 */ 6563 SEARCHPARAMETER, 6564 /** 6565 * A slot of time on a schedule that may be available for booking appointments. 6566 */ 6567 SLOT, 6568 /** 6569 * A sample to be used for analysis. 6570 */ 6571 SPECIMEN, 6572 /** 6573 * A definition of a FHIR structure. This resource is used to describe the 6574 * underlying resources, data types defined in FHIR, and also for describing 6575 * extensions, and constraints on resources and data types. 6576 */ 6577 STRUCTUREDEFINITION, 6578 /** 6579 * The subscription resource is used to define a push based subscription from a 6580 * server to another system. Once a subscription is registered with the server, 6581 * the server checks every resource that is created or updated, and if the 6582 * resource matches the given criteria, it sends a message on the defined 6583 * "channel" so that another system is able to take an appropriate action. 6584 */ 6585 SUBSCRIPTION, 6586 /** 6587 * A homogeneous material with a definite composition. 6588 */ 6589 SUBSTANCE, 6590 /** 6591 * Record of delivery of what is supplied. 6592 */ 6593 SUPPLYDELIVERY, 6594 /** 6595 * A record of a request for a medication, substance or device used in the 6596 * healthcare setting. 6597 */ 6598 SUPPLYREQUEST, 6599 /** 6600 * TestScript is a resource that specifies a suite of tests against a FHIR 6601 * server implementation to determine compliance against the FHIR specification. 6602 */ 6603 TESTSCRIPT, 6604 /** 6605 * A value set specifies a set of codes drawn from one or more code systems. 6606 */ 6607 VALUESET, 6608 /** 6609 * An authorization for the supply of glasses and/or contact lenses to a 6610 * patient. 6611 */ 6612 VISIONPRESCRIPTION, 6613 /** 6614 * added to help the parsers 6615 */ 6616 NULL; 6617 6618 public static ResourceType fromCode(String codeString) throws FHIRException { 6619 if (codeString == null || "".equals(codeString)) 6620 return null; 6621 if ("Account".equals(codeString)) 6622 return ACCOUNT; 6623 if ("AllergyIntolerance".equals(codeString)) 6624 return ALLERGYINTOLERANCE; 6625 if ("Appointment".equals(codeString)) 6626 return APPOINTMENT; 6627 if ("AppointmentResponse".equals(codeString)) 6628 return APPOINTMENTRESPONSE; 6629 if ("AuditEvent".equals(codeString)) 6630 return AUDITEVENT; 6631 if ("Basic".equals(codeString)) 6632 return BASIC; 6633 if ("Binary".equals(codeString)) 6634 return BINARY; 6635 if ("BodySite".equals(codeString)) 6636 return BODYSITE; 6637 if ("Bundle".equals(codeString)) 6638 return BUNDLE; 6639 if ("CarePlan".equals(codeString)) 6640 return CAREPLAN; 6641 if ("Claim".equals(codeString)) 6642 return CLAIM; 6643 if ("ClaimResponse".equals(codeString)) 6644 return CLAIMRESPONSE; 6645 if ("ClinicalImpression".equals(codeString)) 6646 return CLINICALIMPRESSION; 6647 if ("Communication".equals(codeString)) 6648 return COMMUNICATION; 6649 if ("CommunicationRequest".equals(codeString)) 6650 return COMMUNICATIONREQUEST; 6651 if ("Composition".equals(codeString)) 6652 return COMPOSITION; 6653 if ("ConceptMap".equals(codeString)) 6654 return CONCEPTMAP; 6655 if ("Condition".equals(codeString)) 6656 return CONDITION; 6657 if ("Conformance".equals(codeString)) 6658 return CONFORMANCE; 6659 if ("Contract".equals(codeString)) 6660 return CONTRACT; 6661 if ("Coverage".equals(codeString)) 6662 return COVERAGE; 6663 if ("DataElement".equals(codeString)) 6664 return DATAELEMENT; 6665 if ("DetectedIssue".equals(codeString)) 6666 return DETECTEDISSUE; 6667 if ("Device".equals(codeString)) 6668 return DEVICE; 6669 if ("DeviceComponent".equals(codeString)) 6670 return DEVICECOMPONENT; 6671 if ("DeviceMetric".equals(codeString)) 6672 return DEVICEMETRIC; 6673 if ("DeviceUseRequest".equals(codeString)) 6674 return DEVICEUSEREQUEST; 6675 if ("DeviceUseStatement".equals(codeString)) 6676 return DEVICEUSESTATEMENT; 6677 if ("DiagnosticOrder".equals(codeString)) 6678 return DIAGNOSTICORDER; 6679 if ("DiagnosticReport".equals(codeString)) 6680 return DIAGNOSTICREPORT; 6681 if ("DocumentManifest".equals(codeString)) 6682 return DOCUMENTMANIFEST; 6683 if ("DocumentReference".equals(codeString)) 6684 return DOCUMENTREFERENCE; 6685 if ("DomainResource".equals(codeString)) 6686 return DOMAINRESOURCE; 6687 if ("EligibilityRequest".equals(codeString)) 6688 return ELIGIBILITYREQUEST; 6689 if ("EligibilityResponse".equals(codeString)) 6690 return ELIGIBILITYRESPONSE; 6691 if ("Encounter".equals(codeString)) 6692 return ENCOUNTER; 6693 if ("EnrollmentRequest".equals(codeString)) 6694 return ENROLLMENTREQUEST; 6695 if ("EnrollmentResponse".equals(codeString)) 6696 return ENROLLMENTRESPONSE; 6697 if ("EpisodeOfCare".equals(codeString)) 6698 return EPISODEOFCARE; 6699 if ("ExplanationOfBenefit".equals(codeString)) 6700 return EXPLANATIONOFBENEFIT; 6701 if ("FamilyMemberHistory".equals(codeString)) 6702 return FAMILYMEMBERHISTORY; 6703 if ("Flag".equals(codeString)) 6704 return FLAG; 6705 if ("Goal".equals(codeString)) 6706 return GOAL; 6707 if ("Group".equals(codeString)) 6708 return GROUP; 6709 if ("HealthcareService".equals(codeString)) 6710 return HEALTHCARESERVICE; 6711 if ("ImagingObjectSelection".equals(codeString)) 6712 return IMAGINGOBJECTSELECTION; 6713 if ("ImagingStudy".equals(codeString)) 6714 return IMAGINGSTUDY; 6715 if ("Immunization".equals(codeString)) 6716 return IMMUNIZATION; 6717 if ("ImmunizationRecommendation".equals(codeString)) 6718 return IMMUNIZATIONRECOMMENDATION; 6719 if ("ImplementationGuide".equals(codeString)) 6720 return IMPLEMENTATIONGUIDE; 6721 if ("List".equals(codeString)) 6722 return LIST; 6723 if ("Location".equals(codeString)) 6724 return LOCATION; 6725 if ("Media".equals(codeString)) 6726 return MEDIA; 6727 if ("Medication".equals(codeString)) 6728 return MEDICATION; 6729 if ("MedicationAdministration".equals(codeString)) 6730 return MEDICATIONADMINISTRATION; 6731 if ("MedicationDispense".equals(codeString)) 6732 return MEDICATIONDISPENSE; 6733 if ("MedicationOrder".equals(codeString)) 6734 return MEDICATIONORDER; 6735 if ("MedicationStatement".equals(codeString)) 6736 return MEDICATIONSTATEMENT; 6737 if ("MessageHeader".equals(codeString)) 6738 return MESSAGEHEADER; 6739 if ("NamingSystem".equals(codeString)) 6740 return NAMINGSYSTEM; 6741 if ("NutritionOrder".equals(codeString)) 6742 return NUTRITIONORDER; 6743 if ("Observation".equals(codeString)) 6744 return OBSERVATION; 6745 if ("OperationDefinition".equals(codeString)) 6746 return OPERATIONDEFINITION; 6747 if ("OperationOutcome".equals(codeString)) 6748 return OPERATIONOUTCOME; 6749 if ("Order".equals(codeString)) 6750 return ORDER; 6751 if ("OrderResponse".equals(codeString)) 6752 return ORDERRESPONSE; 6753 if ("Organization".equals(codeString)) 6754 return ORGANIZATION; 6755 if ("Parameters".equals(codeString)) 6756 return PARAMETERS; 6757 if ("Patient".equals(codeString)) 6758 return PATIENT; 6759 if ("PaymentNotice".equals(codeString)) 6760 return PAYMENTNOTICE; 6761 if ("PaymentReconciliation".equals(codeString)) 6762 return PAYMENTRECONCILIATION; 6763 if ("Person".equals(codeString)) 6764 return PERSON; 6765 if ("Practitioner".equals(codeString)) 6766 return PRACTITIONER; 6767 if ("Procedure".equals(codeString)) 6768 return PROCEDURE; 6769 if ("ProcedureRequest".equals(codeString)) 6770 return PROCEDUREREQUEST; 6771 if ("ProcessRequest".equals(codeString)) 6772 return PROCESSREQUEST; 6773 if ("ProcessResponse".equals(codeString)) 6774 return PROCESSRESPONSE; 6775 if ("Provenance".equals(codeString)) 6776 return PROVENANCE; 6777 if ("Questionnaire".equals(codeString)) 6778 return QUESTIONNAIRE; 6779 if ("QuestionnaireResponse".equals(codeString)) 6780 return QUESTIONNAIRERESPONSE; 6781 if ("ReferralRequest".equals(codeString)) 6782 return REFERRALREQUEST; 6783 if ("RelatedPerson".equals(codeString)) 6784 return RELATEDPERSON; 6785 if ("Resource".equals(codeString)) 6786 return RESOURCE; 6787 if ("RiskAssessment".equals(codeString)) 6788 return RISKASSESSMENT; 6789 if ("Schedule".equals(codeString)) 6790 return SCHEDULE; 6791 if ("SearchParameter".equals(codeString)) 6792 return SEARCHPARAMETER; 6793 if ("Slot".equals(codeString)) 6794 return SLOT; 6795 if ("Specimen".equals(codeString)) 6796 return SPECIMEN; 6797 if ("StructureDefinition".equals(codeString)) 6798 return STRUCTUREDEFINITION; 6799 if ("Subscription".equals(codeString)) 6800 return SUBSCRIPTION; 6801 if ("Substance".equals(codeString)) 6802 return SUBSTANCE; 6803 if ("SupplyDelivery".equals(codeString)) 6804 return SUPPLYDELIVERY; 6805 if ("SupplyRequest".equals(codeString)) 6806 return SUPPLYREQUEST; 6807 if ("TestScript".equals(codeString)) 6808 return TESTSCRIPT; 6809 if ("ValueSet".equals(codeString)) 6810 return VALUESET; 6811 if ("VisionPrescription".equals(codeString)) 6812 return VISIONPRESCRIPTION; 6813 throw new FHIRException("Unknown ResourceType code '" + codeString + "'"); 6814 } 6815 6816 public String toCode() { 6817 switch (this) { 6818 case ACCOUNT: 6819 return "Account"; 6820 case ALLERGYINTOLERANCE: 6821 return "AllergyIntolerance"; 6822 case APPOINTMENT: 6823 return "Appointment"; 6824 case APPOINTMENTRESPONSE: 6825 return "AppointmentResponse"; 6826 case AUDITEVENT: 6827 return "AuditEvent"; 6828 case BASIC: 6829 return "Basic"; 6830 case BINARY: 6831 return "Binary"; 6832 case BODYSITE: 6833 return "BodySite"; 6834 case BUNDLE: 6835 return "Bundle"; 6836 case CAREPLAN: 6837 return "CarePlan"; 6838 case CLAIM: 6839 return "Claim"; 6840 case CLAIMRESPONSE: 6841 return "ClaimResponse"; 6842 case CLINICALIMPRESSION: 6843 return "ClinicalImpression"; 6844 case COMMUNICATION: 6845 return "Communication"; 6846 case COMMUNICATIONREQUEST: 6847 return "CommunicationRequest"; 6848 case COMPOSITION: 6849 return "Composition"; 6850 case CONCEPTMAP: 6851 return "ConceptMap"; 6852 case CONDITION: 6853 return "Condition"; 6854 case CONFORMANCE: 6855 return "Conformance"; 6856 case CONTRACT: 6857 return "Contract"; 6858 case COVERAGE: 6859 return "Coverage"; 6860 case DATAELEMENT: 6861 return "DataElement"; 6862 case DETECTEDISSUE: 6863 return "DetectedIssue"; 6864 case DEVICE: 6865 return "Device"; 6866 case DEVICECOMPONENT: 6867 return "DeviceComponent"; 6868 case DEVICEMETRIC: 6869 return "DeviceMetric"; 6870 case DEVICEUSEREQUEST: 6871 return "DeviceUseRequest"; 6872 case DEVICEUSESTATEMENT: 6873 return "DeviceUseStatement"; 6874 case DIAGNOSTICORDER: 6875 return "DiagnosticOrder"; 6876 case DIAGNOSTICREPORT: 6877 return "DiagnosticReport"; 6878 case DOCUMENTMANIFEST: 6879 return "DocumentManifest"; 6880 case DOCUMENTREFERENCE: 6881 return "DocumentReference"; 6882 case DOMAINRESOURCE: 6883 return "DomainResource"; 6884 case ELIGIBILITYREQUEST: 6885 return "EligibilityRequest"; 6886 case ELIGIBILITYRESPONSE: 6887 return "EligibilityResponse"; 6888 case ENCOUNTER: 6889 return "Encounter"; 6890 case ENROLLMENTREQUEST: 6891 return "EnrollmentRequest"; 6892 case ENROLLMENTRESPONSE: 6893 return "EnrollmentResponse"; 6894 case EPISODEOFCARE: 6895 return "EpisodeOfCare"; 6896 case EXPLANATIONOFBENEFIT: 6897 return "ExplanationOfBenefit"; 6898 case FAMILYMEMBERHISTORY: 6899 return "FamilyMemberHistory"; 6900 case FLAG: 6901 return "Flag"; 6902 case GOAL: 6903 return "Goal"; 6904 case GROUP: 6905 return "Group"; 6906 case HEALTHCARESERVICE: 6907 return "HealthcareService"; 6908 case IMAGINGOBJECTSELECTION: 6909 return "ImagingObjectSelection"; 6910 case IMAGINGSTUDY: 6911 return "ImagingStudy"; 6912 case IMMUNIZATION: 6913 return "Immunization"; 6914 case IMMUNIZATIONRECOMMENDATION: 6915 return "ImmunizationRecommendation"; 6916 case IMPLEMENTATIONGUIDE: 6917 return "ImplementationGuide"; 6918 case LIST: 6919 return "List"; 6920 case LOCATION: 6921 return "Location"; 6922 case MEDIA: 6923 return "Media"; 6924 case MEDICATION: 6925 return "Medication"; 6926 case MEDICATIONADMINISTRATION: 6927 return "MedicationAdministration"; 6928 case MEDICATIONDISPENSE: 6929 return "MedicationDispense"; 6930 case MEDICATIONORDER: 6931 return "MedicationOrder"; 6932 case MEDICATIONSTATEMENT: 6933 return "MedicationStatement"; 6934 case MESSAGEHEADER: 6935 return "MessageHeader"; 6936 case NAMINGSYSTEM: 6937 return "NamingSystem"; 6938 case NUTRITIONORDER: 6939 return "NutritionOrder"; 6940 case OBSERVATION: 6941 return "Observation"; 6942 case OPERATIONDEFINITION: 6943 return "OperationDefinition"; 6944 case OPERATIONOUTCOME: 6945 return "OperationOutcome"; 6946 case ORDER: 6947 return "Order"; 6948 case ORDERRESPONSE: 6949 return "OrderResponse"; 6950 case ORGANIZATION: 6951 return "Organization"; 6952 case PARAMETERS: 6953 return "Parameters"; 6954 case PATIENT: 6955 return "Patient"; 6956 case PAYMENTNOTICE: 6957 return "PaymentNotice"; 6958 case PAYMENTRECONCILIATION: 6959 return "PaymentReconciliation"; 6960 case PERSON: 6961 return "Person"; 6962 case PRACTITIONER: 6963 return "Practitioner"; 6964 case PROCEDURE: 6965 return "Procedure"; 6966 case PROCEDUREREQUEST: 6967 return "ProcedureRequest"; 6968 case PROCESSREQUEST: 6969 return "ProcessRequest"; 6970 case PROCESSRESPONSE: 6971 return "ProcessResponse"; 6972 case PROVENANCE: 6973 return "Provenance"; 6974 case QUESTIONNAIRE: 6975 return "Questionnaire"; 6976 case QUESTIONNAIRERESPONSE: 6977 return "QuestionnaireResponse"; 6978 case REFERRALREQUEST: 6979 return "ReferralRequest"; 6980 case RELATEDPERSON: 6981 return "RelatedPerson"; 6982 case RESOURCE: 6983 return "Resource"; 6984 case RISKASSESSMENT: 6985 return "RiskAssessment"; 6986 case SCHEDULE: 6987 return "Schedule"; 6988 case SEARCHPARAMETER: 6989 return "SearchParameter"; 6990 case SLOT: 6991 return "Slot"; 6992 case SPECIMEN: 6993 return "Specimen"; 6994 case STRUCTUREDEFINITION: 6995 return "StructureDefinition"; 6996 case SUBSCRIPTION: 6997 return "Subscription"; 6998 case SUBSTANCE: 6999 return "Substance"; 7000 case SUPPLYDELIVERY: 7001 return "SupplyDelivery"; 7002 case SUPPLYREQUEST: 7003 return "SupplyRequest"; 7004 case TESTSCRIPT: 7005 return "TestScript"; 7006 case VALUESET: 7007 return "ValueSet"; 7008 case VISIONPRESCRIPTION: 7009 return "VisionPrescription"; 7010 case NULL: 7011 return null; 7012 default: 7013 return "?"; 7014 } 7015 } 7016 7017 public String getSystem() { 7018 switch (this) { 7019 case ACCOUNT: 7020 return "http://hl7.org/fhir/resource-types"; 7021 case ALLERGYINTOLERANCE: 7022 return "http://hl7.org/fhir/resource-types"; 7023 case APPOINTMENT: 7024 return "http://hl7.org/fhir/resource-types"; 7025 case APPOINTMENTRESPONSE: 7026 return "http://hl7.org/fhir/resource-types"; 7027 case AUDITEVENT: 7028 return "http://hl7.org/fhir/resource-types"; 7029 case BASIC: 7030 return "http://hl7.org/fhir/resource-types"; 7031 case BINARY: 7032 return "http://hl7.org/fhir/resource-types"; 7033 case BODYSITE: 7034 return "http://hl7.org/fhir/resource-types"; 7035 case BUNDLE: 7036 return "http://hl7.org/fhir/resource-types"; 7037 case CAREPLAN: 7038 return "http://hl7.org/fhir/resource-types"; 7039 case CLAIM: 7040 return "http://hl7.org/fhir/resource-types"; 7041 case CLAIMRESPONSE: 7042 return "http://hl7.org/fhir/resource-types"; 7043 case CLINICALIMPRESSION: 7044 return "http://hl7.org/fhir/resource-types"; 7045 case COMMUNICATION: 7046 return "http://hl7.org/fhir/resource-types"; 7047 case COMMUNICATIONREQUEST: 7048 return "http://hl7.org/fhir/resource-types"; 7049 case COMPOSITION: 7050 return "http://hl7.org/fhir/resource-types"; 7051 case CONCEPTMAP: 7052 return "http://hl7.org/fhir/resource-types"; 7053 case CONDITION: 7054 return "http://hl7.org/fhir/resource-types"; 7055 case CONFORMANCE: 7056 return "http://hl7.org/fhir/resource-types"; 7057 case CONTRACT: 7058 return "http://hl7.org/fhir/resource-types"; 7059 case COVERAGE: 7060 return "http://hl7.org/fhir/resource-types"; 7061 case DATAELEMENT: 7062 return "http://hl7.org/fhir/resource-types"; 7063 case DETECTEDISSUE: 7064 return "http://hl7.org/fhir/resource-types"; 7065 case DEVICE: 7066 return "http://hl7.org/fhir/resource-types"; 7067 case DEVICECOMPONENT: 7068 return "http://hl7.org/fhir/resource-types"; 7069 case DEVICEMETRIC: 7070 return "http://hl7.org/fhir/resource-types"; 7071 case DEVICEUSEREQUEST: 7072 return "http://hl7.org/fhir/resource-types"; 7073 case DEVICEUSESTATEMENT: 7074 return "http://hl7.org/fhir/resource-types"; 7075 case DIAGNOSTICORDER: 7076 return "http://hl7.org/fhir/resource-types"; 7077 case DIAGNOSTICREPORT: 7078 return "http://hl7.org/fhir/resource-types"; 7079 case DOCUMENTMANIFEST: 7080 return "http://hl7.org/fhir/resource-types"; 7081 case DOCUMENTREFERENCE: 7082 return "http://hl7.org/fhir/resource-types"; 7083 case DOMAINRESOURCE: 7084 return "http://hl7.org/fhir/resource-types"; 7085 case ELIGIBILITYREQUEST: 7086 return "http://hl7.org/fhir/resource-types"; 7087 case ELIGIBILITYRESPONSE: 7088 return "http://hl7.org/fhir/resource-types"; 7089 case ENCOUNTER: 7090 return "http://hl7.org/fhir/resource-types"; 7091 case ENROLLMENTREQUEST: 7092 return "http://hl7.org/fhir/resource-types"; 7093 case ENROLLMENTRESPONSE: 7094 return "http://hl7.org/fhir/resource-types"; 7095 case EPISODEOFCARE: 7096 return "http://hl7.org/fhir/resource-types"; 7097 case EXPLANATIONOFBENEFIT: 7098 return "http://hl7.org/fhir/resource-types"; 7099 case FAMILYMEMBERHISTORY: 7100 return "http://hl7.org/fhir/resource-types"; 7101 case FLAG: 7102 return "http://hl7.org/fhir/resource-types"; 7103 case GOAL: 7104 return "http://hl7.org/fhir/resource-types"; 7105 case GROUP: 7106 return "http://hl7.org/fhir/resource-types"; 7107 case HEALTHCARESERVICE: 7108 return "http://hl7.org/fhir/resource-types"; 7109 case IMAGINGOBJECTSELECTION: 7110 return "http://hl7.org/fhir/resource-types"; 7111 case IMAGINGSTUDY: 7112 return "http://hl7.org/fhir/resource-types"; 7113 case IMMUNIZATION: 7114 return "http://hl7.org/fhir/resource-types"; 7115 case IMMUNIZATIONRECOMMENDATION: 7116 return "http://hl7.org/fhir/resource-types"; 7117 case IMPLEMENTATIONGUIDE: 7118 return "http://hl7.org/fhir/resource-types"; 7119 case LIST: 7120 return "http://hl7.org/fhir/resource-types"; 7121 case LOCATION: 7122 return "http://hl7.org/fhir/resource-types"; 7123 case MEDIA: 7124 return "http://hl7.org/fhir/resource-types"; 7125 case MEDICATION: 7126 return "http://hl7.org/fhir/resource-types"; 7127 case MEDICATIONADMINISTRATION: 7128 return "http://hl7.org/fhir/resource-types"; 7129 case MEDICATIONDISPENSE: 7130 return "http://hl7.org/fhir/resource-types"; 7131 case MEDICATIONORDER: 7132 return "http://hl7.org/fhir/resource-types"; 7133 case MEDICATIONSTATEMENT: 7134 return "http://hl7.org/fhir/resource-types"; 7135 case MESSAGEHEADER: 7136 return "http://hl7.org/fhir/resource-types"; 7137 case NAMINGSYSTEM: 7138 return "http://hl7.org/fhir/resource-types"; 7139 case NUTRITIONORDER: 7140 return "http://hl7.org/fhir/resource-types"; 7141 case OBSERVATION: 7142 return "http://hl7.org/fhir/resource-types"; 7143 case OPERATIONDEFINITION: 7144 return "http://hl7.org/fhir/resource-types"; 7145 case OPERATIONOUTCOME: 7146 return "http://hl7.org/fhir/resource-types"; 7147 case ORDER: 7148 return "http://hl7.org/fhir/resource-types"; 7149 case ORDERRESPONSE: 7150 return "http://hl7.org/fhir/resource-types"; 7151 case ORGANIZATION: 7152 return "http://hl7.org/fhir/resource-types"; 7153 case PARAMETERS: 7154 return "http://hl7.org/fhir/resource-types"; 7155 case PATIENT: 7156 return "http://hl7.org/fhir/resource-types"; 7157 case PAYMENTNOTICE: 7158 return "http://hl7.org/fhir/resource-types"; 7159 case PAYMENTRECONCILIATION: 7160 return "http://hl7.org/fhir/resource-types"; 7161 case PERSON: 7162 return "http://hl7.org/fhir/resource-types"; 7163 case PRACTITIONER: 7164 return "http://hl7.org/fhir/resource-types"; 7165 case PROCEDURE: 7166 return "http://hl7.org/fhir/resource-types"; 7167 case PROCEDUREREQUEST: 7168 return "http://hl7.org/fhir/resource-types"; 7169 case PROCESSREQUEST: 7170 return "http://hl7.org/fhir/resource-types"; 7171 case PROCESSRESPONSE: 7172 return "http://hl7.org/fhir/resource-types"; 7173 case PROVENANCE: 7174 return "http://hl7.org/fhir/resource-types"; 7175 case QUESTIONNAIRE: 7176 return "http://hl7.org/fhir/resource-types"; 7177 case QUESTIONNAIRERESPONSE: 7178 return "http://hl7.org/fhir/resource-types"; 7179 case REFERRALREQUEST: 7180 return "http://hl7.org/fhir/resource-types"; 7181 case RELATEDPERSON: 7182 return "http://hl7.org/fhir/resource-types"; 7183 case RESOURCE: 7184 return "http://hl7.org/fhir/resource-types"; 7185 case RISKASSESSMENT: 7186 return "http://hl7.org/fhir/resource-types"; 7187 case SCHEDULE: 7188 return "http://hl7.org/fhir/resource-types"; 7189 case SEARCHPARAMETER: 7190 return "http://hl7.org/fhir/resource-types"; 7191 case SLOT: 7192 return "http://hl7.org/fhir/resource-types"; 7193 case SPECIMEN: 7194 return "http://hl7.org/fhir/resource-types"; 7195 case STRUCTUREDEFINITION: 7196 return "http://hl7.org/fhir/resource-types"; 7197 case SUBSCRIPTION: 7198 return "http://hl7.org/fhir/resource-types"; 7199 case SUBSTANCE: 7200 return "http://hl7.org/fhir/resource-types"; 7201 case SUPPLYDELIVERY: 7202 return "http://hl7.org/fhir/resource-types"; 7203 case SUPPLYREQUEST: 7204 return "http://hl7.org/fhir/resource-types"; 7205 case TESTSCRIPT: 7206 return "http://hl7.org/fhir/resource-types"; 7207 case VALUESET: 7208 return "http://hl7.org/fhir/resource-types"; 7209 case VISIONPRESCRIPTION: 7210 return "http://hl7.org/fhir/resource-types"; 7211 case NULL: 7212 return null; 7213 default: 7214 return "?"; 7215 } 7216 } 7217 7218 public String getDefinition() { 7219 switch (this) { 7220 case ACCOUNT: 7221 return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centres, etc."; 7222 case ALLERGYINTOLERANCE: 7223 return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 7224 case APPOINTMENT: 7225 return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; 7226 case APPOINTMENTRESPONSE: 7227 return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 7228 case AUDITEVENT: 7229 return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage."; 7230 case BASIC: 7231 return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; 7232 case BINARY: 7233 return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 7234 case BODYSITE: 7235 return "Record details about the anatomical location of a specimen or body part. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; 7236 case BUNDLE: 7237 return "A container for a collection of resources."; 7238 case CAREPLAN: 7239 return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; 7240 case CLAIM: 7241 return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery."; 7242 case CLAIMRESPONSE: 7243 return "This resource provides the adjudication details from the processing of a Claim resource."; 7244 case CLINICALIMPRESSION: 7245 return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; 7246 case COMMUNICATION: 7247 return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition."; 7248 case COMMUNICATIONREQUEST: 7249 return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; 7250 case COMPOSITION: 7251 return "A set of healthcare-related information that is assembled together into a single logical document that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. While a Composition defines the structure, it does not actually contain the content: rather the full content of a document is contained in a Bundle, of which the Composition is the first resource contained."; 7252 case CONCEPTMAP: 7253 return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models."; 7254 case CONDITION: 7255 return "Use to record detailed information about conditions, problems or diagnoses recognized by a clinician. There are many uses including: recording a diagnosis during an encounter; populating a problem list or a summary statement, such as a discharge summary."; 7256 case CONFORMANCE: 7257 return "A conformance statement is a set of capabilities of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; 7258 case CONTRACT: 7259 return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters."; 7260 case COVERAGE: 7261 return "Financial instrument which may be used to pay for or reimburse health care products and services."; 7262 case DATAELEMENT: 7263 return "The formal description of a single piece of information that can be gathered and reported."; 7264 case DETECTEDISSUE: 7265 return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; 7266 case DEVICE: 7267 return "This resource identifies an instance of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device. Medical devices includes durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health. Non-medical devices may include items such as a machine, cellphone, computer, application, etc."; 7268 case DEVICECOMPONENT: 7269 return "Describes the characteristics, operational status and capabilities of a medical-related component of a medical device."; 7270 case DEVICEMETRIC: 7271 return "Describes a measurement, calculation or setting capability of a medical device."; 7272 case DEVICEUSEREQUEST: 7273 return "Represents a request for a patient to employ a medical device. The device may be an implantable device, or an external assistive device, such as a walker."; 7274 case DEVICEUSESTATEMENT: 7275 return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician."; 7276 case DIAGNOSTICORDER: 7277 return "A record of a request for a diagnostic investigation service to be performed."; 7278 case DIAGNOSTICREPORT: 7279 return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports."; 7280 case DOCUMENTMANIFEST: 7281 return "A manifest that defines a set of documents."; 7282 case DOCUMENTREFERENCE: 7283 return "A reference to a document ."; 7284 case DOMAINRESOURCE: 7285 return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; 7286 case ELIGIBILITYREQUEST: 7287 return "This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service."; 7288 case ELIGIBILITYRESPONSE: 7289 return "This resource provides eligibility and plan details from the processing of an Eligibility resource."; 7290 case ENCOUNTER: 7291 return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; 7292 case ENROLLMENTREQUEST: 7293 return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 7294 case ENROLLMENTRESPONSE: 7295 return "This resource provides enrollment and plan details from the processing of an Enrollment resource."; 7296 case EPISODEOFCARE: 7297 return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; 7298 case EXPLANATIONOFBENEFIT: 7299 return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; 7300 case FAMILYMEMBERHISTORY: 7301 return "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient."; 7302 case FLAG: 7303 return "Prospective warnings of potential issues when providing care to the patient."; 7304 case GOAL: 7305 return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; 7306 case GROUP: 7307 return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; 7308 case HEALTHCARESERVICE: 7309 return "The details of a healthcare service available at a location."; 7310 case IMAGINGOBJECTSELECTION: 7311 return "A manifest of a set of DICOM Service-Object Pair Instances (SOP Instances). The referenced SOP Instances (images or other content) are for a single patient, and may be from one or more studies. The referenced SOP Instances have been selected for a purpose, such as quality assurance, conference, or consult. Reflecting that range of purposes, typical ImagingObjectSelection resources may include all SOP Instances in a study (perhaps for sharing through a Health Information Exchange); key images from multiple studies (for reference by a referring or treating physician); a multi-frame ultrasound instance (\"cine\" video clip) and a set of measurements taken from that instance (for inclusion in a teaching file); and so on."; 7312 case IMAGINGSTUDY: 7313 return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; 7314 case IMMUNIZATION: 7315 return "Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed."; 7316 case IMMUNIZATIONRECOMMENDATION: 7317 return "A patient's point-in-time immunization and recommendation (i.e. forecasting a patient's immunization eligibility according to a published schedule) with optional supporting justification."; 7318 case IMPLEMENTATIONGUIDE: 7319 return "A set of rules or how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole, and to publish a computable definition of all the parts."; 7320 case LIST: 7321 return "A set of information summarized from a list of other resources."; 7322 case LOCATION: 7323 return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated."; 7324 case MEDIA: 7325 return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference."; 7326 case MEDICATION: 7327 return "This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication."; 7328 case MEDICATIONADMINISTRATION: 7329 return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; 7330 case MEDICATIONDISPENSE: 7331 return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; 7332 case MEDICATIONORDER: 7333 return "An order for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationOrder\" rather than \"MedicationPrescription\" to generalize the use across inpatient and outpatient settings as well as for care plans, etc."; 7334 case MEDICATIONSTATEMENT: 7335 return "A record of a medication that is being consumed by a patient. A MedicationStatement may indicate that the patient may be taking the medication now, or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from e.g. the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medication statement is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information."; 7336 case MESSAGEHEADER: 7337 return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; 7338 case NAMINGSYSTEM: 7339 return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; 7340 case NUTRITIONORDER: 7341 return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 7342 case OBSERVATION: 7343 return "Measurements and simple assertions made about a patient, device or other subject."; 7344 case OPERATIONDEFINITION: 7345 return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 7346 case OPERATIONOUTCOME: 7347 return "A collection of error, warning or information messages that result from a system action."; 7348 case ORDER: 7349 return "A request to perform an action."; 7350 case ORDERRESPONSE: 7351 return "A response to an order."; 7352 case ORGANIZATION: 7353 return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc."; 7354 case PARAMETERS: 7355 return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it."; 7356 case PATIENT: 7357 return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 7358 case PAYMENTNOTICE: 7359 return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 7360 case PAYMENTRECONCILIATION: 7361 return "This resource provides payment details and claim references supporting a bulk payment."; 7362 case PERSON: 7363 return "Demographics and administrative information about a person independent of a specific health-related context."; 7364 case PRACTITIONER: 7365 return "A person who is directly or indirectly involved in the provisioning of healthcare."; 7366 case PROCEDURE: 7367 return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy."; 7368 case PROCEDUREREQUEST: 7369 return "A request for a procedure to be performed. May be a proposal or an order."; 7370 case PROCESSREQUEST: 7371 return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources."; 7372 case PROCESSRESPONSE: 7373 return "This resource provides processing status, errors and notes from the processing of a resource."; 7374 case PROVENANCE: 7375 return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; 7376 case QUESTIONNAIRE: 7377 return "A structured set of questions intended to guide the collection of answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions."; 7378 case QUESTIONNAIRERESPONSE: 7379 return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the underlying questions."; 7380 case REFERRALREQUEST: 7381 return "Used to record and send details about a request for referral service or transfer of a patient to the care of another provider or provider organization."; 7382 case RELATEDPERSON: 7383 return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; 7384 case RESOURCE: 7385 return "--- Abstract Type! ---This is the base resource type for everything."; 7386 case RISKASSESSMENT: 7387 return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 7388 case SCHEDULE: 7389 return "A container for slot(s) of time that may be available for booking appointments."; 7390 case SEARCHPARAMETER: 7391 return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 7392 case SLOT: 7393 return "A slot of time on a schedule that may be available for booking appointments."; 7394 case SPECIMEN: 7395 return "A sample to be used for analysis."; 7396 case STRUCTUREDEFINITION: 7397 return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions, and constraints on resources and data types."; 7398 case SUBSCRIPTION: 7399 return "The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system is able to take an appropriate action."; 7400 case SUBSTANCE: 7401 return "A homogeneous material with a definite composition."; 7402 case SUPPLYDELIVERY: 7403 return "Record of delivery of what is supplied."; 7404 case SUPPLYREQUEST: 7405 return "A record of a request for a medication, substance or device used in the healthcare setting."; 7406 case TESTSCRIPT: 7407 return "TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification."; 7408 case VALUESET: 7409 return "A value set specifies a set of codes drawn from one or more code systems."; 7410 case VISIONPRESCRIPTION: 7411 return "An authorization for the supply of glasses and/or contact lenses to a patient."; 7412 case NULL: 7413 return null; 7414 default: 7415 return "?"; 7416 } 7417 } 7418 7419 public String getDisplay() { 7420 switch (this) { 7421 case ACCOUNT: 7422 return "Account"; 7423 case ALLERGYINTOLERANCE: 7424 return "AllergyIntolerance"; 7425 case APPOINTMENT: 7426 return "Appointment"; 7427 case APPOINTMENTRESPONSE: 7428 return "AppointmentResponse"; 7429 case AUDITEVENT: 7430 return "AuditEvent"; 7431 case BASIC: 7432 return "Basic"; 7433 case BINARY: 7434 return "Binary"; 7435 case BODYSITE: 7436 return "BodySite"; 7437 case BUNDLE: 7438 return "Bundle"; 7439 case CAREPLAN: 7440 return "CarePlan"; 7441 case CLAIM: 7442 return "Claim"; 7443 case CLAIMRESPONSE: 7444 return "ClaimResponse"; 7445 case CLINICALIMPRESSION: 7446 return "ClinicalImpression"; 7447 case COMMUNICATION: 7448 return "Communication"; 7449 case COMMUNICATIONREQUEST: 7450 return "CommunicationRequest"; 7451 case COMPOSITION: 7452 return "Composition"; 7453 case CONCEPTMAP: 7454 return "ConceptMap"; 7455 case CONDITION: 7456 return "Condition"; 7457 case CONFORMANCE: 7458 return "Conformance"; 7459 case CONTRACT: 7460 return "Contract"; 7461 case COVERAGE: 7462 return "Coverage"; 7463 case DATAELEMENT: 7464 return "DataElement"; 7465 case DETECTEDISSUE: 7466 return "DetectedIssue"; 7467 case DEVICE: 7468 return "Device"; 7469 case DEVICECOMPONENT: 7470 return "DeviceComponent"; 7471 case DEVICEMETRIC: 7472 return "DeviceMetric"; 7473 case DEVICEUSEREQUEST: 7474 return "DeviceUseRequest"; 7475 case DEVICEUSESTATEMENT: 7476 return "DeviceUseStatement"; 7477 case DIAGNOSTICORDER: 7478 return "DiagnosticOrder"; 7479 case DIAGNOSTICREPORT: 7480 return "DiagnosticReport"; 7481 case DOCUMENTMANIFEST: 7482 return "DocumentManifest"; 7483 case DOCUMENTREFERENCE: 7484 return "DocumentReference"; 7485 case DOMAINRESOURCE: 7486 return "DomainResource"; 7487 case ELIGIBILITYREQUEST: 7488 return "EligibilityRequest"; 7489 case ELIGIBILITYRESPONSE: 7490 return "EligibilityResponse"; 7491 case ENCOUNTER: 7492 return "Encounter"; 7493 case ENROLLMENTREQUEST: 7494 return "EnrollmentRequest"; 7495 case ENROLLMENTRESPONSE: 7496 return "EnrollmentResponse"; 7497 case EPISODEOFCARE: 7498 return "EpisodeOfCare"; 7499 case EXPLANATIONOFBENEFIT: 7500 return "ExplanationOfBenefit"; 7501 case FAMILYMEMBERHISTORY: 7502 return "FamilyMemberHistory"; 7503 case FLAG: 7504 return "Flag"; 7505 case GOAL: 7506 return "Goal"; 7507 case GROUP: 7508 return "Group"; 7509 case HEALTHCARESERVICE: 7510 return "HealthcareService"; 7511 case IMAGINGOBJECTSELECTION: 7512 return "ImagingObjectSelection"; 7513 case IMAGINGSTUDY: 7514 return "ImagingStudy"; 7515 case IMMUNIZATION: 7516 return "Immunization"; 7517 case IMMUNIZATIONRECOMMENDATION: 7518 return "ImmunizationRecommendation"; 7519 case IMPLEMENTATIONGUIDE: 7520 return "ImplementationGuide"; 7521 case LIST: 7522 return "List"; 7523 case LOCATION: 7524 return "Location"; 7525 case MEDIA: 7526 return "Media"; 7527 case MEDICATION: 7528 return "Medication"; 7529 case MEDICATIONADMINISTRATION: 7530 return "MedicationAdministration"; 7531 case MEDICATIONDISPENSE: 7532 return "MedicationDispense"; 7533 case MEDICATIONORDER: 7534 return "MedicationOrder"; 7535 case MEDICATIONSTATEMENT: 7536 return "MedicationStatement"; 7537 case MESSAGEHEADER: 7538 return "MessageHeader"; 7539 case NAMINGSYSTEM: 7540 return "NamingSystem"; 7541 case NUTRITIONORDER: 7542 return "NutritionOrder"; 7543 case OBSERVATION: 7544 return "Observation"; 7545 case OPERATIONDEFINITION: 7546 return "OperationDefinition"; 7547 case OPERATIONOUTCOME: 7548 return "OperationOutcome"; 7549 case ORDER: 7550 return "Order"; 7551 case ORDERRESPONSE: 7552 return "OrderResponse"; 7553 case ORGANIZATION: 7554 return "Organization"; 7555 case PARAMETERS: 7556 return "Parameters"; 7557 case PATIENT: 7558 return "Patient"; 7559 case PAYMENTNOTICE: 7560 return "PaymentNotice"; 7561 case PAYMENTRECONCILIATION: 7562 return "PaymentReconciliation"; 7563 case PERSON: 7564 return "Person"; 7565 case PRACTITIONER: 7566 return "Practitioner"; 7567 case PROCEDURE: 7568 return "Procedure"; 7569 case PROCEDUREREQUEST: 7570 return "ProcedureRequest"; 7571 case PROCESSREQUEST: 7572 return "ProcessRequest"; 7573 case PROCESSRESPONSE: 7574 return "ProcessResponse"; 7575 case PROVENANCE: 7576 return "Provenance"; 7577 case QUESTIONNAIRE: 7578 return "Questionnaire"; 7579 case QUESTIONNAIRERESPONSE: 7580 return "QuestionnaireResponse"; 7581 case REFERRALREQUEST: 7582 return "ReferralRequest"; 7583 case RELATEDPERSON: 7584 return "RelatedPerson"; 7585 case RESOURCE: 7586 return "Resource"; 7587 case RISKASSESSMENT: 7588 return "RiskAssessment"; 7589 case SCHEDULE: 7590 return "Schedule"; 7591 case SEARCHPARAMETER: 7592 return "SearchParameter"; 7593 case SLOT: 7594 return "Slot"; 7595 case SPECIMEN: 7596 return "Specimen"; 7597 case STRUCTUREDEFINITION: 7598 return "StructureDefinition"; 7599 case SUBSCRIPTION: 7600 return "Subscription"; 7601 case SUBSTANCE: 7602 return "Substance"; 7603 case SUPPLYDELIVERY: 7604 return "SupplyDelivery"; 7605 case SUPPLYREQUEST: 7606 return "SupplyRequest"; 7607 case TESTSCRIPT: 7608 return "TestScript"; 7609 case VALUESET: 7610 return "ValueSet"; 7611 case VISIONPRESCRIPTION: 7612 return "VisionPrescription"; 7613 case NULL: 7614 return null; 7615 default: 7616 return "?"; 7617 } 7618 } 7619 } 7620 7621 public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> { 7622 public ResourceType fromCode(String codeString) throws IllegalArgumentException { 7623 if (codeString == null || "".equals(codeString)) 7624 if (codeString == null || "".equals(codeString)) 7625 return null; 7626 if ("Account".equals(codeString)) 7627 return ResourceType.ACCOUNT; 7628 if ("AllergyIntolerance".equals(codeString)) 7629 return ResourceType.ALLERGYINTOLERANCE; 7630 if ("Appointment".equals(codeString)) 7631 return ResourceType.APPOINTMENT; 7632 if ("AppointmentResponse".equals(codeString)) 7633 return ResourceType.APPOINTMENTRESPONSE; 7634 if ("AuditEvent".equals(codeString)) 7635 return ResourceType.AUDITEVENT; 7636 if ("Basic".equals(codeString)) 7637 return ResourceType.BASIC; 7638 if ("Binary".equals(codeString)) 7639 return ResourceType.BINARY; 7640 if ("BodySite".equals(codeString)) 7641 return ResourceType.BODYSITE; 7642 if ("Bundle".equals(codeString)) 7643 return ResourceType.BUNDLE; 7644 if ("CarePlan".equals(codeString)) 7645 return ResourceType.CAREPLAN; 7646 if ("Claim".equals(codeString)) 7647 return ResourceType.CLAIM; 7648 if ("ClaimResponse".equals(codeString)) 7649 return ResourceType.CLAIMRESPONSE; 7650 if ("ClinicalImpression".equals(codeString)) 7651 return ResourceType.CLINICALIMPRESSION; 7652 if ("Communication".equals(codeString)) 7653 return ResourceType.COMMUNICATION; 7654 if ("CommunicationRequest".equals(codeString)) 7655 return ResourceType.COMMUNICATIONREQUEST; 7656 if ("Composition".equals(codeString)) 7657 return ResourceType.COMPOSITION; 7658 if ("ConceptMap".equals(codeString)) 7659 return ResourceType.CONCEPTMAP; 7660 if ("Condition".equals(codeString)) 7661 return ResourceType.CONDITION; 7662 if ("Conformance".equals(codeString)) 7663 return ResourceType.CONFORMANCE; 7664 if ("Contract".equals(codeString)) 7665 return ResourceType.CONTRACT; 7666 if ("Coverage".equals(codeString)) 7667 return ResourceType.COVERAGE; 7668 if ("DataElement".equals(codeString)) 7669 return ResourceType.DATAELEMENT; 7670 if ("DetectedIssue".equals(codeString)) 7671 return ResourceType.DETECTEDISSUE; 7672 if ("Device".equals(codeString)) 7673 return ResourceType.DEVICE; 7674 if ("DeviceComponent".equals(codeString)) 7675 return ResourceType.DEVICECOMPONENT; 7676 if ("DeviceMetric".equals(codeString)) 7677 return ResourceType.DEVICEMETRIC; 7678 if ("DeviceUseRequest".equals(codeString)) 7679 return ResourceType.DEVICEUSEREQUEST; 7680 if ("DeviceUseStatement".equals(codeString)) 7681 return ResourceType.DEVICEUSESTATEMENT; 7682 if ("DiagnosticOrder".equals(codeString)) 7683 return ResourceType.DIAGNOSTICORDER; 7684 if ("DiagnosticReport".equals(codeString)) 7685 return ResourceType.DIAGNOSTICREPORT; 7686 if ("DocumentManifest".equals(codeString)) 7687 return ResourceType.DOCUMENTMANIFEST; 7688 if ("DocumentReference".equals(codeString)) 7689 return ResourceType.DOCUMENTREFERENCE; 7690 if ("DomainResource".equals(codeString)) 7691 return ResourceType.DOMAINRESOURCE; 7692 if ("EligibilityRequest".equals(codeString)) 7693 return ResourceType.ELIGIBILITYREQUEST; 7694 if ("EligibilityResponse".equals(codeString)) 7695 return ResourceType.ELIGIBILITYRESPONSE; 7696 if ("Encounter".equals(codeString)) 7697 return ResourceType.ENCOUNTER; 7698 if ("EnrollmentRequest".equals(codeString)) 7699 return ResourceType.ENROLLMENTREQUEST; 7700 if ("EnrollmentResponse".equals(codeString)) 7701 return ResourceType.ENROLLMENTRESPONSE; 7702 if ("EpisodeOfCare".equals(codeString)) 7703 return ResourceType.EPISODEOFCARE; 7704 if ("ExplanationOfBenefit".equals(codeString)) 7705 return ResourceType.EXPLANATIONOFBENEFIT; 7706 if ("FamilyMemberHistory".equals(codeString)) 7707 return ResourceType.FAMILYMEMBERHISTORY; 7708 if ("Flag".equals(codeString)) 7709 return ResourceType.FLAG; 7710 if ("Goal".equals(codeString)) 7711 return ResourceType.GOAL; 7712 if ("Group".equals(codeString)) 7713 return ResourceType.GROUP; 7714 if ("HealthcareService".equals(codeString)) 7715 return ResourceType.HEALTHCARESERVICE; 7716 if ("ImagingObjectSelection".equals(codeString)) 7717 return ResourceType.IMAGINGOBJECTSELECTION; 7718 if ("ImagingStudy".equals(codeString)) 7719 return ResourceType.IMAGINGSTUDY; 7720 if ("Immunization".equals(codeString)) 7721 return ResourceType.IMMUNIZATION; 7722 if ("ImmunizationRecommendation".equals(codeString)) 7723 return ResourceType.IMMUNIZATIONRECOMMENDATION; 7724 if ("ImplementationGuide".equals(codeString)) 7725 return ResourceType.IMPLEMENTATIONGUIDE; 7726 if ("List".equals(codeString)) 7727 return ResourceType.LIST; 7728 if ("Location".equals(codeString)) 7729 return ResourceType.LOCATION; 7730 if ("Media".equals(codeString)) 7731 return ResourceType.MEDIA; 7732 if ("Medication".equals(codeString)) 7733 return ResourceType.MEDICATION; 7734 if ("MedicationAdministration".equals(codeString)) 7735 return ResourceType.MEDICATIONADMINISTRATION; 7736 if ("MedicationDispense".equals(codeString)) 7737 return ResourceType.MEDICATIONDISPENSE; 7738 if ("MedicationOrder".equals(codeString)) 7739 return ResourceType.MEDICATIONORDER; 7740 if ("MedicationStatement".equals(codeString)) 7741 return ResourceType.MEDICATIONSTATEMENT; 7742 if ("MessageHeader".equals(codeString)) 7743 return ResourceType.MESSAGEHEADER; 7744 if ("NamingSystem".equals(codeString)) 7745 return ResourceType.NAMINGSYSTEM; 7746 if ("NutritionOrder".equals(codeString)) 7747 return ResourceType.NUTRITIONORDER; 7748 if ("Observation".equals(codeString)) 7749 return ResourceType.OBSERVATION; 7750 if ("OperationDefinition".equals(codeString)) 7751 return ResourceType.OPERATIONDEFINITION; 7752 if ("OperationOutcome".equals(codeString)) 7753 return ResourceType.OPERATIONOUTCOME; 7754 if ("Order".equals(codeString)) 7755 return ResourceType.ORDER; 7756 if ("OrderResponse".equals(codeString)) 7757 return ResourceType.ORDERRESPONSE; 7758 if ("Organization".equals(codeString)) 7759 return ResourceType.ORGANIZATION; 7760 if ("Parameters".equals(codeString)) 7761 return ResourceType.PARAMETERS; 7762 if ("Patient".equals(codeString)) 7763 return ResourceType.PATIENT; 7764 if ("PaymentNotice".equals(codeString)) 7765 return ResourceType.PAYMENTNOTICE; 7766 if ("PaymentReconciliation".equals(codeString)) 7767 return ResourceType.PAYMENTRECONCILIATION; 7768 if ("Person".equals(codeString)) 7769 return ResourceType.PERSON; 7770 if ("Practitioner".equals(codeString)) 7771 return ResourceType.PRACTITIONER; 7772 if ("Procedure".equals(codeString)) 7773 return ResourceType.PROCEDURE; 7774 if ("ProcedureRequest".equals(codeString)) 7775 return ResourceType.PROCEDUREREQUEST; 7776 if ("ProcessRequest".equals(codeString)) 7777 return ResourceType.PROCESSREQUEST; 7778 if ("ProcessResponse".equals(codeString)) 7779 return ResourceType.PROCESSRESPONSE; 7780 if ("Provenance".equals(codeString)) 7781 return ResourceType.PROVENANCE; 7782 if ("Questionnaire".equals(codeString)) 7783 return ResourceType.QUESTIONNAIRE; 7784 if ("QuestionnaireResponse".equals(codeString)) 7785 return ResourceType.QUESTIONNAIRERESPONSE; 7786 if ("ReferralRequest".equals(codeString)) 7787 return ResourceType.REFERRALREQUEST; 7788 if ("RelatedPerson".equals(codeString)) 7789 return ResourceType.RELATEDPERSON; 7790 if ("Resource".equals(codeString)) 7791 return ResourceType.RESOURCE; 7792 if ("RiskAssessment".equals(codeString)) 7793 return ResourceType.RISKASSESSMENT; 7794 if ("Schedule".equals(codeString)) 7795 return ResourceType.SCHEDULE; 7796 if ("SearchParameter".equals(codeString)) 7797 return ResourceType.SEARCHPARAMETER; 7798 if ("Slot".equals(codeString)) 7799 return ResourceType.SLOT; 7800 if ("Specimen".equals(codeString)) 7801 return ResourceType.SPECIMEN; 7802 if ("StructureDefinition".equals(codeString)) 7803 return ResourceType.STRUCTUREDEFINITION; 7804 if ("Subscription".equals(codeString)) 7805 return ResourceType.SUBSCRIPTION; 7806 if ("Substance".equals(codeString)) 7807 return ResourceType.SUBSTANCE; 7808 if ("SupplyDelivery".equals(codeString)) 7809 return ResourceType.SUPPLYDELIVERY; 7810 if ("SupplyRequest".equals(codeString)) 7811 return ResourceType.SUPPLYREQUEST; 7812 if ("TestScript".equals(codeString)) 7813 return ResourceType.TESTSCRIPT; 7814 if ("ValueSet".equals(codeString)) 7815 return ResourceType.VALUESET; 7816 if ("VisionPrescription".equals(codeString)) 7817 return ResourceType.VISIONPRESCRIPTION; 7818 throw new IllegalArgumentException("Unknown ResourceType code '" + codeString + "'"); 7819 } 7820 7821 public Enumeration<ResourceType> fromType(Base code) throws FHIRException { 7822 if (code == null || code.isEmpty()) 7823 return null; 7824 String codeString = ((PrimitiveType) code).asStringValue(); 7825 if (codeString == null || "".equals(codeString)) 7826 return null; 7827 if ("Account".equals(codeString)) 7828 return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT); 7829 if ("AllergyIntolerance".equals(codeString)) 7830 return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE); 7831 if ("Appointment".equals(codeString)) 7832 return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT); 7833 if ("AppointmentResponse".equals(codeString)) 7834 return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE); 7835 if ("AuditEvent".equals(codeString)) 7836 return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT); 7837 if ("Basic".equals(codeString)) 7838 return new Enumeration<ResourceType>(this, ResourceType.BASIC); 7839 if ("Binary".equals(codeString)) 7840 return new Enumeration<ResourceType>(this, ResourceType.BINARY); 7841 if ("BodySite".equals(codeString)) 7842 return new Enumeration<ResourceType>(this, ResourceType.BODYSITE); 7843 if ("Bundle".equals(codeString)) 7844 return new Enumeration<ResourceType>(this, ResourceType.BUNDLE); 7845 if ("CarePlan".equals(codeString)) 7846 return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN); 7847 if ("Claim".equals(codeString)) 7848 return new Enumeration<ResourceType>(this, ResourceType.CLAIM); 7849 if ("ClaimResponse".equals(codeString)) 7850 return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE); 7851 if ("ClinicalImpression".equals(codeString)) 7852 return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION); 7853 if ("Communication".equals(codeString)) 7854 return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION); 7855 if ("CommunicationRequest".equals(codeString)) 7856 return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST); 7857 if ("Composition".equals(codeString)) 7858 return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION); 7859 if ("ConceptMap".equals(codeString)) 7860 return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP); 7861 if ("Condition".equals(codeString)) 7862 return new Enumeration<ResourceType>(this, ResourceType.CONDITION); 7863 if ("Conformance".equals(codeString)) 7864 return new Enumeration<ResourceType>(this, ResourceType.CONFORMANCE); 7865 if ("Contract".equals(codeString)) 7866 return new Enumeration<ResourceType>(this, ResourceType.CONTRACT); 7867 if ("Coverage".equals(codeString)) 7868 return new Enumeration<ResourceType>(this, ResourceType.COVERAGE); 7869 if ("DataElement".equals(codeString)) 7870 return new Enumeration<ResourceType>(this, ResourceType.DATAELEMENT); 7871 if ("DetectedIssue".equals(codeString)) 7872 return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE); 7873 if ("Device".equals(codeString)) 7874 return new Enumeration<ResourceType>(this, ResourceType.DEVICE); 7875 if ("DeviceComponent".equals(codeString)) 7876 return new Enumeration<ResourceType>(this, ResourceType.DEVICECOMPONENT); 7877 if ("DeviceMetric".equals(codeString)) 7878 return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC); 7879 if ("DeviceUseRequest".equals(codeString)) 7880 return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSEREQUEST); 7881 if ("DeviceUseStatement".equals(codeString)) 7882 return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT); 7883 if ("DiagnosticOrder".equals(codeString)) 7884 return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICORDER); 7885 if ("DiagnosticReport".equals(codeString)) 7886 return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT); 7887 if ("DocumentManifest".equals(codeString)) 7888 return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST); 7889 if ("DocumentReference".equals(codeString)) 7890 return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE); 7891 if ("DomainResource".equals(codeString)) 7892 return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE); 7893 if ("EligibilityRequest".equals(codeString)) 7894 return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYREQUEST); 7895 if ("EligibilityResponse".equals(codeString)) 7896 return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYRESPONSE); 7897 if ("Encounter".equals(codeString)) 7898 return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER); 7899 if ("EnrollmentRequest".equals(codeString)) 7900 return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST); 7901 if ("EnrollmentResponse".equals(codeString)) 7902 return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE); 7903 if ("EpisodeOfCare".equals(codeString)) 7904 return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE); 7905 if ("ExplanationOfBenefit".equals(codeString)) 7906 return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT); 7907 if ("FamilyMemberHistory".equals(codeString)) 7908 return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY); 7909 if ("Flag".equals(codeString)) 7910 return new Enumeration<ResourceType>(this, ResourceType.FLAG); 7911 if ("Goal".equals(codeString)) 7912 return new Enumeration<ResourceType>(this, ResourceType.GOAL); 7913 if ("Group".equals(codeString)) 7914 return new Enumeration<ResourceType>(this, ResourceType.GROUP); 7915 if ("HealthcareService".equals(codeString)) 7916 return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE); 7917 if ("ImagingObjectSelection".equals(codeString)) 7918 return new Enumeration<ResourceType>(this, ResourceType.IMAGINGOBJECTSELECTION); 7919 if ("ImagingStudy".equals(codeString)) 7920 return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY); 7921 if ("Immunization".equals(codeString)) 7922 return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION); 7923 if ("ImmunizationRecommendation".equals(codeString)) 7924 return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION); 7925 if ("ImplementationGuide".equals(codeString)) 7926 return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE); 7927 if ("List".equals(codeString)) 7928 return new Enumeration<ResourceType>(this, ResourceType.LIST); 7929 if ("Location".equals(codeString)) 7930 return new Enumeration<ResourceType>(this, ResourceType.LOCATION); 7931 if ("Media".equals(codeString)) 7932 return new Enumeration<ResourceType>(this, ResourceType.MEDIA); 7933 if ("Medication".equals(codeString)) 7934 return new Enumeration<ResourceType>(this, ResourceType.MEDICATION); 7935 if ("MedicationAdministration".equals(codeString)) 7936 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION); 7937 if ("MedicationDispense".equals(codeString)) 7938 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE); 7939 if ("MedicationOrder".equals(codeString)) 7940 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONORDER); 7941 if ("MedicationStatement".equals(codeString)) 7942 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT); 7943 if ("MessageHeader".equals(codeString)) 7944 return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER); 7945 if ("NamingSystem".equals(codeString)) 7946 return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM); 7947 if ("NutritionOrder".equals(codeString)) 7948 return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER); 7949 if ("Observation".equals(codeString)) 7950 return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION); 7951 if ("OperationDefinition".equals(codeString)) 7952 return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION); 7953 if ("OperationOutcome".equals(codeString)) 7954 return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME); 7955 if ("Order".equals(codeString)) 7956 return new Enumeration<ResourceType>(this, ResourceType.ORDER); 7957 if ("OrderResponse".equals(codeString)) 7958 return new Enumeration<ResourceType>(this, ResourceType.ORDERRESPONSE); 7959 if ("Organization".equals(codeString)) 7960 return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION); 7961 if ("Parameters".equals(codeString)) 7962 return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS); 7963 if ("Patient".equals(codeString)) 7964 return new Enumeration<ResourceType>(this, ResourceType.PATIENT); 7965 if ("PaymentNotice".equals(codeString)) 7966 return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE); 7967 if ("PaymentReconciliation".equals(codeString)) 7968 return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION); 7969 if ("Person".equals(codeString)) 7970 return new Enumeration<ResourceType>(this, ResourceType.PERSON); 7971 if ("Practitioner".equals(codeString)) 7972 return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER); 7973 if ("Procedure".equals(codeString)) 7974 return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE); 7975 if ("ProcedureRequest".equals(codeString)) 7976 return new Enumeration<ResourceType>(this, ResourceType.PROCEDUREREQUEST); 7977 if ("ProcessRequest".equals(codeString)) 7978 return new Enumeration<ResourceType>(this, ResourceType.PROCESSREQUEST); 7979 if ("ProcessResponse".equals(codeString)) 7980 return new Enumeration<ResourceType>(this, ResourceType.PROCESSRESPONSE); 7981 if ("Provenance".equals(codeString)) 7982 return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE); 7983 if ("Questionnaire".equals(codeString)) 7984 return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE); 7985 if ("QuestionnaireResponse".equals(codeString)) 7986 return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE); 7987 if ("ReferralRequest".equals(codeString)) 7988 return new Enumeration<ResourceType>(this, ResourceType.REFERRALREQUEST); 7989 if ("RelatedPerson".equals(codeString)) 7990 return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON); 7991 if ("Resource".equals(codeString)) 7992 return new Enumeration<ResourceType>(this, ResourceType.RESOURCE); 7993 if ("RiskAssessment".equals(codeString)) 7994 return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT); 7995 if ("Schedule".equals(codeString)) 7996 return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE); 7997 if ("SearchParameter".equals(codeString)) 7998 return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER); 7999 if ("Slot".equals(codeString)) 8000 return new Enumeration<ResourceType>(this, ResourceType.SLOT); 8001 if ("Specimen".equals(codeString)) 8002 return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN); 8003 if ("StructureDefinition".equals(codeString)) 8004 return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION); 8005 if ("Subscription".equals(codeString)) 8006 return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION); 8007 if ("Substance".equals(codeString)) 8008 return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE); 8009 if ("SupplyDelivery".equals(codeString)) 8010 return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY); 8011 if ("SupplyRequest".equals(codeString)) 8012 return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST); 8013 if ("TestScript".equals(codeString)) 8014 return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT); 8015 if ("ValueSet".equals(codeString)) 8016 return new Enumeration<ResourceType>(this, ResourceType.VALUESET); 8017 if ("VisionPrescription".equals(codeString)) 8018 return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION); 8019 throw new FHIRException("Unknown ResourceType code '" + codeString + "'"); 8020 } 8021 8022 public String toCode(ResourceType code) 8023 { 8024 if (code == ResourceType.NULL) 8025 return null; 8026 if (code == ResourceType.ACCOUNT) 8027 return "Account"; 8028 if (code == ResourceType.ALLERGYINTOLERANCE) 8029 return "AllergyIntolerance"; 8030 if (code == ResourceType.APPOINTMENT) 8031 return "Appointment"; 8032 if (code == ResourceType.APPOINTMENTRESPONSE) 8033 return "AppointmentResponse"; 8034 if (code == ResourceType.AUDITEVENT) 8035 return "AuditEvent"; 8036 if (code == ResourceType.BASIC) 8037 return "Basic"; 8038 if (code == ResourceType.BINARY) 8039 return "Binary"; 8040 if (code == ResourceType.BODYSITE) 8041 return "BodySite"; 8042 if (code == ResourceType.BUNDLE) 8043 return "Bundle"; 8044 if (code == ResourceType.CAREPLAN) 8045 return "CarePlan"; 8046 if (code == ResourceType.CLAIM) 8047 return "Claim"; 8048 if (code == ResourceType.CLAIMRESPONSE) 8049 return "ClaimResponse"; 8050 if (code == ResourceType.CLINICALIMPRESSION) 8051 return "ClinicalImpression"; 8052 if (code == ResourceType.COMMUNICATION) 8053 return "Communication"; 8054 if (code == ResourceType.COMMUNICATIONREQUEST) 8055 return "CommunicationRequest"; 8056 if (code == ResourceType.COMPOSITION) 8057 return "Composition"; 8058 if (code == ResourceType.CONCEPTMAP) 8059 return "ConceptMap"; 8060 if (code == ResourceType.CONDITION) 8061 return "Condition"; 8062 if (code == ResourceType.CONFORMANCE) 8063 return "Conformance"; 8064 if (code == ResourceType.CONTRACT) 8065 return "Contract"; 8066 if (code == ResourceType.COVERAGE) 8067 return "Coverage"; 8068 if (code == ResourceType.DATAELEMENT) 8069 return "DataElement"; 8070 if (code == ResourceType.DETECTEDISSUE) 8071 return "DetectedIssue"; 8072 if (code == ResourceType.DEVICE) 8073 return "Device"; 8074 if (code == ResourceType.DEVICECOMPONENT) 8075 return "DeviceComponent"; 8076 if (code == ResourceType.DEVICEMETRIC) 8077 return "DeviceMetric"; 8078 if (code == ResourceType.DEVICEUSEREQUEST) 8079 return "DeviceUseRequest"; 8080 if (code == ResourceType.DEVICEUSESTATEMENT) 8081 return "DeviceUseStatement"; 8082 if (code == ResourceType.DIAGNOSTICORDER) 8083 return "DiagnosticOrder"; 8084 if (code == ResourceType.DIAGNOSTICREPORT) 8085 return "DiagnosticReport"; 8086 if (code == ResourceType.DOCUMENTMANIFEST) 8087 return "DocumentManifest"; 8088 if (code == ResourceType.DOCUMENTREFERENCE) 8089 return "DocumentReference"; 8090 if (code == ResourceType.DOMAINRESOURCE) 8091 return "DomainResource"; 8092 if (code == ResourceType.ELIGIBILITYREQUEST) 8093 return "EligibilityRequest"; 8094 if (code == ResourceType.ELIGIBILITYRESPONSE) 8095 return "EligibilityResponse"; 8096 if (code == ResourceType.ENCOUNTER) 8097 return "Encounter"; 8098 if (code == ResourceType.ENROLLMENTREQUEST) 8099 return "EnrollmentRequest"; 8100 if (code == ResourceType.ENROLLMENTRESPONSE) 8101 return "EnrollmentResponse"; 8102 if (code == ResourceType.EPISODEOFCARE) 8103 return "EpisodeOfCare"; 8104 if (code == ResourceType.EXPLANATIONOFBENEFIT) 8105 return "ExplanationOfBenefit"; 8106 if (code == ResourceType.FAMILYMEMBERHISTORY) 8107 return "FamilyMemberHistory"; 8108 if (code == ResourceType.FLAG) 8109 return "Flag"; 8110 if (code == ResourceType.GOAL) 8111 return "Goal"; 8112 if (code == ResourceType.GROUP) 8113 return "Group"; 8114 if (code == ResourceType.HEALTHCARESERVICE) 8115 return "HealthcareService"; 8116 if (code == ResourceType.IMAGINGOBJECTSELECTION) 8117 return "ImagingObjectSelection"; 8118 if (code == ResourceType.IMAGINGSTUDY) 8119 return "ImagingStudy"; 8120 if (code == ResourceType.IMMUNIZATION) 8121 return "Immunization"; 8122 if (code == ResourceType.IMMUNIZATIONRECOMMENDATION) 8123 return "ImmunizationRecommendation"; 8124 if (code == ResourceType.IMPLEMENTATIONGUIDE) 8125 return "ImplementationGuide"; 8126 if (code == ResourceType.LIST) 8127 return "List"; 8128 if (code == ResourceType.LOCATION) 8129 return "Location"; 8130 if (code == ResourceType.MEDIA) 8131 return "Media"; 8132 if (code == ResourceType.MEDICATION) 8133 return "Medication"; 8134 if (code == ResourceType.MEDICATIONADMINISTRATION) 8135 return "MedicationAdministration"; 8136 if (code == ResourceType.MEDICATIONDISPENSE) 8137 return "MedicationDispense"; 8138 if (code == ResourceType.MEDICATIONORDER) 8139 return "MedicationOrder"; 8140 if (code == ResourceType.MEDICATIONSTATEMENT) 8141 return "MedicationStatement"; 8142 if (code == ResourceType.MESSAGEHEADER) 8143 return "MessageHeader"; 8144 if (code == ResourceType.NAMINGSYSTEM) 8145 return "NamingSystem"; 8146 if (code == ResourceType.NUTRITIONORDER) 8147 return "NutritionOrder"; 8148 if (code == ResourceType.OBSERVATION) 8149 return "Observation"; 8150 if (code == ResourceType.OPERATIONDEFINITION) 8151 return "OperationDefinition"; 8152 if (code == ResourceType.OPERATIONOUTCOME) 8153 return "OperationOutcome"; 8154 if (code == ResourceType.ORDER) 8155 return "Order"; 8156 if (code == ResourceType.ORDERRESPONSE) 8157 return "OrderResponse"; 8158 if (code == ResourceType.ORGANIZATION) 8159 return "Organization"; 8160 if (code == ResourceType.PARAMETERS) 8161 return "Parameters"; 8162 if (code == ResourceType.PATIENT) 8163 return "Patient"; 8164 if (code == ResourceType.PAYMENTNOTICE) 8165 return "PaymentNotice"; 8166 if (code == ResourceType.PAYMENTRECONCILIATION) 8167 return "PaymentReconciliation"; 8168 if (code == ResourceType.PERSON) 8169 return "Person"; 8170 if (code == ResourceType.PRACTITIONER) 8171 return "Practitioner"; 8172 if (code == ResourceType.PROCEDURE) 8173 return "Procedure"; 8174 if (code == ResourceType.PROCEDUREREQUEST) 8175 return "ProcedureRequest"; 8176 if (code == ResourceType.PROCESSREQUEST) 8177 return "ProcessRequest"; 8178 if (code == ResourceType.PROCESSRESPONSE) 8179 return "ProcessResponse"; 8180 if (code == ResourceType.PROVENANCE) 8181 return "Provenance"; 8182 if (code == ResourceType.QUESTIONNAIRE) 8183 return "Questionnaire"; 8184 if (code == ResourceType.QUESTIONNAIRERESPONSE) 8185 return "QuestionnaireResponse"; 8186 if (code == ResourceType.REFERRALREQUEST) 8187 return "ReferralRequest"; 8188 if (code == ResourceType.RELATEDPERSON) 8189 return "RelatedPerson"; 8190 if (code == ResourceType.RESOURCE) 8191 return "Resource"; 8192 if (code == ResourceType.RISKASSESSMENT) 8193 return "RiskAssessment"; 8194 if (code == ResourceType.SCHEDULE) 8195 return "Schedule"; 8196 if (code == ResourceType.SEARCHPARAMETER) 8197 return "SearchParameter"; 8198 if (code == ResourceType.SLOT) 8199 return "Slot"; 8200 if (code == ResourceType.SPECIMEN) 8201 return "Specimen"; 8202 if (code == ResourceType.STRUCTUREDEFINITION) 8203 return "StructureDefinition"; 8204 if (code == ResourceType.SUBSCRIPTION) 8205 return "Subscription"; 8206 if (code == ResourceType.SUBSTANCE) 8207 return "Substance"; 8208 if (code == ResourceType.SUPPLYDELIVERY) 8209 return "SupplyDelivery"; 8210 if (code == ResourceType.SUPPLYREQUEST) 8211 return "SupplyRequest"; 8212 if (code == ResourceType.TESTSCRIPT) 8213 return "TestScript"; 8214 if (code == ResourceType.VALUESET) 8215 return "ValueSet"; 8216 if (code == ResourceType.VISIONPRESCRIPTION) 8217 return "VisionPrescription"; 8218 return "?"; 8219 } 8220 } 8221 8222 public enum SearchParamType { 8223 /** 8224 * Search parameter SHALL be a number (a whole number, or a decimal). 8225 */ 8226 NUMBER, 8227 /** 8228 * Search parameter is on a date/time. The date format is the standard XML 8229 * format, though other formats may be supported. 8230 */ 8231 DATE, 8232 /** 8233 * Search parameter is a simple string, like a name part. Search is 8234 * case-insensitive and accent-insensitive. May match just the start of a 8235 * string. String parameters may contain spaces. 8236 */ 8237 STRING, 8238 /** 8239 * Search parameter on a coded element or identifier. May be used to search 8240 * through the text, displayname, code and code/codesystem (for codes) and 8241 * label, system and key (for identifier). Its value is either a string or a 8242 * pair of namespace and value, separated by a "|", depending on the modifier 8243 * used. 8244 */ 8245 TOKEN, 8246 /** 8247 * A reference to another resource. 8248 */ 8249 REFERENCE, 8250 /** 8251 * A composite search parameter that combines a search on two values together. 8252 */ 8253 COMPOSITE, 8254 /** 8255 * A search parameter that searches on a quantity. 8256 */ 8257 QUANTITY, 8258 /** 8259 * A search parameter that searches on a URI (RFC 3986). 8260 */ 8261 URI, 8262 /** 8263 * added to help the parsers 8264 */ 8265 NULL; 8266 8267 public static SearchParamType fromCode(String codeString) throws FHIRException { 8268 if (codeString == null || "".equals(codeString)) 8269 return null; 8270 if ("number".equals(codeString)) 8271 return NUMBER; 8272 if ("date".equals(codeString)) 8273 return DATE; 8274 if ("string".equals(codeString)) 8275 return STRING; 8276 if ("token".equals(codeString)) 8277 return TOKEN; 8278 if ("reference".equals(codeString)) 8279 return REFERENCE; 8280 if ("composite".equals(codeString)) 8281 return COMPOSITE; 8282 if ("quantity".equals(codeString)) 8283 return QUANTITY; 8284 if ("uri".equals(codeString)) 8285 return URI; 8286 throw new FHIRException("Unknown SearchParamType code '" + codeString + "'"); 8287 } 8288 8289 public String toCode() { 8290 switch (this) { 8291 case NUMBER: 8292 return "number"; 8293 case DATE: 8294 return "date"; 8295 case STRING: 8296 return "string"; 8297 case TOKEN: 8298 return "token"; 8299 case REFERENCE: 8300 return "reference"; 8301 case COMPOSITE: 8302 return "composite"; 8303 case QUANTITY: 8304 return "quantity"; 8305 case URI: 8306 return "uri"; 8307 case NULL: 8308 return null; 8309 default: 8310 return "?"; 8311 } 8312 } 8313 8314 public String getSystem() { 8315 switch (this) { 8316 case NUMBER: 8317 return "http://hl7.org/fhir/search-param-type"; 8318 case DATE: 8319 return "http://hl7.org/fhir/search-param-type"; 8320 case STRING: 8321 return "http://hl7.org/fhir/search-param-type"; 8322 case TOKEN: 8323 return "http://hl7.org/fhir/search-param-type"; 8324 case REFERENCE: 8325 return "http://hl7.org/fhir/search-param-type"; 8326 case COMPOSITE: 8327 return "http://hl7.org/fhir/search-param-type"; 8328 case QUANTITY: 8329 return "http://hl7.org/fhir/search-param-type"; 8330 case URI: 8331 return "http://hl7.org/fhir/search-param-type"; 8332 case NULL: 8333 return null; 8334 default: 8335 return "?"; 8336 } 8337 } 8338 8339 public String getDefinition() { 8340 switch (this) { 8341 case NUMBER: 8342 return "Search parameter SHALL be a number (a whole number, or a decimal)."; 8343 case DATE: 8344 return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported."; 8345 case STRING: 8346 return "Search parameter is a simple string, like a name part. Search is case-insensitive and accent-insensitive. May match just the start of a string. String parameters may contain spaces."; 8347 case TOKEN: 8348 return "Search parameter on a coded element or identifier. May be used to search through the text, displayname, code and code/codesystem (for codes) and label, system and key (for identifier). Its value is either a string or a pair of namespace and value, separated by a \"|\", depending on the modifier used."; 8349 case REFERENCE: 8350 return "A reference to another resource."; 8351 case COMPOSITE: 8352 return "A composite search parameter that combines a search on two values together."; 8353 case QUANTITY: 8354 return "A search parameter that searches on a quantity."; 8355 case URI: 8356 return "A search parameter that searches on a URI (RFC 3986)."; 8357 case NULL: 8358 return null; 8359 default: 8360 return "?"; 8361 } 8362 } 8363 8364 public String getDisplay() { 8365 switch (this) { 8366 case NUMBER: 8367 return "Number"; 8368 case DATE: 8369 return "Date/DateTime"; 8370 case STRING: 8371 return "String"; 8372 case TOKEN: 8373 return "Token"; 8374 case REFERENCE: 8375 return "Reference"; 8376 case COMPOSITE: 8377 return "Composite"; 8378 case QUANTITY: 8379 return "Quantity"; 8380 case URI: 8381 return "URI"; 8382 case NULL: 8383 return null; 8384 default: 8385 return "?"; 8386 } 8387 } 8388 } 8389 8390 public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> { 8391 public SearchParamType fromCode(String codeString) throws IllegalArgumentException { 8392 if (codeString == null || "".equals(codeString)) 8393 if (codeString == null || "".equals(codeString)) 8394 return null; 8395 if ("number".equals(codeString)) 8396 return SearchParamType.NUMBER; 8397 if ("date".equals(codeString)) 8398 return SearchParamType.DATE; 8399 if ("string".equals(codeString)) 8400 return SearchParamType.STRING; 8401 if ("token".equals(codeString)) 8402 return SearchParamType.TOKEN; 8403 if ("reference".equals(codeString)) 8404 return SearchParamType.REFERENCE; 8405 if ("composite".equals(codeString)) 8406 return SearchParamType.COMPOSITE; 8407 if ("quantity".equals(codeString)) 8408 return SearchParamType.QUANTITY; 8409 if ("uri".equals(codeString)) 8410 return SearchParamType.URI; 8411 throw new IllegalArgumentException("Unknown SearchParamType code '" + codeString + "'"); 8412 } 8413 8414 public Enumeration<SearchParamType> fromType(Base code) throws FHIRException { 8415 if (code == null || code.isEmpty()) 8416 return null; 8417 String codeString = ((PrimitiveType) code).asStringValue(); 8418 if (codeString == null || "".equals(codeString)) 8419 return null; 8420 if ("number".equals(codeString)) 8421 return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER); 8422 if ("date".equals(codeString)) 8423 return new Enumeration<SearchParamType>(this, SearchParamType.DATE); 8424 if ("string".equals(codeString)) 8425 return new Enumeration<SearchParamType>(this, SearchParamType.STRING); 8426 if ("token".equals(codeString)) 8427 return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN); 8428 if ("reference".equals(codeString)) 8429 return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE); 8430 if ("composite".equals(codeString)) 8431 return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE); 8432 if ("quantity".equals(codeString)) 8433 return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY); 8434 if ("uri".equals(codeString)) 8435 return new Enumeration<SearchParamType>(this, SearchParamType.URI); 8436 throw new FHIRException("Unknown SearchParamType code '" + codeString + "'"); 8437 } 8438 8439 public String toCode(SearchParamType code) 8440 { 8441 if (code == SearchParamType.NULL) 8442 return null; 8443 if (code == SearchParamType.NUMBER) 8444 return "number"; 8445 if (code == SearchParamType.DATE) 8446 return "date"; 8447 if (code == SearchParamType.STRING) 8448 return "string"; 8449 if (code == SearchParamType.TOKEN) 8450 return "token"; 8451 if (code == SearchParamType.REFERENCE) 8452 return "reference"; 8453 if (code == SearchParamType.COMPOSITE) 8454 return "composite"; 8455 if (code == SearchParamType.QUANTITY) 8456 return "quantity"; 8457 if (code == SearchParamType.URI) 8458 return "uri"; 8459 return "?"; 8460 } 8461 } 8462 8463 public enum SpecialValues { 8464 /** 8465 * Boolean true. 8466 */ 8467 TRUE, 8468 /** 8469 * Boolean false. 8470 */ 8471 FALSE, 8472 /** 8473 * The content is greater than zero, but too small to be quantified. 8474 */ 8475 TRACE, 8476 /** 8477 * The specific quantity is not known, but is known to be non-zero and is not 8478 * specified because it makes up the bulk of the material. 8479 */ 8480 SUFFICIENT, 8481 /** 8482 * The value is no longer available. 8483 */ 8484 WITHDRAWN, 8485 /** 8486 * The are no known applicable values in this context. 8487 */ 8488 NILKNOWN, 8489 /** 8490 * added to help the parsers 8491 */ 8492 NULL; 8493 8494 public static SpecialValues fromCode(String codeString) throws FHIRException { 8495 if (codeString == null || "".equals(codeString)) 8496 return null; 8497 if ("true".equals(codeString)) 8498 return TRUE; 8499 if ("false".equals(codeString)) 8500 return FALSE; 8501 if ("trace".equals(codeString)) 8502 return TRACE; 8503 if ("sufficient".equals(codeString)) 8504 return SUFFICIENT; 8505 if ("withdrawn".equals(codeString)) 8506 return WITHDRAWN; 8507 if ("nil-known".equals(codeString)) 8508 return NILKNOWN; 8509 throw new FHIRException("Unknown SpecialValues code '" + codeString + "'"); 8510 } 8511 8512 public String toCode() { 8513 switch (this) { 8514 case TRUE: 8515 return "true"; 8516 case FALSE: 8517 return "false"; 8518 case TRACE: 8519 return "trace"; 8520 case SUFFICIENT: 8521 return "sufficient"; 8522 case WITHDRAWN: 8523 return "withdrawn"; 8524 case NILKNOWN: 8525 return "nil-known"; 8526 case NULL: 8527 return null; 8528 default: 8529 return "?"; 8530 } 8531 } 8532 8533 public String getSystem() { 8534 switch (this) { 8535 case TRUE: 8536 return "http://hl7.org/fhir/special-values"; 8537 case FALSE: 8538 return "http://hl7.org/fhir/special-values"; 8539 case TRACE: 8540 return "http://hl7.org/fhir/special-values"; 8541 case SUFFICIENT: 8542 return "http://hl7.org/fhir/special-values"; 8543 case WITHDRAWN: 8544 return "http://hl7.org/fhir/special-values"; 8545 case NILKNOWN: 8546 return "http://hl7.org/fhir/special-values"; 8547 case NULL: 8548 return null; 8549 default: 8550 return "?"; 8551 } 8552 } 8553 8554 public String getDefinition() { 8555 switch (this) { 8556 case TRUE: 8557 return "Boolean true."; 8558 case FALSE: 8559 return "Boolean false."; 8560 case TRACE: 8561 return "The content is greater than zero, but too small to be quantified."; 8562 case SUFFICIENT: 8563 return "The specific quantity is not known, but is known to be non-zero and is not specified because it makes up the bulk of the material."; 8564 case WITHDRAWN: 8565 return "The value is no longer available."; 8566 case NILKNOWN: 8567 return "The are no known applicable values in this context."; 8568 case NULL: 8569 return null; 8570 default: 8571 return "?"; 8572 } 8573 } 8574 8575 public String getDisplay() { 8576 switch (this) { 8577 case TRUE: 8578 return "true"; 8579 case FALSE: 8580 return "false"; 8581 case TRACE: 8582 return "Trace Amount Detected"; 8583 case SUFFICIENT: 8584 return "Sufficient Quantity"; 8585 case WITHDRAWN: 8586 return "Value Withdrawn"; 8587 case NILKNOWN: 8588 return "Nil Known"; 8589 case NULL: 8590 return null; 8591 default: 8592 return "?"; 8593 } 8594 } 8595 } 8596 8597 public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> { 8598 public SpecialValues fromCode(String codeString) throws IllegalArgumentException { 8599 if (codeString == null || "".equals(codeString)) 8600 if (codeString == null || "".equals(codeString)) 8601 return null; 8602 if ("true".equals(codeString)) 8603 return SpecialValues.TRUE; 8604 if ("false".equals(codeString)) 8605 return SpecialValues.FALSE; 8606 if ("trace".equals(codeString)) 8607 return SpecialValues.TRACE; 8608 if ("sufficient".equals(codeString)) 8609 return SpecialValues.SUFFICIENT; 8610 if ("withdrawn".equals(codeString)) 8611 return SpecialValues.WITHDRAWN; 8612 if ("nil-known".equals(codeString)) 8613 return SpecialValues.NILKNOWN; 8614 throw new IllegalArgumentException("Unknown SpecialValues code '" + codeString + "'"); 8615 } 8616 8617 public Enumeration<SpecialValues> fromType(Base code) throws FHIRException { 8618 if (code == null || code.isEmpty()) 8619 return null; 8620 String codeString = ((PrimitiveType) code).asStringValue(); 8621 if (codeString == null || "".equals(codeString)) 8622 return null; 8623 if ("true".equals(codeString)) 8624 return new Enumeration<SpecialValues>(this, SpecialValues.TRUE); 8625 if ("false".equals(codeString)) 8626 return new Enumeration<SpecialValues>(this, SpecialValues.FALSE); 8627 if ("trace".equals(codeString)) 8628 return new Enumeration<SpecialValues>(this, SpecialValues.TRACE); 8629 if ("sufficient".equals(codeString)) 8630 return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT); 8631 if ("withdrawn".equals(codeString)) 8632 return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN); 8633 if ("nil-known".equals(codeString)) 8634 return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN); 8635 throw new FHIRException("Unknown SpecialValues code '" + codeString + "'"); 8636 } 8637 8638 public String toCode(SpecialValues code) 8639 { 8640 if (code == SpecialValues.NULL) 8641 return null; 8642 if (code == SpecialValues.TRUE) 8643 return "true"; 8644 if (code == SpecialValues.FALSE) 8645 return "false"; 8646 if (code == SpecialValues.TRACE) 8647 return "trace"; 8648 if (code == SpecialValues.SUFFICIENT) 8649 return "sufficient"; 8650 if (code == SpecialValues.WITHDRAWN) 8651 return "withdrawn"; 8652 if (code == SpecialValues.NILKNOWN) 8653 return "nil-known"; 8654 return "?"; 8655 } 8656 } 8657 8658}