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 032 033 034import org.hl7.fhir.exceptions.FHIRException; 035 036public class Enumerations { 037 038// In here: 039// AdministrativeGender: The gender of a person used for administrative purposes. 040// AgeUnits: A valueSet of UCUM codes for representing age value units. 041// BindingStrength: Indication of the degree of conformance expectations associated with a binding. 042// ConceptMapEquivalence: The degree of equivalence between concepts. 043// ConformanceResourceStatus: The lifecycle status of a Value Set or Concept Map. 044// DataAbsentReason: Used to specify why the normally expected content of the data element is missing. 045// DataType: The type of an element - one of the FHIR data types. 046// DocumentReferenceStatus: The status of the document reference. 047// FHIRDefinedType: Either a resource or a data type. 048// MessageEvent: One of the message events defined as part of FHIR. 049// NoteType: The presentation types of notes. 050// RemittanceOutcome: The outcome of the processing. 051// ResourceType: One of the resource types defined as part of FHIR. 052// SearchParamType: Data types allowed to be used for search parameters. 053// SpecialValues: A set of generally useful codes defined so they can be included in value sets. 054 055 056 public enum AdministrativeGender { 057 /** 058 * Male 059 */ 060 MALE, 061 /** 062 * Female 063 */ 064 FEMALE, 065 /** 066 * Other 067 */ 068 OTHER, 069 /** 070 * Unknown 071 */ 072 UNKNOWN, 073 /** 074 * added to help the parsers 075 */ 076 NULL; 077 public static AdministrativeGender fromCode(String codeString) throws FHIRException { 078 if (codeString == null || "".equals(codeString)) 079 return null; 080 if ("male".equals(codeString)) 081 return MALE; 082 if ("female".equals(codeString)) 083 return FEMALE; 084 if ("other".equals(codeString)) 085 return OTHER; 086 if ("unknown".equals(codeString)) 087 return UNKNOWN; 088 throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'"); 089 } 090 public String toCode() { 091 switch (this) { 092 case MALE: return "male"; 093 case FEMALE: return "female"; 094 case OTHER: return "other"; 095 case UNKNOWN: return "unknown"; 096 default: return "?"; 097 } 098 } 099 public String getSystem() { 100 switch (this) { 101 case MALE: return "http://hl7.org/fhir/administrative-gender"; 102 case FEMALE: return "http://hl7.org/fhir/administrative-gender"; 103 case OTHER: return "http://hl7.org/fhir/administrative-gender"; 104 case UNKNOWN: return "http://hl7.org/fhir/administrative-gender"; 105 default: return "?"; 106 } 107 } 108 public String getDefinition() { 109 switch (this) { 110 case MALE: return "Male"; 111 case FEMALE: return "Female"; 112 case OTHER: return "Other"; 113 case UNKNOWN: return "Unknown"; 114 default: return "?"; 115 } 116 } 117 public String getDisplay() { 118 switch (this) { 119 case MALE: return "Male"; 120 case FEMALE: return "Female"; 121 case OTHER: return "Other"; 122 case UNKNOWN: return "Unknown"; 123 default: return "?"; 124 } 125 } 126 } 127 128 public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> { 129 public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException { 130 if (codeString == null || "".equals(codeString)) 131 if (codeString == null || "".equals(codeString)) 132 return null; 133 if ("male".equals(codeString)) 134 return AdministrativeGender.MALE; 135 if ("female".equals(codeString)) 136 return AdministrativeGender.FEMALE; 137 if ("other".equals(codeString)) 138 return AdministrativeGender.OTHER; 139 if ("unknown".equals(codeString)) 140 return AdministrativeGender.UNKNOWN; 141 throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'"); 142 } 143 public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException { 144 if (code == null || code.isEmpty()) 145 return null; 146 String codeString = ((PrimitiveType) code).asStringValue(); 147 if (codeString == null || "".equals(codeString)) 148 return null; 149 if ("male".equals(codeString)) 150 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE); 151 if ("female".equals(codeString)) 152 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE); 153 if ("other".equals(codeString)) 154 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER); 155 if ("unknown".equals(codeString)) 156 return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN); 157 throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'"); 158 } 159 public String toCode(AdministrativeGender code) { 160 if (code == AdministrativeGender.MALE) 161 return "male"; 162 if (code == AdministrativeGender.FEMALE) 163 return "female"; 164 if (code == AdministrativeGender.OTHER) 165 return "other"; 166 if (code == AdministrativeGender.UNKNOWN) 167 return "unknown"; 168 return "?"; 169 } 170 } 171 172 public enum AgeUnits { 173 /** 174 * null 175 */ 176 MIN, 177 /** 178 * null 179 */ 180 H, 181 /** 182 * null 183 */ 184 D, 185 /** 186 * null 187 */ 188 WK, 189 /** 190 * null 191 */ 192 MO, 193 /** 194 * null 195 */ 196 A, 197 /** 198 * added to help the parsers 199 */ 200 NULL; 201 public static AgeUnits fromCode(String codeString) throws FHIRException { 202 if (codeString == null || "".equals(codeString)) 203 return null; 204 if ("min".equals(codeString)) 205 return MIN; 206 if ("h".equals(codeString)) 207 return H; 208 if ("d".equals(codeString)) 209 return D; 210 if ("wk".equals(codeString)) 211 return WK; 212 if ("mo".equals(codeString)) 213 return MO; 214 if ("a".equals(codeString)) 215 return A; 216 throw new FHIRException("Unknown AgeUnits code '"+codeString+"'"); 217 } 218 public String toCode() { 219 switch (this) { 220 case MIN: return "min"; 221 case H: return "h"; 222 case D: return "d"; 223 case WK: return "wk"; 224 case MO: return "mo"; 225 case A: return "a"; 226 default: return "?"; 227 } 228 } 229 public String getSystem() { 230 switch (this) { 231 case MIN: return "http://unitsofmeasure.org"; 232 case H: return "http://unitsofmeasure.org"; 233 case D: return "http://unitsofmeasure.org"; 234 case WK: return "http://unitsofmeasure.org"; 235 case MO: return "http://unitsofmeasure.org"; 236 case A: return "http://unitsofmeasure.org"; 237 default: return "?"; 238 } 239 } 240 public String getDefinition() { 241 switch (this) { 242 case MIN: return ""; 243 case H: return ""; 244 case D: return ""; 245 case WK: return ""; 246 case MO: return ""; 247 case A: return ""; 248 default: return "?"; 249 } 250 } 251 public String getDisplay() { 252 switch (this) { 253 case MIN: return "Minute"; 254 case H: return "Hour"; 255 case D: return "Day"; 256 case WK: return "Week"; 257 case MO: return "Month"; 258 case A: return "Year"; 259 default: return "?"; 260 } 261 } 262 } 263 264 public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> { 265 public AgeUnits fromCode(String codeString) throws IllegalArgumentException { 266 if (codeString == null || "".equals(codeString)) 267 if (codeString == null || "".equals(codeString)) 268 return null; 269 if ("min".equals(codeString)) 270 return AgeUnits.MIN; 271 if ("h".equals(codeString)) 272 return AgeUnits.H; 273 if ("d".equals(codeString)) 274 return AgeUnits.D; 275 if ("wk".equals(codeString)) 276 return AgeUnits.WK; 277 if ("mo".equals(codeString)) 278 return AgeUnits.MO; 279 if ("a".equals(codeString)) 280 return AgeUnits.A; 281 throw new IllegalArgumentException("Unknown AgeUnits code '"+codeString+"'"); 282 } 283 public Enumeration<AgeUnits> fromType(Base code) throws FHIRException { 284 if (code == null || code.isEmpty()) 285 return null; 286 String codeString = ((PrimitiveType) code).asStringValue(); 287 if (codeString == null || "".equals(codeString)) 288 return null; 289 if ("min".equals(codeString)) 290 return new Enumeration<AgeUnits>(this, AgeUnits.MIN); 291 if ("h".equals(codeString)) 292 return new Enumeration<AgeUnits>(this, AgeUnits.H); 293 if ("d".equals(codeString)) 294 return new Enumeration<AgeUnits>(this, AgeUnits.D); 295 if ("wk".equals(codeString)) 296 return new Enumeration<AgeUnits>(this, AgeUnits.WK); 297 if ("mo".equals(codeString)) 298 return new Enumeration<AgeUnits>(this, AgeUnits.MO); 299 if ("a".equals(codeString)) 300 return new Enumeration<AgeUnits>(this, AgeUnits.A); 301 throw new FHIRException("Unknown AgeUnits code '"+codeString+"'"); 302 } 303 public String toCode(AgeUnits code) { 304 if (code == AgeUnits.MIN) 305 return "min"; 306 if (code == AgeUnits.H) 307 return "h"; 308 if (code == AgeUnits.D) 309 return "d"; 310 if (code == AgeUnits.WK) 311 return "wk"; 312 if (code == AgeUnits.MO) 313 return "mo"; 314 if (code == AgeUnits.A) 315 return "a"; 316 return "?"; 317 } 318 } 319 320 public enum BindingStrength { 321 /** 322 * To be conformant, instances of this element SHALL include a code from the specified value set. 323 */ 324 REQUIRED, 325 /** 326 * 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. 327 */ 328 EXTENSIBLE, 329 /** 330 * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant. 331 */ 332 PREFERRED, 333 /** 334 * 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. 335 */ 336 EXAMPLE, 337 /** 338 * added to help the parsers 339 */ 340 NULL; 341 public static BindingStrength fromCode(String codeString) throws FHIRException { 342 if (codeString == null || "".equals(codeString)) 343 return null; 344 if ("required".equals(codeString)) 345 return REQUIRED; 346 if ("extensible".equals(codeString)) 347 return EXTENSIBLE; 348 if ("preferred".equals(codeString)) 349 return PREFERRED; 350 if ("example".equals(codeString)) 351 return EXAMPLE; 352 throw new FHIRException("Unknown BindingStrength code '"+codeString+"'"); 353 } 354 public String toCode() { 355 switch (this) { 356 case REQUIRED: return "required"; 357 case EXTENSIBLE: return "extensible"; 358 case PREFERRED: return "preferred"; 359 case EXAMPLE: return "example"; 360 default: return "?"; 361 } 362 } 363 public String getSystem() { 364 switch (this) { 365 case REQUIRED: return "http://hl7.org/fhir/binding-strength"; 366 case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength"; 367 case PREFERRED: return "http://hl7.org/fhir/binding-strength"; 368 case EXAMPLE: return "http://hl7.org/fhir/binding-strength"; 369 default: return "?"; 370 } 371 } 372 public String getDefinition() { 373 switch (this) { 374 case REQUIRED: return "To be conformant, instances of this element SHALL include a code from the specified value set."; 375 case EXTENSIBLE: 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."; 376 case PREFERRED: return "Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant."; 377 case EXAMPLE: 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."; 378 default: return "?"; 379 } 380 } 381 public String getDisplay() { 382 switch (this) { 383 case REQUIRED: return "Required"; 384 case EXTENSIBLE: return "Extensible"; 385 case PREFERRED: return "Preferred"; 386 case EXAMPLE: return "Example"; 387 default: return "?"; 388 } 389 } 390 } 391 392 public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> { 393 public BindingStrength fromCode(String codeString) throws IllegalArgumentException { 394 if (codeString == null || "".equals(codeString)) 395 if (codeString == null || "".equals(codeString)) 396 return null; 397 if ("required".equals(codeString)) 398 return BindingStrength.REQUIRED; 399 if ("extensible".equals(codeString)) 400 return BindingStrength.EXTENSIBLE; 401 if ("preferred".equals(codeString)) 402 return BindingStrength.PREFERRED; 403 if ("example".equals(codeString)) 404 return BindingStrength.EXAMPLE; 405 throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'"); 406 } 407 public Enumeration<BindingStrength> fromType(Base code) throws FHIRException { 408 if (code == null || code.isEmpty()) 409 return null; 410 String codeString = ((PrimitiveType) code).asStringValue(); 411 if (codeString == null || "".equals(codeString)) 412 return null; 413 if ("required".equals(codeString)) 414 return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED); 415 if ("extensible".equals(codeString)) 416 return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE); 417 if ("preferred".equals(codeString)) 418 return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED); 419 if ("example".equals(codeString)) 420 return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE); 421 throw new FHIRException("Unknown BindingStrength code '"+codeString+"'"); 422 } 423 public String toCode(BindingStrength code) { 424 if (code == BindingStrength.REQUIRED) 425 return "required"; 426 if (code == BindingStrength.EXTENSIBLE) 427 return "extensible"; 428 if (code == BindingStrength.PREFERRED) 429 return "preferred"; 430 if (code == BindingStrength.EXAMPLE) 431 return "example"; 432 return "?"; 433 } 434 } 435 436 public enum ConceptMapEquivalence { 437 /** 438 * The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical). 439 */ 440 EQUIVALENT, 441 /** 442 * 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). 443 */ 444 EQUAL, 445 /** 446 * The target mapping is wider in meaning than the source concept. 447 */ 448 WIDER, 449 /** 450 * The target mapping subsumes the meaning of the source concept (e.g. the source is-a target). 451 */ 452 SUBSUMES, 453 /** 454 * 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. 455 */ 456 NARROWER, 457 /** 458 * The target mapping specializes the meaning of the source concept (e.g. the target is-a source). 459 */ 460 SPECIALIZES, 461 /** 462 * 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. 463 */ 464 INEXACT, 465 /** 466 * There is no match for this concept in the destination concept system. 467 */ 468 UNMATCHED, 469 /** 470 * This is an explicit assertion that there is no mapping between the source and target concept. 471 */ 472 DISJOINT, 473 /** 474 * added to help the parsers 475 */ 476 NULL; 477 public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException { 478 if (codeString == null || "".equals(codeString)) 479 return null; 480 if ("equivalent".equals(codeString)) 481 return EQUIVALENT; 482 if ("equal".equals(codeString)) 483 return EQUAL; 484 if ("wider".equals(codeString)) 485 return WIDER; 486 if ("subsumes".equals(codeString)) 487 return SUBSUMES; 488 if ("narrower".equals(codeString)) 489 return NARROWER; 490 if ("specializes".equals(codeString)) 491 return SPECIALIZES; 492 if ("inexact".equals(codeString)) 493 return INEXACT; 494 if ("unmatched".equals(codeString)) 495 return UNMATCHED; 496 if ("disjoint".equals(codeString)) 497 return DISJOINT; 498 throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'"); 499 } 500 public String toCode() { 501 switch (this) { 502 case EQUIVALENT: return "equivalent"; 503 case EQUAL: return "equal"; 504 case WIDER: return "wider"; 505 case SUBSUMES: return "subsumes"; 506 case NARROWER: return "narrower"; 507 case SPECIALIZES: return "specializes"; 508 case INEXACT: return "inexact"; 509 case UNMATCHED: return "unmatched"; 510 case DISJOINT: return "disjoint"; 511 default: return "?"; 512 } 513 } 514 public String getSystem() { 515 switch (this) { 516 case EQUIVALENT: return "http://hl7.org/fhir/concept-map-equivalence"; 517 case EQUAL: return "http://hl7.org/fhir/concept-map-equivalence"; 518 case WIDER: return "http://hl7.org/fhir/concept-map-equivalence"; 519 case SUBSUMES: return "http://hl7.org/fhir/concept-map-equivalence"; 520 case NARROWER: return "http://hl7.org/fhir/concept-map-equivalence"; 521 case SPECIALIZES: return "http://hl7.org/fhir/concept-map-equivalence"; 522 case INEXACT: return "http://hl7.org/fhir/concept-map-equivalence"; 523 case UNMATCHED: return "http://hl7.org/fhir/concept-map-equivalence"; 524 case DISJOINT: return "http://hl7.org/fhir/concept-map-equivalence"; 525 default: return "?"; 526 } 527 } 528 public String getDefinition() { 529 switch (this) { 530 case EQUIVALENT: return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical)."; 531 case EQUAL: 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)."; 532 case WIDER: return "The target mapping is wider in meaning than the source concept."; 533 case SUBSUMES: return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target)."; 534 case NARROWER: 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."; 535 case SPECIALIZES: return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source)."; 536 case INEXACT: 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."; 537 case UNMATCHED: return "There is no match for this concept in the destination concept system."; 538 case DISJOINT: return "This is an explicit assertion that there is no mapping between the source and target concept."; 539 default: return "?"; 540 } 541 } 542 public String getDisplay() { 543 switch (this) { 544 case EQUIVALENT: return "Equivalent"; 545 case EQUAL: return "Equal"; 546 case WIDER: return "Wider"; 547 case SUBSUMES: return "Subsumes"; 548 case NARROWER: return "Narrower"; 549 case SPECIALIZES: return "Specializes"; 550 case INEXACT: return "Inexact"; 551 case UNMATCHED: return "Unmatched"; 552 case DISJOINT: return "Disjoint"; 553 default: return "?"; 554 } 555 } 556 } 557 558 public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> { 559 public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException { 560 if (codeString == null || "".equals(codeString)) 561 if (codeString == null || "".equals(codeString)) 562 return null; 563 if ("equivalent".equals(codeString)) 564 return ConceptMapEquivalence.EQUIVALENT; 565 if ("equal".equals(codeString)) 566 return ConceptMapEquivalence.EQUAL; 567 if ("wider".equals(codeString)) 568 return ConceptMapEquivalence.WIDER; 569 if ("subsumes".equals(codeString)) 570 return ConceptMapEquivalence.SUBSUMES; 571 if ("narrower".equals(codeString)) 572 return ConceptMapEquivalence.NARROWER; 573 if ("specializes".equals(codeString)) 574 return ConceptMapEquivalence.SPECIALIZES; 575 if ("inexact".equals(codeString)) 576 return ConceptMapEquivalence.INEXACT; 577 if ("unmatched".equals(codeString)) 578 return ConceptMapEquivalence.UNMATCHED; 579 if ("disjoint".equals(codeString)) 580 return ConceptMapEquivalence.DISJOINT; 581 throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '"+codeString+"'"); 582 } 583 public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException { 584 if (code == null || code.isEmpty()) 585 return null; 586 String codeString = ((PrimitiveType) code).asStringValue(); 587 if (codeString == null || "".equals(codeString)) 588 return null; 589 if ("equivalent".equals(codeString)) 590 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT); 591 if ("equal".equals(codeString)) 592 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL); 593 if ("wider".equals(codeString)) 594 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER); 595 if ("subsumes".equals(codeString)) 596 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES); 597 if ("narrower".equals(codeString)) 598 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER); 599 if ("specializes".equals(codeString)) 600 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES); 601 if ("inexact".equals(codeString)) 602 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT); 603 if ("unmatched".equals(codeString)) 604 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED); 605 if ("disjoint".equals(codeString)) 606 return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT); 607 throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'"); 608 } 609 public String toCode(ConceptMapEquivalence code) { 610 if (code == ConceptMapEquivalence.EQUIVALENT) 611 return "equivalent"; 612 if (code == ConceptMapEquivalence.EQUAL) 613 return "equal"; 614 if (code == ConceptMapEquivalence.WIDER) 615 return "wider"; 616 if (code == ConceptMapEquivalence.SUBSUMES) 617 return "subsumes"; 618 if (code == ConceptMapEquivalence.NARROWER) 619 return "narrower"; 620 if (code == ConceptMapEquivalence.SPECIALIZES) 621 return "specializes"; 622 if (code == ConceptMapEquivalence.INEXACT) 623 return "inexact"; 624 if (code == ConceptMapEquivalence.UNMATCHED) 625 return "unmatched"; 626 if (code == ConceptMapEquivalence.DISJOINT) 627 return "disjoint"; 628 return "?"; 629 } 630 } 631 632 public enum ConformanceResourceStatus { 633 /** 634 * This resource is still under development. 635 */ 636 DRAFT, 637 /** 638 * This resource is ready for normal use. 639 */ 640 ACTIVE, 641 /** 642 * This resource has been withdrawn or superseded and should no longer be used. 643 */ 644 RETIRED, 645 /** 646 * added to help the parsers 647 */ 648 NULL; 649 public static ConformanceResourceStatus fromCode(String codeString) throws FHIRException { 650 if (codeString == null || "".equals(codeString)) 651 return null; 652 if ("draft".equals(codeString)) 653 return DRAFT; 654 if ("active".equals(codeString)) 655 return ACTIVE; 656 if ("retired".equals(codeString)) 657 return RETIRED; 658 throw new FHIRException("Unknown ConformanceResourceStatus code '"+codeString+"'"); 659 } 660 public String toCode() { 661 switch (this) { 662 case DRAFT: return "draft"; 663 case ACTIVE: return "active"; 664 case RETIRED: return "retired"; 665 default: return "?"; 666 } 667 } 668 public String getSystem() { 669 switch (this) { 670 case DRAFT: return "http://hl7.org/fhir/conformance-resource-status"; 671 case ACTIVE: return "http://hl7.org/fhir/conformance-resource-status"; 672 case RETIRED: return "http://hl7.org/fhir/conformance-resource-status"; 673 default: return "?"; 674 } 675 } 676 public String getDefinition() { 677 switch (this) { 678 case DRAFT: return "This resource is still under development."; 679 case ACTIVE: return "This resource is ready for normal use."; 680 case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used."; 681 default: return "?"; 682 } 683 } 684 public String getDisplay() { 685 switch (this) { 686 case DRAFT: return "Draft"; 687 case ACTIVE: return "Active"; 688 case RETIRED: return "Retired"; 689 default: return "?"; 690 } 691 } 692 } 693 694 public static class ConformanceResourceStatusEnumFactory implements EnumFactory<ConformanceResourceStatus> { 695 public ConformanceResourceStatus fromCode(String codeString) throws IllegalArgumentException { 696 if (codeString == null || "".equals(codeString)) 697 if (codeString == null || "".equals(codeString)) 698 return null; 699 if ("draft".equals(codeString)) 700 return ConformanceResourceStatus.DRAFT; 701 if ("active".equals(codeString)) 702 return ConformanceResourceStatus.ACTIVE; 703 if ("retired".equals(codeString)) 704 return ConformanceResourceStatus.RETIRED; 705 throw new IllegalArgumentException("Unknown ConformanceResourceStatus code '"+codeString+"'"); 706 } 707 public Enumeration<ConformanceResourceStatus> fromType(Base code) throws FHIRException { 708 if (code == null || code.isEmpty()) 709 return null; 710 String codeString = ((PrimitiveType) code).asStringValue(); 711 if (codeString == null || "".equals(codeString)) 712 return null; 713 if ("draft".equals(codeString)) 714 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.DRAFT); 715 if ("active".equals(codeString)) 716 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.ACTIVE); 717 if ("retired".equals(codeString)) 718 return new Enumeration<ConformanceResourceStatus>(this, ConformanceResourceStatus.RETIRED); 719 throw new FHIRException("Unknown ConformanceResourceStatus code '"+codeString+"'"); 720 } 721 public String toCode(ConformanceResourceStatus code) { 722 if (code == ConformanceResourceStatus.DRAFT) 723 return "draft"; 724 if (code == ConformanceResourceStatus.ACTIVE) 725 return "active"; 726 if (code == ConformanceResourceStatus.RETIRED) 727 return "retired"; 728 return "?"; 729 } 730 } 731 732 public enum DataAbsentReason { 733 /** 734 * The value is not known. 735 */ 736 UNKNOWN, 737 /** 738 * The source human does not know the value. 739 */ 740 ASKED, 741 /** 742 * There is reason to expect (from the workflow) that the value may become known. 743 */ 744 TEMP, 745 /** 746 * The workflow didn't lead to this value being known. 747 */ 748 NOTASKED, 749 /** 750 * The information is not available due to security, privacy or related reasons. 751 */ 752 MASKED, 753 /** 754 * The source system wasn't capable of supporting this element. 755 */ 756 UNSUPPORTED, 757 /** 758 * The content of the data is represented in the resource narrative. 759 */ 760 ASTEXT, 761 /** 762 * Some system or workflow process error means that the information is not available. 763 */ 764 ERROR, 765 /** 766 * NaN, standing for not a number, is a numeric data type value representing an undefined or unrepresentable value. 767 */ 768 NAN, 769 /** 770 * added to help the parsers 771 */ 772 NULL; 773 public static DataAbsentReason fromCode(String codeString) throws FHIRException { 774 if (codeString == null || "".equals(codeString)) 775 return null; 776 if ("unknown".equals(codeString)) 777 return UNKNOWN; 778 if ("asked".equals(codeString)) 779 return ASKED; 780 if ("temp".equals(codeString)) 781 return TEMP; 782 if ("not-asked".equals(codeString)) 783 return NOTASKED; 784 if ("masked".equals(codeString)) 785 return MASKED; 786 if ("unsupported".equals(codeString)) 787 return UNSUPPORTED; 788 if ("astext".equals(codeString)) 789 return ASTEXT; 790 if ("error".equals(codeString)) 791 return ERROR; 792 if ("NaN".equals(codeString)) 793 return NAN; 794 throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'"); 795 } 796 public String toCode() { 797 switch (this) { 798 case UNKNOWN: return "unknown"; 799 case ASKED: return "asked"; 800 case TEMP: return "temp"; 801 case NOTASKED: return "not-asked"; 802 case MASKED: return "masked"; 803 case UNSUPPORTED: return "unsupported"; 804 case ASTEXT: return "astext"; 805 case ERROR: return "error"; 806 case NAN: return "NaN"; 807 default: return "?"; 808 } 809 } 810 public String getSystem() { 811 switch (this) { 812 case UNKNOWN: return "http://hl7.org/fhir/data-absent-reason"; 813 case ASKED: return "http://hl7.org/fhir/data-absent-reason"; 814 case TEMP: return "http://hl7.org/fhir/data-absent-reason"; 815 case NOTASKED: return "http://hl7.org/fhir/data-absent-reason"; 816 case MASKED: return "http://hl7.org/fhir/data-absent-reason"; 817 case UNSUPPORTED: return "http://hl7.org/fhir/data-absent-reason"; 818 case ASTEXT: return "http://hl7.org/fhir/data-absent-reason"; 819 case ERROR: return "http://hl7.org/fhir/data-absent-reason"; 820 case NAN: return "http://hl7.org/fhir/data-absent-reason"; 821 default: return "?"; 822 } 823 } 824 public String getDefinition() { 825 switch (this) { 826 case UNKNOWN: return "The value is not known."; 827 case ASKED: return "The source human does not know the value."; 828 case TEMP: return "There is reason to expect (from the workflow) that the value may become known."; 829 case NOTASKED: return "The workflow didn't lead to this value being known."; 830 case MASKED: return "The information is not available due to security, privacy or related reasons."; 831 case UNSUPPORTED: return "The source system wasn't capable of supporting this element."; 832 case ASTEXT: return "The content of the data is represented in the resource narrative."; 833 case ERROR: return "Some system or workflow process error means that the information is not available."; 834 case NAN: return "NaN, standing for not a number, is a numeric data type value representing an undefined or unrepresentable value."; 835 default: return "?"; 836 } 837 } 838 public String getDisplay() { 839 switch (this) { 840 case UNKNOWN: return "Unknown"; 841 case ASKED: return "Asked"; 842 case TEMP: return "Temp"; 843 case NOTASKED: return "Not Asked"; 844 case MASKED: return "Masked"; 845 case UNSUPPORTED: return "Unsupported"; 846 case ASTEXT: return "As Text"; 847 case ERROR: return "Error"; 848 case NAN: return "Not a Number"; 849 default: return "?"; 850 } 851 } 852 } 853 854 public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> { 855 public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException { 856 if (codeString == null || "".equals(codeString)) 857 if (codeString == null || "".equals(codeString)) 858 return null; 859 if ("unknown".equals(codeString)) 860 return DataAbsentReason.UNKNOWN; 861 if ("asked".equals(codeString)) 862 return DataAbsentReason.ASKED; 863 if ("temp".equals(codeString)) 864 return DataAbsentReason.TEMP; 865 if ("not-asked".equals(codeString)) 866 return DataAbsentReason.NOTASKED; 867 if ("masked".equals(codeString)) 868 return DataAbsentReason.MASKED; 869 if ("unsupported".equals(codeString)) 870 return DataAbsentReason.UNSUPPORTED; 871 if ("astext".equals(codeString)) 872 return DataAbsentReason.ASTEXT; 873 if ("error".equals(codeString)) 874 return DataAbsentReason.ERROR; 875 if ("NaN".equals(codeString)) 876 return DataAbsentReason.NAN; 877 throw new IllegalArgumentException("Unknown DataAbsentReason code '"+codeString+"'"); 878 } 879 public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException { 880 if (code == null || code.isEmpty()) 881 return null; 882 String codeString = ((PrimitiveType) code).asStringValue(); 883 if (codeString == null || "".equals(codeString)) 884 return null; 885 if ("unknown".equals(codeString)) 886 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN); 887 if ("asked".equals(codeString)) 888 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKED); 889 if ("temp".equals(codeString)) 890 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMP); 891 if ("not-asked".equals(codeString)) 892 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED); 893 if ("masked".equals(codeString)) 894 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED); 895 if ("unsupported".equals(codeString)) 896 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED); 897 if ("astext".equals(codeString)) 898 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT); 899 if ("error".equals(codeString)) 900 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR); 901 if ("NaN".equals(codeString)) 902 return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NAN); 903 throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'"); 904 } 905 public String toCode(DataAbsentReason code) { 906 if (code == DataAbsentReason.UNKNOWN) 907 return "unknown"; 908 if (code == DataAbsentReason.ASKED) 909 return "asked"; 910 if (code == DataAbsentReason.TEMP) 911 return "temp"; 912 if (code == DataAbsentReason.NOTASKED) 913 return "not-asked"; 914 if (code == DataAbsentReason.MASKED) 915 return "masked"; 916 if (code == DataAbsentReason.UNSUPPORTED) 917 return "unsupported"; 918 if (code == DataAbsentReason.ASTEXT) 919 return "astext"; 920 if (code == DataAbsentReason.ERROR) 921 return "error"; 922 if (code == DataAbsentReason.NAN) 923 return "NaN"; 924 return "?"; 925 } 926 } 927 928 public enum DataType { 929 /** 930 * 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. 931 */ 932 ADDRESS, 933 /** 934 * null 935 */ 936 AGE, 937 /** 938 * A text note which also contains information about who made the statement and when. 939 */ 940 ANNOTATION, 941 /** 942 * For referring to data content defined in other formats. 943 */ 944 ATTACHMENT, 945 /** 946 * Base definition for all elements that are defined inside a resource - but not those in a data type. 947 */ 948 BACKBONEELEMENT, 949 /** 950 * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. 951 */ 952 CODEABLECONCEPT, 953 /** 954 * A reference to a code defined by a terminology system. 955 */ 956 CODING, 957 /** 958 * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. 959 */ 960 CONTACTPOINT, 961 /** 962 * null 963 */ 964 COUNT, 965 /** 966 * null 967 */ 968 DISTANCE, 969 /** 970 * null 971 */ 972 DURATION, 973 /** 974 * Base definition for all elements in a resource. 975 */ 976 ELEMENT, 977 /** 978 * Captures constraints on each element within the resource, profile, or extension. 979 */ 980 ELEMENTDEFINITION, 981 /** 982 * Optional Extensions Element - found in all resources. 983 */ 984 EXTENSION, 985 /** 986 * A human's name with the ability to identify parts and usage. 987 */ 988 HUMANNAME, 989 /** 990 * A technical identifier - identifies some entity uniquely and unambiguously. 991 */ 992 IDENTIFIER, 993 /** 994 * 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. 995 */ 996 META, 997 /** 998 * null 999 */ 1000 MONEY, 1001 /** 1002 * A human-readable formatted text, including images. 1003 */ 1004 NARRATIVE, 1005 /** 1006 * A time period defined by a start and end date and optionally time. 1007 */ 1008 PERIOD, 1009 /** 1010 * 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. 1011 */ 1012 QUANTITY, 1013 /** 1014 * A set of ordered Quantities defined by a low and high limit. 1015 */ 1016 RANGE, 1017 /** 1018 * A relationship of two Quantity values - expressed as a numerator and a denominator. 1019 */ 1020 RATIO, 1021 /** 1022 * A reference from one resource to another. 1023 */ 1024 REFERENCE, 1025 /** 1026 * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. 1027 */ 1028 SAMPLEDDATA, 1029 /** 1030 * 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. 1031 */ 1032 SIGNATURE, 1033 /** 1034 * null 1035 */ 1036 SIMPLEQUANTITY, 1037 /** 1038 * 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. 1039 */ 1040 TIMING, 1041 /** 1042 * A stream of bytes 1043 */ 1044 BASE64BINARY, 1045 /** 1046 * Value of "true" or "false" 1047 */ 1048 BOOLEAN, 1049 /** 1050 * 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 1051 */ 1052 CODE, 1053 /** 1054 * 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. 1055 */ 1056 DATE, 1057 /** 1058 * 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. 1059 */ 1060 DATETIME, 1061 /** 1062 * A rational number with implicit precision 1063 */ 1064 DECIMAL, 1065 /** 1066 * 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. 1067 */ 1068 ID, 1069 /** 1070 * An instant in time - known at least to the second 1071 */ 1072 INSTANT, 1073 /** 1074 * A whole number 1075 */ 1076 INTEGER, 1077 /** 1078 * A string that may contain markdown syntax for optional processing by a mark down presentation engine 1079 */ 1080 MARKDOWN, 1081 /** 1082 * An oid represented as a URI 1083 */ 1084 OID, 1085 /** 1086 * An integer with a value that is positive (e.g. >0) 1087 */ 1088 POSITIVEINT, 1089 /** 1090 * A sequence of Unicode characters 1091 */ 1092 STRING, 1093 /** 1094 * A time during the day, with no date specified 1095 */ 1096 TIME, 1097 /** 1098 * An integer with a value that is not negative (e.g. >= 0) 1099 */ 1100 UNSIGNEDINT, 1101 /** 1102 * String of characters used to identify a name or a resource 1103 */ 1104 URI, 1105 /** 1106 * A UUID, represented as a URI 1107 */ 1108 UUID, 1109 /** 1110 * XHTML format, as defined by W3C, but restricted usage (mainly, no active content) 1111 */ 1112 XHTML, 1113 /** 1114 * added to help the parsers 1115 */ 1116 NULL; 1117 public static DataType fromCode(String codeString) throws FHIRException { 1118 if (codeString == null || "".equals(codeString)) 1119 return null; 1120 if ("Address".equals(codeString)) 1121 return ADDRESS; 1122 if ("Age".equals(codeString)) 1123 return AGE; 1124 if ("Annotation".equals(codeString)) 1125 return ANNOTATION; 1126 if ("Attachment".equals(codeString)) 1127 return ATTACHMENT; 1128 if ("BackboneElement".equals(codeString)) 1129 return BACKBONEELEMENT; 1130 if ("CodeableConcept".equals(codeString)) 1131 return CODEABLECONCEPT; 1132 if ("Coding".equals(codeString)) 1133 return CODING; 1134 if ("ContactPoint".equals(codeString)) 1135 return CONTACTPOINT; 1136 if ("Count".equals(codeString)) 1137 return COUNT; 1138 if ("Distance".equals(codeString)) 1139 return DISTANCE; 1140 if ("Duration".equals(codeString)) 1141 return DURATION; 1142 if ("Element".equals(codeString)) 1143 return ELEMENT; 1144 if ("ElementDefinition".equals(codeString)) 1145 return ELEMENTDEFINITION; 1146 if ("Extension".equals(codeString)) 1147 return EXTENSION; 1148 if ("HumanName".equals(codeString)) 1149 return HUMANNAME; 1150 if ("Identifier".equals(codeString)) 1151 return IDENTIFIER; 1152 if ("Meta".equals(codeString)) 1153 return META; 1154 if ("Money".equals(codeString)) 1155 return MONEY; 1156 if ("Narrative".equals(codeString)) 1157 return NARRATIVE; 1158 if ("Period".equals(codeString)) 1159 return PERIOD; 1160 if ("Quantity".equals(codeString)) 1161 return QUANTITY; 1162 if ("Range".equals(codeString)) 1163 return RANGE; 1164 if ("Ratio".equals(codeString)) 1165 return RATIO; 1166 if ("Reference".equals(codeString)) 1167 return REFERENCE; 1168 if ("SampledData".equals(codeString)) 1169 return SAMPLEDDATA; 1170 if ("Signature".equals(codeString)) 1171 return SIGNATURE; 1172 if ("SimpleQuantity".equals(codeString)) 1173 return SIMPLEQUANTITY; 1174 if ("Timing".equals(codeString)) 1175 return TIMING; 1176 if ("base64Binary".equals(codeString)) 1177 return BASE64BINARY; 1178 if ("boolean".equals(codeString)) 1179 return BOOLEAN; 1180 if ("code".equals(codeString)) 1181 return CODE; 1182 if ("date".equals(codeString)) 1183 return DATE; 1184 if ("dateTime".equals(codeString)) 1185 return DATETIME; 1186 if ("decimal".equals(codeString)) 1187 return DECIMAL; 1188 if ("id".equals(codeString)) 1189 return ID; 1190 if ("instant".equals(codeString)) 1191 return INSTANT; 1192 if ("integer".equals(codeString)) 1193 return INTEGER; 1194 if ("markdown".equals(codeString)) 1195 return MARKDOWN; 1196 if ("oid".equals(codeString)) 1197 return OID; 1198 if ("positiveInt".equals(codeString)) 1199 return POSITIVEINT; 1200 if ("string".equals(codeString)) 1201 return STRING; 1202 if ("time".equals(codeString)) 1203 return TIME; 1204 if ("unsignedInt".equals(codeString)) 1205 return UNSIGNEDINT; 1206 if ("uri".equals(codeString)) 1207 return URI; 1208 if ("uuid".equals(codeString)) 1209 return UUID; 1210 if ("xhtml".equals(codeString)) 1211 return XHTML; 1212 throw new FHIRException("Unknown DataType code '"+codeString+"'"); 1213 } 1214 public String toCode() { 1215 switch (this) { 1216 case ADDRESS: return "Address"; 1217 case AGE: return "Age"; 1218 case ANNOTATION: return "Annotation"; 1219 case ATTACHMENT: return "Attachment"; 1220 case BACKBONEELEMENT: return "BackboneElement"; 1221 case CODEABLECONCEPT: return "CodeableConcept"; 1222 case CODING: return "Coding"; 1223 case CONTACTPOINT: return "ContactPoint"; 1224 case COUNT: return "Count"; 1225 case DISTANCE: return "Distance"; 1226 case DURATION: return "Duration"; 1227 case ELEMENT: return "Element"; 1228 case ELEMENTDEFINITION: return "ElementDefinition"; 1229 case EXTENSION: return "Extension"; 1230 case HUMANNAME: return "HumanName"; 1231 case IDENTIFIER: return "Identifier"; 1232 case META: return "Meta"; 1233 case MONEY: return "Money"; 1234 case NARRATIVE: return "Narrative"; 1235 case PERIOD: return "Period"; 1236 case QUANTITY: return "Quantity"; 1237 case RANGE: return "Range"; 1238 case RATIO: return "Ratio"; 1239 case REFERENCE: return "Reference"; 1240 case SAMPLEDDATA: return "SampledData"; 1241 case SIGNATURE: return "Signature"; 1242 case SIMPLEQUANTITY: return "SimpleQuantity"; 1243 case TIMING: return "Timing"; 1244 case BASE64BINARY: return "base64Binary"; 1245 case BOOLEAN: return "boolean"; 1246 case CODE: return "code"; 1247 case DATE: return "date"; 1248 case DATETIME: return "dateTime"; 1249 case DECIMAL: return "decimal"; 1250 case ID: return "id"; 1251 case INSTANT: return "instant"; 1252 case INTEGER: return "integer"; 1253 case MARKDOWN: return "markdown"; 1254 case OID: return "oid"; 1255 case POSITIVEINT: return "positiveInt"; 1256 case STRING: return "string"; 1257 case TIME: return "time"; 1258 case UNSIGNEDINT: return "unsignedInt"; 1259 case URI: return "uri"; 1260 case UUID: return "uuid"; 1261 case XHTML: return "xhtml"; 1262 default: return "?"; 1263 } 1264 } 1265 public String getSystem() { 1266 switch (this) { 1267 case ADDRESS: return "http://hl7.org/fhir/data-types"; 1268 case AGE: return "http://hl7.org/fhir/data-types"; 1269 case ANNOTATION: return "http://hl7.org/fhir/data-types"; 1270 case ATTACHMENT: return "http://hl7.org/fhir/data-types"; 1271 case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types"; 1272 case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types"; 1273 case CODING: return "http://hl7.org/fhir/data-types"; 1274 case CONTACTPOINT: return "http://hl7.org/fhir/data-types"; 1275 case COUNT: return "http://hl7.org/fhir/data-types"; 1276 case DISTANCE: return "http://hl7.org/fhir/data-types"; 1277 case DURATION: return "http://hl7.org/fhir/data-types"; 1278 case ELEMENT: return "http://hl7.org/fhir/data-types"; 1279 case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types"; 1280 case EXTENSION: return "http://hl7.org/fhir/data-types"; 1281 case HUMANNAME: return "http://hl7.org/fhir/data-types"; 1282 case IDENTIFIER: return "http://hl7.org/fhir/data-types"; 1283 case META: return "http://hl7.org/fhir/data-types"; 1284 case MONEY: return "http://hl7.org/fhir/data-types"; 1285 case NARRATIVE: return "http://hl7.org/fhir/data-types"; 1286 case PERIOD: return "http://hl7.org/fhir/data-types"; 1287 case QUANTITY: return "http://hl7.org/fhir/data-types"; 1288 case RANGE: return "http://hl7.org/fhir/data-types"; 1289 case RATIO: return "http://hl7.org/fhir/data-types"; 1290 case REFERENCE: return "http://hl7.org/fhir/data-types"; 1291 case SAMPLEDDATA: return "http://hl7.org/fhir/data-types"; 1292 case SIGNATURE: return "http://hl7.org/fhir/data-types"; 1293 case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types"; 1294 case TIMING: return "http://hl7.org/fhir/data-types"; 1295 case BASE64BINARY: return "http://hl7.org/fhir/data-types"; 1296 case BOOLEAN: return "http://hl7.org/fhir/data-types"; 1297 case CODE: return "http://hl7.org/fhir/data-types"; 1298 case DATE: return "http://hl7.org/fhir/data-types"; 1299 case DATETIME: return "http://hl7.org/fhir/data-types"; 1300 case DECIMAL: return "http://hl7.org/fhir/data-types"; 1301 case ID: return "http://hl7.org/fhir/data-types"; 1302 case INSTANT: return "http://hl7.org/fhir/data-types"; 1303 case INTEGER: return "http://hl7.org/fhir/data-types"; 1304 case MARKDOWN: return "http://hl7.org/fhir/data-types"; 1305 case OID: return "http://hl7.org/fhir/data-types"; 1306 case POSITIVEINT: return "http://hl7.org/fhir/data-types"; 1307 case STRING: return "http://hl7.org/fhir/data-types"; 1308 case TIME: return "http://hl7.org/fhir/data-types"; 1309 case UNSIGNEDINT: return "http://hl7.org/fhir/data-types"; 1310 case URI: return "http://hl7.org/fhir/data-types"; 1311 case UUID: return "http://hl7.org/fhir/data-types"; 1312 case XHTML: return "http://hl7.org/fhir/data-types"; 1313 default: return "?"; 1314 } 1315 } 1316 public String getDefinition() { 1317 switch (this) { 1318 case ADDRESS: 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."; 1319 case AGE: return ""; 1320 case ANNOTATION: return "A text note which also contains information about who made the statement and when."; 1321 case ATTACHMENT: return "For referring to data content defined in other formats."; 1322 case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type."; 1323 case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; 1324 case CODING: return "A reference to a code defined by a terminology system."; 1325 case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; 1326 case COUNT: return ""; 1327 case DISTANCE: return ""; 1328 case DURATION: return ""; 1329 case ELEMENT: return "Base definition for all elements in a resource."; 1330 case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension."; 1331 case EXTENSION: return "Optional Extensions Element - found in all resources."; 1332 case HUMANNAME: return "A human's name with the ability to identify parts and usage."; 1333 case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously."; 1334 case META: 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."; 1335 case MONEY: return ""; 1336 case NARRATIVE: return "A human-readable formatted text, including images."; 1337 case PERIOD: return "A time period defined by a start and end date and optionally time."; 1338 case QUANTITY: 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."; 1339 case RANGE: return "A set of ordered Quantities defined by a low and high limit."; 1340 case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator."; 1341 case REFERENCE: return "A reference from one resource to another."; 1342 case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; 1343 case SIGNATURE: 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."; 1344 case SIMPLEQUANTITY: return ""; 1345 case TIMING: 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."; 1346 case BASE64BINARY: return "A stream of bytes"; 1347 case BOOLEAN: return "Value of \"true\" or \"false\""; 1348 case CODE: 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"; 1349 case DATE: 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."; 1350 case DATETIME: 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."; 1351 case DECIMAL: return "A rational number with implicit precision"; 1352 case ID: 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."; 1353 case INSTANT: return "An instant in time - known at least to the second"; 1354 case INTEGER: return "A whole number"; 1355 case MARKDOWN: return "A string that may contain markdown syntax for optional processing by a mark down presentation engine"; 1356 case OID: return "An oid represented as a URI"; 1357 case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)"; 1358 case STRING: return "A sequence of Unicode characters"; 1359 case TIME: return "A time during the day, with no date specified"; 1360 case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)"; 1361 case URI: return "String of characters used to identify a name or a resource"; 1362 case UUID: return "A UUID, represented as a URI"; 1363 case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; 1364 default: return "?"; 1365 } 1366 } 1367 public String getDisplay() { 1368 switch (this) { 1369 case ADDRESS: return "Address"; 1370 case AGE: return "Age"; 1371 case ANNOTATION: return "Annotation"; 1372 case ATTACHMENT: return "Attachment"; 1373 case BACKBONEELEMENT: return "BackboneElement"; 1374 case CODEABLECONCEPT: return "CodeableConcept"; 1375 case CODING: return "Coding"; 1376 case CONTACTPOINT: return "ContactPoint"; 1377 case COUNT: return "Count"; 1378 case DISTANCE: return "Distance"; 1379 case DURATION: return "Duration"; 1380 case ELEMENT: return "Element"; 1381 case ELEMENTDEFINITION: return "ElementDefinition"; 1382 case EXTENSION: return "Extension"; 1383 case HUMANNAME: return "HumanName"; 1384 case IDENTIFIER: return "Identifier"; 1385 case META: return "Meta"; 1386 case MONEY: return "Money"; 1387 case NARRATIVE: return "Narrative"; 1388 case PERIOD: return "Period"; 1389 case QUANTITY: return "Quantity"; 1390 case RANGE: return "Range"; 1391 case RATIO: return "Ratio"; 1392 case REFERENCE: return "Reference"; 1393 case SAMPLEDDATA: return "SampledData"; 1394 case SIGNATURE: return "Signature"; 1395 case SIMPLEQUANTITY: return "SimpleQuantity"; 1396 case TIMING: return "Timing"; 1397 case BASE64BINARY: return "base64Binary"; 1398 case BOOLEAN: return "boolean"; 1399 case CODE: return "code"; 1400 case DATE: return "date"; 1401 case DATETIME: return "dateTime"; 1402 case DECIMAL: return "decimal"; 1403 case ID: return "id"; 1404 case INSTANT: return "instant"; 1405 case INTEGER: return "integer"; 1406 case MARKDOWN: return "markdown"; 1407 case OID: return "oid"; 1408 case POSITIVEINT: return "positiveInt"; 1409 case STRING: return "string"; 1410 case TIME: return "time"; 1411 case UNSIGNEDINT: return "unsignedInt"; 1412 case URI: return "uri"; 1413 case UUID: return "uuid"; 1414 case XHTML: return "XHTML"; 1415 default: return "?"; 1416 } 1417 } 1418 } 1419 1420 public static class DataTypeEnumFactory implements EnumFactory<DataType> { 1421 public DataType fromCode(String codeString) throws IllegalArgumentException { 1422 if (codeString == null || "".equals(codeString)) 1423 if (codeString == null || "".equals(codeString)) 1424 return null; 1425 if ("Address".equals(codeString)) 1426 return DataType.ADDRESS; 1427 if ("Age".equals(codeString)) 1428 return DataType.AGE; 1429 if ("Annotation".equals(codeString)) 1430 return DataType.ANNOTATION; 1431 if ("Attachment".equals(codeString)) 1432 return DataType.ATTACHMENT; 1433 if ("BackboneElement".equals(codeString)) 1434 return DataType.BACKBONEELEMENT; 1435 if ("CodeableConcept".equals(codeString)) 1436 return DataType.CODEABLECONCEPT; 1437 if ("Coding".equals(codeString)) 1438 return DataType.CODING; 1439 if ("ContactPoint".equals(codeString)) 1440 return DataType.CONTACTPOINT; 1441 if ("Count".equals(codeString)) 1442 return DataType.COUNT; 1443 if ("Distance".equals(codeString)) 1444 return DataType.DISTANCE; 1445 if ("Duration".equals(codeString)) 1446 return DataType.DURATION; 1447 if ("Element".equals(codeString)) 1448 return DataType.ELEMENT; 1449 if ("ElementDefinition".equals(codeString)) 1450 return DataType.ELEMENTDEFINITION; 1451 if ("Extension".equals(codeString)) 1452 return DataType.EXTENSION; 1453 if ("HumanName".equals(codeString)) 1454 return DataType.HUMANNAME; 1455 if ("Identifier".equals(codeString)) 1456 return DataType.IDENTIFIER; 1457 if ("Meta".equals(codeString)) 1458 return DataType.META; 1459 if ("Money".equals(codeString)) 1460 return DataType.MONEY; 1461 if ("Narrative".equals(codeString)) 1462 return DataType.NARRATIVE; 1463 if ("Period".equals(codeString)) 1464 return DataType.PERIOD; 1465 if ("Quantity".equals(codeString)) 1466 return DataType.QUANTITY; 1467 if ("Range".equals(codeString)) 1468 return DataType.RANGE; 1469 if ("Ratio".equals(codeString)) 1470 return DataType.RATIO; 1471 if ("Reference".equals(codeString)) 1472 return DataType.REFERENCE; 1473 if ("SampledData".equals(codeString)) 1474 return DataType.SAMPLEDDATA; 1475 if ("Signature".equals(codeString)) 1476 return DataType.SIGNATURE; 1477 if ("SimpleQuantity".equals(codeString)) 1478 return DataType.SIMPLEQUANTITY; 1479 if ("Timing".equals(codeString)) 1480 return DataType.TIMING; 1481 if ("base64Binary".equals(codeString)) 1482 return DataType.BASE64BINARY; 1483 if ("boolean".equals(codeString)) 1484 return DataType.BOOLEAN; 1485 if ("code".equals(codeString)) 1486 return DataType.CODE; 1487 if ("date".equals(codeString)) 1488 return DataType.DATE; 1489 if ("dateTime".equals(codeString)) 1490 return DataType.DATETIME; 1491 if ("decimal".equals(codeString)) 1492 return DataType.DECIMAL; 1493 if ("id".equals(codeString)) 1494 return DataType.ID; 1495 if ("instant".equals(codeString)) 1496 return DataType.INSTANT; 1497 if ("integer".equals(codeString)) 1498 return DataType.INTEGER; 1499 if ("markdown".equals(codeString)) 1500 return DataType.MARKDOWN; 1501 if ("oid".equals(codeString)) 1502 return DataType.OID; 1503 if ("positiveInt".equals(codeString)) 1504 return DataType.POSITIVEINT; 1505 if ("string".equals(codeString)) 1506 return DataType.STRING; 1507 if ("time".equals(codeString)) 1508 return DataType.TIME; 1509 if ("unsignedInt".equals(codeString)) 1510 return DataType.UNSIGNEDINT; 1511 if ("uri".equals(codeString)) 1512 return DataType.URI; 1513 if ("uuid".equals(codeString)) 1514 return DataType.UUID; 1515 if ("xhtml".equals(codeString)) 1516 return DataType.XHTML; 1517 throw new IllegalArgumentException("Unknown DataType code '"+codeString+"'"); 1518 } 1519 public Enumeration<DataType> fromType(Base code) throws FHIRException { 1520 if (code == null || code.isEmpty()) 1521 return null; 1522 String codeString = ((PrimitiveType) code).asStringValue(); 1523 if (codeString == null || "".equals(codeString)) 1524 return null; 1525 if ("Address".equals(codeString)) 1526 return new Enumeration<DataType>(this, DataType.ADDRESS); 1527 if ("Age".equals(codeString)) 1528 return new Enumeration<DataType>(this, DataType.AGE); 1529 if ("Annotation".equals(codeString)) 1530 return new Enumeration<DataType>(this, DataType.ANNOTATION); 1531 if ("Attachment".equals(codeString)) 1532 return new Enumeration<DataType>(this, DataType.ATTACHMENT); 1533 if ("BackboneElement".equals(codeString)) 1534 return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT); 1535 if ("CodeableConcept".equals(codeString)) 1536 return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT); 1537 if ("Coding".equals(codeString)) 1538 return new Enumeration<DataType>(this, DataType.CODING); 1539 if ("ContactPoint".equals(codeString)) 1540 return new Enumeration<DataType>(this, DataType.CONTACTPOINT); 1541 if ("Count".equals(codeString)) 1542 return new Enumeration<DataType>(this, DataType.COUNT); 1543 if ("Distance".equals(codeString)) 1544 return new Enumeration<DataType>(this, DataType.DISTANCE); 1545 if ("Duration".equals(codeString)) 1546 return new Enumeration<DataType>(this, DataType.DURATION); 1547 if ("Element".equals(codeString)) 1548 return new Enumeration<DataType>(this, DataType.ELEMENT); 1549 if ("ElementDefinition".equals(codeString)) 1550 return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION); 1551 if ("Extension".equals(codeString)) 1552 return new Enumeration<DataType>(this, DataType.EXTENSION); 1553 if ("HumanName".equals(codeString)) 1554 return new Enumeration<DataType>(this, DataType.HUMANNAME); 1555 if ("Identifier".equals(codeString)) 1556 return new Enumeration<DataType>(this, DataType.IDENTIFIER); 1557 if ("Meta".equals(codeString)) 1558 return new Enumeration<DataType>(this, DataType.META); 1559 if ("Money".equals(codeString)) 1560 return new Enumeration<DataType>(this, DataType.MONEY); 1561 if ("Narrative".equals(codeString)) 1562 return new Enumeration<DataType>(this, DataType.NARRATIVE); 1563 if ("Period".equals(codeString)) 1564 return new Enumeration<DataType>(this, DataType.PERIOD); 1565 if ("Quantity".equals(codeString)) 1566 return new Enumeration<DataType>(this, DataType.QUANTITY); 1567 if ("Range".equals(codeString)) 1568 return new Enumeration<DataType>(this, DataType.RANGE); 1569 if ("Ratio".equals(codeString)) 1570 return new Enumeration<DataType>(this, DataType.RATIO); 1571 if ("Reference".equals(codeString)) 1572 return new Enumeration<DataType>(this, DataType.REFERENCE); 1573 if ("SampledData".equals(codeString)) 1574 return new Enumeration<DataType>(this, DataType.SAMPLEDDATA); 1575 if ("Signature".equals(codeString)) 1576 return new Enumeration<DataType>(this, DataType.SIGNATURE); 1577 if ("SimpleQuantity".equals(codeString)) 1578 return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY); 1579 if ("Timing".equals(codeString)) 1580 return new Enumeration<DataType>(this, DataType.TIMING); 1581 if ("base64Binary".equals(codeString)) 1582 return new Enumeration<DataType>(this, DataType.BASE64BINARY); 1583 if ("boolean".equals(codeString)) 1584 return new Enumeration<DataType>(this, DataType.BOOLEAN); 1585 if ("code".equals(codeString)) 1586 return new Enumeration<DataType>(this, DataType.CODE); 1587 if ("date".equals(codeString)) 1588 return new Enumeration<DataType>(this, DataType.DATE); 1589 if ("dateTime".equals(codeString)) 1590 return new Enumeration<DataType>(this, DataType.DATETIME); 1591 if ("decimal".equals(codeString)) 1592 return new Enumeration<DataType>(this, DataType.DECIMAL); 1593 if ("id".equals(codeString)) 1594 return new Enumeration<DataType>(this, DataType.ID); 1595 if ("instant".equals(codeString)) 1596 return new Enumeration<DataType>(this, DataType.INSTANT); 1597 if ("integer".equals(codeString)) 1598 return new Enumeration<DataType>(this, DataType.INTEGER); 1599 if ("markdown".equals(codeString)) 1600 return new Enumeration<DataType>(this, DataType.MARKDOWN); 1601 if ("oid".equals(codeString)) 1602 return new Enumeration<DataType>(this, DataType.OID); 1603 if ("positiveInt".equals(codeString)) 1604 return new Enumeration<DataType>(this, DataType.POSITIVEINT); 1605 if ("string".equals(codeString)) 1606 return new Enumeration<DataType>(this, DataType.STRING); 1607 if ("time".equals(codeString)) 1608 return new Enumeration<DataType>(this, DataType.TIME); 1609 if ("unsignedInt".equals(codeString)) 1610 return new Enumeration<DataType>(this, DataType.UNSIGNEDINT); 1611 if ("uri".equals(codeString)) 1612 return new Enumeration<DataType>(this, DataType.URI); 1613 if ("uuid".equals(codeString)) 1614 return new Enumeration<DataType>(this, DataType.UUID); 1615 if ("xhtml".equals(codeString)) 1616 return new Enumeration<DataType>(this, DataType.XHTML); 1617 throw new FHIRException("Unknown DataType code '"+codeString+"'"); 1618 } 1619 public String toCode(DataType code) { 1620 if (code == DataType.ADDRESS) 1621 return "Address"; 1622 if (code == DataType.AGE) 1623 return "Age"; 1624 if (code == DataType.ANNOTATION) 1625 return "Annotation"; 1626 if (code == DataType.ATTACHMENT) 1627 return "Attachment"; 1628 if (code == DataType.BACKBONEELEMENT) 1629 return "BackboneElement"; 1630 if (code == DataType.CODEABLECONCEPT) 1631 return "CodeableConcept"; 1632 if (code == DataType.CODING) 1633 return "Coding"; 1634 if (code == DataType.CONTACTPOINT) 1635 return "ContactPoint"; 1636 if (code == DataType.COUNT) 1637 return "Count"; 1638 if (code == DataType.DISTANCE) 1639 return "Distance"; 1640 if (code == DataType.DURATION) 1641 return "Duration"; 1642 if (code == DataType.ELEMENT) 1643 return "Element"; 1644 if (code == DataType.ELEMENTDEFINITION) 1645 return "ElementDefinition"; 1646 if (code == DataType.EXTENSION) 1647 return "Extension"; 1648 if (code == DataType.HUMANNAME) 1649 return "HumanName"; 1650 if (code == DataType.IDENTIFIER) 1651 return "Identifier"; 1652 if (code == DataType.META) 1653 return "Meta"; 1654 if (code == DataType.MONEY) 1655 return "Money"; 1656 if (code == DataType.NARRATIVE) 1657 return "Narrative"; 1658 if (code == DataType.PERIOD) 1659 return "Period"; 1660 if (code == DataType.QUANTITY) 1661 return "Quantity"; 1662 if (code == DataType.RANGE) 1663 return "Range"; 1664 if (code == DataType.RATIO) 1665 return "Ratio"; 1666 if (code == DataType.REFERENCE) 1667 return "Reference"; 1668 if (code == DataType.SAMPLEDDATA) 1669 return "SampledData"; 1670 if (code == DataType.SIGNATURE) 1671 return "Signature"; 1672 if (code == DataType.SIMPLEQUANTITY) 1673 return "SimpleQuantity"; 1674 if (code == DataType.TIMING) 1675 return "Timing"; 1676 if (code == DataType.BASE64BINARY) 1677 return "base64Binary"; 1678 if (code == DataType.BOOLEAN) 1679 return "boolean"; 1680 if (code == DataType.CODE) 1681 return "code"; 1682 if (code == DataType.DATE) 1683 return "date"; 1684 if (code == DataType.DATETIME) 1685 return "dateTime"; 1686 if (code == DataType.DECIMAL) 1687 return "decimal"; 1688 if (code == DataType.ID) 1689 return "id"; 1690 if (code == DataType.INSTANT) 1691 return "instant"; 1692 if (code == DataType.INTEGER) 1693 return "integer"; 1694 if (code == DataType.MARKDOWN) 1695 return "markdown"; 1696 if (code == DataType.OID) 1697 return "oid"; 1698 if (code == DataType.POSITIVEINT) 1699 return "positiveInt"; 1700 if (code == DataType.STRING) 1701 return "string"; 1702 if (code == DataType.TIME) 1703 return "time"; 1704 if (code == DataType.UNSIGNEDINT) 1705 return "unsignedInt"; 1706 if (code == DataType.URI) 1707 return "uri"; 1708 if (code == DataType.UUID) 1709 return "uuid"; 1710 if (code == DataType.XHTML) 1711 return "xhtml"; 1712 return "?"; 1713 } 1714 } 1715 1716 public enum DocumentReferenceStatus { 1717 /** 1718 * This is the current reference for this document. 1719 */ 1720 CURRENT, 1721 /** 1722 * This reference has been superseded by another reference. 1723 */ 1724 SUPERSEDED, 1725 /** 1726 * This reference was created in error. 1727 */ 1728 ENTEREDINERROR, 1729 /** 1730 * added to help the parsers 1731 */ 1732 NULL; 1733 public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException { 1734 if (codeString == null || "".equals(codeString)) 1735 return null; 1736 if ("current".equals(codeString)) 1737 return CURRENT; 1738 if ("superseded".equals(codeString)) 1739 return SUPERSEDED; 1740 if ("entered-in-error".equals(codeString)) 1741 return ENTEREDINERROR; 1742 throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'"); 1743 } 1744 public String toCode() { 1745 switch (this) { 1746 case CURRENT: return "current"; 1747 case SUPERSEDED: return "superseded"; 1748 case ENTEREDINERROR: return "entered-in-error"; 1749 default: return "?"; 1750 } 1751 } 1752 public String getSystem() { 1753 switch (this) { 1754 case CURRENT: return "http://hl7.org/fhir/document-reference-status"; 1755 case SUPERSEDED: return "http://hl7.org/fhir/document-reference-status"; 1756 case ENTEREDINERROR: return "http://hl7.org/fhir/document-reference-status"; 1757 default: return "?"; 1758 } 1759 } 1760 public String getDefinition() { 1761 switch (this) { 1762 case CURRENT: return "This is the current reference for this document."; 1763 case SUPERSEDED: return "This reference has been superseded by another reference."; 1764 case ENTEREDINERROR: return "This reference was created in error."; 1765 default: return "?"; 1766 } 1767 } 1768 public String getDisplay() { 1769 switch (this) { 1770 case CURRENT: return "Current"; 1771 case SUPERSEDED: return "Superseded"; 1772 case ENTEREDINERROR: return "Entered in Error"; 1773 default: return "?"; 1774 } 1775 } 1776 } 1777 1778 public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> { 1779 public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException { 1780 if (codeString == null || "".equals(codeString)) 1781 if (codeString == null || "".equals(codeString)) 1782 return null; 1783 if ("current".equals(codeString)) 1784 return DocumentReferenceStatus.CURRENT; 1785 if ("superseded".equals(codeString)) 1786 return DocumentReferenceStatus.SUPERSEDED; 1787 if ("entered-in-error".equals(codeString)) 1788 return DocumentReferenceStatus.ENTEREDINERROR; 1789 throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '"+codeString+"'"); 1790 } 1791 public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException { 1792 if (code == null || code.isEmpty()) 1793 return null; 1794 String codeString = ((PrimitiveType) code).asStringValue(); 1795 if (codeString == null || "".equals(codeString)) 1796 return null; 1797 if ("current".equals(codeString)) 1798 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT); 1799 if ("superseded".equals(codeString)) 1800 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED); 1801 if ("entered-in-error".equals(codeString)) 1802 return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR); 1803 throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'"); 1804 } 1805 public String toCode(DocumentReferenceStatus code) { 1806 if (code == DocumentReferenceStatus.CURRENT) 1807 return "current"; 1808 if (code == DocumentReferenceStatus.SUPERSEDED) 1809 return "superseded"; 1810 if (code == DocumentReferenceStatus.ENTEREDINERROR) 1811 return "entered-in-error"; 1812 return "?"; 1813 } 1814 } 1815 1816 public enum FHIRDefinedType { 1817 /** 1818 * 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. 1819 */ 1820 ADDRESS, 1821 /** 1822 * null 1823 */ 1824 AGE, 1825 /** 1826 * A text note which also contains information about who made the statement and when. 1827 */ 1828 ANNOTATION, 1829 /** 1830 * For referring to data content defined in other formats. 1831 */ 1832 ATTACHMENT, 1833 /** 1834 * Base definition for all elements that are defined inside a resource - but not those in a data type. 1835 */ 1836 BACKBONEELEMENT, 1837 /** 1838 * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. 1839 */ 1840 CODEABLECONCEPT, 1841 /** 1842 * A reference to a code defined by a terminology system. 1843 */ 1844 CODING, 1845 /** 1846 * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. 1847 */ 1848 CONTACTPOINT, 1849 /** 1850 * null 1851 */ 1852 COUNT, 1853 /** 1854 * null 1855 */ 1856 DISTANCE, 1857 /** 1858 * null 1859 */ 1860 DURATION, 1861 /** 1862 * Base definition for all elements in a resource. 1863 */ 1864 ELEMENT, 1865 /** 1866 * Captures constraints on each element within the resource, profile, or extension. 1867 */ 1868 ELEMENTDEFINITION, 1869 /** 1870 * Optional Extensions Element - found in all resources. 1871 */ 1872 EXTENSION, 1873 /** 1874 * A human's name with the ability to identify parts and usage. 1875 */ 1876 HUMANNAME, 1877 /** 1878 * A technical identifier - identifies some entity uniquely and unambiguously. 1879 */ 1880 IDENTIFIER, 1881 /** 1882 * 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. 1883 */ 1884 META, 1885 /** 1886 * null 1887 */ 1888 MONEY, 1889 /** 1890 * A human-readable formatted text, including images. 1891 */ 1892 NARRATIVE, 1893 /** 1894 * A time period defined by a start and end date and optionally time. 1895 */ 1896 PERIOD, 1897 /** 1898 * 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. 1899 */ 1900 QUANTITY, 1901 /** 1902 * A set of ordered Quantities defined by a low and high limit. 1903 */ 1904 RANGE, 1905 /** 1906 * A relationship of two Quantity values - expressed as a numerator and a denominator. 1907 */ 1908 RATIO, 1909 /** 1910 * A reference from one resource to another. 1911 */ 1912 REFERENCE, 1913 /** 1914 * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. 1915 */ 1916 SAMPLEDDATA, 1917 /** 1918 * 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. 1919 */ 1920 SIGNATURE, 1921 /** 1922 * null 1923 */ 1924 SIMPLEQUANTITY, 1925 /** 1926 * 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. 1927 */ 1928 TIMING, 1929 /** 1930 * A stream of bytes 1931 */ 1932 BASE64BINARY, 1933 /** 1934 * Value of "true" or "false" 1935 */ 1936 BOOLEAN, 1937 /** 1938 * 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 1939 */ 1940 CODE, 1941 /** 1942 * 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. 1943 */ 1944 DATE, 1945 /** 1946 * 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. 1947 */ 1948 DATETIME, 1949 /** 1950 * A rational number with implicit precision 1951 */ 1952 DECIMAL, 1953 /** 1954 * 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. 1955 */ 1956 ID, 1957 /** 1958 * An instant in time - known at least to the second 1959 */ 1960 INSTANT, 1961 /** 1962 * A whole number 1963 */ 1964 INTEGER, 1965 /** 1966 * A string that may contain markdown syntax for optional processing by a mark down presentation engine 1967 */ 1968 MARKDOWN, 1969 /** 1970 * An oid represented as a URI 1971 */ 1972 OID, 1973 /** 1974 * An integer with a value that is positive (e.g. >0) 1975 */ 1976 POSITIVEINT, 1977 /** 1978 * A sequence of Unicode characters 1979 */ 1980 STRING, 1981 /** 1982 * A time during the day, with no date specified 1983 */ 1984 TIME, 1985 /** 1986 * An integer with a value that is not negative (e.g. >= 0) 1987 */ 1988 UNSIGNEDINT, 1989 /** 1990 * String of characters used to identify a name or a resource 1991 */ 1992 URI, 1993 /** 1994 * A UUID, represented as a URI 1995 */ 1996 UUID, 1997 /** 1998 * XHTML format, as defined by W3C, but restricted usage (mainly, no active content) 1999 */ 2000 XHTML, 2001 /** 2002 * 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. 2003 */ 2004 ACCOUNT, 2005 /** 2006 * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. 2007 */ 2008 ALLERGYINTOLERANCE, 2009 /** 2010 * 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). 2011 */ 2012 APPOINTMENT, 2013 /** 2014 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 2015 */ 2016 APPOINTMENTRESPONSE, 2017 /** 2018 * 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. 2019 */ 2020 AUDITEVENT, 2021 /** 2022 * 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. 2023 */ 2024 BASIC, 2025 /** 2026 * A binary resource can contain any content, whether text, image, pdf, zip archive, etc. 2027 */ 2028 BINARY, 2029 /** 2030 * 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. 2031 */ 2032 BODYSITE, 2033 /** 2034 * A container for a collection of resources. 2035 */ 2036 BUNDLE, 2037 /** 2038 * 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. 2039 */ 2040 CAREPLAN, 2041 /** 2042 * 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. 2043 */ 2044 CLAIM, 2045 /** 2046 * This resource provides the adjudication details from the processing of a Claim resource. 2047 */ 2048 CLAIMRESPONSE, 2049 /** 2050 * 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. 2051 */ 2052 CLINICALIMPRESSION, 2053 /** 2054 * 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. 2055 */ 2056 COMMUNICATION, 2057 /** 2058 * 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. 2059 */ 2060 COMMUNICATIONREQUEST, 2061 /** 2062 * 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. 2063 */ 2064 COMPOSITION, 2065 /** 2066 * 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. 2067 */ 2068 CONCEPTMAP, 2069 /** 2070 * 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. 2071 */ 2072 CONDITION, 2073 /** 2074 * 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. 2075 */ 2076 CONFORMANCE, 2077 /** 2078 * A formal agreement between parties regarding the conduct of business, exchange of information or other matters. 2079 */ 2080 CONTRACT, 2081 /** 2082 * Financial instrument which may be used to pay for or reimburse health care products and services. 2083 */ 2084 COVERAGE, 2085 /** 2086 * The formal description of a single piece of information that can be gathered and reported. 2087 */ 2088 DATAELEMENT, 2089 /** 2090 * 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. 2091 */ 2092 DETECTEDISSUE, 2093 /** 2094 * 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. 2095 */ 2096 DEVICE, 2097 /** 2098 * Describes the characteristics, operational status and capabilities of a medical-related component of a medical device. 2099 */ 2100 DEVICECOMPONENT, 2101 /** 2102 * Describes a measurement, calculation or setting capability of a medical device. 2103 */ 2104 DEVICEMETRIC, 2105 /** 2106 * 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. 2107 */ 2108 DEVICEUSEREQUEST, 2109 /** 2110 * 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. 2111 */ 2112 DEVICEUSESTATEMENT, 2113 /** 2114 * A record of a request for a diagnostic investigation service to be performed. 2115 */ 2116 DIAGNOSTICORDER, 2117 /** 2118 * 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. 2119 */ 2120 DIAGNOSTICREPORT, 2121 /** 2122 * A manifest that defines a set of documents. 2123 */ 2124 DOCUMENTMANIFEST, 2125 /** 2126 * A reference to a document . 2127 */ 2128 DOCUMENTREFERENCE, 2129 /** 2130 * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. 2131 */ 2132 DOMAINRESOURCE, 2133 /** 2134 * This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service. 2135 */ 2136 ELIGIBILITYREQUEST, 2137 /** 2138 * This resource provides eligibility and plan details from the processing of an Eligibility resource. 2139 */ 2140 ELIGIBILITYRESPONSE, 2141 /** 2142 * 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. 2143 */ 2144 ENCOUNTER, 2145 /** 2146 * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. 2147 */ 2148 ENROLLMENTREQUEST, 2149 /** 2150 * This resource provides enrollment and plan details from the processing of an Enrollment resource. 2151 */ 2152 ENROLLMENTRESPONSE, 2153 /** 2154 * 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. 2155 */ 2156 EPISODEOFCARE, 2157 /** 2158 * 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. 2159 */ 2160 EXPLANATIONOFBENEFIT, 2161 /** 2162 * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. 2163 */ 2164 FAMILYMEMBERHISTORY, 2165 /** 2166 * Prospective warnings of potential issues when providing care to the patient. 2167 */ 2168 FLAG, 2169 /** 2170 * 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. 2171 */ 2172 GOAL, 2173 /** 2174 * 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. 2175 */ 2176 GROUP, 2177 /** 2178 * The details of a healthcare service available at a location. 2179 */ 2180 HEALTHCARESERVICE, 2181 /** 2182 * 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. 2183 */ 2184 IMAGINGOBJECTSELECTION, 2185 /** 2186 * 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. 2187 */ 2188 IMAGINGSTUDY, 2189 /** 2190 * 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. 2191 */ 2192 IMMUNIZATION, 2193 /** 2194 * 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. 2195 */ 2196 IMMUNIZATIONRECOMMENDATION, 2197 /** 2198 * 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. 2199 */ 2200 IMPLEMENTATIONGUIDE, 2201 /** 2202 * A set of information summarized from a list of other resources. 2203 */ 2204 LIST, 2205 /** 2206 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated. 2207 */ 2208 LOCATION, 2209 /** 2210 * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference. 2211 */ 2212 MEDIA, 2213 /** 2214 * This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication. 2215 */ 2216 MEDICATION, 2217 /** 2218 * 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. 2219 */ 2220 MEDICATIONADMINISTRATION, 2221 /** 2222 * 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. 2223 */ 2224 MEDICATIONDISPENSE, 2225 /** 2226 * 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. 2227 */ 2228 MEDICATIONORDER, 2229 /** 2230 * 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 2231 2232The 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. 2233 */ 2234 MEDICATIONSTATEMENT, 2235 /** 2236 * 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. 2237 */ 2238 MESSAGEHEADER, 2239 /** 2240 * 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. 2241 */ 2242 NAMINGSYSTEM, 2243 /** 2244 * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. 2245 */ 2246 NUTRITIONORDER, 2247 /** 2248 * Measurements and simple assertions made about a patient, device or other subject. 2249 */ 2250 OBSERVATION, 2251 /** 2252 * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). 2253 */ 2254 OPERATIONDEFINITION, 2255 /** 2256 * A collection of error, warning or information messages that result from a system action. 2257 */ 2258 OPERATIONOUTCOME, 2259 /** 2260 * A request to perform an action. 2261 */ 2262 ORDER, 2263 /** 2264 * A response to an order. 2265 */ 2266 ORDERRESPONSE, 2267 /** 2268 * 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. 2269 */ 2270 ORGANIZATION, 2271 /** 2272 * 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. 2273 */ 2274 PARAMETERS, 2275 /** 2276 * Demographics and other administrative information about an individual or animal receiving care or other health-related services. 2277 */ 2278 PATIENT, 2279 /** 2280 * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. 2281 */ 2282 PAYMENTNOTICE, 2283 /** 2284 * This resource provides payment details and claim references supporting a bulk payment. 2285 */ 2286 PAYMENTRECONCILIATION, 2287 /** 2288 * Demographics and administrative information about a person independent of a specific health-related context. 2289 */ 2290 PERSON, 2291 /** 2292 * A person who is directly or indirectly involved in the provisioning of healthcare. 2293 */ 2294 PRACTITIONER, 2295 /** 2296 * 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. 2297 */ 2298 PROCEDURE, 2299 /** 2300 * A request for a procedure to be performed. May be a proposal or an order. 2301 */ 2302 PROCEDUREREQUEST, 2303 /** 2304 * 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. 2305 */ 2306 PROCESSREQUEST, 2307 /** 2308 * This resource provides processing status, errors and notes from the processing of a resource. 2309 */ 2310 PROCESSRESPONSE, 2311 /** 2312 * 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. 2313 */ 2314 PROVENANCE, 2315 /** 2316 * 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. 2317 */ 2318 QUESTIONNAIRE, 2319 /** 2320 * 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. 2321 */ 2322 QUESTIONNAIRERESPONSE, 2323 /** 2324 * 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. 2325 */ 2326 REFERRALREQUEST, 2327 /** 2328 * 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. 2329 */ 2330 RELATEDPERSON, 2331 /** 2332 * --- Abstract Type! ---This is the base resource type for everything. 2333 */ 2334 RESOURCE, 2335 /** 2336 * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. 2337 */ 2338 RISKASSESSMENT, 2339 /** 2340 * A container for slot(s) of time that may be available for booking appointments. 2341 */ 2342 SCHEDULE, 2343 /** 2344 * A search parameter that defines a named search item that can be used to search/filter on a resource. 2345 */ 2346 SEARCHPARAMETER, 2347 /** 2348 * A slot of time on a schedule that may be available for booking appointments. 2349 */ 2350 SLOT, 2351 /** 2352 * A sample to be used for analysis. 2353 */ 2354 SPECIMEN, 2355 /** 2356 * 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. 2357 */ 2358 STRUCTUREDEFINITION, 2359 /** 2360 * 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. 2361 */ 2362 SUBSCRIPTION, 2363 /** 2364 * A homogeneous material with a definite composition. 2365 */ 2366 SUBSTANCE, 2367 /** 2368 * Record of delivery of what is supplied. 2369 */ 2370 SUPPLYDELIVERY, 2371 /** 2372 * A record of a request for a medication, substance or device used in the healthcare setting. 2373 */ 2374 SUPPLYREQUEST, 2375 /** 2376 * TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification. 2377 */ 2378 TESTSCRIPT, 2379 /** 2380 * A value set specifies a set of codes drawn from one or more code systems. 2381 */ 2382 VALUESET, 2383 /** 2384 * An authorization for the supply of glasses and/or contact lenses to a patient. 2385 */ 2386 VISIONPRESCRIPTION, 2387 /** 2388 * added to help the parsers 2389 */ 2390 NULL; 2391 public static FHIRDefinedType fromCode(String codeString) throws FHIRException { 2392 if (codeString == null || "".equals(codeString)) 2393 return null; 2394 if ("Address".equals(codeString)) 2395 return ADDRESS; 2396 if ("Age".equals(codeString)) 2397 return AGE; 2398 if ("Annotation".equals(codeString)) 2399 return ANNOTATION; 2400 if ("Attachment".equals(codeString)) 2401 return ATTACHMENT; 2402 if ("BackboneElement".equals(codeString)) 2403 return BACKBONEELEMENT; 2404 if ("CodeableConcept".equals(codeString)) 2405 return CODEABLECONCEPT; 2406 if ("Coding".equals(codeString)) 2407 return CODING; 2408 if ("ContactPoint".equals(codeString)) 2409 return CONTACTPOINT; 2410 if ("Count".equals(codeString)) 2411 return COUNT; 2412 if ("Distance".equals(codeString)) 2413 return DISTANCE; 2414 if ("Duration".equals(codeString)) 2415 return DURATION; 2416 if ("Element".equals(codeString)) 2417 return ELEMENT; 2418 if ("ElementDefinition".equals(codeString)) 2419 return ELEMENTDEFINITION; 2420 if ("Extension".equals(codeString)) 2421 return EXTENSION; 2422 if ("HumanName".equals(codeString)) 2423 return HUMANNAME; 2424 if ("Identifier".equals(codeString)) 2425 return IDENTIFIER; 2426 if ("Meta".equals(codeString)) 2427 return META; 2428 if ("Money".equals(codeString)) 2429 return MONEY; 2430 if ("Narrative".equals(codeString)) 2431 return NARRATIVE; 2432 if ("Period".equals(codeString)) 2433 return PERIOD; 2434 if ("Quantity".equals(codeString)) 2435 return QUANTITY; 2436 if ("Range".equals(codeString)) 2437 return RANGE; 2438 if ("Ratio".equals(codeString)) 2439 return RATIO; 2440 if ("Reference".equals(codeString)) 2441 return REFERENCE; 2442 if ("SampledData".equals(codeString)) 2443 return SAMPLEDDATA; 2444 if ("Signature".equals(codeString)) 2445 return SIGNATURE; 2446 if ("SimpleQuantity".equals(codeString)) 2447 return SIMPLEQUANTITY; 2448 if ("Timing".equals(codeString)) 2449 return TIMING; 2450 if ("base64Binary".equals(codeString)) 2451 return BASE64BINARY; 2452 if ("boolean".equals(codeString)) 2453 return BOOLEAN; 2454 if ("code".equals(codeString)) 2455 return CODE; 2456 if ("date".equals(codeString)) 2457 return DATE; 2458 if ("dateTime".equals(codeString)) 2459 return DATETIME; 2460 if ("decimal".equals(codeString)) 2461 return DECIMAL; 2462 if ("id".equals(codeString)) 2463 return ID; 2464 if ("instant".equals(codeString)) 2465 return INSTANT; 2466 if ("integer".equals(codeString)) 2467 return INTEGER; 2468 if ("markdown".equals(codeString)) 2469 return MARKDOWN; 2470 if ("oid".equals(codeString)) 2471 return OID; 2472 if ("positiveInt".equals(codeString)) 2473 return POSITIVEINT; 2474 if ("string".equals(codeString)) 2475 return STRING; 2476 if ("time".equals(codeString)) 2477 return TIME; 2478 if ("unsignedInt".equals(codeString)) 2479 return UNSIGNEDINT; 2480 if ("uri".equals(codeString)) 2481 return URI; 2482 if ("uuid".equals(codeString)) 2483 return UUID; 2484 if ("xhtml".equals(codeString)) 2485 return XHTML; 2486 if ("Account".equals(codeString)) 2487 return ACCOUNT; 2488 if ("AllergyIntolerance".equals(codeString)) 2489 return ALLERGYINTOLERANCE; 2490 if ("Appointment".equals(codeString)) 2491 return APPOINTMENT; 2492 if ("AppointmentResponse".equals(codeString)) 2493 return APPOINTMENTRESPONSE; 2494 if ("AuditEvent".equals(codeString)) 2495 return AUDITEVENT; 2496 if ("Basic".equals(codeString)) 2497 return BASIC; 2498 if ("Binary".equals(codeString)) 2499 return BINARY; 2500 if ("BodySite".equals(codeString)) 2501 return BODYSITE; 2502 if ("Bundle".equals(codeString)) 2503 return BUNDLE; 2504 if ("CarePlan".equals(codeString)) 2505 return CAREPLAN; 2506 if ("Claim".equals(codeString)) 2507 return CLAIM; 2508 if ("ClaimResponse".equals(codeString)) 2509 return CLAIMRESPONSE; 2510 if ("ClinicalImpression".equals(codeString)) 2511 return CLINICALIMPRESSION; 2512 if ("Communication".equals(codeString)) 2513 return COMMUNICATION; 2514 if ("CommunicationRequest".equals(codeString)) 2515 return COMMUNICATIONREQUEST; 2516 if ("Composition".equals(codeString)) 2517 return COMPOSITION; 2518 if ("ConceptMap".equals(codeString)) 2519 return CONCEPTMAP; 2520 if ("Condition".equals(codeString)) 2521 return CONDITION; 2522 if ("Conformance".equals(codeString)) 2523 return CONFORMANCE; 2524 if ("Contract".equals(codeString)) 2525 return CONTRACT; 2526 if ("Coverage".equals(codeString)) 2527 return COVERAGE; 2528 if ("DataElement".equals(codeString)) 2529 return DATAELEMENT; 2530 if ("DetectedIssue".equals(codeString)) 2531 return DETECTEDISSUE; 2532 if ("Device".equals(codeString)) 2533 return DEVICE; 2534 if ("DeviceComponent".equals(codeString)) 2535 return DEVICECOMPONENT; 2536 if ("DeviceMetric".equals(codeString)) 2537 return DEVICEMETRIC; 2538 if ("DeviceUseRequest".equals(codeString)) 2539 return DEVICEUSEREQUEST; 2540 if ("DeviceUseStatement".equals(codeString)) 2541 return DEVICEUSESTATEMENT; 2542 if ("DiagnosticOrder".equals(codeString)) 2543 return DIAGNOSTICORDER; 2544 if ("DiagnosticReport".equals(codeString)) 2545 return DIAGNOSTICREPORT; 2546 if ("DocumentManifest".equals(codeString)) 2547 return DOCUMENTMANIFEST; 2548 if ("DocumentReference".equals(codeString)) 2549 return DOCUMENTREFERENCE; 2550 if ("DomainResource".equals(codeString)) 2551 return DOMAINRESOURCE; 2552 if ("EligibilityRequest".equals(codeString)) 2553 return ELIGIBILITYREQUEST; 2554 if ("EligibilityResponse".equals(codeString)) 2555 return ELIGIBILITYRESPONSE; 2556 if ("Encounter".equals(codeString)) 2557 return ENCOUNTER; 2558 if ("EnrollmentRequest".equals(codeString)) 2559 return ENROLLMENTREQUEST; 2560 if ("EnrollmentResponse".equals(codeString)) 2561 return ENROLLMENTRESPONSE; 2562 if ("EpisodeOfCare".equals(codeString)) 2563 return EPISODEOFCARE; 2564 if ("ExplanationOfBenefit".equals(codeString)) 2565 return EXPLANATIONOFBENEFIT; 2566 if ("FamilyMemberHistory".equals(codeString)) 2567 return FAMILYMEMBERHISTORY; 2568 if ("Flag".equals(codeString)) 2569 return FLAG; 2570 if ("Goal".equals(codeString)) 2571 return GOAL; 2572 if ("Group".equals(codeString)) 2573 return GROUP; 2574 if ("HealthcareService".equals(codeString)) 2575 return HEALTHCARESERVICE; 2576 if ("ImagingObjectSelection".equals(codeString)) 2577 return IMAGINGOBJECTSELECTION; 2578 if ("ImagingStudy".equals(codeString)) 2579 return IMAGINGSTUDY; 2580 if ("Immunization".equals(codeString)) 2581 return IMMUNIZATION; 2582 if ("ImmunizationRecommendation".equals(codeString)) 2583 return IMMUNIZATIONRECOMMENDATION; 2584 if ("ImplementationGuide".equals(codeString)) 2585 return IMPLEMENTATIONGUIDE; 2586 if ("List".equals(codeString)) 2587 return LIST; 2588 if ("Location".equals(codeString)) 2589 return LOCATION; 2590 if ("Media".equals(codeString)) 2591 return MEDIA; 2592 if ("Medication".equals(codeString)) 2593 return MEDICATION; 2594 if ("MedicationAdministration".equals(codeString)) 2595 return MEDICATIONADMINISTRATION; 2596 if ("MedicationDispense".equals(codeString)) 2597 return MEDICATIONDISPENSE; 2598 if ("MedicationOrder".equals(codeString)) 2599 return MEDICATIONORDER; 2600 if ("MedicationStatement".equals(codeString)) 2601 return MEDICATIONSTATEMENT; 2602 if ("MessageHeader".equals(codeString)) 2603 return MESSAGEHEADER; 2604 if ("NamingSystem".equals(codeString)) 2605 return NAMINGSYSTEM; 2606 if ("NutritionOrder".equals(codeString)) 2607 return NUTRITIONORDER; 2608 if ("Observation".equals(codeString)) 2609 return OBSERVATION; 2610 if ("OperationDefinition".equals(codeString)) 2611 return OPERATIONDEFINITION; 2612 if ("OperationOutcome".equals(codeString)) 2613 return OPERATIONOUTCOME; 2614 if ("Order".equals(codeString)) 2615 return ORDER; 2616 if ("OrderResponse".equals(codeString)) 2617 return ORDERRESPONSE; 2618 if ("Organization".equals(codeString)) 2619 return ORGANIZATION; 2620 if ("Parameters".equals(codeString)) 2621 return PARAMETERS; 2622 if ("Patient".equals(codeString)) 2623 return PATIENT; 2624 if ("PaymentNotice".equals(codeString)) 2625 return PAYMENTNOTICE; 2626 if ("PaymentReconciliation".equals(codeString)) 2627 return PAYMENTRECONCILIATION; 2628 if ("Person".equals(codeString)) 2629 return PERSON; 2630 if ("Practitioner".equals(codeString)) 2631 return PRACTITIONER; 2632 if ("Procedure".equals(codeString)) 2633 return PROCEDURE; 2634 if ("ProcedureRequest".equals(codeString)) 2635 return PROCEDUREREQUEST; 2636 if ("ProcessRequest".equals(codeString)) 2637 return PROCESSREQUEST; 2638 if ("ProcessResponse".equals(codeString)) 2639 return PROCESSRESPONSE; 2640 if ("Provenance".equals(codeString)) 2641 return PROVENANCE; 2642 if ("Questionnaire".equals(codeString)) 2643 return QUESTIONNAIRE; 2644 if ("QuestionnaireResponse".equals(codeString)) 2645 return QUESTIONNAIRERESPONSE; 2646 if ("ReferralRequest".equals(codeString)) 2647 return REFERRALREQUEST; 2648 if ("RelatedPerson".equals(codeString)) 2649 return RELATEDPERSON; 2650 if ("Resource".equals(codeString)) 2651 return RESOURCE; 2652 if ("RiskAssessment".equals(codeString)) 2653 return RISKASSESSMENT; 2654 if ("Schedule".equals(codeString)) 2655 return SCHEDULE; 2656 if ("SearchParameter".equals(codeString)) 2657 return SEARCHPARAMETER; 2658 if ("Slot".equals(codeString)) 2659 return SLOT; 2660 if ("Specimen".equals(codeString)) 2661 return SPECIMEN; 2662 if ("StructureDefinition".equals(codeString)) 2663 return STRUCTUREDEFINITION; 2664 if ("Subscription".equals(codeString)) 2665 return SUBSCRIPTION; 2666 if ("Substance".equals(codeString)) 2667 return SUBSTANCE; 2668 if ("SupplyDelivery".equals(codeString)) 2669 return SUPPLYDELIVERY; 2670 if ("SupplyRequest".equals(codeString)) 2671 return SUPPLYREQUEST; 2672 if ("TestScript".equals(codeString)) 2673 return TESTSCRIPT; 2674 if ("ValueSet".equals(codeString)) 2675 return VALUESET; 2676 if ("VisionPrescription".equals(codeString)) 2677 return VISIONPRESCRIPTION; 2678 throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); 2679 } 2680 public String toCode() { 2681 switch (this) { 2682 case ADDRESS: return "Address"; 2683 case AGE: return "Age"; 2684 case ANNOTATION: return "Annotation"; 2685 case ATTACHMENT: return "Attachment"; 2686 case BACKBONEELEMENT: return "BackboneElement"; 2687 case CODEABLECONCEPT: return "CodeableConcept"; 2688 case CODING: return "Coding"; 2689 case CONTACTPOINT: return "ContactPoint"; 2690 case COUNT: return "Count"; 2691 case DISTANCE: return "Distance"; 2692 case DURATION: return "Duration"; 2693 case ELEMENT: return "Element"; 2694 case ELEMENTDEFINITION: return "ElementDefinition"; 2695 case EXTENSION: return "Extension"; 2696 case HUMANNAME: return "HumanName"; 2697 case IDENTIFIER: return "Identifier"; 2698 case META: return "Meta"; 2699 case MONEY: return "Money"; 2700 case NARRATIVE: return "Narrative"; 2701 case PERIOD: return "Period"; 2702 case QUANTITY: return "Quantity"; 2703 case RANGE: return "Range"; 2704 case RATIO: return "Ratio"; 2705 case REFERENCE: return "Reference"; 2706 case SAMPLEDDATA: return "SampledData"; 2707 case SIGNATURE: return "Signature"; 2708 case SIMPLEQUANTITY: return "SimpleQuantity"; 2709 case TIMING: return "Timing"; 2710 case BASE64BINARY: return "base64Binary"; 2711 case BOOLEAN: return "boolean"; 2712 case CODE: return "code"; 2713 case DATE: return "date"; 2714 case DATETIME: return "dateTime"; 2715 case DECIMAL: return "decimal"; 2716 case ID: return "id"; 2717 case INSTANT: return "instant"; 2718 case INTEGER: return "integer"; 2719 case MARKDOWN: return "markdown"; 2720 case OID: return "oid"; 2721 case POSITIVEINT: return "positiveInt"; 2722 case STRING: return "string"; 2723 case TIME: return "time"; 2724 case UNSIGNEDINT: return "unsignedInt"; 2725 case URI: return "uri"; 2726 case UUID: return "uuid"; 2727 case XHTML: return "xhtml"; 2728 case ACCOUNT: return "Account"; 2729 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 2730 case APPOINTMENT: return "Appointment"; 2731 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 2732 case AUDITEVENT: return "AuditEvent"; 2733 case BASIC: return "Basic"; 2734 case BINARY: return "Binary"; 2735 case BODYSITE: return "BodySite"; 2736 case BUNDLE: return "Bundle"; 2737 case CAREPLAN: return "CarePlan"; 2738 case CLAIM: return "Claim"; 2739 case CLAIMRESPONSE: return "ClaimResponse"; 2740 case CLINICALIMPRESSION: return "ClinicalImpression"; 2741 case COMMUNICATION: return "Communication"; 2742 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 2743 case COMPOSITION: return "Composition"; 2744 case CONCEPTMAP: return "ConceptMap"; 2745 case CONDITION: return "Condition"; 2746 case CONFORMANCE: return "Conformance"; 2747 case CONTRACT: return "Contract"; 2748 case COVERAGE: return "Coverage"; 2749 case DATAELEMENT: return "DataElement"; 2750 case DETECTEDISSUE: return "DetectedIssue"; 2751 case DEVICE: return "Device"; 2752 case DEVICECOMPONENT: return "DeviceComponent"; 2753 case DEVICEMETRIC: return "DeviceMetric"; 2754 case DEVICEUSEREQUEST: return "DeviceUseRequest"; 2755 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 2756 case DIAGNOSTICORDER: return "DiagnosticOrder"; 2757 case DIAGNOSTICREPORT: return "DiagnosticReport"; 2758 case DOCUMENTMANIFEST: return "DocumentManifest"; 2759 case DOCUMENTREFERENCE: return "DocumentReference"; 2760 case DOMAINRESOURCE: return "DomainResource"; 2761 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 2762 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 2763 case ENCOUNTER: return "Encounter"; 2764 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 2765 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 2766 case EPISODEOFCARE: return "EpisodeOfCare"; 2767 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 2768 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 2769 case FLAG: return "Flag"; 2770 case GOAL: return "Goal"; 2771 case GROUP: return "Group"; 2772 case HEALTHCARESERVICE: return "HealthcareService"; 2773 case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection"; 2774 case IMAGINGSTUDY: return "ImagingStudy"; 2775 case IMMUNIZATION: return "Immunization"; 2776 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 2777 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 2778 case LIST: return "List"; 2779 case LOCATION: return "Location"; 2780 case MEDIA: return "Media"; 2781 case MEDICATION: return "Medication"; 2782 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 2783 case MEDICATIONDISPENSE: return "MedicationDispense"; 2784 case MEDICATIONORDER: return "MedicationOrder"; 2785 case MEDICATIONSTATEMENT: return "MedicationStatement"; 2786 case MESSAGEHEADER: return "MessageHeader"; 2787 case NAMINGSYSTEM: return "NamingSystem"; 2788 case NUTRITIONORDER: return "NutritionOrder"; 2789 case OBSERVATION: return "Observation"; 2790 case OPERATIONDEFINITION: return "OperationDefinition"; 2791 case OPERATIONOUTCOME: return "OperationOutcome"; 2792 case ORDER: return "Order"; 2793 case ORDERRESPONSE: return "OrderResponse"; 2794 case ORGANIZATION: return "Organization"; 2795 case PARAMETERS: return "Parameters"; 2796 case PATIENT: return "Patient"; 2797 case PAYMENTNOTICE: return "PaymentNotice"; 2798 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 2799 case PERSON: return "Person"; 2800 case PRACTITIONER: return "Practitioner"; 2801 case PROCEDURE: return "Procedure"; 2802 case PROCEDUREREQUEST: return "ProcedureRequest"; 2803 case PROCESSREQUEST: return "ProcessRequest"; 2804 case PROCESSRESPONSE: return "ProcessResponse"; 2805 case PROVENANCE: return "Provenance"; 2806 case QUESTIONNAIRE: return "Questionnaire"; 2807 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 2808 case REFERRALREQUEST: return "ReferralRequest"; 2809 case RELATEDPERSON: return "RelatedPerson"; 2810 case RESOURCE: return "Resource"; 2811 case RISKASSESSMENT: return "RiskAssessment"; 2812 case SCHEDULE: return "Schedule"; 2813 case SEARCHPARAMETER: return "SearchParameter"; 2814 case SLOT: return "Slot"; 2815 case SPECIMEN: return "Specimen"; 2816 case STRUCTUREDEFINITION: return "StructureDefinition"; 2817 case SUBSCRIPTION: return "Subscription"; 2818 case SUBSTANCE: return "Substance"; 2819 case SUPPLYDELIVERY: return "SupplyDelivery"; 2820 case SUPPLYREQUEST: return "SupplyRequest"; 2821 case TESTSCRIPT: return "TestScript"; 2822 case VALUESET: return "ValueSet"; 2823 case VISIONPRESCRIPTION: return "VisionPrescription"; 2824 default: return "?"; 2825 } 2826 } 2827 public String getSystem() { 2828 switch (this) { 2829 case ADDRESS: return "http://hl7.org/fhir/data-types"; 2830 case AGE: return "http://hl7.org/fhir/data-types"; 2831 case ANNOTATION: return "http://hl7.org/fhir/data-types"; 2832 case ATTACHMENT: return "http://hl7.org/fhir/data-types"; 2833 case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types"; 2834 case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types"; 2835 case CODING: return "http://hl7.org/fhir/data-types"; 2836 case CONTACTPOINT: return "http://hl7.org/fhir/data-types"; 2837 case COUNT: return "http://hl7.org/fhir/data-types"; 2838 case DISTANCE: return "http://hl7.org/fhir/data-types"; 2839 case DURATION: return "http://hl7.org/fhir/data-types"; 2840 case ELEMENT: return "http://hl7.org/fhir/data-types"; 2841 case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types"; 2842 case EXTENSION: return "http://hl7.org/fhir/data-types"; 2843 case HUMANNAME: return "http://hl7.org/fhir/data-types"; 2844 case IDENTIFIER: return "http://hl7.org/fhir/data-types"; 2845 case META: return "http://hl7.org/fhir/data-types"; 2846 case MONEY: return "http://hl7.org/fhir/data-types"; 2847 case NARRATIVE: return "http://hl7.org/fhir/data-types"; 2848 case PERIOD: return "http://hl7.org/fhir/data-types"; 2849 case QUANTITY: return "http://hl7.org/fhir/data-types"; 2850 case RANGE: return "http://hl7.org/fhir/data-types"; 2851 case RATIO: return "http://hl7.org/fhir/data-types"; 2852 case REFERENCE: return "http://hl7.org/fhir/data-types"; 2853 case SAMPLEDDATA: return "http://hl7.org/fhir/data-types"; 2854 case SIGNATURE: return "http://hl7.org/fhir/data-types"; 2855 case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types"; 2856 case TIMING: return "http://hl7.org/fhir/data-types"; 2857 case BASE64BINARY: return "http://hl7.org/fhir/data-types"; 2858 case BOOLEAN: return "http://hl7.org/fhir/data-types"; 2859 case CODE: return "http://hl7.org/fhir/data-types"; 2860 case DATE: return "http://hl7.org/fhir/data-types"; 2861 case DATETIME: return "http://hl7.org/fhir/data-types"; 2862 case DECIMAL: return "http://hl7.org/fhir/data-types"; 2863 case ID: return "http://hl7.org/fhir/data-types"; 2864 case INSTANT: return "http://hl7.org/fhir/data-types"; 2865 case INTEGER: return "http://hl7.org/fhir/data-types"; 2866 case MARKDOWN: return "http://hl7.org/fhir/data-types"; 2867 case OID: return "http://hl7.org/fhir/data-types"; 2868 case POSITIVEINT: return "http://hl7.org/fhir/data-types"; 2869 case STRING: return "http://hl7.org/fhir/data-types"; 2870 case TIME: return "http://hl7.org/fhir/data-types"; 2871 case UNSIGNEDINT: return "http://hl7.org/fhir/data-types"; 2872 case URI: return "http://hl7.org/fhir/data-types"; 2873 case UUID: return "http://hl7.org/fhir/data-types"; 2874 case XHTML: return "http://hl7.org/fhir/data-types"; 2875 case ACCOUNT: return "http://hl7.org/fhir/resource-types"; 2876 case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; 2877 case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; 2878 case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 2879 case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; 2880 case BASIC: return "http://hl7.org/fhir/resource-types"; 2881 case BINARY: return "http://hl7.org/fhir/resource-types"; 2882 case BODYSITE: return "http://hl7.org/fhir/resource-types"; 2883 case BUNDLE: return "http://hl7.org/fhir/resource-types"; 2884 case CAREPLAN: return "http://hl7.org/fhir/resource-types"; 2885 case CLAIM: return "http://hl7.org/fhir/resource-types"; 2886 case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; 2887 case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; 2888 case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; 2889 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 2890 case COMPOSITION: return "http://hl7.org/fhir/resource-types"; 2891 case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; 2892 case CONDITION: return "http://hl7.org/fhir/resource-types"; 2893 case CONFORMANCE: return "http://hl7.org/fhir/resource-types"; 2894 case CONTRACT: return "http://hl7.org/fhir/resource-types"; 2895 case COVERAGE: return "http://hl7.org/fhir/resource-types"; 2896 case DATAELEMENT: return "http://hl7.org/fhir/resource-types"; 2897 case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; 2898 case DEVICE: return "http://hl7.org/fhir/resource-types"; 2899 case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types"; 2900 case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; 2901 case DEVICEUSEREQUEST: return "http://hl7.org/fhir/resource-types"; 2902 case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types"; 2903 case DIAGNOSTICORDER: return "http://hl7.org/fhir/resource-types"; 2904 case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; 2905 case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; 2906 case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; 2907 case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; 2908 case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; 2909 case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; 2910 case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; 2911 case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; 2912 case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 2913 case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; 2914 case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; 2915 case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; 2916 case FLAG: return "http://hl7.org/fhir/resource-types"; 2917 case GOAL: return "http://hl7.org/fhir/resource-types"; 2918 case GROUP: return "http://hl7.org/fhir/resource-types"; 2919 case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; 2920 case IMAGINGOBJECTSELECTION: return "http://hl7.org/fhir/resource-types"; 2921 case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; 2922 case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; 2923 case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; 2924 case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; 2925 case LIST: return "http://hl7.org/fhir/resource-types"; 2926 case LOCATION: return "http://hl7.org/fhir/resource-types"; 2927 case MEDIA: return "http://hl7.org/fhir/resource-types"; 2928 case MEDICATION: return "http://hl7.org/fhir/resource-types"; 2929 case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; 2930 case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; 2931 case MEDICATIONORDER: return "http://hl7.org/fhir/resource-types"; 2932 case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types"; 2933 case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; 2934 case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; 2935 case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; 2936 case OBSERVATION: return "http://hl7.org/fhir/resource-types"; 2937 case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 2938 case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; 2939 case ORDER: return "http://hl7.org/fhir/resource-types"; 2940 case ORDERRESPONSE: return "http://hl7.org/fhir/resource-types"; 2941 case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; 2942 case PARAMETERS: return "http://hl7.org/fhir/resource-types"; 2943 case PATIENT: return "http://hl7.org/fhir/resource-types"; 2944 case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; 2945 case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; 2946 case PERSON: return "http://hl7.org/fhir/resource-types"; 2947 case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; 2948 case PROCEDURE: return "http://hl7.org/fhir/resource-types"; 2949 case PROCEDUREREQUEST: return "http://hl7.org/fhir/resource-types"; 2950 case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types"; 2951 case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types"; 2952 case PROVENANCE: return "http://hl7.org/fhir/resource-types"; 2953 case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; 2954 case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; 2955 case REFERRALREQUEST: return "http://hl7.org/fhir/resource-types"; 2956 case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; 2957 case RESOURCE: return "http://hl7.org/fhir/resource-types"; 2958 case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; 2959 case SCHEDULE: return "http://hl7.org/fhir/resource-types"; 2960 case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; 2961 case SLOT: return "http://hl7.org/fhir/resource-types"; 2962 case SPECIMEN: return "http://hl7.org/fhir/resource-types"; 2963 case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; 2964 case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; 2965 case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; 2966 case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; 2967 case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; 2968 case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; 2969 case VALUESET: return "http://hl7.org/fhir/resource-types"; 2970 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; 2971 default: return "?"; 2972 } 2973 } 2974 public String getDefinition() { 2975 switch (this) { 2976 case ADDRESS: 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."; 2977 case AGE: return ""; 2978 case ANNOTATION: return "A text note which also contains information about who made the statement and when."; 2979 case ATTACHMENT: return "For referring to data content defined in other formats."; 2980 case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type."; 2981 case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; 2982 case CODING: return "A reference to a code defined by a terminology system."; 2983 case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; 2984 case COUNT: return ""; 2985 case DISTANCE: return ""; 2986 case DURATION: return ""; 2987 case ELEMENT: return "Base definition for all elements in a resource."; 2988 case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension."; 2989 case EXTENSION: return "Optional Extensions Element - found in all resources."; 2990 case HUMANNAME: return "A human's name with the ability to identify parts and usage."; 2991 case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously."; 2992 case META: 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."; 2993 case MONEY: return ""; 2994 case NARRATIVE: return "A human-readable formatted text, including images."; 2995 case PERIOD: return "A time period defined by a start and end date and optionally time."; 2996 case QUANTITY: 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."; 2997 case RANGE: return "A set of ordered Quantities defined by a low and high limit."; 2998 case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator."; 2999 case REFERENCE: return "A reference from one resource to another."; 3000 case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; 3001 case SIGNATURE: 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."; 3002 case SIMPLEQUANTITY: return ""; 3003 case TIMING: 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."; 3004 case BASE64BINARY: return "A stream of bytes"; 3005 case BOOLEAN: return "Value of \"true\" or \"false\""; 3006 case CODE: 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"; 3007 case DATE: 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."; 3008 case DATETIME: 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."; 3009 case DECIMAL: return "A rational number with implicit precision"; 3010 case ID: 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."; 3011 case INSTANT: return "An instant in time - known at least to the second"; 3012 case INTEGER: return "A whole number"; 3013 case MARKDOWN: return "A string that may contain markdown syntax for optional processing by a mark down presentation engine"; 3014 case OID: return "An oid represented as a URI"; 3015 case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)"; 3016 case STRING: return "A sequence of Unicode characters"; 3017 case TIME: return "A time during the day, with no date specified"; 3018 case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)"; 3019 case URI: return "String of characters used to identify a name or a resource"; 3020 case UUID: return "A UUID, represented as a URI"; 3021 case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; 3022 case ACCOUNT: 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."; 3023 case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 3024 case APPOINTMENT: 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)."; 3025 case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 3026 case AUDITEVENT: 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."; 3027 case BASIC: 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."; 3028 case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 3029 case BODYSITE: 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."; 3030 case BUNDLE: return "A container for a collection of resources."; 3031 case CAREPLAN: 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."; 3032 case CLAIM: 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."; 3033 case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; 3034 case CLINICALIMPRESSION: 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."; 3035 case COMMUNICATION: 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."; 3036 case COMMUNICATIONREQUEST: 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."; 3037 case COMPOSITION: 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."; 3038 case CONCEPTMAP: 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."; 3039 case CONDITION: 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."; 3040 case CONFORMANCE: 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."; 3041 case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters."; 3042 case COVERAGE: return "Financial instrument which may be used to pay for or reimburse health care products and services."; 3043 case DATAELEMENT: return "The formal description of a single piece of information that can be gathered and reported."; 3044 case DETECTEDISSUE: 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."; 3045 case DEVICE: 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."; 3046 case DEVICECOMPONENT: return "Describes the characteristics, operational status and capabilities of a medical-related component of a medical device."; 3047 case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; 3048 case DEVICEUSEREQUEST: 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."; 3049 case DEVICEUSESTATEMENT: 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."; 3050 case DIAGNOSTICORDER: return "A record of a request for a diagnostic investigation service to be performed."; 3051 case DIAGNOSTICREPORT: 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."; 3052 case DOCUMENTMANIFEST: return "A manifest that defines a set of documents."; 3053 case DOCUMENTREFERENCE: return "A reference to a document ."; 3054 case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; 3055 case ELIGIBILITYREQUEST: return "This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service."; 3056 case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource."; 3057 case ENCOUNTER: 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."; 3058 case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 3059 case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource."; 3060 case EPISODEOFCARE: 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."; 3061 case EXPLANATIONOFBENEFIT: 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."; 3062 case FAMILYMEMBERHISTORY: return "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient."; 3063 case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; 3064 case GOAL: 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."; 3065 case GROUP: 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."; 3066 case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; 3067 case IMAGINGOBJECTSELECTION: 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."; 3068 case IMAGINGSTUDY: 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."; 3069 case IMMUNIZATION: 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."; 3070 case IMMUNIZATIONRECOMMENDATION: 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."; 3071 case IMPLEMENTATIONGUIDE: 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."; 3072 case LIST: return "A set of information summarized from a list of other resources."; 3073 case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated."; 3074 case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference."; 3075 case MEDICATION: return "This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication."; 3076 case MEDICATIONADMINISTRATION: 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."; 3077 case MEDICATIONDISPENSE: 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."; 3078 case MEDICATIONORDER: 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."; 3079 case MEDICATIONSTATEMENT: 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."; 3080 case MESSAGEHEADER: 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."; 3081 case NAMINGSYSTEM: 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."; 3082 case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 3083 case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; 3084 case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 3085 case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action."; 3086 case ORDER: return "A request to perform an action."; 3087 case ORDERRESPONSE: return "A response to an order."; 3088 case ORGANIZATION: 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."; 3089 case PARAMETERS: 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."; 3090 case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 3091 case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 3092 case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment."; 3093 case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; 3094 case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; 3095 case PROCEDURE: 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."; 3096 case PROCEDUREREQUEST: return "A request for a procedure to be performed. May be a proposal or an order."; 3097 case PROCESSREQUEST: 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."; 3098 case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource."; 3099 case PROVENANCE: 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."; 3100 case QUESTIONNAIRE: 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."; 3101 case QUESTIONNAIRERESPONSE: 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."; 3102 case REFERRALREQUEST: 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."; 3103 case RELATEDPERSON: 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."; 3104 case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; 3105 case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 3106 case SCHEDULE: return "A container for slot(s) of time that may be available for booking appointments."; 3107 case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 3108 case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; 3109 case SPECIMEN: return "A sample to be used for analysis."; 3110 case STRUCTUREDEFINITION: 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."; 3111 case SUBSCRIPTION: 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."; 3112 case SUBSTANCE: return "A homogeneous material with a definite composition."; 3113 case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; 3114 case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting."; 3115 case TESTSCRIPT: return "TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification."; 3116 case VALUESET: return "A value set specifies a set of codes drawn from one or more code systems."; 3117 case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient."; 3118 default: return "?"; 3119 } 3120 } 3121 public String getDisplay() { 3122 switch (this) { 3123 case ADDRESS: return "Address"; 3124 case AGE: return "Age"; 3125 case ANNOTATION: return "Annotation"; 3126 case ATTACHMENT: return "Attachment"; 3127 case BACKBONEELEMENT: return "BackboneElement"; 3128 case CODEABLECONCEPT: return "CodeableConcept"; 3129 case CODING: return "Coding"; 3130 case CONTACTPOINT: return "ContactPoint"; 3131 case COUNT: return "Count"; 3132 case DISTANCE: return "Distance"; 3133 case DURATION: return "Duration"; 3134 case ELEMENT: return "Element"; 3135 case ELEMENTDEFINITION: return "ElementDefinition"; 3136 case EXTENSION: return "Extension"; 3137 case HUMANNAME: return "HumanName"; 3138 case IDENTIFIER: return "Identifier"; 3139 case META: return "Meta"; 3140 case MONEY: return "Money"; 3141 case NARRATIVE: return "Narrative"; 3142 case PERIOD: return "Period"; 3143 case QUANTITY: return "Quantity"; 3144 case RANGE: return "Range"; 3145 case RATIO: return "Ratio"; 3146 case REFERENCE: return "Reference"; 3147 case SAMPLEDDATA: return "SampledData"; 3148 case SIGNATURE: return "Signature"; 3149 case SIMPLEQUANTITY: return "SimpleQuantity"; 3150 case TIMING: return "Timing"; 3151 case BASE64BINARY: return "base64Binary"; 3152 case BOOLEAN: return "boolean"; 3153 case CODE: return "code"; 3154 case DATE: return "date"; 3155 case DATETIME: return "dateTime"; 3156 case DECIMAL: return "decimal"; 3157 case ID: return "id"; 3158 case INSTANT: return "instant"; 3159 case INTEGER: return "integer"; 3160 case MARKDOWN: return "markdown"; 3161 case OID: return "oid"; 3162 case POSITIVEINT: return "positiveInt"; 3163 case STRING: return "string"; 3164 case TIME: return "time"; 3165 case UNSIGNEDINT: return "unsignedInt"; 3166 case URI: return "uri"; 3167 case UUID: return "uuid"; 3168 case XHTML: return "XHTML"; 3169 case ACCOUNT: return "Account"; 3170 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 3171 case APPOINTMENT: return "Appointment"; 3172 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 3173 case AUDITEVENT: return "AuditEvent"; 3174 case BASIC: return "Basic"; 3175 case BINARY: return "Binary"; 3176 case BODYSITE: return "BodySite"; 3177 case BUNDLE: return "Bundle"; 3178 case CAREPLAN: return "CarePlan"; 3179 case CLAIM: return "Claim"; 3180 case CLAIMRESPONSE: return "ClaimResponse"; 3181 case CLINICALIMPRESSION: return "ClinicalImpression"; 3182 case COMMUNICATION: return "Communication"; 3183 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 3184 case COMPOSITION: return "Composition"; 3185 case CONCEPTMAP: return "ConceptMap"; 3186 case CONDITION: return "Condition"; 3187 case CONFORMANCE: return "Conformance"; 3188 case CONTRACT: return "Contract"; 3189 case COVERAGE: return "Coverage"; 3190 case DATAELEMENT: return "DataElement"; 3191 case DETECTEDISSUE: return "DetectedIssue"; 3192 case DEVICE: return "Device"; 3193 case DEVICECOMPONENT: return "DeviceComponent"; 3194 case DEVICEMETRIC: return "DeviceMetric"; 3195 case DEVICEUSEREQUEST: return "DeviceUseRequest"; 3196 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 3197 case DIAGNOSTICORDER: return "DiagnosticOrder"; 3198 case DIAGNOSTICREPORT: return "DiagnosticReport"; 3199 case DOCUMENTMANIFEST: return "DocumentManifest"; 3200 case DOCUMENTREFERENCE: return "DocumentReference"; 3201 case DOMAINRESOURCE: return "DomainResource"; 3202 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 3203 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 3204 case ENCOUNTER: return "Encounter"; 3205 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 3206 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 3207 case EPISODEOFCARE: return "EpisodeOfCare"; 3208 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 3209 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 3210 case FLAG: return "Flag"; 3211 case GOAL: return "Goal"; 3212 case GROUP: return "Group"; 3213 case HEALTHCARESERVICE: return "HealthcareService"; 3214 case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection"; 3215 case IMAGINGSTUDY: return "ImagingStudy"; 3216 case IMMUNIZATION: return "Immunization"; 3217 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 3218 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 3219 case LIST: return "List"; 3220 case LOCATION: return "Location"; 3221 case MEDIA: return "Media"; 3222 case MEDICATION: return "Medication"; 3223 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 3224 case MEDICATIONDISPENSE: return "MedicationDispense"; 3225 case MEDICATIONORDER: return "MedicationOrder"; 3226 case MEDICATIONSTATEMENT: return "MedicationStatement"; 3227 case MESSAGEHEADER: return "MessageHeader"; 3228 case NAMINGSYSTEM: return "NamingSystem"; 3229 case NUTRITIONORDER: return "NutritionOrder"; 3230 case OBSERVATION: return "Observation"; 3231 case OPERATIONDEFINITION: return "OperationDefinition"; 3232 case OPERATIONOUTCOME: return "OperationOutcome"; 3233 case ORDER: return "Order"; 3234 case ORDERRESPONSE: return "OrderResponse"; 3235 case ORGANIZATION: return "Organization"; 3236 case PARAMETERS: return "Parameters"; 3237 case PATIENT: return "Patient"; 3238 case PAYMENTNOTICE: return "PaymentNotice"; 3239 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 3240 case PERSON: return "Person"; 3241 case PRACTITIONER: return "Practitioner"; 3242 case PROCEDURE: return "Procedure"; 3243 case PROCEDUREREQUEST: return "ProcedureRequest"; 3244 case PROCESSREQUEST: return "ProcessRequest"; 3245 case PROCESSRESPONSE: return "ProcessResponse"; 3246 case PROVENANCE: return "Provenance"; 3247 case QUESTIONNAIRE: return "Questionnaire"; 3248 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 3249 case REFERRALREQUEST: return "ReferralRequest"; 3250 case RELATEDPERSON: return "RelatedPerson"; 3251 case RESOURCE: return "Resource"; 3252 case RISKASSESSMENT: return "RiskAssessment"; 3253 case SCHEDULE: return "Schedule"; 3254 case SEARCHPARAMETER: return "SearchParameter"; 3255 case SLOT: return "Slot"; 3256 case SPECIMEN: return "Specimen"; 3257 case STRUCTUREDEFINITION: return "StructureDefinition"; 3258 case SUBSCRIPTION: return "Subscription"; 3259 case SUBSTANCE: return "Substance"; 3260 case SUPPLYDELIVERY: return "SupplyDelivery"; 3261 case SUPPLYREQUEST: return "SupplyRequest"; 3262 case TESTSCRIPT: return "TestScript"; 3263 case VALUESET: return "ValueSet"; 3264 case VISIONPRESCRIPTION: return "VisionPrescription"; 3265 default: return "?"; 3266 } 3267 } 3268 } 3269 3270 public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> { 3271 public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException { 3272 if (codeString == null || "".equals(codeString)) 3273 if (codeString == null || "".equals(codeString)) 3274 return null; 3275 if ("Address".equals(codeString)) 3276 return FHIRDefinedType.ADDRESS; 3277 if ("Age".equals(codeString)) 3278 return FHIRDefinedType.AGE; 3279 if ("Annotation".equals(codeString)) 3280 return FHIRDefinedType.ANNOTATION; 3281 if ("Attachment".equals(codeString)) 3282 return FHIRDefinedType.ATTACHMENT; 3283 if ("BackboneElement".equals(codeString)) 3284 return FHIRDefinedType.BACKBONEELEMENT; 3285 if ("CodeableConcept".equals(codeString)) 3286 return FHIRDefinedType.CODEABLECONCEPT; 3287 if ("Coding".equals(codeString)) 3288 return FHIRDefinedType.CODING; 3289 if ("ContactPoint".equals(codeString)) 3290 return FHIRDefinedType.CONTACTPOINT; 3291 if ("Count".equals(codeString)) 3292 return FHIRDefinedType.COUNT; 3293 if ("Distance".equals(codeString)) 3294 return FHIRDefinedType.DISTANCE; 3295 if ("Duration".equals(codeString)) 3296 return FHIRDefinedType.DURATION; 3297 if ("Element".equals(codeString)) 3298 return FHIRDefinedType.ELEMENT; 3299 if ("ElementDefinition".equals(codeString)) 3300 return FHIRDefinedType.ELEMENTDEFINITION; 3301 if ("Extension".equals(codeString)) 3302 return FHIRDefinedType.EXTENSION; 3303 if ("HumanName".equals(codeString)) 3304 return FHIRDefinedType.HUMANNAME; 3305 if ("Identifier".equals(codeString)) 3306 return FHIRDefinedType.IDENTIFIER; 3307 if ("Meta".equals(codeString)) 3308 return FHIRDefinedType.META; 3309 if ("Money".equals(codeString)) 3310 return FHIRDefinedType.MONEY; 3311 if ("Narrative".equals(codeString)) 3312 return FHIRDefinedType.NARRATIVE; 3313 if ("Period".equals(codeString)) 3314 return FHIRDefinedType.PERIOD; 3315 if ("Quantity".equals(codeString)) 3316 return FHIRDefinedType.QUANTITY; 3317 if ("Range".equals(codeString)) 3318 return FHIRDefinedType.RANGE; 3319 if ("Ratio".equals(codeString)) 3320 return FHIRDefinedType.RATIO; 3321 if ("Reference".equals(codeString)) 3322 return FHIRDefinedType.REFERENCE; 3323 if ("SampledData".equals(codeString)) 3324 return FHIRDefinedType.SAMPLEDDATA; 3325 if ("Signature".equals(codeString)) 3326 return FHIRDefinedType.SIGNATURE; 3327 if ("SimpleQuantity".equals(codeString)) 3328 return FHIRDefinedType.SIMPLEQUANTITY; 3329 if ("Timing".equals(codeString)) 3330 return FHIRDefinedType.TIMING; 3331 if ("base64Binary".equals(codeString)) 3332 return FHIRDefinedType.BASE64BINARY; 3333 if ("boolean".equals(codeString)) 3334 return FHIRDefinedType.BOOLEAN; 3335 if ("code".equals(codeString)) 3336 return FHIRDefinedType.CODE; 3337 if ("date".equals(codeString)) 3338 return FHIRDefinedType.DATE; 3339 if ("dateTime".equals(codeString)) 3340 return FHIRDefinedType.DATETIME; 3341 if ("decimal".equals(codeString)) 3342 return FHIRDefinedType.DECIMAL; 3343 if ("id".equals(codeString)) 3344 return FHIRDefinedType.ID; 3345 if ("instant".equals(codeString)) 3346 return FHIRDefinedType.INSTANT; 3347 if ("integer".equals(codeString)) 3348 return FHIRDefinedType.INTEGER; 3349 if ("markdown".equals(codeString)) 3350 return FHIRDefinedType.MARKDOWN; 3351 if ("oid".equals(codeString)) 3352 return FHIRDefinedType.OID; 3353 if ("positiveInt".equals(codeString)) 3354 return FHIRDefinedType.POSITIVEINT; 3355 if ("string".equals(codeString)) 3356 return FHIRDefinedType.STRING; 3357 if ("time".equals(codeString)) 3358 return FHIRDefinedType.TIME; 3359 if ("unsignedInt".equals(codeString)) 3360 return FHIRDefinedType.UNSIGNEDINT; 3361 if ("uri".equals(codeString)) 3362 return FHIRDefinedType.URI; 3363 if ("uuid".equals(codeString)) 3364 return FHIRDefinedType.UUID; 3365 if ("xhtml".equals(codeString)) 3366 return FHIRDefinedType.XHTML; 3367 if ("Account".equals(codeString)) 3368 return FHIRDefinedType.ACCOUNT; 3369 if ("AllergyIntolerance".equals(codeString)) 3370 return FHIRDefinedType.ALLERGYINTOLERANCE; 3371 if ("Appointment".equals(codeString)) 3372 return FHIRDefinedType.APPOINTMENT; 3373 if ("AppointmentResponse".equals(codeString)) 3374 return FHIRDefinedType.APPOINTMENTRESPONSE; 3375 if ("AuditEvent".equals(codeString)) 3376 return FHIRDefinedType.AUDITEVENT; 3377 if ("Basic".equals(codeString)) 3378 return FHIRDefinedType.BASIC; 3379 if ("Binary".equals(codeString)) 3380 return FHIRDefinedType.BINARY; 3381 if ("BodySite".equals(codeString)) 3382 return FHIRDefinedType.BODYSITE; 3383 if ("Bundle".equals(codeString)) 3384 return FHIRDefinedType.BUNDLE; 3385 if ("CarePlan".equals(codeString)) 3386 return FHIRDefinedType.CAREPLAN; 3387 if ("Claim".equals(codeString)) 3388 return FHIRDefinedType.CLAIM; 3389 if ("ClaimResponse".equals(codeString)) 3390 return FHIRDefinedType.CLAIMRESPONSE; 3391 if ("ClinicalImpression".equals(codeString)) 3392 return FHIRDefinedType.CLINICALIMPRESSION; 3393 if ("Communication".equals(codeString)) 3394 return FHIRDefinedType.COMMUNICATION; 3395 if ("CommunicationRequest".equals(codeString)) 3396 return FHIRDefinedType.COMMUNICATIONREQUEST; 3397 if ("Composition".equals(codeString)) 3398 return FHIRDefinedType.COMPOSITION; 3399 if ("ConceptMap".equals(codeString)) 3400 return FHIRDefinedType.CONCEPTMAP; 3401 if ("Condition".equals(codeString)) 3402 return FHIRDefinedType.CONDITION; 3403 if ("Conformance".equals(codeString)) 3404 return FHIRDefinedType.CONFORMANCE; 3405 if ("Contract".equals(codeString)) 3406 return FHIRDefinedType.CONTRACT; 3407 if ("Coverage".equals(codeString)) 3408 return FHIRDefinedType.COVERAGE; 3409 if ("DataElement".equals(codeString)) 3410 return FHIRDefinedType.DATAELEMENT; 3411 if ("DetectedIssue".equals(codeString)) 3412 return FHIRDefinedType.DETECTEDISSUE; 3413 if ("Device".equals(codeString)) 3414 return FHIRDefinedType.DEVICE; 3415 if ("DeviceComponent".equals(codeString)) 3416 return FHIRDefinedType.DEVICECOMPONENT; 3417 if ("DeviceMetric".equals(codeString)) 3418 return FHIRDefinedType.DEVICEMETRIC; 3419 if ("DeviceUseRequest".equals(codeString)) 3420 return FHIRDefinedType.DEVICEUSEREQUEST; 3421 if ("DeviceUseStatement".equals(codeString)) 3422 return FHIRDefinedType.DEVICEUSESTATEMENT; 3423 if ("DiagnosticOrder".equals(codeString)) 3424 return FHIRDefinedType.DIAGNOSTICORDER; 3425 if ("DiagnosticReport".equals(codeString)) 3426 return FHIRDefinedType.DIAGNOSTICREPORT; 3427 if ("DocumentManifest".equals(codeString)) 3428 return FHIRDefinedType.DOCUMENTMANIFEST; 3429 if ("DocumentReference".equals(codeString)) 3430 return FHIRDefinedType.DOCUMENTREFERENCE; 3431 if ("DomainResource".equals(codeString)) 3432 return FHIRDefinedType.DOMAINRESOURCE; 3433 if ("EligibilityRequest".equals(codeString)) 3434 return FHIRDefinedType.ELIGIBILITYREQUEST; 3435 if ("EligibilityResponse".equals(codeString)) 3436 return FHIRDefinedType.ELIGIBILITYRESPONSE; 3437 if ("Encounter".equals(codeString)) 3438 return FHIRDefinedType.ENCOUNTER; 3439 if ("EnrollmentRequest".equals(codeString)) 3440 return FHIRDefinedType.ENROLLMENTREQUEST; 3441 if ("EnrollmentResponse".equals(codeString)) 3442 return FHIRDefinedType.ENROLLMENTRESPONSE; 3443 if ("EpisodeOfCare".equals(codeString)) 3444 return FHIRDefinedType.EPISODEOFCARE; 3445 if ("ExplanationOfBenefit".equals(codeString)) 3446 return FHIRDefinedType.EXPLANATIONOFBENEFIT; 3447 if ("FamilyMemberHistory".equals(codeString)) 3448 return FHIRDefinedType.FAMILYMEMBERHISTORY; 3449 if ("Flag".equals(codeString)) 3450 return FHIRDefinedType.FLAG; 3451 if ("Goal".equals(codeString)) 3452 return FHIRDefinedType.GOAL; 3453 if ("Group".equals(codeString)) 3454 return FHIRDefinedType.GROUP; 3455 if ("HealthcareService".equals(codeString)) 3456 return FHIRDefinedType.HEALTHCARESERVICE; 3457 if ("ImagingObjectSelection".equals(codeString)) 3458 return FHIRDefinedType.IMAGINGOBJECTSELECTION; 3459 if ("ImagingStudy".equals(codeString)) 3460 return FHIRDefinedType.IMAGINGSTUDY; 3461 if ("Immunization".equals(codeString)) 3462 return FHIRDefinedType.IMMUNIZATION; 3463 if ("ImmunizationRecommendation".equals(codeString)) 3464 return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION; 3465 if ("ImplementationGuide".equals(codeString)) 3466 return FHIRDefinedType.IMPLEMENTATIONGUIDE; 3467 if ("List".equals(codeString)) 3468 return FHIRDefinedType.LIST; 3469 if ("Location".equals(codeString)) 3470 return FHIRDefinedType.LOCATION; 3471 if ("Media".equals(codeString)) 3472 return FHIRDefinedType.MEDIA; 3473 if ("Medication".equals(codeString)) 3474 return FHIRDefinedType.MEDICATION; 3475 if ("MedicationAdministration".equals(codeString)) 3476 return FHIRDefinedType.MEDICATIONADMINISTRATION; 3477 if ("MedicationDispense".equals(codeString)) 3478 return FHIRDefinedType.MEDICATIONDISPENSE; 3479 if ("MedicationOrder".equals(codeString)) 3480 return FHIRDefinedType.MEDICATIONORDER; 3481 if ("MedicationStatement".equals(codeString)) 3482 return FHIRDefinedType.MEDICATIONSTATEMENT; 3483 if ("MessageHeader".equals(codeString)) 3484 return FHIRDefinedType.MESSAGEHEADER; 3485 if ("NamingSystem".equals(codeString)) 3486 return FHIRDefinedType.NAMINGSYSTEM; 3487 if ("NutritionOrder".equals(codeString)) 3488 return FHIRDefinedType.NUTRITIONORDER; 3489 if ("Observation".equals(codeString)) 3490 return FHIRDefinedType.OBSERVATION; 3491 if ("OperationDefinition".equals(codeString)) 3492 return FHIRDefinedType.OPERATIONDEFINITION; 3493 if ("OperationOutcome".equals(codeString)) 3494 return FHIRDefinedType.OPERATIONOUTCOME; 3495 if ("Order".equals(codeString)) 3496 return FHIRDefinedType.ORDER; 3497 if ("OrderResponse".equals(codeString)) 3498 return FHIRDefinedType.ORDERRESPONSE; 3499 if ("Organization".equals(codeString)) 3500 return FHIRDefinedType.ORGANIZATION; 3501 if ("Parameters".equals(codeString)) 3502 return FHIRDefinedType.PARAMETERS; 3503 if ("Patient".equals(codeString)) 3504 return FHIRDefinedType.PATIENT; 3505 if ("PaymentNotice".equals(codeString)) 3506 return FHIRDefinedType.PAYMENTNOTICE; 3507 if ("PaymentReconciliation".equals(codeString)) 3508 return FHIRDefinedType.PAYMENTRECONCILIATION; 3509 if ("Person".equals(codeString)) 3510 return FHIRDefinedType.PERSON; 3511 if ("Practitioner".equals(codeString)) 3512 return FHIRDefinedType.PRACTITIONER; 3513 if ("Procedure".equals(codeString)) 3514 return FHIRDefinedType.PROCEDURE; 3515 if ("ProcedureRequest".equals(codeString)) 3516 return FHIRDefinedType.PROCEDUREREQUEST; 3517 if ("ProcessRequest".equals(codeString)) 3518 return FHIRDefinedType.PROCESSREQUEST; 3519 if ("ProcessResponse".equals(codeString)) 3520 return FHIRDefinedType.PROCESSRESPONSE; 3521 if ("Provenance".equals(codeString)) 3522 return FHIRDefinedType.PROVENANCE; 3523 if ("Questionnaire".equals(codeString)) 3524 return FHIRDefinedType.QUESTIONNAIRE; 3525 if ("QuestionnaireResponse".equals(codeString)) 3526 return FHIRDefinedType.QUESTIONNAIRERESPONSE; 3527 if ("ReferralRequest".equals(codeString)) 3528 return FHIRDefinedType.REFERRALREQUEST; 3529 if ("RelatedPerson".equals(codeString)) 3530 return FHIRDefinedType.RELATEDPERSON; 3531 if ("Resource".equals(codeString)) 3532 return FHIRDefinedType.RESOURCE; 3533 if ("RiskAssessment".equals(codeString)) 3534 return FHIRDefinedType.RISKASSESSMENT; 3535 if ("Schedule".equals(codeString)) 3536 return FHIRDefinedType.SCHEDULE; 3537 if ("SearchParameter".equals(codeString)) 3538 return FHIRDefinedType.SEARCHPARAMETER; 3539 if ("Slot".equals(codeString)) 3540 return FHIRDefinedType.SLOT; 3541 if ("Specimen".equals(codeString)) 3542 return FHIRDefinedType.SPECIMEN; 3543 if ("StructureDefinition".equals(codeString)) 3544 return FHIRDefinedType.STRUCTUREDEFINITION; 3545 if ("Subscription".equals(codeString)) 3546 return FHIRDefinedType.SUBSCRIPTION; 3547 if ("Substance".equals(codeString)) 3548 return FHIRDefinedType.SUBSTANCE; 3549 if ("SupplyDelivery".equals(codeString)) 3550 return FHIRDefinedType.SUPPLYDELIVERY; 3551 if ("SupplyRequest".equals(codeString)) 3552 return FHIRDefinedType.SUPPLYREQUEST; 3553 if ("TestScript".equals(codeString)) 3554 return FHIRDefinedType.TESTSCRIPT; 3555 if ("ValueSet".equals(codeString)) 3556 return FHIRDefinedType.VALUESET; 3557 if ("VisionPrescription".equals(codeString)) 3558 return FHIRDefinedType.VISIONPRESCRIPTION; 3559 throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'"); 3560 } 3561 public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException { 3562 if (code == null || code.isEmpty()) 3563 return null; 3564 String codeString = ((PrimitiveType) code).asStringValue(); 3565 if (codeString == null || "".equals(codeString)) 3566 return null; 3567 if ("Address".equals(codeString)) 3568 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS); 3569 if ("Age".equals(codeString)) 3570 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE); 3571 if ("Annotation".equals(codeString)) 3572 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION); 3573 if ("Attachment".equals(codeString)) 3574 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT); 3575 if ("BackboneElement".equals(codeString)) 3576 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT); 3577 if ("CodeableConcept".equals(codeString)) 3578 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT); 3579 if ("Coding".equals(codeString)) 3580 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING); 3581 if ("ContactPoint".equals(codeString)) 3582 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT); 3583 if ("Count".equals(codeString)) 3584 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT); 3585 if ("Distance".equals(codeString)) 3586 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE); 3587 if ("Duration".equals(codeString)) 3588 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION); 3589 if ("Element".equals(codeString)) 3590 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT); 3591 if ("ElementDefinition".equals(codeString)) 3592 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION); 3593 if ("Extension".equals(codeString)) 3594 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION); 3595 if ("HumanName".equals(codeString)) 3596 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME); 3597 if ("Identifier".equals(codeString)) 3598 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER); 3599 if ("Meta".equals(codeString)) 3600 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META); 3601 if ("Money".equals(codeString)) 3602 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY); 3603 if ("Narrative".equals(codeString)) 3604 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE); 3605 if ("Period".equals(codeString)) 3606 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD); 3607 if ("Quantity".equals(codeString)) 3608 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY); 3609 if ("Range".equals(codeString)) 3610 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE); 3611 if ("Ratio".equals(codeString)) 3612 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO); 3613 if ("Reference".equals(codeString)) 3614 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE); 3615 if ("SampledData".equals(codeString)) 3616 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA); 3617 if ("Signature".equals(codeString)) 3618 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE); 3619 if ("SimpleQuantity".equals(codeString)) 3620 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY); 3621 if ("Timing".equals(codeString)) 3622 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING); 3623 if ("base64Binary".equals(codeString)) 3624 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY); 3625 if ("boolean".equals(codeString)) 3626 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN); 3627 if ("code".equals(codeString)) 3628 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE); 3629 if ("date".equals(codeString)) 3630 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE); 3631 if ("dateTime".equals(codeString)) 3632 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME); 3633 if ("decimal".equals(codeString)) 3634 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL); 3635 if ("id".equals(codeString)) 3636 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID); 3637 if ("instant".equals(codeString)) 3638 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT); 3639 if ("integer".equals(codeString)) 3640 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER); 3641 if ("markdown".equals(codeString)) 3642 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN); 3643 if ("oid".equals(codeString)) 3644 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID); 3645 if ("positiveInt".equals(codeString)) 3646 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT); 3647 if ("string".equals(codeString)) 3648 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING); 3649 if ("time".equals(codeString)) 3650 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME); 3651 if ("unsignedInt".equals(codeString)) 3652 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT); 3653 if ("uri".equals(codeString)) 3654 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI); 3655 if ("uuid".equals(codeString)) 3656 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID); 3657 if ("xhtml".equals(codeString)) 3658 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML); 3659 if ("Account".equals(codeString)) 3660 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT); 3661 if ("AllergyIntolerance".equals(codeString)) 3662 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE); 3663 if ("Appointment".equals(codeString)) 3664 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT); 3665 if ("AppointmentResponse".equals(codeString)) 3666 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE); 3667 if ("AuditEvent".equals(codeString)) 3668 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT); 3669 if ("Basic".equals(codeString)) 3670 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC); 3671 if ("Binary".equals(codeString)) 3672 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY); 3673 if ("BodySite".equals(codeString)) 3674 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSITE); 3675 if ("Bundle".equals(codeString)) 3676 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE); 3677 if ("CarePlan".equals(codeString)) 3678 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN); 3679 if ("Claim".equals(codeString)) 3680 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM); 3681 if ("ClaimResponse".equals(codeString)) 3682 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE); 3683 if ("ClinicalImpression".equals(codeString)) 3684 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION); 3685 if ("Communication".equals(codeString)) 3686 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION); 3687 if ("CommunicationRequest".equals(codeString)) 3688 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST); 3689 if ("Composition".equals(codeString)) 3690 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION); 3691 if ("ConceptMap".equals(codeString)) 3692 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP); 3693 if ("Condition".equals(codeString)) 3694 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION); 3695 if ("Conformance".equals(codeString)) 3696 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONFORMANCE); 3697 if ("Contract".equals(codeString)) 3698 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT); 3699 if ("Coverage".equals(codeString)) 3700 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE); 3701 if ("DataElement".equals(codeString)) 3702 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAELEMENT); 3703 if ("DetectedIssue".equals(codeString)) 3704 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE); 3705 if ("Device".equals(codeString)) 3706 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE); 3707 if ("DeviceComponent".equals(codeString)) 3708 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICECOMPONENT); 3709 if ("DeviceMetric".equals(codeString)) 3710 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC); 3711 if ("DeviceUseRequest".equals(codeString)) 3712 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSEREQUEST); 3713 if ("DeviceUseStatement".equals(codeString)) 3714 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT); 3715 if ("DiagnosticOrder".equals(codeString)) 3716 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICORDER); 3717 if ("DiagnosticReport".equals(codeString)) 3718 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT); 3719 if ("DocumentManifest".equals(codeString)) 3720 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST); 3721 if ("DocumentReference".equals(codeString)) 3722 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE); 3723 if ("DomainResource".equals(codeString)) 3724 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE); 3725 if ("EligibilityRequest".equals(codeString)) 3726 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYREQUEST); 3727 if ("EligibilityResponse".equals(codeString)) 3728 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYRESPONSE); 3729 if ("Encounter".equals(codeString)) 3730 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER); 3731 if ("EnrollmentRequest".equals(codeString)) 3732 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST); 3733 if ("EnrollmentResponse".equals(codeString)) 3734 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE); 3735 if ("EpisodeOfCare".equals(codeString)) 3736 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE); 3737 if ("ExplanationOfBenefit".equals(codeString)) 3738 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT); 3739 if ("FamilyMemberHistory".equals(codeString)) 3740 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY); 3741 if ("Flag".equals(codeString)) 3742 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG); 3743 if ("Goal".equals(codeString)) 3744 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL); 3745 if ("Group".equals(codeString)) 3746 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP); 3747 if ("HealthcareService".equals(codeString)) 3748 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE); 3749 if ("ImagingObjectSelection".equals(codeString)) 3750 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGOBJECTSELECTION); 3751 if ("ImagingStudy".equals(codeString)) 3752 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY); 3753 if ("Immunization".equals(codeString)) 3754 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION); 3755 if ("ImmunizationRecommendation".equals(codeString)) 3756 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION); 3757 if ("ImplementationGuide".equals(codeString)) 3758 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE); 3759 if ("List".equals(codeString)) 3760 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST); 3761 if ("Location".equals(codeString)) 3762 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION); 3763 if ("Media".equals(codeString)) 3764 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA); 3765 if ("Medication".equals(codeString)) 3766 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION); 3767 if ("MedicationAdministration".equals(codeString)) 3768 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION); 3769 if ("MedicationDispense".equals(codeString)) 3770 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE); 3771 if ("MedicationOrder".equals(codeString)) 3772 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONORDER); 3773 if ("MedicationStatement".equals(codeString)) 3774 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT); 3775 if ("MessageHeader".equals(codeString)) 3776 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER); 3777 if ("NamingSystem".equals(codeString)) 3778 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM); 3779 if ("NutritionOrder".equals(codeString)) 3780 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER); 3781 if ("Observation".equals(codeString)) 3782 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION); 3783 if ("OperationDefinition".equals(codeString)) 3784 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION); 3785 if ("OperationOutcome".equals(codeString)) 3786 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME); 3787 if ("Order".equals(codeString)) 3788 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORDER); 3789 if ("OrderResponse".equals(codeString)) 3790 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORDERRESPONSE); 3791 if ("Organization".equals(codeString)) 3792 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION); 3793 if ("Parameters".equals(codeString)) 3794 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS); 3795 if ("Patient".equals(codeString)) 3796 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT); 3797 if ("PaymentNotice".equals(codeString)) 3798 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE); 3799 if ("PaymentReconciliation".equals(codeString)) 3800 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION); 3801 if ("Person".equals(codeString)) 3802 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON); 3803 if ("Practitioner".equals(codeString)) 3804 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER); 3805 if ("Procedure".equals(codeString)) 3806 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE); 3807 if ("ProcedureRequest".equals(codeString)) 3808 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDUREREQUEST); 3809 if ("ProcessRequest".equals(codeString)) 3810 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSREQUEST); 3811 if ("ProcessResponse".equals(codeString)) 3812 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSRESPONSE); 3813 if ("Provenance".equals(codeString)) 3814 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE); 3815 if ("Questionnaire".equals(codeString)) 3816 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE); 3817 if ("QuestionnaireResponse".equals(codeString)) 3818 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE); 3819 if ("ReferralRequest".equals(codeString)) 3820 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERRALREQUEST); 3821 if ("RelatedPerson".equals(codeString)) 3822 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON); 3823 if ("Resource".equals(codeString)) 3824 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE); 3825 if ("RiskAssessment".equals(codeString)) 3826 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT); 3827 if ("Schedule".equals(codeString)) 3828 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE); 3829 if ("SearchParameter".equals(codeString)) 3830 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER); 3831 if ("Slot".equals(codeString)) 3832 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT); 3833 if ("Specimen".equals(codeString)) 3834 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN); 3835 if ("StructureDefinition".equals(codeString)) 3836 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION); 3837 if ("Subscription".equals(codeString)) 3838 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION); 3839 if ("Substance".equals(codeString)) 3840 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE); 3841 if ("SupplyDelivery".equals(codeString)) 3842 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY); 3843 if ("SupplyRequest".equals(codeString)) 3844 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST); 3845 if ("TestScript".equals(codeString)) 3846 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT); 3847 if ("ValueSet".equals(codeString)) 3848 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET); 3849 if ("VisionPrescription".equals(codeString)) 3850 return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION); 3851 throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); 3852 } 3853 public String toCode(FHIRDefinedType code) { 3854 if (code == FHIRDefinedType.ADDRESS) 3855 return "Address"; 3856 if (code == FHIRDefinedType.AGE) 3857 return "Age"; 3858 if (code == FHIRDefinedType.ANNOTATION) 3859 return "Annotation"; 3860 if (code == FHIRDefinedType.ATTACHMENT) 3861 return "Attachment"; 3862 if (code == FHIRDefinedType.BACKBONEELEMENT) 3863 return "BackboneElement"; 3864 if (code == FHIRDefinedType.CODEABLECONCEPT) 3865 return "CodeableConcept"; 3866 if (code == FHIRDefinedType.CODING) 3867 return "Coding"; 3868 if (code == FHIRDefinedType.CONTACTPOINT) 3869 return "ContactPoint"; 3870 if (code == FHIRDefinedType.COUNT) 3871 return "Count"; 3872 if (code == FHIRDefinedType.DISTANCE) 3873 return "Distance"; 3874 if (code == FHIRDefinedType.DURATION) 3875 return "Duration"; 3876 if (code == FHIRDefinedType.ELEMENT) 3877 return "Element"; 3878 if (code == FHIRDefinedType.ELEMENTDEFINITION) 3879 return "ElementDefinition"; 3880 if (code == FHIRDefinedType.EXTENSION) 3881 return "Extension"; 3882 if (code == FHIRDefinedType.HUMANNAME) 3883 return "HumanName"; 3884 if (code == FHIRDefinedType.IDENTIFIER) 3885 return "Identifier"; 3886 if (code == FHIRDefinedType.META) 3887 return "Meta"; 3888 if (code == FHIRDefinedType.MONEY) 3889 return "Money"; 3890 if (code == FHIRDefinedType.NARRATIVE) 3891 return "Narrative"; 3892 if (code == FHIRDefinedType.PERIOD) 3893 return "Period"; 3894 if (code == FHIRDefinedType.QUANTITY) 3895 return "Quantity"; 3896 if (code == FHIRDefinedType.RANGE) 3897 return "Range"; 3898 if (code == FHIRDefinedType.RATIO) 3899 return "Ratio"; 3900 if (code == FHIRDefinedType.REFERENCE) 3901 return "Reference"; 3902 if (code == FHIRDefinedType.SAMPLEDDATA) 3903 return "SampledData"; 3904 if (code == FHIRDefinedType.SIGNATURE) 3905 return "Signature"; 3906 if (code == FHIRDefinedType.SIMPLEQUANTITY) 3907 return "SimpleQuantity"; 3908 if (code == FHIRDefinedType.TIMING) 3909 return "Timing"; 3910 if (code == FHIRDefinedType.BASE64BINARY) 3911 return "base64Binary"; 3912 if (code == FHIRDefinedType.BOOLEAN) 3913 return "boolean"; 3914 if (code == FHIRDefinedType.CODE) 3915 return "code"; 3916 if (code == FHIRDefinedType.DATE) 3917 return "date"; 3918 if (code == FHIRDefinedType.DATETIME) 3919 return "dateTime"; 3920 if (code == FHIRDefinedType.DECIMAL) 3921 return "decimal"; 3922 if (code == FHIRDefinedType.ID) 3923 return "id"; 3924 if (code == FHIRDefinedType.INSTANT) 3925 return "instant"; 3926 if (code == FHIRDefinedType.INTEGER) 3927 return "integer"; 3928 if (code == FHIRDefinedType.MARKDOWN) 3929 return "markdown"; 3930 if (code == FHIRDefinedType.OID) 3931 return "oid"; 3932 if (code == FHIRDefinedType.POSITIVEINT) 3933 return "positiveInt"; 3934 if (code == FHIRDefinedType.STRING) 3935 return "string"; 3936 if (code == FHIRDefinedType.TIME) 3937 return "time"; 3938 if (code == FHIRDefinedType.UNSIGNEDINT) 3939 return "unsignedInt"; 3940 if (code == FHIRDefinedType.URI) 3941 return "uri"; 3942 if (code == FHIRDefinedType.UUID) 3943 return "uuid"; 3944 if (code == FHIRDefinedType.XHTML) 3945 return "xhtml"; 3946 if (code == FHIRDefinedType.ACCOUNT) 3947 return "Account"; 3948 if (code == FHIRDefinedType.ALLERGYINTOLERANCE) 3949 return "AllergyIntolerance"; 3950 if (code == FHIRDefinedType.APPOINTMENT) 3951 return "Appointment"; 3952 if (code == FHIRDefinedType.APPOINTMENTRESPONSE) 3953 return "AppointmentResponse"; 3954 if (code == FHIRDefinedType.AUDITEVENT) 3955 return "AuditEvent"; 3956 if (code == FHIRDefinedType.BASIC) 3957 return "Basic"; 3958 if (code == FHIRDefinedType.BINARY) 3959 return "Binary"; 3960 if (code == FHIRDefinedType.BODYSITE) 3961 return "BodySite"; 3962 if (code == FHIRDefinedType.BUNDLE) 3963 return "Bundle"; 3964 if (code == FHIRDefinedType.CAREPLAN) 3965 return "CarePlan"; 3966 if (code == FHIRDefinedType.CLAIM) 3967 return "Claim"; 3968 if (code == FHIRDefinedType.CLAIMRESPONSE) 3969 return "ClaimResponse"; 3970 if (code == FHIRDefinedType.CLINICALIMPRESSION) 3971 return "ClinicalImpression"; 3972 if (code == FHIRDefinedType.COMMUNICATION) 3973 return "Communication"; 3974 if (code == FHIRDefinedType.COMMUNICATIONREQUEST) 3975 return "CommunicationRequest"; 3976 if (code == FHIRDefinedType.COMPOSITION) 3977 return "Composition"; 3978 if (code == FHIRDefinedType.CONCEPTMAP) 3979 return "ConceptMap"; 3980 if (code == FHIRDefinedType.CONDITION) 3981 return "Condition"; 3982 if (code == FHIRDefinedType.CONFORMANCE) 3983 return "Conformance"; 3984 if (code == FHIRDefinedType.CONTRACT) 3985 return "Contract"; 3986 if (code == FHIRDefinedType.COVERAGE) 3987 return "Coverage"; 3988 if (code == FHIRDefinedType.DATAELEMENT) 3989 return "DataElement"; 3990 if (code == FHIRDefinedType.DETECTEDISSUE) 3991 return "DetectedIssue"; 3992 if (code == FHIRDefinedType.DEVICE) 3993 return "Device"; 3994 if (code == FHIRDefinedType.DEVICECOMPONENT) 3995 return "DeviceComponent"; 3996 if (code == FHIRDefinedType.DEVICEMETRIC) 3997 return "DeviceMetric"; 3998 if (code == FHIRDefinedType.DEVICEUSEREQUEST) 3999 return "DeviceUseRequest"; 4000 if (code == FHIRDefinedType.DEVICEUSESTATEMENT) 4001 return "DeviceUseStatement"; 4002 if (code == FHIRDefinedType.DIAGNOSTICORDER) 4003 return "DiagnosticOrder"; 4004 if (code == FHIRDefinedType.DIAGNOSTICREPORT) 4005 return "DiagnosticReport"; 4006 if (code == FHIRDefinedType.DOCUMENTMANIFEST) 4007 return "DocumentManifest"; 4008 if (code == FHIRDefinedType.DOCUMENTREFERENCE) 4009 return "DocumentReference"; 4010 if (code == FHIRDefinedType.DOMAINRESOURCE) 4011 return "DomainResource"; 4012 if (code == FHIRDefinedType.ELIGIBILITYREQUEST) 4013 return "EligibilityRequest"; 4014 if (code == FHIRDefinedType.ELIGIBILITYRESPONSE) 4015 return "EligibilityResponse"; 4016 if (code == FHIRDefinedType.ENCOUNTER) 4017 return "Encounter"; 4018 if (code == FHIRDefinedType.ENROLLMENTREQUEST) 4019 return "EnrollmentRequest"; 4020 if (code == FHIRDefinedType.ENROLLMENTRESPONSE) 4021 return "EnrollmentResponse"; 4022 if (code == FHIRDefinedType.EPISODEOFCARE) 4023 return "EpisodeOfCare"; 4024 if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT) 4025 return "ExplanationOfBenefit"; 4026 if (code == FHIRDefinedType.FAMILYMEMBERHISTORY) 4027 return "FamilyMemberHistory"; 4028 if (code == FHIRDefinedType.FLAG) 4029 return "Flag"; 4030 if (code == FHIRDefinedType.GOAL) 4031 return "Goal"; 4032 if (code == FHIRDefinedType.GROUP) 4033 return "Group"; 4034 if (code == FHIRDefinedType.HEALTHCARESERVICE) 4035 return "HealthcareService"; 4036 if (code == FHIRDefinedType.IMAGINGOBJECTSELECTION) 4037 return "ImagingObjectSelection"; 4038 if (code == FHIRDefinedType.IMAGINGSTUDY) 4039 return "ImagingStudy"; 4040 if (code == FHIRDefinedType.IMMUNIZATION) 4041 return "Immunization"; 4042 if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION) 4043 return "ImmunizationRecommendation"; 4044 if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE) 4045 return "ImplementationGuide"; 4046 if (code == FHIRDefinedType.LIST) 4047 return "List"; 4048 if (code == FHIRDefinedType.LOCATION) 4049 return "Location"; 4050 if (code == FHIRDefinedType.MEDIA) 4051 return "Media"; 4052 if (code == FHIRDefinedType.MEDICATION) 4053 return "Medication"; 4054 if (code == FHIRDefinedType.MEDICATIONADMINISTRATION) 4055 return "MedicationAdministration"; 4056 if (code == FHIRDefinedType.MEDICATIONDISPENSE) 4057 return "MedicationDispense"; 4058 if (code == FHIRDefinedType.MEDICATIONORDER) 4059 return "MedicationOrder"; 4060 if (code == FHIRDefinedType.MEDICATIONSTATEMENT) 4061 return "MedicationStatement"; 4062 if (code == FHIRDefinedType.MESSAGEHEADER) 4063 return "MessageHeader"; 4064 if (code == FHIRDefinedType.NAMINGSYSTEM) 4065 return "NamingSystem"; 4066 if (code == FHIRDefinedType.NUTRITIONORDER) 4067 return "NutritionOrder"; 4068 if (code == FHIRDefinedType.OBSERVATION) 4069 return "Observation"; 4070 if (code == FHIRDefinedType.OPERATIONDEFINITION) 4071 return "OperationDefinition"; 4072 if (code == FHIRDefinedType.OPERATIONOUTCOME) 4073 return "OperationOutcome"; 4074 if (code == FHIRDefinedType.ORDER) 4075 return "Order"; 4076 if (code == FHIRDefinedType.ORDERRESPONSE) 4077 return "OrderResponse"; 4078 if (code == FHIRDefinedType.ORGANIZATION) 4079 return "Organization"; 4080 if (code == FHIRDefinedType.PARAMETERS) 4081 return "Parameters"; 4082 if (code == FHIRDefinedType.PATIENT) 4083 return "Patient"; 4084 if (code == FHIRDefinedType.PAYMENTNOTICE) 4085 return "PaymentNotice"; 4086 if (code == FHIRDefinedType.PAYMENTRECONCILIATION) 4087 return "PaymentReconciliation"; 4088 if (code == FHIRDefinedType.PERSON) 4089 return "Person"; 4090 if (code == FHIRDefinedType.PRACTITIONER) 4091 return "Practitioner"; 4092 if (code == FHIRDefinedType.PROCEDURE) 4093 return "Procedure"; 4094 if (code == FHIRDefinedType.PROCEDUREREQUEST) 4095 return "ProcedureRequest"; 4096 if (code == FHIRDefinedType.PROCESSREQUEST) 4097 return "ProcessRequest"; 4098 if (code == FHIRDefinedType.PROCESSRESPONSE) 4099 return "ProcessResponse"; 4100 if (code == FHIRDefinedType.PROVENANCE) 4101 return "Provenance"; 4102 if (code == FHIRDefinedType.QUESTIONNAIRE) 4103 return "Questionnaire"; 4104 if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE) 4105 return "QuestionnaireResponse"; 4106 if (code == FHIRDefinedType.REFERRALREQUEST) 4107 return "ReferralRequest"; 4108 if (code == FHIRDefinedType.RELATEDPERSON) 4109 return "RelatedPerson"; 4110 if (code == FHIRDefinedType.RESOURCE) 4111 return "Resource"; 4112 if (code == FHIRDefinedType.RISKASSESSMENT) 4113 return "RiskAssessment"; 4114 if (code == FHIRDefinedType.SCHEDULE) 4115 return "Schedule"; 4116 if (code == FHIRDefinedType.SEARCHPARAMETER) 4117 return "SearchParameter"; 4118 if (code == FHIRDefinedType.SLOT) 4119 return "Slot"; 4120 if (code == FHIRDefinedType.SPECIMEN) 4121 return "Specimen"; 4122 if (code == FHIRDefinedType.STRUCTUREDEFINITION) 4123 return "StructureDefinition"; 4124 if (code == FHIRDefinedType.SUBSCRIPTION) 4125 return "Subscription"; 4126 if (code == FHIRDefinedType.SUBSTANCE) 4127 return "Substance"; 4128 if (code == FHIRDefinedType.SUPPLYDELIVERY) 4129 return "SupplyDelivery"; 4130 if (code == FHIRDefinedType.SUPPLYREQUEST) 4131 return "SupplyRequest"; 4132 if (code == FHIRDefinedType.TESTSCRIPT) 4133 return "TestScript"; 4134 if (code == FHIRDefinedType.VALUESET) 4135 return "ValueSet"; 4136 if (code == FHIRDefinedType.VISIONPRESCRIPTION) 4137 return "VisionPrescription"; 4138 return "?"; 4139 } 4140 } 4141 4142 public enum MessageEvent { 4143 /** 4144 * Change the status of a Medication Administration to show that it is complete. 4145 */ 4146 MEDICATIONADMINISTRATIONCOMPLETE, 4147 /** 4148 * Someone wishes to record that the record of administration of a medication is in error and should be ignored. 4149 */ 4150 MEDICATIONADMINISTRATIONNULLIFICATION, 4151 /** 4152 * Indicates that a medication has been recorded against the patient's record. 4153 */ 4154 MEDICATIONADMINISTRATIONRECORDING, 4155 /** 4156 * Update a Medication Administration record. 4157 */ 4158 MEDICATIONADMINISTRATIONUPDATE, 4159 /** 4160 * 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. 4161 */ 4162 ADMINNOTIFY, 4163 /** 4164 * Provide a diagnostic report, or update a previously provided diagnostic report. 4165 */ 4166 DIAGNOSTICREPORTPROVIDE, 4167 /** 4168 * Provide a simple observation or update a previously provided simple observation. 4169 */ 4170 OBSERVATIONPROVIDE, 4171 /** 4172 * Notification that two patient records actually identify the same patient. 4173 */ 4174 PATIENTLINK, 4175 /** 4176 * Notification that previous advice that two patient records concern the same patient is now considered incorrect. 4177 */ 4178 PATIENTUNLINK, 4179 /** 4180 * 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. 4181 */ 4182 VALUESETEXPAND, 4183 /** 4184 * added to help the parsers 4185 */ 4186 NULL; 4187 public static MessageEvent fromCode(String codeString) throws FHIRException { 4188 if (codeString == null || "".equals(codeString)) 4189 return null; 4190 if ("MedicationAdministration-Complete".equals(codeString)) 4191 return MEDICATIONADMINISTRATIONCOMPLETE; 4192 if ("MedicationAdministration-Nullification".equals(codeString)) 4193 return MEDICATIONADMINISTRATIONNULLIFICATION; 4194 if ("MedicationAdministration-Recording".equals(codeString)) 4195 return MEDICATIONADMINISTRATIONRECORDING; 4196 if ("MedicationAdministration-Update".equals(codeString)) 4197 return MEDICATIONADMINISTRATIONUPDATE; 4198 if ("admin-notify".equals(codeString)) 4199 return ADMINNOTIFY; 4200 if ("diagnosticreport-provide".equals(codeString)) 4201 return DIAGNOSTICREPORTPROVIDE; 4202 if ("observation-provide".equals(codeString)) 4203 return OBSERVATIONPROVIDE; 4204 if ("patient-link".equals(codeString)) 4205 return PATIENTLINK; 4206 if ("patient-unlink".equals(codeString)) 4207 return PATIENTUNLINK; 4208 if ("valueset-expand".equals(codeString)) 4209 return VALUESETEXPAND; 4210 throw new FHIRException("Unknown MessageEvent code '"+codeString+"'"); 4211 } 4212 public String toCode() { 4213 switch (this) { 4214 case MEDICATIONADMINISTRATIONCOMPLETE: return "MedicationAdministration-Complete"; 4215 case MEDICATIONADMINISTRATIONNULLIFICATION: return "MedicationAdministration-Nullification"; 4216 case MEDICATIONADMINISTRATIONRECORDING: return "MedicationAdministration-Recording"; 4217 case MEDICATIONADMINISTRATIONUPDATE: return "MedicationAdministration-Update"; 4218 case ADMINNOTIFY: return "admin-notify"; 4219 case DIAGNOSTICREPORTPROVIDE: return "diagnosticreport-provide"; 4220 case OBSERVATIONPROVIDE: return "observation-provide"; 4221 case PATIENTLINK: return "patient-link"; 4222 case PATIENTUNLINK: return "patient-unlink"; 4223 case VALUESETEXPAND: return "valueset-expand"; 4224 default: return "?"; 4225 } 4226 } 4227 public String getSystem() { 4228 switch (this) { 4229 case MEDICATIONADMINISTRATIONCOMPLETE: return "http://hl7.org/fhir/message-events"; 4230 case MEDICATIONADMINISTRATIONNULLIFICATION: return "http://hl7.org/fhir/message-events"; 4231 case MEDICATIONADMINISTRATIONRECORDING: return "http://hl7.org/fhir/message-events"; 4232 case MEDICATIONADMINISTRATIONUPDATE: return "http://hl7.org/fhir/message-events"; 4233 case ADMINNOTIFY: return "http://hl7.org/fhir/message-events"; 4234 case DIAGNOSTICREPORTPROVIDE: return "http://hl7.org/fhir/message-events"; 4235 case OBSERVATIONPROVIDE: return "http://hl7.org/fhir/message-events"; 4236 case PATIENTLINK: return "http://hl7.org/fhir/message-events"; 4237 case PATIENTUNLINK: return "http://hl7.org/fhir/message-events"; 4238 case VALUESETEXPAND: return "http://hl7.org/fhir/message-events"; 4239 default: return "?"; 4240 } 4241 } 4242 public String getDefinition() { 4243 switch (this) { 4244 case MEDICATIONADMINISTRATIONCOMPLETE: return "Change the status of a Medication Administration to show that it is complete."; 4245 case MEDICATIONADMINISTRATIONNULLIFICATION: return "Someone wishes to record that the record of administration of a medication is in error and should be ignored."; 4246 case MEDICATIONADMINISTRATIONRECORDING: return "Indicates that a medication has been recorded against the patient's record."; 4247 case MEDICATIONADMINISTRATIONUPDATE: return "Update a Medication Administration record."; 4248 case ADMINNOTIFY: 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."; 4249 case DIAGNOSTICREPORTPROVIDE: return "Provide a diagnostic report, or update a previously provided diagnostic report."; 4250 case OBSERVATIONPROVIDE: return "Provide a simple observation or update a previously provided simple observation."; 4251 case PATIENTLINK: return "Notification that two patient records actually identify the same patient."; 4252 case PATIENTUNLINK: return "Notification that previous advice that two patient records concern the same patient is now considered incorrect."; 4253 case VALUESETEXPAND: 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."; 4254 default: return "?"; 4255 } 4256 } 4257 public String getDisplay() { 4258 switch (this) { 4259 case MEDICATIONADMINISTRATIONCOMPLETE: return "MedicationAdministration-Complete"; 4260 case MEDICATIONADMINISTRATIONNULLIFICATION: return "MedicationAdministration-Nullification"; 4261 case MEDICATIONADMINISTRATIONRECORDING: return "MedicationAdministration-Recording"; 4262 case MEDICATIONADMINISTRATIONUPDATE: return "MedicationAdministration-Update"; 4263 case ADMINNOTIFY: return "admin-notify"; 4264 case DIAGNOSTICREPORTPROVIDE: return "diagnosticreport-provide"; 4265 case OBSERVATIONPROVIDE: return "observation-provide"; 4266 case PATIENTLINK: return "patient-link"; 4267 case PATIENTUNLINK: return "patient-unlink"; 4268 case VALUESETEXPAND: return "valueset-expand"; 4269 default: return "?"; 4270 } 4271 } 4272 } 4273 4274 public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> { 4275 public MessageEvent fromCode(String codeString) throws IllegalArgumentException { 4276 if (codeString == null || "".equals(codeString)) 4277 if (codeString == null || "".equals(codeString)) 4278 return null; 4279 if ("MedicationAdministration-Complete".equals(codeString)) 4280 return MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE; 4281 if ("MedicationAdministration-Nullification".equals(codeString)) 4282 return MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION; 4283 if ("MedicationAdministration-Recording".equals(codeString)) 4284 return MessageEvent.MEDICATIONADMINISTRATIONRECORDING; 4285 if ("MedicationAdministration-Update".equals(codeString)) 4286 return MessageEvent.MEDICATIONADMINISTRATIONUPDATE; 4287 if ("admin-notify".equals(codeString)) 4288 return MessageEvent.ADMINNOTIFY; 4289 if ("diagnosticreport-provide".equals(codeString)) 4290 return MessageEvent.DIAGNOSTICREPORTPROVIDE; 4291 if ("observation-provide".equals(codeString)) 4292 return MessageEvent.OBSERVATIONPROVIDE; 4293 if ("patient-link".equals(codeString)) 4294 return MessageEvent.PATIENTLINK; 4295 if ("patient-unlink".equals(codeString)) 4296 return MessageEvent.PATIENTUNLINK; 4297 if ("valueset-expand".equals(codeString)) 4298 return MessageEvent.VALUESETEXPAND; 4299 throw new IllegalArgumentException("Unknown MessageEvent code '"+codeString+"'"); 4300 } 4301 public Enumeration<MessageEvent> fromType(Base code) throws FHIRException { 4302 if (code == null || code.isEmpty()) 4303 return null; 4304 String codeString = ((PrimitiveType) code).asStringValue(); 4305 if (codeString == null || "".equals(codeString)) 4306 return null; 4307 if ("MedicationAdministration-Complete".equals(codeString)) 4308 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE); 4309 if ("MedicationAdministration-Nullification".equals(codeString)) 4310 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION); 4311 if ("MedicationAdministration-Recording".equals(codeString)) 4312 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONRECORDING); 4313 if ("MedicationAdministration-Update".equals(codeString)) 4314 return new Enumeration<MessageEvent>(this, MessageEvent.MEDICATIONADMINISTRATIONUPDATE); 4315 if ("admin-notify".equals(codeString)) 4316 return new Enumeration<MessageEvent>(this, MessageEvent.ADMINNOTIFY); 4317 if ("diagnosticreport-provide".equals(codeString)) 4318 return new Enumeration<MessageEvent>(this, MessageEvent.DIAGNOSTICREPORTPROVIDE); 4319 if ("observation-provide".equals(codeString)) 4320 return new Enumeration<MessageEvent>(this, MessageEvent.OBSERVATIONPROVIDE); 4321 if ("patient-link".equals(codeString)) 4322 return new Enumeration<MessageEvent>(this, MessageEvent.PATIENTLINK); 4323 if ("patient-unlink".equals(codeString)) 4324 return new Enumeration<MessageEvent>(this, MessageEvent.PATIENTUNLINK); 4325 if ("valueset-expand".equals(codeString)) 4326 return new Enumeration<MessageEvent>(this, MessageEvent.VALUESETEXPAND); 4327 throw new FHIRException("Unknown MessageEvent code '"+codeString+"'"); 4328 } 4329 public String toCode(MessageEvent code) { 4330 if (code == MessageEvent.MEDICATIONADMINISTRATIONCOMPLETE) 4331 return "MedicationAdministration-Complete"; 4332 if (code == MessageEvent.MEDICATIONADMINISTRATIONNULLIFICATION) 4333 return "MedicationAdministration-Nullification"; 4334 if (code == MessageEvent.MEDICATIONADMINISTRATIONRECORDING) 4335 return "MedicationAdministration-Recording"; 4336 if (code == MessageEvent.MEDICATIONADMINISTRATIONUPDATE) 4337 return "MedicationAdministration-Update"; 4338 if (code == MessageEvent.ADMINNOTIFY) 4339 return "admin-notify"; 4340 if (code == MessageEvent.DIAGNOSTICREPORTPROVIDE) 4341 return "diagnosticreport-provide"; 4342 if (code == MessageEvent.OBSERVATIONPROVIDE) 4343 return "observation-provide"; 4344 if (code == MessageEvent.PATIENTLINK) 4345 return "patient-link"; 4346 if (code == MessageEvent.PATIENTUNLINK) 4347 return "patient-unlink"; 4348 if (code == MessageEvent.VALUESETEXPAND) 4349 return "valueset-expand"; 4350 return "?"; 4351 } 4352 } 4353 4354 public enum NoteType { 4355 /** 4356 * Display the note. 4357 */ 4358 DISPLAY, 4359 /** 4360 * Print the note on the form. 4361 */ 4362 PRINT, 4363 /** 4364 * Print the note for the operator. 4365 */ 4366 PRINTOPER, 4367 /** 4368 * added to help the parsers 4369 */ 4370 NULL; 4371 public static NoteType fromCode(String codeString) throws FHIRException { 4372 if (codeString == null || "".equals(codeString)) 4373 return null; 4374 if ("display".equals(codeString)) 4375 return DISPLAY; 4376 if ("print".equals(codeString)) 4377 return PRINT; 4378 if ("printoper".equals(codeString)) 4379 return PRINTOPER; 4380 throw new FHIRException("Unknown NoteType code '"+codeString+"'"); 4381 } 4382 public String toCode() { 4383 switch (this) { 4384 case DISPLAY: return "display"; 4385 case PRINT: return "print"; 4386 case PRINTOPER: return "printoper"; 4387 default: return "?"; 4388 } 4389 } 4390 public String getSystem() { 4391 switch (this) { 4392 case DISPLAY: return "http://hl7.org/fhir/note-type"; 4393 case PRINT: return "http://hl7.org/fhir/note-type"; 4394 case PRINTOPER: return "http://hl7.org/fhir/note-type"; 4395 default: return "?"; 4396 } 4397 } 4398 public String getDefinition() { 4399 switch (this) { 4400 case DISPLAY: return "Display the note."; 4401 case PRINT: return "Print the note on the form."; 4402 case PRINTOPER: return "Print the note for the operator."; 4403 default: return "?"; 4404 } 4405 } 4406 public String getDisplay() { 4407 switch (this) { 4408 case DISPLAY: return "Display"; 4409 case PRINT: return "Print (Form)"; 4410 case PRINTOPER: return "Print (Operator)"; 4411 default: return "?"; 4412 } 4413 } 4414 } 4415 4416 public static class NoteTypeEnumFactory implements EnumFactory<NoteType> { 4417 public NoteType fromCode(String codeString) throws IllegalArgumentException { 4418 if (codeString == null || "".equals(codeString)) 4419 if (codeString == null || "".equals(codeString)) 4420 return null; 4421 if ("display".equals(codeString)) 4422 return NoteType.DISPLAY; 4423 if ("print".equals(codeString)) 4424 return NoteType.PRINT; 4425 if ("printoper".equals(codeString)) 4426 return NoteType.PRINTOPER; 4427 throw new IllegalArgumentException("Unknown NoteType code '"+codeString+"'"); 4428 } 4429 public Enumeration<NoteType> fromType(Base code) throws FHIRException { 4430 if (code == null || code.isEmpty()) 4431 return null; 4432 String codeString = ((PrimitiveType) code).asStringValue(); 4433 if (codeString == null || "".equals(codeString)) 4434 return null; 4435 if ("display".equals(codeString)) 4436 return new Enumeration<NoteType>(this, NoteType.DISPLAY); 4437 if ("print".equals(codeString)) 4438 return new Enumeration<NoteType>(this, NoteType.PRINT); 4439 if ("printoper".equals(codeString)) 4440 return new Enumeration<NoteType>(this, NoteType.PRINTOPER); 4441 throw new FHIRException("Unknown NoteType code '"+codeString+"'"); 4442 } 4443 public String toCode(NoteType code) { 4444 if (code == NoteType.DISPLAY) 4445 return "display"; 4446 if (code == NoteType.PRINT) 4447 return "print"; 4448 if (code == NoteType.PRINTOPER) 4449 return "printoper"; 4450 return "?"; 4451 } 4452 } 4453 4454 public enum RemittanceOutcome { 4455 /** 4456 * The processing completed without errors. 4457 */ 4458 COMPLETE, 4459 /** 4460 * The processing identified errors. 4461 */ 4462 ERROR, 4463 /** 4464 * added to help the parsers 4465 */ 4466 NULL; 4467 public static RemittanceOutcome fromCode(String codeString) throws FHIRException { 4468 if (codeString == null || "".equals(codeString)) 4469 return null; 4470 if ("complete".equals(codeString)) 4471 return COMPLETE; 4472 if ("error".equals(codeString)) 4473 return ERROR; 4474 throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'"); 4475 } 4476 public String toCode() { 4477 switch (this) { 4478 case COMPLETE: return "complete"; 4479 case ERROR: return "error"; 4480 default: return "?"; 4481 } 4482 } 4483 public String getSystem() { 4484 switch (this) { 4485 case COMPLETE: return "http://hl7.org/fhir/remittance-outcome"; 4486 case ERROR: return "http://hl7.org/fhir/remittance-outcome"; 4487 default: return "?"; 4488 } 4489 } 4490 public String getDefinition() { 4491 switch (this) { 4492 case COMPLETE: return "The processing completed without errors."; 4493 case ERROR: return "The processing identified errors."; 4494 default: return "?"; 4495 } 4496 } 4497 public String getDisplay() { 4498 switch (this) { 4499 case COMPLETE: return "Complete"; 4500 case ERROR: return "Error"; 4501 default: return "?"; 4502 } 4503 } 4504 } 4505 4506 public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> { 4507 public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException { 4508 if (codeString == null || "".equals(codeString)) 4509 if (codeString == null || "".equals(codeString)) 4510 return null; 4511 if ("complete".equals(codeString)) 4512 return RemittanceOutcome.COMPLETE; 4513 if ("error".equals(codeString)) 4514 return RemittanceOutcome.ERROR; 4515 throw new IllegalArgumentException("Unknown RemittanceOutcome code '"+codeString+"'"); 4516 } 4517 public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException { 4518 if (code == null || code.isEmpty()) 4519 return null; 4520 String codeString = ((PrimitiveType) code).asStringValue(); 4521 if (codeString == null || "".equals(codeString)) 4522 return null; 4523 if ("complete".equals(codeString)) 4524 return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE); 4525 if ("error".equals(codeString)) 4526 return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR); 4527 throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'"); 4528 } 4529 public String toCode(RemittanceOutcome code) { 4530 if (code == RemittanceOutcome.COMPLETE) 4531 return "complete"; 4532 if (code == RemittanceOutcome.ERROR) 4533 return "error"; 4534 return "?"; 4535 } 4536 } 4537 4538 public enum ResourceType { 4539 /** 4540 * 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. 4541 */ 4542 ACCOUNT, 4543 /** 4544 * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. 4545 */ 4546 ALLERGYINTOLERANCE, 4547 /** 4548 * 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). 4549 */ 4550 APPOINTMENT, 4551 /** 4552 * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. 4553 */ 4554 APPOINTMENTRESPONSE, 4555 /** 4556 * 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. 4557 */ 4558 AUDITEVENT, 4559 /** 4560 * 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. 4561 */ 4562 BASIC, 4563 /** 4564 * A binary resource can contain any content, whether text, image, pdf, zip archive, etc. 4565 */ 4566 BINARY, 4567 /** 4568 * 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. 4569 */ 4570 BODYSITE, 4571 /** 4572 * A container for a collection of resources. 4573 */ 4574 BUNDLE, 4575 /** 4576 * 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. 4577 */ 4578 CAREPLAN, 4579 /** 4580 * 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. 4581 */ 4582 CLAIM, 4583 /** 4584 * This resource provides the adjudication details from the processing of a Claim resource. 4585 */ 4586 CLAIMRESPONSE, 4587 /** 4588 * 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. 4589 */ 4590 CLINICALIMPRESSION, 4591 /** 4592 * 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. 4593 */ 4594 COMMUNICATION, 4595 /** 4596 * 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. 4597 */ 4598 COMMUNICATIONREQUEST, 4599 /** 4600 * 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. 4601 */ 4602 COMPOSITION, 4603 /** 4604 * 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. 4605 */ 4606 CONCEPTMAP, 4607 /** 4608 * 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. 4609 */ 4610 CONDITION, 4611 /** 4612 * 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. 4613 */ 4614 CONFORMANCE, 4615 /** 4616 * A formal agreement between parties regarding the conduct of business, exchange of information or other matters. 4617 */ 4618 CONTRACT, 4619 /** 4620 * Financial instrument which may be used to pay for or reimburse health care products and services. 4621 */ 4622 COVERAGE, 4623 /** 4624 * The formal description of a single piece of information that can be gathered and reported. 4625 */ 4626 DATAELEMENT, 4627 /** 4628 * 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. 4629 */ 4630 DETECTEDISSUE, 4631 /** 4632 * 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. 4633 */ 4634 DEVICE, 4635 /** 4636 * Describes the characteristics, operational status and capabilities of a medical-related component of a medical device. 4637 */ 4638 DEVICECOMPONENT, 4639 /** 4640 * Describes a measurement, calculation or setting capability of a medical device. 4641 */ 4642 DEVICEMETRIC, 4643 /** 4644 * 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. 4645 */ 4646 DEVICEUSEREQUEST, 4647 /** 4648 * 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. 4649 */ 4650 DEVICEUSESTATEMENT, 4651 /** 4652 * A record of a request for a diagnostic investigation service to be performed. 4653 */ 4654 DIAGNOSTICORDER, 4655 /** 4656 * 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. 4657 */ 4658 DIAGNOSTICREPORT, 4659 /** 4660 * A manifest that defines a set of documents. 4661 */ 4662 DOCUMENTMANIFEST, 4663 /** 4664 * A reference to a document . 4665 */ 4666 DOCUMENTREFERENCE, 4667 /** 4668 * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. 4669 */ 4670 DOMAINRESOURCE, 4671 /** 4672 * This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service. 4673 */ 4674 ELIGIBILITYREQUEST, 4675 /** 4676 * This resource provides eligibility and plan details from the processing of an Eligibility resource. 4677 */ 4678 ELIGIBILITYRESPONSE, 4679 /** 4680 * 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. 4681 */ 4682 ENCOUNTER, 4683 /** 4684 * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. 4685 */ 4686 ENROLLMENTREQUEST, 4687 /** 4688 * This resource provides enrollment and plan details from the processing of an Enrollment resource. 4689 */ 4690 ENROLLMENTRESPONSE, 4691 /** 4692 * 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. 4693 */ 4694 EPISODEOFCARE, 4695 /** 4696 * 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. 4697 */ 4698 EXPLANATIONOFBENEFIT, 4699 /** 4700 * Significant health events and conditions for a person related to the patient relevant in the context of care for the patient. 4701 */ 4702 FAMILYMEMBERHISTORY, 4703 /** 4704 * Prospective warnings of potential issues when providing care to the patient. 4705 */ 4706 FLAG, 4707 /** 4708 * 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. 4709 */ 4710 GOAL, 4711 /** 4712 * 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. 4713 */ 4714 GROUP, 4715 /** 4716 * The details of a healthcare service available at a location. 4717 */ 4718 HEALTHCARESERVICE, 4719 /** 4720 * 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. 4721 */ 4722 IMAGINGOBJECTSELECTION, 4723 /** 4724 * 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. 4725 */ 4726 IMAGINGSTUDY, 4727 /** 4728 * 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. 4729 */ 4730 IMMUNIZATION, 4731 /** 4732 * 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. 4733 */ 4734 IMMUNIZATIONRECOMMENDATION, 4735 /** 4736 * 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. 4737 */ 4738 IMPLEMENTATIONGUIDE, 4739 /** 4740 * A set of information summarized from a list of other resources. 4741 */ 4742 LIST, 4743 /** 4744 * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated. 4745 */ 4746 LOCATION, 4747 /** 4748 * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference. 4749 */ 4750 MEDIA, 4751 /** 4752 * This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication. 4753 */ 4754 MEDICATION, 4755 /** 4756 * 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. 4757 */ 4758 MEDICATIONADMINISTRATION, 4759 /** 4760 * 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. 4761 */ 4762 MEDICATIONDISPENSE, 4763 /** 4764 * 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. 4765 */ 4766 MEDICATIONORDER, 4767 /** 4768 * 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 4769 4770The 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. 4771 */ 4772 MEDICATIONSTATEMENT, 4773 /** 4774 * 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. 4775 */ 4776 MESSAGEHEADER, 4777 /** 4778 * 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. 4779 */ 4780 NAMINGSYSTEM, 4781 /** 4782 * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. 4783 */ 4784 NUTRITIONORDER, 4785 /** 4786 * Measurements and simple assertions made about a patient, device or other subject. 4787 */ 4788 OBSERVATION, 4789 /** 4790 * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). 4791 */ 4792 OPERATIONDEFINITION, 4793 /** 4794 * A collection of error, warning or information messages that result from a system action. 4795 */ 4796 OPERATIONOUTCOME, 4797 /** 4798 * A request to perform an action. 4799 */ 4800 ORDER, 4801 /** 4802 * A response to an order. 4803 */ 4804 ORDERRESPONSE, 4805 /** 4806 * 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. 4807 */ 4808 ORGANIZATION, 4809 /** 4810 * 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. 4811 */ 4812 PARAMETERS, 4813 /** 4814 * Demographics and other administrative information about an individual or animal receiving care or other health-related services. 4815 */ 4816 PATIENT, 4817 /** 4818 * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. 4819 */ 4820 PAYMENTNOTICE, 4821 /** 4822 * This resource provides payment details and claim references supporting a bulk payment. 4823 */ 4824 PAYMENTRECONCILIATION, 4825 /** 4826 * Demographics and administrative information about a person independent of a specific health-related context. 4827 */ 4828 PERSON, 4829 /** 4830 * A person who is directly or indirectly involved in the provisioning of healthcare. 4831 */ 4832 PRACTITIONER, 4833 /** 4834 * 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. 4835 */ 4836 PROCEDURE, 4837 /** 4838 * A request for a procedure to be performed. May be a proposal or an order. 4839 */ 4840 PROCEDUREREQUEST, 4841 /** 4842 * 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. 4843 */ 4844 PROCESSREQUEST, 4845 /** 4846 * This resource provides processing status, errors and notes from the processing of a resource. 4847 */ 4848 PROCESSRESPONSE, 4849 /** 4850 * 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. 4851 */ 4852 PROVENANCE, 4853 /** 4854 * 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. 4855 */ 4856 QUESTIONNAIRE, 4857 /** 4858 * 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. 4859 */ 4860 QUESTIONNAIRERESPONSE, 4861 /** 4862 * 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. 4863 */ 4864 REFERRALREQUEST, 4865 /** 4866 * 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. 4867 */ 4868 RELATEDPERSON, 4869 /** 4870 * --- Abstract Type! ---This is the base resource type for everything. 4871 */ 4872 RESOURCE, 4873 /** 4874 * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. 4875 */ 4876 RISKASSESSMENT, 4877 /** 4878 * A container for slot(s) of time that may be available for booking appointments. 4879 */ 4880 SCHEDULE, 4881 /** 4882 * A search parameter that defines a named search item that can be used to search/filter on a resource. 4883 */ 4884 SEARCHPARAMETER, 4885 /** 4886 * A slot of time on a schedule that may be available for booking appointments. 4887 */ 4888 SLOT, 4889 /** 4890 * A sample to be used for analysis. 4891 */ 4892 SPECIMEN, 4893 /** 4894 * 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. 4895 */ 4896 STRUCTUREDEFINITION, 4897 /** 4898 * 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. 4899 */ 4900 SUBSCRIPTION, 4901 /** 4902 * A homogeneous material with a definite composition. 4903 */ 4904 SUBSTANCE, 4905 /** 4906 * Record of delivery of what is supplied. 4907 */ 4908 SUPPLYDELIVERY, 4909 /** 4910 * A record of a request for a medication, substance or device used in the healthcare setting. 4911 */ 4912 SUPPLYREQUEST, 4913 /** 4914 * TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification. 4915 */ 4916 TESTSCRIPT, 4917 /** 4918 * A value set specifies a set of codes drawn from one or more code systems. 4919 */ 4920 VALUESET, 4921 /** 4922 * An authorization for the supply of glasses and/or contact lenses to a patient. 4923 */ 4924 VISIONPRESCRIPTION, 4925 /** 4926 * added to help the parsers 4927 */ 4928 NULL; 4929 public static ResourceType fromCode(String codeString) throws FHIRException { 4930 if (codeString == null || "".equals(codeString)) 4931 return null; 4932 if ("Account".equals(codeString)) 4933 return ACCOUNT; 4934 if ("AllergyIntolerance".equals(codeString)) 4935 return ALLERGYINTOLERANCE; 4936 if ("Appointment".equals(codeString)) 4937 return APPOINTMENT; 4938 if ("AppointmentResponse".equals(codeString)) 4939 return APPOINTMENTRESPONSE; 4940 if ("AuditEvent".equals(codeString)) 4941 return AUDITEVENT; 4942 if ("Basic".equals(codeString)) 4943 return BASIC; 4944 if ("Binary".equals(codeString)) 4945 return BINARY; 4946 if ("BodySite".equals(codeString)) 4947 return BODYSITE; 4948 if ("Bundle".equals(codeString)) 4949 return BUNDLE; 4950 if ("CarePlan".equals(codeString)) 4951 return CAREPLAN; 4952 if ("Claim".equals(codeString)) 4953 return CLAIM; 4954 if ("ClaimResponse".equals(codeString)) 4955 return CLAIMRESPONSE; 4956 if ("ClinicalImpression".equals(codeString)) 4957 return CLINICALIMPRESSION; 4958 if ("Communication".equals(codeString)) 4959 return COMMUNICATION; 4960 if ("CommunicationRequest".equals(codeString)) 4961 return COMMUNICATIONREQUEST; 4962 if ("Composition".equals(codeString)) 4963 return COMPOSITION; 4964 if ("ConceptMap".equals(codeString)) 4965 return CONCEPTMAP; 4966 if ("Condition".equals(codeString)) 4967 return CONDITION; 4968 if ("Conformance".equals(codeString)) 4969 return CONFORMANCE; 4970 if ("Contract".equals(codeString)) 4971 return CONTRACT; 4972 if ("Coverage".equals(codeString)) 4973 return COVERAGE; 4974 if ("DataElement".equals(codeString)) 4975 return DATAELEMENT; 4976 if ("DetectedIssue".equals(codeString)) 4977 return DETECTEDISSUE; 4978 if ("Device".equals(codeString)) 4979 return DEVICE; 4980 if ("DeviceComponent".equals(codeString)) 4981 return DEVICECOMPONENT; 4982 if ("DeviceMetric".equals(codeString)) 4983 return DEVICEMETRIC; 4984 if ("DeviceUseRequest".equals(codeString)) 4985 return DEVICEUSEREQUEST; 4986 if ("DeviceUseStatement".equals(codeString)) 4987 return DEVICEUSESTATEMENT; 4988 if ("DiagnosticOrder".equals(codeString)) 4989 return DIAGNOSTICORDER; 4990 if ("DiagnosticReport".equals(codeString)) 4991 return DIAGNOSTICREPORT; 4992 if ("DocumentManifest".equals(codeString)) 4993 return DOCUMENTMANIFEST; 4994 if ("DocumentReference".equals(codeString)) 4995 return DOCUMENTREFERENCE; 4996 if ("DomainResource".equals(codeString)) 4997 return DOMAINRESOURCE; 4998 if ("EligibilityRequest".equals(codeString)) 4999 return ELIGIBILITYREQUEST; 5000 if ("EligibilityResponse".equals(codeString)) 5001 return ELIGIBILITYRESPONSE; 5002 if ("Encounter".equals(codeString)) 5003 return ENCOUNTER; 5004 if ("EnrollmentRequest".equals(codeString)) 5005 return ENROLLMENTREQUEST; 5006 if ("EnrollmentResponse".equals(codeString)) 5007 return ENROLLMENTRESPONSE; 5008 if ("EpisodeOfCare".equals(codeString)) 5009 return EPISODEOFCARE; 5010 if ("ExplanationOfBenefit".equals(codeString)) 5011 return EXPLANATIONOFBENEFIT; 5012 if ("FamilyMemberHistory".equals(codeString)) 5013 return FAMILYMEMBERHISTORY; 5014 if ("Flag".equals(codeString)) 5015 return FLAG; 5016 if ("Goal".equals(codeString)) 5017 return GOAL; 5018 if ("Group".equals(codeString)) 5019 return GROUP; 5020 if ("HealthcareService".equals(codeString)) 5021 return HEALTHCARESERVICE; 5022 if ("ImagingObjectSelection".equals(codeString)) 5023 return IMAGINGOBJECTSELECTION; 5024 if ("ImagingStudy".equals(codeString)) 5025 return IMAGINGSTUDY; 5026 if ("Immunization".equals(codeString)) 5027 return IMMUNIZATION; 5028 if ("ImmunizationRecommendation".equals(codeString)) 5029 return IMMUNIZATIONRECOMMENDATION; 5030 if ("ImplementationGuide".equals(codeString)) 5031 return IMPLEMENTATIONGUIDE; 5032 if ("List".equals(codeString)) 5033 return LIST; 5034 if ("Location".equals(codeString)) 5035 return LOCATION; 5036 if ("Media".equals(codeString)) 5037 return MEDIA; 5038 if ("Medication".equals(codeString)) 5039 return MEDICATION; 5040 if ("MedicationAdministration".equals(codeString)) 5041 return MEDICATIONADMINISTRATION; 5042 if ("MedicationDispense".equals(codeString)) 5043 return MEDICATIONDISPENSE; 5044 if ("MedicationOrder".equals(codeString)) 5045 return MEDICATIONORDER; 5046 if ("MedicationStatement".equals(codeString)) 5047 return MEDICATIONSTATEMENT; 5048 if ("MessageHeader".equals(codeString)) 5049 return MESSAGEHEADER; 5050 if ("NamingSystem".equals(codeString)) 5051 return NAMINGSYSTEM; 5052 if ("NutritionOrder".equals(codeString)) 5053 return NUTRITIONORDER; 5054 if ("Observation".equals(codeString)) 5055 return OBSERVATION; 5056 if ("OperationDefinition".equals(codeString)) 5057 return OPERATIONDEFINITION; 5058 if ("OperationOutcome".equals(codeString)) 5059 return OPERATIONOUTCOME; 5060 if ("Order".equals(codeString)) 5061 return ORDER; 5062 if ("OrderResponse".equals(codeString)) 5063 return ORDERRESPONSE; 5064 if ("Organization".equals(codeString)) 5065 return ORGANIZATION; 5066 if ("Parameters".equals(codeString)) 5067 return PARAMETERS; 5068 if ("Patient".equals(codeString)) 5069 return PATIENT; 5070 if ("PaymentNotice".equals(codeString)) 5071 return PAYMENTNOTICE; 5072 if ("PaymentReconciliation".equals(codeString)) 5073 return PAYMENTRECONCILIATION; 5074 if ("Person".equals(codeString)) 5075 return PERSON; 5076 if ("Practitioner".equals(codeString)) 5077 return PRACTITIONER; 5078 if ("Procedure".equals(codeString)) 5079 return PROCEDURE; 5080 if ("ProcedureRequest".equals(codeString)) 5081 return PROCEDUREREQUEST; 5082 if ("ProcessRequest".equals(codeString)) 5083 return PROCESSREQUEST; 5084 if ("ProcessResponse".equals(codeString)) 5085 return PROCESSRESPONSE; 5086 if ("Provenance".equals(codeString)) 5087 return PROVENANCE; 5088 if ("Questionnaire".equals(codeString)) 5089 return QUESTIONNAIRE; 5090 if ("QuestionnaireResponse".equals(codeString)) 5091 return QUESTIONNAIRERESPONSE; 5092 if ("ReferralRequest".equals(codeString)) 5093 return REFERRALREQUEST; 5094 if ("RelatedPerson".equals(codeString)) 5095 return RELATEDPERSON; 5096 if ("Resource".equals(codeString)) 5097 return RESOURCE; 5098 if ("RiskAssessment".equals(codeString)) 5099 return RISKASSESSMENT; 5100 if ("Schedule".equals(codeString)) 5101 return SCHEDULE; 5102 if ("SearchParameter".equals(codeString)) 5103 return SEARCHPARAMETER; 5104 if ("Slot".equals(codeString)) 5105 return SLOT; 5106 if ("Specimen".equals(codeString)) 5107 return SPECIMEN; 5108 if ("StructureDefinition".equals(codeString)) 5109 return STRUCTUREDEFINITION; 5110 if ("Subscription".equals(codeString)) 5111 return SUBSCRIPTION; 5112 if ("Substance".equals(codeString)) 5113 return SUBSTANCE; 5114 if ("SupplyDelivery".equals(codeString)) 5115 return SUPPLYDELIVERY; 5116 if ("SupplyRequest".equals(codeString)) 5117 return SUPPLYREQUEST; 5118 if ("TestScript".equals(codeString)) 5119 return TESTSCRIPT; 5120 if ("ValueSet".equals(codeString)) 5121 return VALUESET; 5122 if ("VisionPrescription".equals(codeString)) 5123 return VISIONPRESCRIPTION; 5124 throw new FHIRException("Unknown ResourceType code '"+codeString+"'"); 5125 } 5126 public String toCode() { 5127 switch (this) { 5128 case ACCOUNT: return "Account"; 5129 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 5130 case APPOINTMENT: return "Appointment"; 5131 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 5132 case AUDITEVENT: return "AuditEvent"; 5133 case BASIC: return "Basic"; 5134 case BINARY: return "Binary"; 5135 case BODYSITE: return "BodySite"; 5136 case BUNDLE: return "Bundle"; 5137 case CAREPLAN: return "CarePlan"; 5138 case CLAIM: return "Claim"; 5139 case CLAIMRESPONSE: return "ClaimResponse"; 5140 case CLINICALIMPRESSION: return "ClinicalImpression"; 5141 case COMMUNICATION: return "Communication"; 5142 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 5143 case COMPOSITION: return "Composition"; 5144 case CONCEPTMAP: return "ConceptMap"; 5145 case CONDITION: return "Condition"; 5146 case CONFORMANCE: return "Conformance"; 5147 case CONTRACT: return "Contract"; 5148 case COVERAGE: return "Coverage"; 5149 case DATAELEMENT: return "DataElement"; 5150 case DETECTEDISSUE: return "DetectedIssue"; 5151 case DEVICE: return "Device"; 5152 case DEVICECOMPONENT: return "DeviceComponent"; 5153 case DEVICEMETRIC: return "DeviceMetric"; 5154 case DEVICEUSEREQUEST: return "DeviceUseRequest"; 5155 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 5156 case DIAGNOSTICORDER: return "DiagnosticOrder"; 5157 case DIAGNOSTICREPORT: return "DiagnosticReport"; 5158 case DOCUMENTMANIFEST: return "DocumentManifest"; 5159 case DOCUMENTREFERENCE: return "DocumentReference"; 5160 case DOMAINRESOURCE: return "DomainResource"; 5161 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 5162 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 5163 case ENCOUNTER: return "Encounter"; 5164 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 5165 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 5166 case EPISODEOFCARE: return "EpisodeOfCare"; 5167 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 5168 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 5169 case FLAG: return "Flag"; 5170 case GOAL: return "Goal"; 5171 case GROUP: return "Group"; 5172 case HEALTHCARESERVICE: return "HealthcareService"; 5173 case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection"; 5174 case IMAGINGSTUDY: return "ImagingStudy"; 5175 case IMMUNIZATION: return "Immunization"; 5176 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 5177 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 5178 case LIST: return "List"; 5179 case LOCATION: return "Location"; 5180 case MEDIA: return "Media"; 5181 case MEDICATION: return "Medication"; 5182 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 5183 case MEDICATIONDISPENSE: return "MedicationDispense"; 5184 case MEDICATIONORDER: return "MedicationOrder"; 5185 case MEDICATIONSTATEMENT: return "MedicationStatement"; 5186 case MESSAGEHEADER: return "MessageHeader"; 5187 case NAMINGSYSTEM: return "NamingSystem"; 5188 case NUTRITIONORDER: return "NutritionOrder"; 5189 case OBSERVATION: return "Observation"; 5190 case OPERATIONDEFINITION: return "OperationDefinition"; 5191 case OPERATIONOUTCOME: return "OperationOutcome"; 5192 case ORDER: return "Order"; 5193 case ORDERRESPONSE: return "OrderResponse"; 5194 case ORGANIZATION: return "Organization"; 5195 case PARAMETERS: return "Parameters"; 5196 case PATIENT: return "Patient"; 5197 case PAYMENTNOTICE: return "PaymentNotice"; 5198 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 5199 case PERSON: return "Person"; 5200 case PRACTITIONER: return "Practitioner"; 5201 case PROCEDURE: return "Procedure"; 5202 case PROCEDUREREQUEST: return "ProcedureRequest"; 5203 case PROCESSREQUEST: return "ProcessRequest"; 5204 case PROCESSRESPONSE: return "ProcessResponse"; 5205 case PROVENANCE: return "Provenance"; 5206 case QUESTIONNAIRE: return "Questionnaire"; 5207 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 5208 case REFERRALREQUEST: return "ReferralRequest"; 5209 case RELATEDPERSON: return "RelatedPerson"; 5210 case RESOURCE: return "Resource"; 5211 case RISKASSESSMENT: return "RiskAssessment"; 5212 case SCHEDULE: return "Schedule"; 5213 case SEARCHPARAMETER: return "SearchParameter"; 5214 case SLOT: return "Slot"; 5215 case SPECIMEN: return "Specimen"; 5216 case STRUCTUREDEFINITION: return "StructureDefinition"; 5217 case SUBSCRIPTION: return "Subscription"; 5218 case SUBSTANCE: return "Substance"; 5219 case SUPPLYDELIVERY: return "SupplyDelivery"; 5220 case SUPPLYREQUEST: return "SupplyRequest"; 5221 case TESTSCRIPT: return "TestScript"; 5222 case VALUESET: return "ValueSet"; 5223 case VISIONPRESCRIPTION: return "VisionPrescription"; 5224 default: return "?"; 5225 } 5226 } 5227 public String getSystem() { 5228 switch (this) { 5229 case ACCOUNT: return "http://hl7.org/fhir/resource-types"; 5230 case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; 5231 case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; 5232 case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 5233 case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; 5234 case BASIC: return "http://hl7.org/fhir/resource-types"; 5235 case BINARY: return "http://hl7.org/fhir/resource-types"; 5236 case BODYSITE: return "http://hl7.org/fhir/resource-types"; 5237 case BUNDLE: return "http://hl7.org/fhir/resource-types"; 5238 case CAREPLAN: return "http://hl7.org/fhir/resource-types"; 5239 case CLAIM: return "http://hl7.org/fhir/resource-types"; 5240 case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; 5241 case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; 5242 case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; 5243 case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; 5244 case COMPOSITION: return "http://hl7.org/fhir/resource-types"; 5245 case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; 5246 case CONDITION: return "http://hl7.org/fhir/resource-types"; 5247 case CONFORMANCE: return "http://hl7.org/fhir/resource-types"; 5248 case CONTRACT: return "http://hl7.org/fhir/resource-types"; 5249 case COVERAGE: return "http://hl7.org/fhir/resource-types"; 5250 case DATAELEMENT: return "http://hl7.org/fhir/resource-types"; 5251 case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; 5252 case DEVICE: return "http://hl7.org/fhir/resource-types"; 5253 case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types"; 5254 case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; 5255 case DEVICEUSEREQUEST: return "http://hl7.org/fhir/resource-types"; 5256 case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types"; 5257 case DIAGNOSTICORDER: return "http://hl7.org/fhir/resource-types"; 5258 case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; 5259 case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; 5260 case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; 5261 case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; 5262 case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; 5263 case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; 5264 case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; 5265 case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; 5266 case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; 5267 case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; 5268 case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; 5269 case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; 5270 case FLAG: return "http://hl7.org/fhir/resource-types"; 5271 case GOAL: return "http://hl7.org/fhir/resource-types"; 5272 case GROUP: return "http://hl7.org/fhir/resource-types"; 5273 case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; 5274 case IMAGINGOBJECTSELECTION: return "http://hl7.org/fhir/resource-types"; 5275 case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; 5276 case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; 5277 case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; 5278 case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; 5279 case LIST: return "http://hl7.org/fhir/resource-types"; 5280 case LOCATION: return "http://hl7.org/fhir/resource-types"; 5281 case MEDIA: return "http://hl7.org/fhir/resource-types"; 5282 case MEDICATION: return "http://hl7.org/fhir/resource-types"; 5283 case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; 5284 case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; 5285 case MEDICATIONORDER: return "http://hl7.org/fhir/resource-types"; 5286 case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types"; 5287 case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; 5288 case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; 5289 case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; 5290 case OBSERVATION: return "http://hl7.org/fhir/resource-types"; 5291 case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; 5292 case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; 5293 case ORDER: return "http://hl7.org/fhir/resource-types"; 5294 case ORDERRESPONSE: return "http://hl7.org/fhir/resource-types"; 5295 case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; 5296 case PARAMETERS: return "http://hl7.org/fhir/resource-types"; 5297 case PATIENT: return "http://hl7.org/fhir/resource-types"; 5298 case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; 5299 case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; 5300 case PERSON: return "http://hl7.org/fhir/resource-types"; 5301 case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; 5302 case PROCEDURE: return "http://hl7.org/fhir/resource-types"; 5303 case PROCEDUREREQUEST: return "http://hl7.org/fhir/resource-types"; 5304 case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types"; 5305 case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types"; 5306 case PROVENANCE: return "http://hl7.org/fhir/resource-types"; 5307 case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; 5308 case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; 5309 case REFERRALREQUEST: return "http://hl7.org/fhir/resource-types"; 5310 case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; 5311 case RESOURCE: return "http://hl7.org/fhir/resource-types"; 5312 case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; 5313 case SCHEDULE: return "http://hl7.org/fhir/resource-types"; 5314 case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; 5315 case SLOT: return "http://hl7.org/fhir/resource-types"; 5316 case SPECIMEN: return "http://hl7.org/fhir/resource-types"; 5317 case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; 5318 case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; 5319 case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; 5320 case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; 5321 case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; 5322 case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; 5323 case VALUESET: return "http://hl7.org/fhir/resource-types"; 5324 case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; 5325 default: return "?"; 5326 } 5327 } 5328 public String getDefinition() { 5329 switch (this) { 5330 case ACCOUNT: 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."; 5331 case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; 5332 case APPOINTMENT: 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)."; 5333 case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; 5334 case AUDITEVENT: 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."; 5335 case BASIC: 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."; 5336 case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc."; 5337 case BODYSITE: 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."; 5338 case BUNDLE: return "A container for a collection of resources."; 5339 case CAREPLAN: 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."; 5340 case CLAIM: 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."; 5341 case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; 5342 case CLINICALIMPRESSION: 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."; 5343 case COMMUNICATION: 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."; 5344 case COMMUNICATIONREQUEST: 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."; 5345 case COMPOSITION: 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."; 5346 case CONCEPTMAP: 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."; 5347 case CONDITION: 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."; 5348 case CONFORMANCE: 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."; 5349 case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters."; 5350 case COVERAGE: return "Financial instrument which may be used to pay for or reimburse health care products and services."; 5351 case DATAELEMENT: return "The formal description of a single piece of information that can be gathered and reported."; 5352 case DETECTEDISSUE: 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."; 5353 case DEVICE: 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."; 5354 case DEVICECOMPONENT: return "Describes the characteristics, operational status and capabilities of a medical-related component of a medical device."; 5355 case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; 5356 case DEVICEUSEREQUEST: 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."; 5357 case DEVICEUSESTATEMENT: 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."; 5358 case DIAGNOSTICORDER: return "A record of a request for a diagnostic investigation service to be performed."; 5359 case DIAGNOSTICREPORT: 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."; 5360 case DOCUMENTMANIFEST: return "A manifest that defines a set of documents."; 5361 case DOCUMENTREFERENCE: return "A reference to a document ."; 5362 case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; 5363 case ELIGIBILITYREQUEST: return "This resource provides the insurance eligibility details from the insurer regarding a specified coverage and optionally some class of service."; 5364 case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource."; 5365 case ENCOUNTER: 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."; 5366 case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; 5367 case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource."; 5368 case EPISODEOFCARE: 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."; 5369 case EXPLANATIONOFBENEFIT: 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."; 5370 case FAMILYMEMBERHISTORY: return "Significant health events and conditions for a person related to the patient relevant in the context of care for the patient."; 5371 case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; 5372 case GOAL: 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."; 5373 case GROUP: 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."; 5374 case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; 5375 case IMAGINGOBJECTSELECTION: 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."; 5376 case IMAGINGSTUDY: 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."; 5377 case IMMUNIZATION: 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."; 5378 case IMMUNIZATIONRECOMMENDATION: 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."; 5379 case IMPLEMENTATIONGUIDE: 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."; 5380 case LIST: return "A set of information summarized from a list of other resources."; 5381 case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained or accommodated."; 5382 case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference."; 5383 case MEDICATION: return "This resource is primarily used for the identification and definition of a medication. It covers the ingredients and the packaging for a medication."; 5384 case MEDICATIONADMINISTRATION: 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."; 5385 case MEDICATIONDISPENSE: 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."; 5386 case MEDICATIONORDER: 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."; 5387 case MEDICATIONSTATEMENT: 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."; 5388 case MESSAGEHEADER: 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."; 5389 case NAMINGSYSTEM: 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."; 5390 case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; 5391 case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; 5392 case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; 5393 case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action."; 5394 case ORDER: return "A request to perform an action."; 5395 case ORDERRESPONSE: return "A response to an order."; 5396 case ORGANIZATION: 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."; 5397 case PARAMETERS: 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."; 5398 case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; 5399 case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; 5400 case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment."; 5401 case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; 5402 case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; 5403 case PROCEDURE: 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."; 5404 case PROCEDUREREQUEST: return "A request for a procedure to be performed. May be a proposal or an order."; 5405 case PROCESSREQUEST: 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."; 5406 case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource."; 5407 case PROVENANCE: 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."; 5408 case QUESTIONNAIRE: 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."; 5409 case QUESTIONNAIRERESPONSE: 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."; 5410 case REFERRALREQUEST: 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."; 5411 case RELATEDPERSON: 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."; 5412 case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; 5413 case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; 5414 case SCHEDULE: return "A container for slot(s) of time that may be available for booking appointments."; 5415 case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; 5416 case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; 5417 case SPECIMEN: return "A sample to be used for analysis."; 5418 case STRUCTUREDEFINITION: 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."; 5419 case SUBSCRIPTION: 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."; 5420 case SUBSTANCE: return "A homogeneous material with a definite composition."; 5421 case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; 5422 case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting."; 5423 case TESTSCRIPT: return "TestScript is a resource that specifies a suite of tests against a FHIR server implementation to determine compliance against the FHIR specification."; 5424 case VALUESET: return "A value set specifies a set of codes drawn from one or more code systems."; 5425 case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient."; 5426 default: return "?"; 5427 } 5428 } 5429 public String getDisplay() { 5430 switch (this) { 5431 case ACCOUNT: return "Account"; 5432 case ALLERGYINTOLERANCE: return "AllergyIntolerance"; 5433 case APPOINTMENT: return "Appointment"; 5434 case APPOINTMENTRESPONSE: return "AppointmentResponse"; 5435 case AUDITEVENT: return "AuditEvent"; 5436 case BASIC: return "Basic"; 5437 case BINARY: return "Binary"; 5438 case BODYSITE: return "BodySite"; 5439 case BUNDLE: return "Bundle"; 5440 case CAREPLAN: return "CarePlan"; 5441 case CLAIM: return "Claim"; 5442 case CLAIMRESPONSE: return "ClaimResponse"; 5443 case CLINICALIMPRESSION: return "ClinicalImpression"; 5444 case COMMUNICATION: return "Communication"; 5445 case COMMUNICATIONREQUEST: return "CommunicationRequest"; 5446 case COMPOSITION: return "Composition"; 5447 case CONCEPTMAP: return "ConceptMap"; 5448 case CONDITION: return "Condition"; 5449 case CONFORMANCE: return "Conformance"; 5450 case CONTRACT: return "Contract"; 5451 case COVERAGE: return "Coverage"; 5452 case DATAELEMENT: return "DataElement"; 5453 case DETECTEDISSUE: return "DetectedIssue"; 5454 case DEVICE: return "Device"; 5455 case DEVICECOMPONENT: return "DeviceComponent"; 5456 case DEVICEMETRIC: return "DeviceMetric"; 5457 case DEVICEUSEREQUEST: return "DeviceUseRequest"; 5458 case DEVICEUSESTATEMENT: return "DeviceUseStatement"; 5459 case DIAGNOSTICORDER: return "DiagnosticOrder"; 5460 case DIAGNOSTICREPORT: return "DiagnosticReport"; 5461 case DOCUMENTMANIFEST: return "DocumentManifest"; 5462 case DOCUMENTREFERENCE: return "DocumentReference"; 5463 case DOMAINRESOURCE: return "DomainResource"; 5464 case ELIGIBILITYREQUEST: return "EligibilityRequest"; 5465 case ELIGIBILITYRESPONSE: return "EligibilityResponse"; 5466 case ENCOUNTER: return "Encounter"; 5467 case ENROLLMENTREQUEST: return "EnrollmentRequest"; 5468 case ENROLLMENTRESPONSE: return "EnrollmentResponse"; 5469 case EPISODEOFCARE: return "EpisodeOfCare"; 5470 case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; 5471 case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; 5472 case FLAG: return "Flag"; 5473 case GOAL: return "Goal"; 5474 case GROUP: return "Group"; 5475 case HEALTHCARESERVICE: return "HealthcareService"; 5476 case IMAGINGOBJECTSELECTION: return "ImagingObjectSelection"; 5477 case IMAGINGSTUDY: return "ImagingStudy"; 5478 case IMMUNIZATION: return "Immunization"; 5479 case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; 5480 case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; 5481 case LIST: return "List"; 5482 case LOCATION: return "Location"; 5483 case MEDIA: return "Media"; 5484 case MEDICATION: return "Medication"; 5485 case MEDICATIONADMINISTRATION: return "MedicationAdministration"; 5486 case MEDICATIONDISPENSE: return "MedicationDispense"; 5487 case MEDICATIONORDER: return "MedicationOrder"; 5488 case MEDICATIONSTATEMENT: return "MedicationStatement"; 5489 case MESSAGEHEADER: return "MessageHeader"; 5490 case NAMINGSYSTEM: return "NamingSystem"; 5491 case NUTRITIONORDER: return "NutritionOrder"; 5492 case OBSERVATION: return "Observation"; 5493 case OPERATIONDEFINITION: return "OperationDefinition"; 5494 case OPERATIONOUTCOME: return "OperationOutcome"; 5495 case ORDER: return "Order"; 5496 case ORDERRESPONSE: return "OrderResponse"; 5497 case ORGANIZATION: return "Organization"; 5498 case PARAMETERS: return "Parameters"; 5499 case PATIENT: return "Patient"; 5500 case PAYMENTNOTICE: return "PaymentNotice"; 5501 case PAYMENTRECONCILIATION: return "PaymentReconciliation"; 5502 case PERSON: return "Person"; 5503 case PRACTITIONER: return "Practitioner"; 5504 case PROCEDURE: return "Procedure"; 5505 case PROCEDUREREQUEST: return "ProcedureRequest"; 5506 case PROCESSREQUEST: return "ProcessRequest"; 5507 case PROCESSRESPONSE: return "ProcessResponse"; 5508 case PROVENANCE: return "Provenance"; 5509 case QUESTIONNAIRE: return "Questionnaire"; 5510 case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; 5511 case REFERRALREQUEST: return "ReferralRequest"; 5512 case RELATEDPERSON: return "RelatedPerson"; 5513 case RESOURCE: return "Resource"; 5514 case RISKASSESSMENT: return "RiskAssessment"; 5515 case SCHEDULE: return "Schedule"; 5516 case SEARCHPARAMETER: return "SearchParameter"; 5517 case SLOT: return "Slot"; 5518 case SPECIMEN: return "Specimen"; 5519 case STRUCTUREDEFINITION: return "StructureDefinition"; 5520 case SUBSCRIPTION: return "Subscription"; 5521 case SUBSTANCE: return "Substance"; 5522 case SUPPLYDELIVERY: return "SupplyDelivery"; 5523 case SUPPLYREQUEST: return "SupplyRequest"; 5524 case TESTSCRIPT: return "TestScript"; 5525 case VALUESET: return "ValueSet"; 5526 case VISIONPRESCRIPTION: return "VisionPrescription"; 5527 default: return "?"; 5528 } 5529 } 5530 } 5531 5532 public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> { 5533 public ResourceType fromCode(String codeString) throws IllegalArgumentException { 5534 if (codeString == null || "".equals(codeString)) 5535 if (codeString == null || "".equals(codeString)) 5536 return null; 5537 if ("Account".equals(codeString)) 5538 return ResourceType.ACCOUNT; 5539 if ("AllergyIntolerance".equals(codeString)) 5540 return ResourceType.ALLERGYINTOLERANCE; 5541 if ("Appointment".equals(codeString)) 5542 return ResourceType.APPOINTMENT; 5543 if ("AppointmentResponse".equals(codeString)) 5544 return ResourceType.APPOINTMENTRESPONSE; 5545 if ("AuditEvent".equals(codeString)) 5546 return ResourceType.AUDITEVENT; 5547 if ("Basic".equals(codeString)) 5548 return ResourceType.BASIC; 5549 if ("Binary".equals(codeString)) 5550 return ResourceType.BINARY; 5551 if ("BodySite".equals(codeString)) 5552 return ResourceType.BODYSITE; 5553 if ("Bundle".equals(codeString)) 5554 return ResourceType.BUNDLE; 5555 if ("CarePlan".equals(codeString)) 5556 return ResourceType.CAREPLAN; 5557 if ("Claim".equals(codeString)) 5558 return ResourceType.CLAIM; 5559 if ("ClaimResponse".equals(codeString)) 5560 return ResourceType.CLAIMRESPONSE; 5561 if ("ClinicalImpression".equals(codeString)) 5562 return ResourceType.CLINICALIMPRESSION; 5563 if ("Communication".equals(codeString)) 5564 return ResourceType.COMMUNICATION; 5565 if ("CommunicationRequest".equals(codeString)) 5566 return ResourceType.COMMUNICATIONREQUEST; 5567 if ("Composition".equals(codeString)) 5568 return ResourceType.COMPOSITION; 5569 if ("ConceptMap".equals(codeString)) 5570 return ResourceType.CONCEPTMAP; 5571 if ("Condition".equals(codeString)) 5572 return ResourceType.CONDITION; 5573 if ("Conformance".equals(codeString)) 5574 return ResourceType.CONFORMANCE; 5575 if ("Contract".equals(codeString)) 5576 return ResourceType.CONTRACT; 5577 if ("Coverage".equals(codeString)) 5578 return ResourceType.COVERAGE; 5579 if ("DataElement".equals(codeString)) 5580 return ResourceType.DATAELEMENT; 5581 if ("DetectedIssue".equals(codeString)) 5582 return ResourceType.DETECTEDISSUE; 5583 if ("Device".equals(codeString)) 5584 return ResourceType.DEVICE; 5585 if ("DeviceComponent".equals(codeString)) 5586 return ResourceType.DEVICECOMPONENT; 5587 if ("DeviceMetric".equals(codeString)) 5588 return ResourceType.DEVICEMETRIC; 5589 if ("DeviceUseRequest".equals(codeString)) 5590 return ResourceType.DEVICEUSEREQUEST; 5591 if ("DeviceUseStatement".equals(codeString)) 5592 return ResourceType.DEVICEUSESTATEMENT; 5593 if ("DiagnosticOrder".equals(codeString)) 5594 return ResourceType.DIAGNOSTICORDER; 5595 if ("DiagnosticReport".equals(codeString)) 5596 return ResourceType.DIAGNOSTICREPORT; 5597 if ("DocumentManifest".equals(codeString)) 5598 return ResourceType.DOCUMENTMANIFEST; 5599 if ("DocumentReference".equals(codeString)) 5600 return ResourceType.DOCUMENTREFERENCE; 5601 if ("DomainResource".equals(codeString)) 5602 return ResourceType.DOMAINRESOURCE; 5603 if ("EligibilityRequest".equals(codeString)) 5604 return ResourceType.ELIGIBILITYREQUEST; 5605 if ("EligibilityResponse".equals(codeString)) 5606 return ResourceType.ELIGIBILITYRESPONSE; 5607 if ("Encounter".equals(codeString)) 5608 return ResourceType.ENCOUNTER; 5609 if ("EnrollmentRequest".equals(codeString)) 5610 return ResourceType.ENROLLMENTREQUEST; 5611 if ("EnrollmentResponse".equals(codeString)) 5612 return ResourceType.ENROLLMENTRESPONSE; 5613 if ("EpisodeOfCare".equals(codeString)) 5614 return ResourceType.EPISODEOFCARE; 5615 if ("ExplanationOfBenefit".equals(codeString)) 5616 return ResourceType.EXPLANATIONOFBENEFIT; 5617 if ("FamilyMemberHistory".equals(codeString)) 5618 return ResourceType.FAMILYMEMBERHISTORY; 5619 if ("Flag".equals(codeString)) 5620 return ResourceType.FLAG; 5621 if ("Goal".equals(codeString)) 5622 return ResourceType.GOAL; 5623 if ("Group".equals(codeString)) 5624 return ResourceType.GROUP; 5625 if ("HealthcareService".equals(codeString)) 5626 return ResourceType.HEALTHCARESERVICE; 5627 if ("ImagingObjectSelection".equals(codeString)) 5628 return ResourceType.IMAGINGOBJECTSELECTION; 5629 if ("ImagingStudy".equals(codeString)) 5630 return ResourceType.IMAGINGSTUDY; 5631 if ("Immunization".equals(codeString)) 5632 return ResourceType.IMMUNIZATION; 5633 if ("ImmunizationRecommendation".equals(codeString)) 5634 return ResourceType.IMMUNIZATIONRECOMMENDATION; 5635 if ("ImplementationGuide".equals(codeString)) 5636 return ResourceType.IMPLEMENTATIONGUIDE; 5637 if ("List".equals(codeString)) 5638 return ResourceType.LIST; 5639 if ("Location".equals(codeString)) 5640 return ResourceType.LOCATION; 5641 if ("Media".equals(codeString)) 5642 return ResourceType.MEDIA; 5643 if ("Medication".equals(codeString)) 5644 return ResourceType.MEDICATION; 5645 if ("MedicationAdministration".equals(codeString)) 5646 return ResourceType.MEDICATIONADMINISTRATION; 5647 if ("MedicationDispense".equals(codeString)) 5648 return ResourceType.MEDICATIONDISPENSE; 5649 if ("MedicationOrder".equals(codeString)) 5650 return ResourceType.MEDICATIONORDER; 5651 if ("MedicationStatement".equals(codeString)) 5652 return ResourceType.MEDICATIONSTATEMENT; 5653 if ("MessageHeader".equals(codeString)) 5654 return ResourceType.MESSAGEHEADER; 5655 if ("NamingSystem".equals(codeString)) 5656 return ResourceType.NAMINGSYSTEM; 5657 if ("NutritionOrder".equals(codeString)) 5658 return ResourceType.NUTRITIONORDER; 5659 if ("Observation".equals(codeString)) 5660 return ResourceType.OBSERVATION; 5661 if ("OperationDefinition".equals(codeString)) 5662 return ResourceType.OPERATIONDEFINITION; 5663 if ("OperationOutcome".equals(codeString)) 5664 return ResourceType.OPERATIONOUTCOME; 5665 if ("Order".equals(codeString)) 5666 return ResourceType.ORDER; 5667 if ("OrderResponse".equals(codeString)) 5668 return ResourceType.ORDERRESPONSE; 5669 if ("Organization".equals(codeString)) 5670 return ResourceType.ORGANIZATION; 5671 if ("Parameters".equals(codeString)) 5672 return ResourceType.PARAMETERS; 5673 if ("Patient".equals(codeString)) 5674 return ResourceType.PATIENT; 5675 if ("PaymentNotice".equals(codeString)) 5676 return ResourceType.PAYMENTNOTICE; 5677 if ("PaymentReconciliation".equals(codeString)) 5678 return ResourceType.PAYMENTRECONCILIATION; 5679 if ("Person".equals(codeString)) 5680 return ResourceType.PERSON; 5681 if ("Practitioner".equals(codeString)) 5682 return ResourceType.PRACTITIONER; 5683 if ("Procedure".equals(codeString)) 5684 return ResourceType.PROCEDURE; 5685 if ("ProcedureRequest".equals(codeString)) 5686 return ResourceType.PROCEDUREREQUEST; 5687 if ("ProcessRequest".equals(codeString)) 5688 return ResourceType.PROCESSREQUEST; 5689 if ("ProcessResponse".equals(codeString)) 5690 return ResourceType.PROCESSRESPONSE; 5691 if ("Provenance".equals(codeString)) 5692 return ResourceType.PROVENANCE; 5693 if ("Questionnaire".equals(codeString)) 5694 return ResourceType.QUESTIONNAIRE; 5695 if ("QuestionnaireResponse".equals(codeString)) 5696 return ResourceType.QUESTIONNAIRERESPONSE; 5697 if ("ReferralRequest".equals(codeString)) 5698 return ResourceType.REFERRALREQUEST; 5699 if ("RelatedPerson".equals(codeString)) 5700 return ResourceType.RELATEDPERSON; 5701 if ("Resource".equals(codeString)) 5702 return ResourceType.RESOURCE; 5703 if ("RiskAssessment".equals(codeString)) 5704 return ResourceType.RISKASSESSMENT; 5705 if ("Schedule".equals(codeString)) 5706 return ResourceType.SCHEDULE; 5707 if ("SearchParameter".equals(codeString)) 5708 return ResourceType.SEARCHPARAMETER; 5709 if ("Slot".equals(codeString)) 5710 return ResourceType.SLOT; 5711 if ("Specimen".equals(codeString)) 5712 return ResourceType.SPECIMEN; 5713 if ("StructureDefinition".equals(codeString)) 5714 return ResourceType.STRUCTUREDEFINITION; 5715 if ("Subscription".equals(codeString)) 5716 return ResourceType.SUBSCRIPTION; 5717 if ("Substance".equals(codeString)) 5718 return ResourceType.SUBSTANCE; 5719 if ("SupplyDelivery".equals(codeString)) 5720 return ResourceType.SUPPLYDELIVERY; 5721 if ("SupplyRequest".equals(codeString)) 5722 return ResourceType.SUPPLYREQUEST; 5723 if ("TestScript".equals(codeString)) 5724 return ResourceType.TESTSCRIPT; 5725 if ("ValueSet".equals(codeString)) 5726 return ResourceType.VALUESET; 5727 if ("VisionPrescription".equals(codeString)) 5728 return ResourceType.VISIONPRESCRIPTION; 5729 throw new IllegalArgumentException("Unknown ResourceType code '"+codeString+"'"); 5730 } 5731 public Enumeration<ResourceType> fromType(Base code) throws FHIRException { 5732 if (code == null || code.isEmpty()) 5733 return null; 5734 String codeString = ((PrimitiveType) code).asStringValue(); 5735 if (codeString == null || "".equals(codeString)) 5736 return null; 5737 if ("Account".equals(codeString)) 5738 return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT); 5739 if ("AllergyIntolerance".equals(codeString)) 5740 return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE); 5741 if ("Appointment".equals(codeString)) 5742 return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT); 5743 if ("AppointmentResponse".equals(codeString)) 5744 return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE); 5745 if ("AuditEvent".equals(codeString)) 5746 return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT); 5747 if ("Basic".equals(codeString)) 5748 return new Enumeration<ResourceType>(this, ResourceType.BASIC); 5749 if ("Binary".equals(codeString)) 5750 return new Enumeration<ResourceType>(this, ResourceType.BINARY); 5751 if ("BodySite".equals(codeString)) 5752 return new Enumeration<ResourceType>(this, ResourceType.BODYSITE); 5753 if ("Bundle".equals(codeString)) 5754 return new Enumeration<ResourceType>(this, ResourceType.BUNDLE); 5755 if ("CarePlan".equals(codeString)) 5756 return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN); 5757 if ("Claim".equals(codeString)) 5758 return new Enumeration<ResourceType>(this, ResourceType.CLAIM); 5759 if ("ClaimResponse".equals(codeString)) 5760 return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE); 5761 if ("ClinicalImpression".equals(codeString)) 5762 return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION); 5763 if ("Communication".equals(codeString)) 5764 return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION); 5765 if ("CommunicationRequest".equals(codeString)) 5766 return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST); 5767 if ("Composition".equals(codeString)) 5768 return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION); 5769 if ("ConceptMap".equals(codeString)) 5770 return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP); 5771 if ("Condition".equals(codeString)) 5772 return new Enumeration<ResourceType>(this, ResourceType.CONDITION); 5773 if ("Conformance".equals(codeString)) 5774 return new Enumeration<ResourceType>(this, ResourceType.CONFORMANCE); 5775 if ("Contract".equals(codeString)) 5776 return new Enumeration<ResourceType>(this, ResourceType.CONTRACT); 5777 if ("Coverage".equals(codeString)) 5778 return new Enumeration<ResourceType>(this, ResourceType.COVERAGE); 5779 if ("DataElement".equals(codeString)) 5780 return new Enumeration<ResourceType>(this, ResourceType.DATAELEMENT); 5781 if ("DetectedIssue".equals(codeString)) 5782 return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE); 5783 if ("Device".equals(codeString)) 5784 return new Enumeration<ResourceType>(this, ResourceType.DEVICE); 5785 if ("DeviceComponent".equals(codeString)) 5786 return new Enumeration<ResourceType>(this, ResourceType.DEVICECOMPONENT); 5787 if ("DeviceMetric".equals(codeString)) 5788 return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC); 5789 if ("DeviceUseRequest".equals(codeString)) 5790 return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSEREQUEST); 5791 if ("DeviceUseStatement".equals(codeString)) 5792 return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT); 5793 if ("DiagnosticOrder".equals(codeString)) 5794 return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICORDER); 5795 if ("DiagnosticReport".equals(codeString)) 5796 return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT); 5797 if ("DocumentManifest".equals(codeString)) 5798 return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST); 5799 if ("DocumentReference".equals(codeString)) 5800 return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE); 5801 if ("DomainResource".equals(codeString)) 5802 return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE); 5803 if ("EligibilityRequest".equals(codeString)) 5804 return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYREQUEST); 5805 if ("EligibilityResponse".equals(codeString)) 5806 return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYRESPONSE); 5807 if ("Encounter".equals(codeString)) 5808 return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER); 5809 if ("EnrollmentRequest".equals(codeString)) 5810 return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST); 5811 if ("EnrollmentResponse".equals(codeString)) 5812 return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE); 5813 if ("EpisodeOfCare".equals(codeString)) 5814 return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE); 5815 if ("ExplanationOfBenefit".equals(codeString)) 5816 return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT); 5817 if ("FamilyMemberHistory".equals(codeString)) 5818 return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY); 5819 if ("Flag".equals(codeString)) 5820 return new Enumeration<ResourceType>(this, ResourceType.FLAG); 5821 if ("Goal".equals(codeString)) 5822 return new Enumeration<ResourceType>(this, ResourceType.GOAL); 5823 if ("Group".equals(codeString)) 5824 return new Enumeration<ResourceType>(this, ResourceType.GROUP); 5825 if ("HealthcareService".equals(codeString)) 5826 return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE); 5827 if ("ImagingObjectSelection".equals(codeString)) 5828 return new Enumeration<ResourceType>(this, ResourceType.IMAGINGOBJECTSELECTION); 5829 if ("ImagingStudy".equals(codeString)) 5830 return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY); 5831 if ("Immunization".equals(codeString)) 5832 return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION); 5833 if ("ImmunizationRecommendation".equals(codeString)) 5834 return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION); 5835 if ("ImplementationGuide".equals(codeString)) 5836 return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE); 5837 if ("List".equals(codeString)) 5838 return new Enumeration<ResourceType>(this, ResourceType.LIST); 5839 if ("Location".equals(codeString)) 5840 return new Enumeration<ResourceType>(this, ResourceType.LOCATION); 5841 if ("Media".equals(codeString)) 5842 return new Enumeration<ResourceType>(this, ResourceType.MEDIA); 5843 if ("Medication".equals(codeString)) 5844 return new Enumeration<ResourceType>(this, ResourceType.MEDICATION); 5845 if ("MedicationAdministration".equals(codeString)) 5846 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION); 5847 if ("MedicationDispense".equals(codeString)) 5848 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE); 5849 if ("MedicationOrder".equals(codeString)) 5850 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONORDER); 5851 if ("MedicationStatement".equals(codeString)) 5852 return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT); 5853 if ("MessageHeader".equals(codeString)) 5854 return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER); 5855 if ("NamingSystem".equals(codeString)) 5856 return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM); 5857 if ("NutritionOrder".equals(codeString)) 5858 return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER); 5859 if ("Observation".equals(codeString)) 5860 return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION); 5861 if ("OperationDefinition".equals(codeString)) 5862 return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION); 5863 if ("OperationOutcome".equals(codeString)) 5864 return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME); 5865 if ("Order".equals(codeString)) 5866 return new Enumeration<ResourceType>(this, ResourceType.ORDER); 5867 if ("OrderResponse".equals(codeString)) 5868 return new Enumeration<ResourceType>(this, ResourceType.ORDERRESPONSE); 5869 if ("Organization".equals(codeString)) 5870 return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION); 5871 if ("Parameters".equals(codeString)) 5872 return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS); 5873 if ("Patient".equals(codeString)) 5874 return new Enumeration<ResourceType>(this, ResourceType.PATIENT); 5875 if ("PaymentNotice".equals(codeString)) 5876 return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE); 5877 if ("PaymentReconciliation".equals(codeString)) 5878 return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION); 5879 if ("Person".equals(codeString)) 5880 return new Enumeration<ResourceType>(this, ResourceType.PERSON); 5881 if ("Practitioner".equals(codeString)) 5882 return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER); 5883 if ("Procedure".equals(codeString)) 5884 return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE); 5885 if ("ProcedureRequest".equals(codeString)) 5886 return new Enumeration<ResourceType>(this, ResourceType.PROCEDUREREQUEST); 5887 if ("ProcessRequest".equals(codeString)) 5888 return new Enumeration<ResourceType>(this, ResourceType.PROCESSREQUEST); 5889 if ("ProcessResponse".equals(codeString)) 5890 return new Enumeration<ResourceType>(this, ResourceType.PROCESSRESPONSE); 5891 if ("Provenance".equals(codeString)) 5892 return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE); 5893 if ("Questionnaire".equals(codeString)) 5894 return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE); 5895 if ("QuestionnaireResponse".equals(codeString)) 5896 return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE); 5897 if ("ReferralRequest".equals(codeString)) 5898 return new Enumeration<ResourceType>(this, ResourceType.REFERRALREQUEST); 5899 if ("RelatedPerson".equals(codeString)) 5900 return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON); 5901 if ("Resource".equals(codeString)) 5902 return new Enumeration<ResourceType>(this, ResourceType.RESOURCE); 5903 if ("RiskAssessment".equals(codeString)) 5904 return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT); 5905 if ("Schedule".equals(codeString)) 5906 return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE); 5907 if ("SearchParameter".equals(codeString)) 5908 return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER); 5909 if ("Slot".equals(codeString)) 5910 return new Enumeration<ResourceType>(this, ResourceType.SLOT); 5911 if ("Specimen".equals(codeString)) 5912 return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN); 5913 if ("StructureDefinition".equals(codeString)) 5914 return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION); 5915 if ("Subscription".equals(codeString)) 5916 return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION); 5917 if ("Substance".equals(codeString)) 5918 return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE); 5919 if ("SupplyDelivery".equals(codeString)) 5920 return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY); 5921 if ("SupplyRequest".equals(codeString)) 5922 return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST); 5923 if ("TestScript".equals(codeString)) 5924 return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT); 5925 if ("ValueSet".equals(codeString)) 5926 return new Enumeration<ResourceType>(this, ResourceType.VALUESET); 5927 if ("VisionPrescription".equals(codeString)) 5928 return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION); 5929 throw new FHIRException("Unknown ResourceType code '"+codeString+"'"); 5930 } 5931 public String toCode(ResourceType code) { 5932 if (code == ResourceType.ACCOUNT) 5933 return "Account"; 5934 if (code == ResourceType.ALLERGYINTOLERANCE) 5935 return "AllergyIntolerance"; 5936 if (code == ResourceType.APPOINTMENT) 5937 return "Appointment"; 5938 if (code == ResourceType.APPOINTMENTRESPONSE) 5939 return "AppointmentResponse"; 5940 if (code == ResourceType.AUDITEVENT) 5941 return "AuditEvent"; 5942 if (code == ResourceType.BASIC) 5943 return "Basic"; 5944 if (code == ResourceType.BINARY) 5945 return "Binary"; 5946 if (code == ResourceType.BODYSITE) 5947 return "BodySite"; 5948 if (code == ResourceType.BUNDLE) 5949 return "Bundle"; 5950 if (code == ResourceType.CAREPLAN) 5951 return "CarePlan"; 5952 if (code == ResourceType.CLAIM) 5953 return "Claim"; 5954 if (code == ResourceType.CLAIMRESPONSE) 5955 return "ClaimResponse"; 5956 if (code == ResourceType.CLINICALIMPRESSION) 5957 return "ClinicalImpression"; 5958 if (code == ResourceType.COMMUNICATION) 5959 return "Communication"; 5960 if (code == ResourceType.COMMUNICATIONREQUEST) 5961 return "CommunicationRequest"; 5962 if (code == ResourceType.COMPOSITION) 5963 return "Composition"; 5964 if (code == ResourceType.CONCEPTMAP) 5965 return "ConceptMap"; 5966 if (code == ResourceType.CONDITION) 5967 return "Condition"; 5968 if (code == ResourceType.CONFORMANCE) 5969 return "Conformance"; 5970 if (code == ResourceType.CONTRACT) 5971 return "Contract"; 5972 if (code == ResourceType.COVERAGE) 5973 return "Coverage"; 5974 if (code == ResourceType.DATAELEMENT) 5975 return "DataElement"; 5976 if (code == ResourceType.DETECTEDISSUE) 5977 return "DetectedIssue"; 5978 if (code == ResourceType.DEVICE) 5979 return "Device"; 5980 if (code == ResourceType.DEVICECOMPONENT) 5981 return "DeviceComponent"; 5982 if (code == ResourceType.DEVICEMETRIC) 5983 return "DeviceMetric"; 5984 if (code == ResourceType.DEVICEUSEREQUEST) 5985 return "DeviceUseRequest"; 5986 if (code == ResourceType.DEVICEUSESTATEMENT) 5987 return "DeviceUseStatement"; 5988 if (code == ResourceType.DIAGNOSTICORDER) 5989 return "DiagnosticOrder"; 5990 if (code == ResourceType.DIAGNOSTICREPORT) 5991 return "DiagnosticReport"; 5992 if (code == ResourceType.DOCUMENTMANIFEST) 5993 return "DocumentManifest"; 5994 if (code == ResourceType.DOCUMENTREFERENCE) 5995 return "DocumentReference"; 5996 if (code == ResourceType.DOMAINRESOURCE) 5997 return "DomainResource"; 5998 if (code == ResourceType.ELIGIBILITYREQUEST) 5999 return "EligibilityRequest"; 6000 if (code == ResourceType.ELIGIBILITYRESPONSE) 6001 return "EligibilityResponse"; 6002 if (code == ResourceType.ENCOUNTER) 6003 return "Encounter"; 6004 if (code == ResourceType.ENROLLMENTREQUEST) 6005 return "EnrollmentRequest"; 6006 if (code == ResourceType.ENROLLMENTRESPONSE) 6007 return "EnrollmentResponse"; 6008 if (code == ResourceType.EPISODEOFCARE) 6009 return "EpisodeOfCare"; 6010 if (code == ResourceType.EXPLANATIONOFBENEFIT) 6011 return "ExplanationOfBenefit"; 6012 if (code == ResourceType.FAMILYMEMBERHISTORY) 6013 return "FamilyMemberHistory"; 6014 if (code == ResourceType.FLAG) 6015 return "Flag"; 6016 if (code == ResourceType.GOAL) 6017 return "Goal"; 6018 if (code == ResourceType.GROUP) 6019 return "Group"; 6020 if (code == ResourceType.HEALTHCARESERVICE) 6021 return "HealthcareService"; 6022 if (code == ResourceType.IMAGINGOBJECTSELECTION) 6023 return "ImagingObjectSelection"; 6024 if (code == ResourceType.IMAGINGSTUDY) 6025 return "ImagingStudy"; 6026 if (code == ResourceType.IMMUNIZATION) 6027 return "Immunization"; 6028 if (code == ResourceType.IMMUNIZATIONRECOMMENDATION) 6029 return "ImmunizationRecommendation"; 6030 if (code == ResourceType.IMPLEMENTATIONGUIDE) 6031 return "ImplementationGuide"; 6032 if (code == ResourceType.LIST) 6033 return "List"; 6034 if (code == ResourceType.LOCATION) 6035 return "Location"; 6036 if (code == ResourceType.MEDIA) 6037 return "Media"; 6038 if (code == ResourceType.MEDICATION) 6039 return "Medication"; 6040 if (code == ResourceType.MEDICATIONADMINISTRATION) 6041 return "MedicationAdministration"; 6042 if (code == ResourceType.MEDICATIONDISPENSE) 6043 return "MedicationDispense"; 6044 if (code == ResourceType.MEDICATIONORDER) 6045 return "MedicationOrder"; 6046 if (code == ResourceType.MEDICATIONSTATEMENT) 6047 return "MedicationStatement"; 6048 if (code == ResourceType.MESSAGEHEADER) 6049 return "MessageHeader"; 6050 if (code == ResourceType.NAMINGSYSTEM) 6051 return "NamingSystem"; 6052 if (code == ResourceType.NUTRITIONORDER) 6053 return "NutritionOrder"; 6054 if (code == ResourceType.OBSERVATION) 6055 return "Observation"; 6056 if (code == ResourceType.OPERATIONDEFINITION) 6057 return "OperationDefinition"; 6058 if (code == ResourceType.OPERATIONOUTCOME) 6059 return "OperationOutcome"; 6060 if (code == ResourceType.ORDER) 6061 return "Order"; 6062 if (code == ResourceType.ORDERRESPONSE) 6063 return "OrderResponse"; 6064 if (code == ResourceType.ORGANIZATION) 6065 return "Organization"; 6066 if (code == ResourceType.PARAMETERS) 6067 return "Parameters"; 6068 if (code == ResourceType.PATIENT) 6069 return "Patient"; 6070 if (code == ResourceType.PAYMENTNOTICE) 6071 return "PaymentNotice"; 6072 if (code == ResourceType.PAYMENTRECONCILIATION) 6073 return "PaymentReconciliation"; 6074 if (code == ResourceType.PERSON) 6075 return "Person"; 6076 if (code == ResourceType.PRACTITIONER) 6077 return "Practitioner"; 6078 if (code == ResourceType.PROCEDURE) 6079 return "Procedure"; 6080 if (code == ResourceType.PROCEDUREREQUEST) 6081 return "ProcedureRequest"; 6082 if (code == ResourceType.PROCESSREQUEST) 6083 return "ProcessRequest"; 6084 if (code == ResourceType.PROCESSRESPONSE) 6085 return "ProcessResponse"; 6086 if (code == ResourceType.PROVENANCE) 6087 return "Provenance"; 6088 if (code == ResourceType.QUESTIONNAIRE) 6089 return "Questionnaire"; 6090 if (code == ResourceType.QUESTIONNAIRERESPONSE) 6091 return "QuestionnaireResponse"; 6092 if (code == ResourceType.REFERRALREQUEST) 6093 return "ReferralRequest"; 6094 if (code == ResourceType.RELATEDPERSON) 6095 return "RelatedPerson"; 6096 if (code == ResourceType.RESOURCE) 6097 return "Resource"; 6098 if (code == ResourceType.RISKASSESSMENT) 6099 return "RiskAssessment"; 6100 if (code == ResourceType.SCHEDULE) 6101 return "Schedule"; 6102 if (code == ResourceType.SEARCHPARAMETER) 6103 return "SearchParameter"; 6104 if (code == ResourceType.SLOT) 6105 return "Slot"; 6106 if (code == ResourceType.SPECIMEN) 6107 return "Specimen"; 6108 if (code == ResourceType.STRUCTUREDEFINITION) 6109 return "StructureDefinition"; 6110 if (code == ResourceType.SUBSCRIPTION) 6111 return "Subscription"; 6112 if (code == ResourceType.SUBSTANCE) 6113 return "Substance"; 6114 if (code == ResourceType.SUPPLYDELIVERY) 6115 return "SupplyDelivery"; 6116 if (code == ResourceType.SUPPLYREQUEST) 6117 return "SupplyRequest"; 6118 if (code == ResourceType.TESTSCRIPT) 6119 return "TestScript"; 6120 if (code == ResourceType.VALUESET) 6121 return "ValueSet"; 6122 if (code == ResourceType.VISIONPRESCRIPTION) 6123 return "VisionPrescription"; 6124 return "?"; 6125 } 6126 } 6127 6128 public enum SearchParamType { 6129 /** 6130 * Search parameter SHALL be a number (a whole number, or a decimal). 6131 */ 6132 NUMBER, 6133 /** 6134 * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported. 6135 */ 6136 DATE, 6137 /** 6138 * 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. 6139 */ 6140 STRING, 6141 /** 6142 * 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. 6143 */ 6144 TOKEN, 6145 /** 6146 * A reference to another resource. 6147 */ 6148 REFERENCE, 6149 /** 6150 * A composite search parameter that combines a search on two values together. 6151 */ 6152 COMPOSITE, 6153 /** 6154 * A search parameter that searches on a quantity. 6155 */ 6156 QUANTITY, 6157 /** 6158 * A search parameter that searches on a URI (RFC 3986). 6159 */ 6160 URI, 6161 /** 6162 * added to help the parsers 6163 */ 6164 NULL; 6165 public static SearchParamType fromCode(String codeString) throws FHIRException { 6166 if (codeString == null || "".equals(codeString)) 6167 return null; 6168 if ("number".equals(codeString)) 6169 return NUMBER; 6170 if ("date".equals(codeString)) 6171 return DATE; 6172 if ("string".equals(codeString)) 6173 return STRING; 6174 if ("token".equals(codeString)) 6175 return TOKEN; 6176 if ("reference".equals(codeString)) 6177 return REFERENCE; 6178 if ("composite".equals(codeString)) 6179 return COMPOSITE; 6180 if ("quantity".equals(codeString)) 6181 return QUANTITY; 6182 if ("uri".equals(codeString)) 6183 return URI; 6184 throw new FHIRException("Unknown SearchParamType code '"+codeString+"'"); 6185 } 6186 public String toCode() { 6187 switch (this) { 6188 case NUMBER: return "number"; 6189 case DATE: return "date"; 6190 case STRING: return "string"; 6191 case TOKEN: return "token"; 6192 case REFERENCE: return "reference"; 6193 case COMPOSITE: return "composite"; 6194 case QUANTITY: return "quantity"; 6195 case URI: return "uri"; 6196 default: return "?"; 6197 } 6198 } 6199 public String getSystem() { 6200 switch (this) { 6201 case NUMBER: return "http://hl7.org/fhir/search-param-type"; 6202 case DATE: return "http://hl7.org/fhir/search-param-type"; 6203 case STRING: return "http://hl7.org/fhir/search-param-type"; 6204 case TOKEN: return "http://hl7.org/fhir/search-param-type"; 6205 case REFERENCE: return "http://hl7.org/fhir/search-param-type"; 6206 case COMPOSITE: return "http://hl7.org/fhir/search-param-type"; 6207 case QUANTITY: return "http://hl7.org/fhir/search-param-type"; 6208 case URI: return "http://hl7.org/fhir/search-param-type"; 6209 default: return "?"; 6210 } 6211 } 6212 public String getDefinition() { 6213 switch (this) { 6214 case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal)."; 6215 case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported."; 6216 case STRING: 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."; 6217 case TOKEN: 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."; 6218 case REFERENCE: return "A reference to another resource."; 6219 case COMPOSITE: return "A composite search parameter that combines a search on two values together."; 6220 case QUANTITY: return "A search parameter that searches on a quantity."; 6221 case URI: return "A search parameter that searches on a URI (RFC 3986)."; 6222 default: return "?"; 6223 } 6224 } 6225 public String getDisplay() { 6226 switch (this) { 6227 case NUMBER: return "Number"; 6228 case DATE: return "Date/DateTime"; 6229 case STRING: return "String"; 6230 case TOKEN: return "Token"; 6231 case REFERENCE: return "Reference"; 6232 case COMPOSITE: return "Composite"; 6233 case QUANTITY: return "Quantity"; 6234 case URI: return "URI"; 6235 default: return "?"; 6236 } 6237 } 6238 } 6239 6240 public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> { 6241 public SearchParamType fromCode(String codeString) throws IllegalArgumentException { 6242 if (codeString == null || "".equals(codeString)) 6243 if (codeString == null || "".equals(codeString)) 6244 return null; 6245 if ("number".equals(codeString)) 6246 return SearchParamType.NUMBER; 6247 if ("date".equals(codeString)) 6248 return SearchParamType.DATE; 6249 if ("string".equals(codeString)) 6250 return SearchParamType.STRING; 6251 if ("token".equals(codeString)) 6252 return SearchParamType.TOKEN; 6253 if ("reference".equals(codeString)) 6254 return SearchParamType.REFERENCE; 6255 if ("composite".equals(codeString)) 6256 return SearchParamType.COMPOSITE; 6257 if ("quantity".equals(codeString)) 6258 return SearchParamType.QUANTITY; 6259 if ("uri".equals(codeString)) 6260 return SearchParamType.URI; 6261 throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'"); 6262 } 6263 public Enumeration<SearchParamType> fromType(Base code) throws FHIRException { 6264 if (code == null || code.isEmpty()) 6265 return null; 6266 String codeString = ((PrimitiveType) code).asStringValue(); 6267 if (codeString == null || "".equals(codeString)) 6268 return null; 6269 if ("number".equals(codeString)) 6270 return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER); 6271 if ("date".equals(codeString)) 6272 return new Enumeration<SearchParamType>(this, SearchParamType.DATE); 6273 if ("string".equals(codeString)) 6274 return new Enumeration<SearchParamType>(this, SearchParamType.STRING); 6275 if ("token".equals(codeString)) 6276 return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN); 6277 if ("reference".equals(codeString)) 6278 return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE); 6279 if ("composite".equals(codeString)) 6280 return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE); 6281 if ("quantity".equals(codeString)) 6282 return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY); 6283 if ("uri".equals(codeString)) 6284 return new Enumeration<SearchParamType>(this, SearchParamType.URI); 6285 throw new FHIRException("Unknown SearchParamType code '"+codeString+"'"); 6286 } 6287 public String toCode(SearchParamType code) { 6288 if (code == SearchParamType.NUMBER) 6289 return "number"; 6290 if (code == SearchParamType.DATE) 6291 return "date"; 6292 if (code == SearchParamType.STRING) 6293 return "string"; 6294 if (code == SearchParamType.TOKEN) 6295 return "token"; 6296 if (code == SearchParamType.REFERENCE) 6297 return "reference"; 6298 if (code == SearchParamType.COMPOSITE) 6299 return "composite"; 6300 if (code == SearchParamType.QUANTITY) 6301 return "quantity"; 6302 if (code == SearchParamType.URI) 6303 return "uri"; 6304 return "?"; 6305 } 6306 } 6307 6308 public enum SpecialValues { 6309 /** 6310 * Boolean true. 6311 */ 6312 TRUE, 6313 /** 6314 * Boolean false. 6315 */ 6316 FALSE, 6317 /** 6318 * The content is greater than zero, but too small to be quantified. 6319 */ 6320 TRACE, 6321 /** 6322 * 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. 6323 */ 6324 SUFFICIENT, 6325 /** 6326 * The value is no longer available. 6327 */ 6328 WITHDRAWN, 6329 /** 6330 * The are no known applicable values in this context. 6331 */ 6332 NILKNOWN, 6333 /** 6334 * added to help the parsers 6335 */ 6336 NULL; 6337 public static SpecialValues fromCode(String codeString) throws FHIRException { 6338 if (codeString == null || "".equals(codeString)) 6339 return null; 6340 if ("true".equals(codeString)) 6341 return TRUE; 6342 if ("false".equals(codeString)) 6343 return FALSE; 6344 if ("trace".equals(codeString)) 6345 return TRACE; 6346 if ("sufficient".equals(codeString)) 6347 return SUFFICIENT; 6348 if ("withdrawn".equals(codeString)) 6349 return WITHDRAWN; 6350 if ("nil-known".equals(codeString)) 6351 return NILKNOWN; 6352 throw new FHIRException("Unknown SpecialValues code '"+codeString+"'"); 6353 } 6354 public String toCode() { 6355 switch (this) { 6356 case TRUE: return "true"; 6357 case FALSE: return "false"; 6358 case TRACE: return "trace"; 6359 case SUFFICIENT: return "sufficient"; 6360 case WITHDRAWN: return "withdrawn"; 6361 case NILKNOWN: return "nil-known"; 6362 default: return "?"; 6363 } 6364 } 6365 public String getSystem() { 6366 switch (this) { 6367 case TRUE: return "http://hl7.org/fhir/special-values"; 6368 case FALSE: return "http://hl7.org/fhir/special-values"; 6369 case TRACE: return "http://hl7.org/fhir/special-values"; 6370 case SUFFICIENT: return "http://hl7.org/fhir/special-values"; 6371 case WITHDRAWN: return "http://hl7.org/fhir/special-values"; 6372 case NILKNOWN: return "http://hl7.org/fhir/special-values"; 6373 default: return "?"; 6374 } 6375 } 6376 public String getDefinition() { 6377 switch (this) { 6378 case TRUE: return "Boolean true."; 6379 case FALSE: return "Boolean false."; 6380 case TRACE: return "The content is greater than zero, but too small to be quantified."; 6381 case SUFFICIENT: 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."; 6382 case WITHDRAWN: return "The value is no longer available."; 6383 case NILKNOWN: return "The are no known applicable values in this context."; 6384 default: return "?"; 6385 } 6386 } 6387 public String getDisplay() { 6388 switch (this) { 6389 case TRUE: return "true"; 6390 case FALSE: return "false"; 6391 case TRACE: return "Trace Amount Detected"; 6392 case SUFFICIENT: return "Sufficient Quantity"; 6393 case WITHDRAWN: return "Value Withdrawn"; 6394 case NILKNOWN: return "Nil Known"; 6395 default: return "?"; 6396 } 6397 } 6398 } 6399 6400 public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> { 6401 public SpecialValues fromCode(String codeString) throws IllegalArgumentException { 6402 if (codeString == null || "".equals(codeString)) 6403 if (codeString == null || "".equals(codeString)) 6404 return null; 6405 if ("true".equals(codeString)) 6406 return SpecialValues.TRUE; 6407 if ("false".equals(codeString)) 6408 return SpecialValues.FALSE; 6409 if ("trace".equals(codeString)) 6410 return SpecialValues.TRACE; 6411 if ("sufficient".equals(codeString)) 6412 return SpecialValues.SUFFICIENT; 6413 if ("withdrawn".equals(codeString)) 6414 return SpecialValues.WITHDRAWN; 6415 if ("nil-known".equals(codeString)) 6416 return SpecialValues.NILKNOWN; 6417 throw new IllegalArgumentException("Unknown SpecialValues code '"+codeString+"'"); 6418 } 6419 public Enumeration<SpecialValues> fromType(Base code) throws FHIRException { 6420 if (code == null || code.isEmpty()) 6421 return null; 6422 String codeString = ((PrimitiveType) code).asStringValue(); 6423 if (codeString == null || "".equals(codeString)) 6424 return null; 6425 if ("true".equals(codeString)) 6426 return new Enumeration<SpecialValues>(this, SpecialValues.TRUE); 6427 if ("false".equals(codeString)) 6428 return new Enumeration<SpecialValues>(this, SpecialValues.FALSE); 6429 if ("trace".equals(codeString)) 6430 return new Enumeration<SpecialValues>(this, SpecialValues.TRACE); 6431 if ("sufficient".equals(codeString)) 6432 return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT); 6433 if ("withdrawn".equals(codeString)) 6434 return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN); 6435 if ("nil-known".equals(codeString)) 6436 return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN); 6437 throw new FHIRException("Unknown SpecialValues code '"+codeString+"'"); 6438 } 6439 public String toCode(SpecialValues code) { 6440 if (code == SpecialValues.TRUE) 6441 return "true"; 6442 if (code == SpecialValues.FALSE) 6443 return "false"; 6444 if (code == SpecialValues.TRACE) 6445 return "trace"; 6446 if (code == SpecialValues.SUFFICIENT) 6447 return "sufficient"; 6448 if (code == SpecialValues.WITHDRAWN) 6449 return "withdrawn"; 6450 if (code == SpecialValues.NILKNOWN) 6451 return "nil-known"; 6452 return "?"; 6453 } 6454 } 6455 6456 6457}