001package org.hl7.fhir.r4.model;
002
003import org.hl7.fhir.exceptions.FHIRException;
004
005public class Enumerations {
006
007// In here: 
008//   AbstractType: A list of the base types defined by this version of the FHIR specification - types that are defined, but for which only specializations actually are created.
009//   AdministrativeGender: The gender of a person used for administrative purposes.
010//   AgeUnits: A valueSet of UCUM codes for representing age value units.
011//   BindingStrength: Indication of the degree of conformance expectations associated with a binding.
012//   ConceptMapEquivalence: The degree of equivalence between concepts.
013//   DataAbsentReason: Used to specify why the normally expected content of the data element is missing.
014//   DataType: A version specific list of the data types defined by the FHIR specification for use as an element  type (any of the FHIR defined data types).
015//   DefinitionResourceType: A list of all the definition resource types defined in this version of the FHIR specification.
016//   DocumentReferenceStatus: The status of the document reference.
017//   EventResourceType: A list of all the event resource types defined in this version of the FHIR specification.
018//   FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
019//   FHIRDefinedType: A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
020//   FHIRVersion: All published FHIR Versions.
021//   KnowledgeResourceType: A list of all the knowledge resource types defined in this version of the FHIR specification.
022//   MessageEvent: One of the message events defined as part of this version of FHIR.
023//   NoteType: The presentation types of notes.
024//   PublicationStatus: The lifecycle status of an artifact.
025//   RemittanceOutcome: The outcome of the processing.
026//   RequestResourceType: A list of all the request resource types defined in this version of the FHIR specification.
027//   ResourceType: One of the resource types defined as part of this version of FHIR.
028//   SearchParamType: Data types allowed to be used for search parameters.
029//   SpecialValues: A set of generally useful codes defined so they can be included in value sets.
030
031  public enum AbstractType {
032    /**
033     * A place holder that means any kind of data type
034     */
035    TYPE,
036    /**
037     * A place holder that means any kind of resource
038     */
039    ANY,
040    /**
041     * added to help the parsers
042     */
043    NULL;
044
045    public static AbstractType fromCode(String codeString) throws FHIRException {
046      if (codeString == null || "".equals(codeString))
047        return null;
048      if ("Type".equals(codeString))
049        return TYPE;
050      if ("Any".equals(codeString))
051        return ANY;
052      throw new FHIRException("Unknown AbstractType code '" + codeString + "'");
053    }
054
055    public String toCode() {
056      switch (this) {
057      case TYPE:
058        return "Type";
059      case ANY:
060        return "Any";
061      case NULL:
062        return null;
063      default:
064        return "?";
065      }
066    }
067
068    public String getSystem() {
069      switch (this) {
070      case TYPE:
071        return "http://hl7.org/fhir/abstract-types";
072      case ANY:
073        return "http://hl7.org/fhir/abstract-types";
074      case NULL:
075        return null;
076      default:
077        return "?";
078      }
079    }
080
081    public String getDefinition() {
082      switch (this) {
083      case TYPE:
084        return "A place holder that means any kind of data type";
085      case ANY:
086        return "A place holder that means any kind of resource";
087      case NULL:
088        return null;
089      default:
090        return "?";
091      }
092    }
093
094    public String getDisplay() {
095      switch (this) {
096      case TYPE:
097        return "Type";
098      case ANY:
099        return "Any";
100      case NULL:
101        return null;
102      default:
103        return "?";
104      }
105    }
106  }
107
108  public static class AbstractTypeEnumFactory implements EnumFactory<AbstractType> {
109    public AbstractType fromCode(String codeString) throws IllegalArgumentException {
110      if (codeString == null || "".equals(codeString))
111        if (codeString == null || "".equals(codeString))
112          return null;
113      if ("Type".equals(codeString))
114        return AbstractType.TYPE;
115      if ("Any".equals(codeString))
116        return AbstractType.ANY;
117      throw new IllegalArgumentException("Unknown AbstractType code '" + codeString + "'");
118    }
119
120    public Enumeration<AbstractType> fromType(PrimitiveType<?> code) throws FHIRException {
121      if (code == null)
122        return null;
123      if (code.isEmpty())
124        return new Enumeration<AbstractType>(this, AbstractType.NULL, code);
125      String codeString = code.asStringValue();
126      if (codeString == null || "".equals(codeString))
127        return new Enumeration<AbstractType>(this, AbstractType.NULL, code);
128      if ("Type".equals(codeString))
129        return new Enumeration<AbstractType>(this, AbstractType.TYPE, code);
130      if ("Any".equals(codeString))
131        return new Enumeration<AbstractType>(this, AbstractType.ANY, code);
132      throw new FHIRException("Unknown AbstractType code '" + codeString + "'");
133    }
134
135    public String toCode(AbstractType code) {
136       if (code == AbstractType.NULL)
137           return null;
138       if (code == AbstractType.TYPE)
139        return "Type";
140      if (code == AbstractType.ANY)
141        return "Any";
142      return "?";
143   }
144
145    public String toSystem(AbstractType code) {
146      return code.getSystem();
147    }
148  }
149
150  public enum AdministrativeGender {
151    /**
152     * Male.
153     */
154    MALE,
155    /**
156     * Female.
157     */
158    FEMALE,
159    /**
160     * Other.
161     */
162    OTHER,
163    /**
164     * Unknown.
165     */
166    UNKNOWN,
167    /**
168     * added to help the parsers
169     */
170    NULL;
171
172    public static AdministrativeGender fromCode(String codeString) throws FHIRException {
173      if (codeString == null || "".equals(codeString))
174        return null;
175      if ("male".equals(codeString))
176        return MALE;
177      if ("female".equals(codeString))
178        return FEMALE;
179      if ("other".equals(codeString))
180        return OTHER;
181      if ("unknown".equals(codeString))
182        return UNKNOWN;
183      throw new FHIRException("Unknown AdministrativeGender code '" + codeString + "'");
184    }
185
186    public String toCode() {
187      switch (this) {
188      case MALE:
189        return "male";
190      case FEMALE:
191        return "female";
192      case OTHER:
193        return "other";
194      case UNKNOWN:
195        return "unknown";
196      case NULL:
197        return null;
198      default:
199        return "?";
200      }
201    }
202
203    public String getSystem() {
204      switch (this) {
205      case MALE:
206        return "http://hl7.org/fhir/administrative-gender";
207      case FEMALE:
208        return "http://hl7.org/fhir/administrative-gender";
209      case OTHER:
210        return "http://hl7.org/fhir/administrative-gender";
211      case UNKNOWN:
212        return "http://hl7.org/fhir/administrative-gender";
213      case NULL:
214        return null;
215      default:
216        return "?";
217      }
218    }
219
220    public String getDefinition() {
221      switch (this) {
222      case MALE:
223        return "Male.";
224      case FEMALE:
225        return "Female.";
226      case OTHER:
227        return "Other.";
228      case UNKNOWN:
229        return "Unknown.";
230      case NULL:
231        return null;
232      default:
233        return "?";
234      }
235    }
236
237    public String getDisplay() {
238      switch (this) {
239      case MALE:
240        return "Male";
241      case FEMALE:
242        return "Female";
243      case OTHER:
244        return "Other";
245      case UNKNOWN:
246        return "Unknown";
247      case NULL:
248        return null;
249      default:
250        return "?";
251      }
252    }
253  }
254
255  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
256    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
257      if (codeString == null || "".equals(codeString))
258        if (codeString == null || "".equals(codeString))
259          return null;
260      if ("male".equals(codeString))
261        return AdministrativeGender.MALE;
262      if ("female".equals(codeString))
263        return AdministrativeGender.FEMALE;
264      if ("other".equals(codeString))
265        return AdministrativeGender.OTHER;
266      if ("unknown".equals(codeString))
267        return AdministrativeGender.UNKNOWN;
268      throw new IllegalArgumentException("Unknown AdministrativeGender code '" + codeString + "'");
269    }
270
271    public Enumeration<AdministrativeGender> fromType(PrimitiveType<?> code) throws FHIRException {
272      if (code == null)
273        return null;
274      if (code.isEmpty())
275        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.NULL, code);
276      String codeString = code.asStringValue();
277      if (codeString == null || "".equals(codeString))
278        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.NULL, code);
279      if ("male".equals(codeString))
280        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE, code);
281      if ("female".equals(codeString))
282        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE, code);
283      if ("other".equals(codeString))
284        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER, code);
285      if ("unknown".equals(codeString))
286        return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN, code);
287      throw new FHIRException("Unknown AdministrativeGender code '" + codeString + "'");
288    }
289
290    public String toCode(AdministrativeGender code) {
291       if (code == AdministrativeGender.NULL)
292           return null;
293       if (code == AdministrativeGender.MALE)
294        return "male";
295      if (code == AdministrativeGender.FEMALE)
296        return "female";
297      if (code == AdministrativeGender.OTHER)
298        return "other";
299      if (code == AdministrativeGender.UNKNOWN)
300        return "unknown";
301      return "?";
302   }
303
304    public String toSystem(AdministrativeGender code) {
305      return code.getSystem();
306    }
307  }
308
309  public enum AgeUnits {
310    /**
311     * null
312     */
313    MIN,
314    /**
315     * null
316     */
317    H,
318    /**
319     * null
320     */
321    D,
322    /**
323     * null
324     */
325    WK,
326    /**
327     * null
328     */
329    MO,
330    /**
331     * null
332     */
333    A,
334    /**
335     * added to help the parsers
336     */
337    NULL;
338
339    public static AgeUnits fromCode(String codeString) throws FHIRException {
340      if (codeString == null || "".equals(codeString))
341        return null;
342      if ("min".equals(codeString))
343        return MIN;
344      if ("h".equals(codeString))
345        return H;
346      if ("d".equals(codeString))
347        return D;
348      if ("wk".equals(codeString))
349        return WK;
350      if ("mo".equals(codeString))
351        return MO;
352      if ("a".equals(codeString))
353        return A;
354      throw new FHIRException("Unknown AgeUnits code '" + codeString + "'");
355    }
356
357    public String toCode() {
358      switch (this) {
359      case MIN:
360        return "min";
361      case H:
362        return "h";
363      case D:
364        return "d";
365      case WK:
366        return "wk";
367      case MO:
368        return "mo";
369      case A:
370        return "a";
371      case NULL:
372        return null;
373      default:
374        return "?";
375      }
376    }
377
378    public String getSystem() {
379      switch (this) {
380      case MIN:
381        return "http://unitsofmeasure.org";
382      case H:
383        return "http://unitsofmeasure.org";
384      case D:
385        return "http://unitsofmeasure.org";
386      case WK:
387        return "http://unitsofmeasure.org";
388      case MO:
389        return "http://unitsofmeasure.org";
390      case A:
391        return "http://unitsofmeasure.org";
392      case NULL:
393        return null;
394      default:
395        return "?";
396      }
397    }
398
399    public String getDefinition() {
400      switch (this) {
401      case MIN:
402        return "";
403      case H:
404        return "";
405      case D:
406        return "";
407      case WK:
408        return "";
409      case MO:
410        return "";
411      case A:
412        return "";
413      case NULL:
414        return null;
415      default:
416        return "?";
417      }
418    }
419
420    public String getDisplay() {
421      switch (this) {
422      case MIN:
423        return "Minute";
424      case H:
425        return "Hour";
426      case D:
427        return "Day";
428      case WK:
429        return "Week";
430      case MO:
431        return "Month";
432      case A:
433        return "Year";
434      case NULL:
435        return null;
436      default:
437        return "?";
438      }
439    }
440  }
441
442  public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> {
443    public AgeUnits fromCode(String codeString) throws IllegalArgumentException {
444      if (codeString == null || "".equals(codeString))
445        if (codeString == null || "".equals(codeString))
446          return null;
447      if ("min".equals(codeString))
448        return AgeUnits.MIN;
449      if ("h".equals(codeString))
450        return AgeUnits.H;
451      if ("d".equals(codeString))
452        return AgeUnits.D;
453      if ("wk".equals(codeString))
454        return AgeUnits.WK;
455      if ("mo".equals(codeString))
456        return AgeUnits.MO;
457      if ("a".equals(codeString))
458        return AgeUnits.A;
459      throw new IllegalArgumentException("Unknown AgeUnits code '" + codeString + "'");
460    }
461
462    public Enumeration<AgeUnits> fromType(PrimitiveType<?> code) throws FHIRException {
463      if (code == null)
464        return null;
465      if (code.isEmpty())
466        return new Enumeration<AgeUnits>(this, AgeUnits.NULL, code);
467      String codeString = code.asStringValue();
468      if (codeString == null || "".equals(codeString))
469        return new Enumeration<AgeUnits>(this, AgeUnits.NULL, code);
470      if ("min".equals(codeString))
471        return new Enumeration<AgeUnits>(this, AgeUnits.MIN, code);
472      if ("h".equals(codeString))
473        return new Enumeration<AgeUnits>(this, AgeUnits.H, code);
474      if ("d".equals(codeString))
475        return new Enumeration<AgeUnits>(this, AgeUnits.D, code);
476      if ("wk".equals(codeString))
477        return new Enumeration<AgeUnits>(this, AgeUnits.WK, code);
478      if ("mo".equals(codeString))
479        return new Enumeration<AgeUnits>(this, AgeUnits.MO, code);
480      if ("a".equals(codeString))
481        return new Enumeration<AgeUnits>(this, AgeUnits.A, code);
482      throw new FHIRException("Unknown AgeUnits code '" + codeString + "'");
483    }
484
485    public String toCode(AgeUnits code) {
486       if (code == AgeUnits.NULL)
487           return null;
488       if (code == AgeUnits.MIN)
489        return "min";
490      if (code == AgeUnits.H)
491        return "h";
492      if (code == AgeUnits.D)
493        return "d";
494      if (code == AgeUnits.WK)
495        return "wk";
496      if (code == AgeUnits.MO)
497        return "mo";
498      if (code == AgeUnits.A)
499        return "a";
500      return "?";
501   }
502
503    public String toSystem(AgeUnits code) {
504      return code.getSystem();
505    }
506  }
507
508  public enum BindingStrength {
509    /**
510     * To be conformant, the concept in this element SHALL be from the specified
511     * value set.
512     */
513    REQUIRED,
514    /**
515     * To be conformant, the concept in this element SHALL be from the specified
516     * value set if any of the codes within the value set can apply to the concept
517     * being communicated. If the value set does not cover the concept (based on
518     * human review), alternate codings (or, data type allowing, text) may be
519     * included instead.
520     */
521    EXTENSIBLE,
522    /**
523     * Instances are encouraged to draw from the specified codes for
524     * interoperability purposes but are not required to do so to be considered
525     * conformant.
526     */
527    PREFERRED,
528    /**
529     * Instances are not expected or even encouraged to draw from the specified
530     * value set. The value set merely provides examples of the types of concepts
531     * intended to be included.
532     */
533    EXAMPLE,
534    /**
535     * added to help the parsers
536     */
537    NULL;
538
539    public static BindingStrength fromCode(String codeString) throws FHIRException {
540      if (codeString == null || "".equals(codeString))
541        return null;
542      if ("required".equals(codeString))
543        return REQUIRED;
544      if ("extensible".equals(codeString))
545        return EXTENSIBLE;
546      if ("preferred".equals(codeString))
547        return PREFERRED;
548      if ("example".equals(codeString))
549        return EXAMPLE;
550      throw new FHIRException("Unknown BindingStrength code '" + codeString + "'");
551    }
552
553    public String toCode() {
554      switch (this) {
555      case REQUIRED:
556        return "required";
557      case EXTENSIBLE:
558        return "extensible";
559      case PREFERRED:
560        return "preferred";
561      case EXAMPLE:
562        return "example";
563      case NULL:
564        return null;
565      default:
566        return "?";
567      }
568    }
569
570    public String getSystem() {
571      switch (this) {
572      case REQUIRED:
573        return "http://hl7.org/fhir/binding-strength";
574      case EXTENSIBLE:
575        return "http://hl7.org/fhir/binding-strength";
576      case PREFERRED:
577        return "http://hl7.org/fhir/binding-strength";
578      case EXAMPLE:
579        return "http://hl7.org/fhir/binding-strength";
580      case NULL:
581        return null;
582      default:
583        return "?";
584      }
585    }
586
587    public String getDefinition() {
588      switch (this) {
589      case REQUIRED:
590        return "To be conformant, the concept in this element SHALL be from the specified value set.";
591      case EXTENSIBLE:
592        return "To be conformant, the concept in this element SHALL be from the specified value set if any of the codes within the value set can apply to the concept being communicated.  If the value set does not cover the concept (based on human review), alternate codings (or, data type allowing, text) may be included instead.";
593      case PREFERRED:
594        return "Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.";
595      case EXAMPLE:
596        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.";
597      case NULL:
598        return null;
599      default:
600        return "?";
601      }
602    }
603
604    public String getDisplay() {
605      switch (this) {
606      case REQUIRED:
607        return "Required";
608      case EXTENSIBLE:
609        return "Extensible";
610      case PREFERRED:
611        return "Preferred";
612      case EXAMPLE:
613        return "Example";
614      case NULL:
615        return null;
616      default:
617        return "?";
618      }
619    }
620  }
621
622  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
623    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
624      if (codeString == null || "".equals(codeString))
625        if (codeString == null || "".equals(codeString))
626          return null;
627      if ("required".equals(codeString))
628        return BindingStrength.REQUIRED;
629      if ("extensible".equals(codeString))
630        return BindingStrength.EXTENSIBLE;
631      if ("preferred".equals(codeString))
632        return BindingStrength.PREFERRED;
633      if ("example".equals(codeString))
634        return BindingStrength.EXAMPLE;
635      throw new IllegalArgumentException("Unknown BindingStrength code '" + codeString + "'");
636    }
637
638    public Enumeration<BindingStrength> fromType(PrimitiveType<?> code) throws FHIRException {
639      if (code == null)
640        return null;
641      if (code.isEmpty())
642        return new Enumeration<BindingStrength>(this, BindingStrength.NULL, code);
643      String codeString = code.asStringValue();
644      if (codeString == null || "".equals(codeString))
645        return new Enumeration<BindingStrength>(this, BindingStrength.NULL, code);
646      if ("required".equals(codeString))
647        return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED, code);
648      if ("extensible".equals(codeString))
649        return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE, code);
650      if ("preferred".equals(codeString))
651        return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED, code);
652      if ("example".equals(codeString))
653        return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE, code);
654      throw new FHIRException("Unknown BindingStrength code '" + codeString + "'");
655    }
656
657    public String toCode(BindingStrength code) {
658       if (code == BindingStrength.NULL)
659           return null;
660       if (code == BindingStrength.REQUIRED)
661        return "required";
662      if (code == BindingStrength.EXTENSIBLE)
663        return "extensible";
664      if (code == BindingStrength.PREFERRED)
665        return "preferred";
666      if (code == BindingStrength.EXAMPLE)
667        return "example";
668      return "?";
669   }
670
671    public String toSystem(BindingStrength code) {
672      return code.getSystem();
673    }
674  }
675
676  public enum ConceptMapEquivalence {
677    /**
678     * The concepts are related to each other, and have at least some overlap in
679     * meaning, but the exact relationship is not known.
680     */
681    RELATEDTO,
682    /**
683     * The definitions of the concepts mean the same thing (including when
684     * structural implications of meaning are considered) (i.e. extensionally
685     * identical).
686     */
687    EQUIVALENT,
688    /**
689     * The definitions of the concepts are exactly the same (i.e. only grammatical
690     * differences) and structural implications of meaning are identical or
691     * irrelevant (i.e. intentionally identical).
692     */
693    EQUAL,
694    /**
695     * The target mapping is wider in meaning than the source concept.
696     */
697    WIDER,
698    /**
699     * The target mapping subsumes the meaning of the source concept (e.g. the
700     * source is-a target).
701     */
702    SUBSUMES,
703    /**
704     * The target mapping is narrower in meaning than the source concept. The sense
705     * in which the mapping is narrower SHALL be described in the comments in this
706     * case, and applications should be careful when attempting to use these
707     * mappings operationally.
708     */
709    NARROWER,
710    /**
711     * The target mapping specializes the meaning of the source concept (e.g. the
712     * target is-a source).
713     */
714    SPECIALIZES,
715    /**
716     * The target mapping overlaps with the source concept, but both source and
717     * target cover additional meaning, or the definitions are imprecise and it is
718     * uncertain whether they have the same boundaries to their meaning. The sense
719     * in which the mapping is inexact SHALL be described in the comments in this
720     * case, and applications should be careful when attempting to use these
721     * mappings operationally.
722     */
723    INEXACT,
724    /**
725     * There is no match for this concept in the target code system.
726     */
727    UNMATCHED,
728    /**
729     * This is an explicit assertion that there is no mapping between the source and
730     * target concept.
731     */
732    DISJOINT,
733    /**
734     * added to help the parsers
735     */
736    NULL;
737
738    public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException {
739      if (codeString == null || "".equals(codeString))
740        return null;
741      if ("relatedto".equals(codeString))
742        return RELATEDTO;
743      if ("equivalent".equals(codeString))
744        return EQUIVALENT;
745      if ("equal".equals(codeString))
746        return EQUAL;
747      if ("wider".equals(codeString))
748        return WIDER;
749      if ("subsumes".equals(codeString))
750        return SUBSUMES;
751      if ("narrower".equals(codeString))
752        return NARROWER;
753      if ("specializes".equals(codeString))
754        return SPECIALIZES;
755      if ("inexact".equals(codeString))
756        return INEXACT;
757      if ("unmatched".equals(codeString))
758        return UNMATCHED;
759      if ("disjoint".equals(codeString))
760        return DISJOINT;
761      throw new FHIRException("Unknown ConceptMapEquivalence code '" + codeString + "'");
762    }
763
764    public String toCode() {
765      switch (this) {
766      case RELATEDTO:
767        return "relatedto";
768      case EQUIVALENT:
769        return "equivalent";
770      case EQUAL:
771        return "equal";
772      case WIDER:
773        return "wider";
774      case SUBSUMES:
775        return "subsumes";
776      case NARROWER:
777        return "narrower";
778      case SPECIALIZES:
779        return "specializes";
780      case INEXACT:
781        return "inexact";
782      case UNMATCHED:
783        return "unmatched";
784      case DISJOINT:
785        return "disjoint";
786      case NULL:
787        return null;
788      default:
789        return "?";
790      }
791    }
792
793    public String getSystem() {
794      switch (this) {
795      case RELATEDTO:
796        return "http://hl7.org/fhir/concept-map-equivalence";
797      case EQUIVALENT:
798        return "http://hl7.org/fhir/concept-map-equivalence";
799      case EQUAL:
800        return "http://hl7.org/fhir/concept-map-equivalence";
801      case WIDER:
802        return "http://hl7.org/fhir/concept-map-equivalence";
803      case SUBSUMES:
804        return "http://hl7.org/fhir/concept-map-equivalence";
805      case NARROWER:
806        return "http://hl7.org/fhir/concept-map-equivalence";
807      case SPECIALIZES:
808        return "http://hl7.org/fhir/concept-map-equivalence";
809      case INEXACT:
810        return "http://hl7.org/fhir/concept-map-equivalence";
811      case UNMATCHED:
812        return "http://hl7.org/fhir/concept-map-equivalence";
813      case DISJOINT:
814        return "http://hl7.org/fhir/concept-map-equivalence";
815      case NULL:
816        return null;
817      default:
818        return "?";
819      }
820    }
821
822    public String getDefinition() {
823      switch (this) {
824      case RELATEDTO:
825        return "The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known.";
826      case EQUIVALENT:
827        return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).";
828      case EQUAL:
829        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).";
830      case WIDER:
831        return "The target mapping is wider in meaning than the source concept.";
832      case SUBSUMES:
833        return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).";
834      case NARROWER:
835        return "The target mapping is narrower in meaning than 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.";
836      case SPECIALIZES:
837        return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source).";
838      case INEXACT:
839        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 inexact SHALL be described in the comments in this case, and applications should be careful when attempting to use these mappings operationally.";
840      case UNMATCHED:
841        return "There is no match for this concept in the target code system.";
842      case DISJOINT:
843        return "This is an explicit assertion that there is no mapping between the source and target concept.";
844      case NULL:
845        return null;
846      default:
847        return "?";
848      }
849    }
850
851    public String getDisplay() {
852      switch (this) {
853      case RELATEDTO:
854        return "Related To";
855      case EQUIVALENT:
856        return "Equivalent";
857      case EQUAL:
858        return "Equal";
859      case WIDER:
860        return "Wider";
861      case SUBSUMES:
862        return "Subsumes";
863      case NARROWER:
864        return "Narrower";
865      case SPECIALIZES:
866        return "Specializes";
867      case INEXACT:
868        return "Inexact";
869      case UNMATCHED:
870        return "Unmatched";
871      case DISJOINT:
872        return "Disjoint";
873      case NULL:
874        return null;
875      default:
876        return "?";
877      }
878    }
879  }
880
881  public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> {
882    public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException {
883      if (codeString == null || "".equals(codeString))
884        if (codeString == null || "".equals(codeString))
885          return null;
886      if ("relatedto".equals(codeString))
887        return ConceptMapEquivalence.RELATEDTO;
888      if ("equivalent".equals(codeString))
889        return ConceptMapEquivalence.EQUIVALENT;
890      if ("equal".equals(codeString))
891        return ConceptMapEquivalence.EQUAL;
892      if ("wider".equals(codeString))
893        return ConceptMapEquivalence.WIDER;
894      if ("subsumes".equals(codeString))
895        return ConceptMapEquivalence.SUBSUMES;
896      if ("narrower".equals(codeString))
897        return ConceptMapEquivalence.NARROWER;
898      if ("specializes".equals(codeString))
899        return ConceptMapEquivalence.SPECIALIZES;
900      if ("inexact".equals(codeString))
901        return ConceptMapEquivalence.INEXACT;
902      if ("unmatched".equals(codeString))
903        return ConceptMapEquivalence.UNMATCHED;
904      if ("disjoint".equals(codeString))
905        return ConceptMapEquivalence.DISJOINT;
906      throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '" + codeString + "'");
907    }
908
909    public Enumeration<ConceptMapEquivalence> fromType(PrimitiveType<?> code) throws FHIRException {
910      if (code == null)
911        return null;
912      if (code.isEmpty())
913        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NULL, code);
914      String codeString = code.asStringValue();
915      if (codeString == null || "".equals(codeString))
916        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NULL, code);
917      if ("relatedto".equals(codeString))
918        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.RELATEDTO, code);
919      if ("equivalent".equals(codeString))
920        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT, code);
921      if ("equal".equals(codeString))
922        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL, code);
923      if ("wider".equals(codeString))
924        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER, code);
925      if ("subsumes".equals(codeString))
926        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES, code);
927      if ("narrower".equals(codeString))
928        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER, code);
929      if ("specializes".equals(codeString))
930        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES, code);
931      if ("inexact".equals(codeString))
932        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT, code);
933      if ("unmatched".equals(codeString))
934        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED, code);
935      if ("disjoint".equals(codeString))
936        return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT, code);
937      throw new FHIRException("Unknown ConceptMapEquivalence code '" + codeString + "'");
938    }
939
940    public String toCode(ConceptMapEquivalence code) {
941       if (code == ConceptMapEquivalence.NULL)
942           return null;
943       if (code == ConceptMapEquivalence.RELATEDTO)
944        return "relatedto";
945      if (code == ConceptMapEquivalence.EQUIVALENT)
946        return "equivalent";
947      if (code == ConceptMapEquivalence.EQUAL)
948        return "equal";
949      if (code == ConceptMapEquivalence.WIDER)
950        return "wider";
951      if (code == ConceptMapEquivalence.SUBSUMES)
952        return "subsumes";
953      if (code == ConceptMapEquivalence.NARROWER)
954        return "narrower";
955      if (code == ConceptMapEquivalence.SPECIALIZES)
956        return "specializes";
957      if (code == ConceptMapEquivalence.INEXACT)
958        return "inexact";
959      if (code == ConceptMapEquivalence.UNMATCHED)
960        return "unmatched";
961      if (code == ConceptMapEquivalence.DISJOINT)
962        return "disjoint";
963      return "?";
964   }
965
966    public String toSystem(ConceptMapEquivalence code) {
967      return code.getSystem();
968    }
969  }
970
971  public enum DataAbsentReason {
972    /**
973     * The value is expected to exist but is not known.
974     */
975    UNKNOWN,
976    /**
977     * The source was asked but does not know the value.
978     */
979    ASKEDUNKNOWN,
980    /**
981     * There is reason to expect (from the workflow) that the value may become
982     * known.
983     */
984    TEMPUNKNOWN,
985    /**
986     * The workflow didn't lead to this value being known.
987     */
988    NOTASKED,
989    /**
990     * The source was asked but declined to answer.
991     */
992    ASKEDDECLINED,
993    /**
994     * The information is not available due to security, privacy or related reasons.
995     */
996    MASKED,
997    /**
998     * There is no proper value for this element (e.g. last menstrual period for a
999     * male).
1000     */
1001    NOTAPPLICABLE,
1002    /**
1003     * The source system wasn't capable of supporting this element.
1004     */
1005    UNSUPPORTED,
1006    /**
1007     * The content of the data is represented in the resource narrative.
1008     */
1009    ASTEXT,
1010    /**
1011     * Some system or workflow process error means that the information is not
1012     * available.
1013     */
1014    ERROR,
1015    /**
1016     * The numeric value is undefined or unrepresentable due to a floating point
1017     * processing error.
1018     */
1019    NOTANUMBER,
1020    /**
1021     * The numeric value is excessively low and unrepresentable due to a floating
1022     * point processing error.
1023     */
1024    NEGATIVEINFINITY,
1025    /**
1026     * The numeric value is excessively high and unrepresentable due to a floating
1027     * point processing error.
1028     */
1029    POSITIVEINFINITY,
1030    /**
1031     * The value is not available because the observation procedure (test, etc.) was
1032     * not performed.
1033     */
1034    NOTPERFORMED,
1035    /**
1036     * The value is not permitted in this context (e.g. due to profiles, or the base
1037     * data types).
1038     */
1039    NOTPERMITTED,
1040    /**
1041     * added to help the parsers
1042     */
1043    NULL;
1044
1045    public static DataAbsentReason fromCode(String codeString) throws FHIRException {
1046      if (codeString == null || "".equals(codeString))
1047        return null;
1048      if ("unknown".equals(codeString))
1049        return UNKNOWN;
1050      if ("asked-unknown".equals(codeString))
1051        return ASKEDUNKNOWN;
1052      if ("temp-unknown".equals(codeString))
1053        return TEMPUNKNOWN;
1054      if ("not-asked".equals(codeString))
1055        return NOTASKED;
1056      if ("asked-declined".equals(codeString))
1057        return ASKEDDECLINED;
1058      if ("masked".equals(codeString))
1059        return MASKED;
1060      if ("not-applicable".equals(codeString))
1061        return NOTAPPLICABLE;
1062      if ("unsupported".equals(codeString))
1063        return UNSUPPORTED;
1064      if ("as-text".equals(codeString))
1065        return ASTEXT;
1066      if ("error".equals(codeString))
1067        return ERROR;
1068      if ("not-a-number".equals(codeString))
1069        return NOTANUMBER;
1070      if ("negative-infinity".equals(codeString))
1071        return NEGATIVEINFINITY;
1072      if ("positive-infinity".equals(codeString))
1073        return POSITIVEINFINITY;
1074      if ("not-performed".equals(codeString))
1075        return NOTPERFORMED;
1076      if ("not-permitted".equals(codeString))
1077        return NOTPERMITTED;
1078      throw new FHIRException("Unknown DataAbsentReason code '" + codeString + "'");
1079    }
1080
1081    public String toCode() {
1082      switch (this) {
1083      case UNKNOWN:
1084        return "unknown";
1085      case ASKEDUNKNOWN:
1086        return "asked-unknown";
1087      case TEMPUNKNOWN:
1088        return "temp-unknown";
1089      case NOTASKED:
1090        return "not-asked";
1091      case ASKEDDECLINED:
1092        return "asked-declined";
1093      case MASKED:
1094        return "masked";
1095      case NOTAPPLICABLE:
1096        return "not-applicable";
1097      case UNSUPPORTED:
1098        return "unsupported";
1099      case ASTEXT:
1100        return "as-text";
1101      case ERROR:
1102        return "error";
1103      case NOTANUMBER:
1104        return "not-a-number";
1105      case NEGATIVEINFINITY:
1106        return "negative-infinity";
1107      case POSITIVEINFINITY:
1108        return "positive-infinity";
1109      case NOTPERFORMED:
1110        return "not-performed";
1111      case NOTPERMITTED:
1112        return "not-permitted";
1113      case NULL:
1114        return null;
1115      default:
1116        return "?";
1117      }
1118    }
1119
1120    public String getSystem() {
1121      switch (this) {
1122      case UNKNOWN:
1123        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1124      case ASKEDUNKNOWN:
1125        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1126      case TEMPUNKNOWN:
1127        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1128      case NOTASKED:
1129        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1130      case ASKEDDECLINED:
1131        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1132      case MASKED:
1133        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1134      case NOTAPPLICABLE:
1135        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1136      case UNSUPPORTED:
1137        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1138      case ASTEXT:
1139        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1140      case ERROR:
1141        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1142      case NOTANUMBER:
1143        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1144      case NEGATIVEINFINITY:
1145        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1146      case POSITIVEINFINITY:
1147        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1148      case NOTPERFORMED:
1149        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1150      case NOTPERMITTED:
1151        return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
1152      case NULL:
1153        return null;
1154      default:
1155        return "?";
1156      }
1157    }
1158
1159    public String getDefinition() {
1160      switch (this) {
1161      case UNKNOWN:
1162        return "The value is expected to exist but is not known.";
1163      case ASKEDUNKNOWN:
1164        return "The source was asked but does not know the value.";
1165      case TEMPUNKNOWN:
1166        return "There is reason to expect (from the workflow) that the value may become known.";
1167      case NOTASKED:
1168        return "The workflow didn't lead to this value being known.";
1169      case ASKEDDECLINED:
1170        return "The source was asked but declined to answer.";
1171      case MASKED:
1172        return "The information is not available due to security, privacy or related reasons.";
1173      case NOTAPPLICABLE:
1174        return "There is no proper value for this element (e.g. last menstrual period for a male).";
1175      case UNSUPPORTED:
1176        return "The source system wasn't capable of supporting this element.";
1177      case ASTEXT:
1178        return "The content of the data is represented in the resource narrative.";
1179      case ERROR:
1180        return "Some system or workflow process error means that the information is not available.";
1181      case NOTANUMBER:
1182        return "The numeric value is undefined or unrepresentable due to a floating point processing error.";
1183      case NEGATIVEINFINITY:
1184        return "The numeric value is excessively low and unrepresentable due to a floating point processing error.";
1185      case POSITIVEINFINITY:
1186        return "The numeric value is excessively high and unrepresentable due to a floating point processing error.";
1187      case NOTPERFORMED:
1188        return "The value is not available because the observation procedure (test, etc.) was not performed.";
1189      case NOTPERMITTED:
1190        return "The value is not permitted in this context (e.g. due to profiles, or the base data types).";
1191      case NULL:
1192        return null;
1193      default:
1194        return "?";
1195      }
1196    }
1197
1198    public String getDisplay() {
1199      switch (this) {
1200      case UNKNOWN:
1201        return "Unknown";
1202      case ASKEDUNKNOWN:
1203        return "Asked But Unknown";
1204      case TEMPUNKNOWN:
1205        return "Temporarily Unknown";
1206      case NOTASKED:
1207        return "Not Asked";
1208      case ASKEDDECLINED:
1209        return "Asked But Declined";
1210      case MASKED:
1211        return "Masked";
1212      case NOTAPPLICABLE:
1213        return "Not Applicable";
1214      case UNSUPPORTED:
1215        return "Unsupported";
1216      case ASTEXT:
1217        return "As Text";
1218      case ERROR:
1219        return "Error";
1220      case NOTANUMBER:
1221        return "Not a Number (NaN)";
1222      case NEGATIVEINFINITY:
1223        return "Negative Infinity (NINF)";
1224      case POSITIVEINFINITY:
1225        return "Positive Infinity (PINF)";
1226      case NOTPERFORMED:
1227        return "Not Performed";
1228      case NOTPERMITTED:
1229        return "Not Permitted";
1230      case NULL:
1231        return null;
1232      default:
1233        return "?";
1234      }
1235    }
1236  }
1237
1238  public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> {
1239    public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException {
1240      if (codeString == null || "".equals(codeString))
1241        if (codeString == null || "".equals(codeString))
1242          return null;
1243      if ("unknown".equals(codeString))
1244        return DataAbsentReason.UNKNOWN;
1245      if ("asked-unknown".equals(codeString))
1246        return DataAbsentReason.ASKEDUNKNOWN;
1247      if ("temp-unknown".equals(codeString))
1248        return DataAbsentReason.TEMPUNKNOWN;
1249      if ("not-asked".equals(codeString))
1250        return DataAbsentReason.NOTASKED;
1251      if ("asked-declined".equals(codeString))
1252        return DataAbsentReason.ASKEDDECLINED;
1253      if ("masked".equals(codeString))
1254        return DataAbsentReason.MASKED;
1255      if ("not-applicable".equals(codeString))
1256        return DataAbsentReason.NOTAPPLICABLE;
1257      if ("unsupported".equals(codeString))
1258        return DataAbsentReason.UNSUPPORTED;
1259      if ("as-text".equals(codeString))
1260        return DataAbsentReason.ASTEXT;
1261      if ("error".equals(codeString))
1262        return DataAbsentReason.ERROR;
1263      if ("not-a-number".equals(codeString))
1264        return DataAbsentReason.NOTANUMBER;
1265      if ("negative-infinity".equals(codeString))
1266        return DataAbsentReason.NEGATIVEINFINITY;
1267      if ("positive-infinity".equals(codeString))
1268        return DataAbsentReason.POSITIVEINFINITY;
1269      if ("not-performed".equals(codeString))
1270        return DataAbsentReason.NOTPERFORMED;
1271      if ("not-permitted".equals(codeString))
1272        return DataAbsentReason.NOTPERMITTED;
1273      throw new IllegalArgumentException("Unknown DataAbsentReason code '" + codeString + "'");
1274    }
1275
1276    public Enumeration<DataAbsentReason> fromType(PrimitiveType<?> code) throws FHIRException {
1277      if (code == null)
1278        return null;
1279      if (code.isEmpty())
1280        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NULL, code);
1281      String codeString = code.asStringValue();
1282      if (codeString == null || "".equals(codeString))
1283        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NULL, code);
1284      if ("unknown".equals(codeString))
1285        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN, code);
1286      if ("asked-unknown".equals(codeString))
1287        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDUNKNOWN, code);
1288      if ("temp-unknown".equals(codeString))
1289        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMPUNKNOWN, code);
1290      if ("not-asked".equals(codeString))
1291        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED, code);
1292      if ("asked-declined".equals(codeString))
1293        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDDECLINED, code);
1294      if ("masked".equals(codeString))
1295        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED, code);
1296      if ("not-applicable".equals(codeString))
1297        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTAPPLICABLE, code);
1298      if ("unsupported".equals(codeString))
1299        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED, code);
1300      if ("as-text".equals(codeString))
1301        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT, code);
1302      if ("error".equals(codeString))
1303        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR, code);
1304      if ("not-a-number".equals(codeString))
1305        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTANUMBER, code);
1306      if ("negative-infinity".equals(codeString))
1307        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NEGATIVEINFINITY, code);
1308      if ("positive-infinity".equals(codeString))
1309        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.POSITIVEINFINITY, code);
1310      if ("not-performed".equals(codeString))
1311        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERFORMED, code);
1312      if ("not-permitted".equals(codeString))
1313        return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERMITTED, code);
1314      throw new FHIRException("Unknown DataAbsentReason code '" + codeString + "'");
1315    }
1316
1317    public String toCode(DataAbsentReason code) {
1318       if (code == DataAbsentReason.NULL)
1319           return null;
1320       if (code == DataAbsentReason.UNKNOWN)
1321        return "unknown";
1322      if (code == DataAbsentReason.ASKEDUNKNOWN)
1323        return "asked-unknown";
1324      if (code == DataAbsentReason.TEMPUNKNOWN)
1325        return "temp-unknown";
1326      if (code == DataAbsentReason.NOTASKED)
1327        return "not-asked";
1328      if (code == DataAbsentReason.ASKEDDECLINED)
1329        return "asked-declined";
1330      if (code == DataAbsentReason.MASKED)
1331        return "masked";
1332      if (code == DataAbsentReason.NOTAPPLICABLE)
1333        return "not-applicable";
1334      if (code == DataAbsentReason.UNSUPPORTED)
1335        return "unsupported";
1336      if (code == DataAbsentReason.ASTEXT)
1337        return "as-text";
1338      if (code == DataAbsentReason.ERROR)
1339        return "error";
1340      if (code == DataAbsentReason.NOTANUMBER)
1341        return "not-a-number";
1342      if (code == DataAbsentReason.NEGATIVEINFINITY)
1343        return "negative-infinity";
1344      if (code == DataAbsentReason.POSITIVEINFINITY)
1345        return "positive-infinity";
1346      if (code == DataAbsentReason.NOTPERFORMED)
1347        return "not-performed";
1348      if (code == DataAbsentReason.NOTPERMITTED)
1349        return "not-permitted";
1350      return "?";
1351   }
1352
1353    public String toSystem(DataAbsentReason code) {
1354      return code.getSystem();
1355    }
1356  }
1357
1358  public enum DataType {
1359    /**
1360     * An address expressed using postal conventions (as opposed to GPS or other
1361     * location definition formats). This data type may be used to convey addresses
1362     * for use in delivering mail as well as for visiting locations which might not
1363     * be valid for mail delivery. There are a variety of postal address formats
1364     * defined around the world.
1365     */
1366    ADDRESS,
1367    /**
1368     * A duration of time during which an organism (or a process) has existed.
1369     */
1370    AGE,
1371    /**
1372     * A text note which also contains information about who made the statement and
1373     * when.
1374     */
1375    ANNOTATION,
1376    /**
1377     * For referring to data content defined in other formats.
1378     */
1379    ATTACHMENT,
1380    /**
1381     * Base definition for all elements that are defined inside a resource - but not
1382     * those in a data type.
1383     */
1384    BACKBONEELEMENT,
1385    /**
1386     * A concept that may be defined by a formal reference to a terminology or
1387     * ontology or may be provided by text.
1388     */
1389    CODEABLECONCEPT,
1390    /**
1391     * A reference to a code defined by a terminology system.
1392     */
1393    CODING,
1394    /**
1395     * Specifies contact information for a person or organization.
1396     */
1397    CONTACTDETAIL,
1398    /**
1399     * Details for all kinds of technology mediated contact points for a person or
1400     * organization, including telephone, email, etc.
1401     */
1402    CONTACTPOINT,
1403    /**
1404     * A contributor to the content of a knowledge asset, including authors,
1405     * editors, reviewers, and endorsers.
1406     */
1407    CONTRIBUTOR,
1408    /**
1409     * A measured amount (or an amount that can potentially be measured). Note that
1410     * measured amounts include amounts that are not precisely quantified, including
1411     * amounts involving arbitrary units and floating currencies.
1412     */
1413    COUNT,
1414    /**
1415     * Describes a required data item for evaluation in terms of the type of data,
1416     * and optional code or date-based filters of the data.
1417     */
1418    DATAREQUIREMENT,
1419    /**
1420     * A length - a value with a unit that is a physical distance.
1421     */
1422    DISTANCE,
1423    /**
1424     * Indicates how the medication is/was taken or should be taken by the patient.
1425     */
1426    DOSAGE,
1427    /**
1428     * A length of time.
1429     */
1430    DURATION,
1431    /**
1432     * Base definition for all elements in a resource.
1433     */
1434    ELEMENT,
1435    /**
1436     * Captures constraints on each element within the resource, profile, or
1437     * extension.
1438     */
1439    ELEMENTDEFINITION,
1440    /**
1441     * A expression that is evaluated in a specified context and returns a value.
1442     * The context of use of the expression must specify the context in which the
1443     * expression is evaluated, and how the result of the expression is used.
1444     */
1445    EXPRESSION,
1446    /**
1447     * Optional Extension Element - found in all resources.
1448     */
1449    EXTENSION,
1450    /**
1451     * A human's name with the ability to identify parts and usage.
1452     */
1453    HUMANNAME,
1454    /**
1455     * An identifier - identifies some entity uniquely and unambiguously. Typically
1456     * this is used for business identifiers.
1457     */
1458    IDENTIFIER,
1459    /**
1460     * The marketing status describes the date when a medicinal product is actually
1461     * put on the market or the date as of which it is no longer available.
1462     */
1463    MARKETINGSTATUS,
1464    /**
1465     * The metadata about a resource. This is content in the resource that is
1466     * maintained by the infrastructure. Changes to the content might not always be
1467     * associated with version changes to the resource.
1468     */
1469    META,
1470    /**
1471     * An amount of economic utility in some recognized currency.
1472     */
1473    MONEY,
1474    /**
1475     * null
1476     */
1477    MONEYQUANTITY,
1478    /**
1479     * A human-readable summary of the resource conveying the essential clinical and
1480     * business information for the resource.
1481     */
1482    NARRATIVE,
1483    /**
1484     * The parameters to the module. This collection specifies both the input and
1485     * output parameters. Input parameters are provided by the caller as part of the
1486     * $evaluate operation. Output parameters are included in the GuidanceResponse.
1487     */
1488    PARAMETERDEFINITION,
1489    /**
1490     * A time period defined by a start and end date and optionally time.
1491     */
1492    PERIOD,
1493    /**
1494     * A populatioof people with some set of grouping criteria.
1495     */
1496    POPULATION,
1497    /**
1498     * The marketing status describes the date when a medicinal product is actually
1499     * put on the market or the date as of which it is no longer available.
1500     */
1501    PRODCHARACTERISTIC,
1502    /**
1503     * The shelf-life and storage information for a medicinal product item or
1504     * container can be described using this class.
1505     */
1506    PRODUCTSHELFLIFE,
1507    /**
1508     * A measured amount (or an amount that can potentially be measured). Note that
1509     * measured amounts include amounts that are not precisely quantified, including
1510     * amounts involving arbitrary units and floating currencies.
1511     */
1512    QUANTITY,
1513    /**
1514     * A set of ordered Quantities defined by a low and high limit.
1515     */
1516    RANGE,
1517    /**
1518     * A relationship of two Quantity values - expressed as a numerator and a
1519     * denominator.
1520     */
1521    RATIO,
1522    /**
1523     * A reference from one resource to another.
1524     */
1525    REFERENCE,
1526    /**
1527     * Related artifacts such as additional documentation, justification, or
1528     * bibliographic references.
1529     */
1530    RELATEDARTIFACT,
1531    /**
1532     * A series of measurements taken by a device, with upper and lower limits.
1533     * There may be more than one dimension in the data.
1534     */
1535    SAMPLEDDATA,
1536    /**
1537     * A signature along with supporting context. The signature may be a digital
1538     * signature that is cryptographic in nature, or some other signature acceptable
1539     * to the domain. This other signature may be as simple as a graphical image
1540     * representing a hand-written signature, or a signature ceremony Different
1541     * signature approaches have different utilities.
1542     */
1543    SIGNATURE,
1544    /**
1545     * null
1546     */
1547    SIMPLEQUANTITY,
1548    /**
1549     * Chemical substances are a single substance type whose primary defining
1550     * element is the molecular structure. Chemical substances shall be defined on
1551     * the basis of their complete covalent molecular structure; the presence of a
1552     * salt (counter-ion) and/or solvates (water, alcohols) is also captured.
1553     * Purity, grade, physical form or particle size are not taken into account in
1554     * the definition of a chemical substance or in the assignment of a Substance
1555     * ID.
1556     */
1557    SUBSTANCEAMOUNT,
1558    /**
1559     * Specifies an event that may occur multiple times. Timing schedules are used
1560     * to record when things are planned, expected or requested to occur. The most
1561     * common usage is in dosage instructions for medications. They are also used
1562     * when planning care of various kinds, and may be used for reporting the
1563     * schedule to which past regular activities were carried out.
1564     */
1565    TIMING,
1566    /**
1567     * A description of a triggering event. Triggering events can be named events,
1568     * data events, or periodic, as determined by the type element.
1569     */
1570    TRIGGERDEFINITION,
1571    /**
1572     * Specifies clinical/business/etc. metadata that can be used to retrieve, index
1573     * and/or categorize an artifact. This metadata can either be specific to the
1574     * applicable population (e.g., age category, DRG) or the specific context of
1575     * care (e.g., venue, care setting, provider of care).
1576     */
1577    USAGECONTEXT,
1578    /**
1579     * A stream of bytes
1580     */
1581    BASE64BINARY,
1582    /**
1583     * Value of "true" or "false"
1584     */
1585    BOOLEAN,
1586    /**
1587     * A URI that is a reference to a canonical URL on a FHIR resource
1588     */
1589    CANONICAL,
1590    /**
1591     * A string which has at least one character and no leading or trailing
1592     * whitespace and where there is no whitespace other than single spaces in the
1593     * contents
1594     */
1595    CODE,
1596    /**
1597     * A date or partial date (e.g. just year or year + month). There is no time
1598     * zone. The format is a union of the schema types gYear, gYearMonth and date.
1599     * Dates SHALL be valid dates.
1600     */
1601    DATE,
1602    /**
1603     * A date, date-time or partial date (e.g. just year or year + month). If hours
1604     * and minutes are specified, a time zone SHALL be populated. The format is a
1605     * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must
1606     * be provided due to schema type constraints but may be zero-filled and may be
1607     * ignored. Dates SHALL be valid dates.
1608     */
1609    DATETIME,
1610    /**
1611     * A rational number with implicit precision
1612     */
1613    DECIMAL,
1614    /**
1615     * Any combination of letters, numerals, "-" and ".", with a length limit of 64
1616     * characters. (This might be an integer, an unprefixed OID, UUID or any other
1617     * identifier pattern that meets these constraints.) Ids are case-insensitive.
1618     */
1619    ID,
1620    /**
1621     * An instant in time - known at least to the second
1622     */
1623    INSTANT,
1624    /**
1625     * A whole number
1626     */
1627    INTEGER,
1628    /**
1629     * A string that may contain Github Flavored Markdown syntax for optional
1630     * processing by a mark down presentation engine
1631     */
1632    MARKDOWN,
1633    /**
1634     * An OID represented as a URI
1635     */
1636    OID,
1637    /**
1638     * An integer with a value that is positive (e.g. >0)
1639     */
1640    POSITIVEINT,
1641    /**
1642     * A sequence of Unicode characters
1643     */
1644    STRING,
1645    /**
1646     * A time during the day, with no date specified
1647     */
1648    TIME,
1649    /**
1650     * An integer with a value that is not negative (e.g. >= 0)
1651     */
1652    UNSIGNEDINT,
1653    /**
1654     * String of characters used to identify a name or a resource
1655     */
1656    URI,
1657    /**
1658     * A URI that is a literal reference
1659     */
1660    URL,
1661    /**
1662     * A UUID, represented as a URI
1663     */
1664    UUID,
1665    /**
1666     * XHTML format, as defined by W3C, but restricted usage (mainly, no active
1667     * content)
1668     */
1669    XHTML,
1670    /**
1671     * added to help the parsers
1672     */
1673    NULL;
1674
1675    public static DataType fromCode(String codeString) throws FHIRException {
1676      if (codeString == null || "".equals(codeString))
1677        return null;
1678      if ("Address".equals(codeString))
1679        return ADDRESS;
1680      if ("Age".equals(codeString))
1681        return AGE;
1682      if ("Annotation".equals(codeString))
1683        return ANNOTATION;
1684      if ("Attachment".equals(codeString))
1685        return ATTACHMENT;
1686      if ("BackboneElement".equals(codeString))
1687        return BACKBONEELEMENT;
1688      if ("CodeableConcept".equals(codeString))
1689        return CODEABLECONCEPT;
1690      if ("Coding".equals(codeString))
1691        return CODING;
1692      if ("ContactDetail".equals(codeString))
1693        return CONTACTDETAIL;
1694      if ("ContactPoint".equals(codeString))
1695        return CONTACTPOINT;
1696      if ("Contributor".equals(codeString))
1697        return CONTRIBUTOR;
1698      if ("Count".equals(codeString))
1699        return COUNT;
1700      if ("DataRequirement".equals(codeString))
1701        return DATAREQUIREMENT;
1702      if ("Distance".equals(codeString))
1703        return DISTANCE;
1704      if ("Dosage".equals(codeString))
1705        return DOSAGE;
1706      if ("Duration".equals(codeString))
1707        return DURATION;
1708      if ("Element".equals(codeString))
1709        return ELEMENT;
1710      if ("ElementDefinition".equals(codeString))
1711        return ELEMENTDEFINITION;
1712      if ("Expression".equals(codeString))
1713        return EXPRESSION;
1714      if ("Extension".equals(codeString))
1715        return EXTENSION;
1716      if ("HumanName".equals(codeString))
1717        return HUMANNAME;
1718      if ("Identifier".equals(codeString))
1719        return IDENTIFIER;
1720      if ("MarketingStatus".equals(codeString))
1721        return MARKETINGSTATUS;
1722      if ("Meta".equals(codeString))
1723        return META;
1724      if ("Money".equals(codeString))
1725        return MONEY;
1726      if ("MoneyQuantity".equals(codeString))
1727        return MONEYQUANTITY;
1728      if ("Narrative".equals(codeString))
1729        return NARRATIVE;
1730      if ("ParameterDefinition".equals(codeString))
1731        return PARAMETERDEFINITION;
1732      if ("Period".equals(codeString))
1733        return PERIOD;
1734      if ("Population".equals(codeString))
1735        return POPULATION;
1736      if ("ProdCharacteristic".equals(codeString))
1737        return PRODCHARACTERISTIC;
1738      if ("ProductShelfLife".equals(codeString))
1739        return PRODUCTSHELFLIFE;
1740      if ("Quantity".equals(codeString))
1741        return QUANTITY;
1742      if ("Range".equals(codeString))
1743        return RANGE;
1744      if ("Ratio".equals(codeString))
1745        return RATIO;
1746      if ("Reference".equals(codeString))
1747        return REFERENCE;
1748      if ("RelatedArtifact".equals(codeString))
1749        return RELATEDARTIFACT;
1750      if ("SampledData".equals(codeString))
1751        return SAMPLEDDATA;
1752      if ("Signature".equals(codeString))
1753        return SIGNATURE;
1754      if ("SimpleQuantity".equals(codeString))
1755        return SIMPLEQUANTITY;
1756      if ("SubstanceAmount".equals(codeString))
1757        return SUBSTANCEAMOUNT;
1758      if ("Timing".equals(codeString))
1759        return TIMING;
1760      if ("TriggerDefinition".equals(codeString))
1761        return TRIGGERDEFINITION;
1762      if ("UsageContext".equals(codeString))
1763        return USAGECONTEXT;
1764      if ("base64Binary".equals(codeString))
1765        return BASE64BINARY;
1766      if ("boolean".equals(codeString))
1767        return BOOLEAN;
1768      if ("canonical".equals(codeString))
1769        return CANONICAL;
1770      if ("code".equals(codeString))
1771        return CODE;
1772      if ("date".equals(codeString))
1773        return DATE;
1774      if ("dateTime".equals(codeString))
1775        return DATETIME;
1776      if ("decimal".equals(codeString))
1777        return DECIMAL;
1778      if ("id".equals(codeString))
1779        return ID;
1780      if ("instant".equals(codeString))
1781        return INSTANT;
1782      if ("integer".equals(codeString))
1783        return INTEGER;
1784      if ("markdown".equals(codeString))
1785        return MARKDOWN;
1786      if ("oid".equals(codeString))
1787        return OID;
1788      if ("positiveInt".equals(codeString))
1789        return POSITIVEINT;
1790      if ("string".equals(codeString))
1791        return STRING;
1792      if ("time".equals(codeString))
1793        return TIME;
1794      if ("unsignedInt".equals(codeString))
1795        return UNSIGNEDINT;
1796      if ("uri".equals(codeString))
1797        return URI;
1798      if ("url".equals(codeString))
1799        return URL;
1800      if ("uuid".equals(codeString))
1801        return UUID;
1802      if ("xhtml".equals(codeString))
1803        return XHTML;
1804      throw new FHIRException("Unknown DataType code '" + codeString + "'");
1805    }
1806
1807    public String toCode() {
1808      switch (this) {
1809      case ADDRESS:
1810        return "Address";
1811      case AGE:
1812        return "Age";
1813      case ANNOTATION:
1814        return "Annotation";
1815      case ATTACHMENT:
1816        return "Attachment";
1817      case BACKBONEELEMENT:
1818        return "BackboneElement";
1819      case CODEABLECONCEPT:
1820        return "CodeableConcept";
1821      case CODING:
1822        return "Coding";
1823      case CONTACTDETAIL:
1824        return "ContactDetail";
1825      case CONTACTPOINT:
1826        return "ContactPoint";
1827      case CONTRIBUTOR:
1828        return "Contributor";
1829      case COUNT:
1830        return "Count";
1831      case DATAREQUIREMENT:
1832        return "DataRequirement";
1833      case DISTANCE:
1834        return "Distance";
1835      case DOSAGE:
1836        return "Dosage";
1837      case DURATION:
1838        return "Duration";
1839      case ELEMENT:
1840        return "Element";
1841      case ELEMENTDEFINITION:
1842        return "ElementDefinition";
1843      case EXPRESSION:
1844        return "Expression";
1845      case EXTENSION:
1846        return "Extension";
1847      case HUMANNAME:
1848        return "HumanName";
1849      case IDENTIFIER:
1850        return "Identifier";
1851      case MARKETINGSTATUS:
1852        return "MarketingStatus";
1853      case META:
1854        return "Meta";
1855      case MONEY:
1856        return "Money";
1857      case MONEYQUANTITY:
1858        return "MoneyQuantity";
1859      case NARRATIVE:
1860        return "Narrative";
1861      case PARAMETERDEFINITION:
1862        return "ParameterDefinition";
1863      case PERIOD:
1864        return "Period";
1865      case POPULATION:
1866        return "Population";
1867      case PRODCHARACTERISTIC:
1868        return "ProdCharacteristic";
1869      case PRODUCTSHELFLIFE:
1870        return "ProductShelfLife";
1871      case QUANTITY:
1872        return "Quantity";
1873      case RANGE:
1874        return "Range";
1875      case RATIO:
1876        return "Ratio";
1877      case REFERENCE:
1878        return "Reference";
1879      case RELATEDARTIFACT:
1880        return "RelatedArtifact";
1881      case SAMPLEDDATA:
1882        return "SampledData";
1883      case SIGNATURE:
1884        return "Signature";
1885      case SIMPLEQUANTITY:
1886        return "SimpleQuantity";
1887      case SUBSTANCEAMOUNT:
1888        return "SubstanceAmount";
1889      case TIMING:
1890        return "Timing";
1891      case TRIGGERDEFINITION:
1892        return "TriggerDefinition";
1893      case USAGECONTEXT:
1894        return "UsageContext";
1895      case BASE64BINARY:
1896        return "base64Binary";
1897      case BOOLEAN:
1898        return "boolean";
1899      case CANONICAL:
1900        return "canonical";
1901      case CODE:
1902        return "code";
1903      case DATE:
1904        return "date";
1905      case DATETIME:
1906        return "dateTime";
1907      case DECIMAL:
1908        return "decimal";
1909      case ID:
1910        return "id";
1911      case INSTANT:
1912        return "instant";
1913      case INTEGER:
1914        return "integer";
1915      case MARKDOWN:
1916        return "markdown";
1917      case OID:
1918        return "oid";
1919      case POSITIVEINT:
1920        return "positiveInt";
1921      case STRING:
1922        return "string";
1923      case TIME:
1924        return "time";
1925      case UNSIGNEDINT:
1926        return "unsignedInt";
1927      case URI:
1928        return "uri";
1929      case URL:
1930        return "url";
1931      case UUID:
1932        return "uuid";
1933      case XHTML:
1934        return "xhtml";
1935      case NULL:
1936        return null;
1937      default:
1938        return "?";
1939      }
1940    }
1941
1942    public String getSystem() {
1943      switch (this) {
1944      case ADDRESS:
1945        return "http://hl7.org/fhir/data-types";
1946      case AGE:
1947        return "http://hl7.org/fhir/data-types";
1948      case ANNOTATION:
1949        return "http://hl7.org/fhir/data-types";
1950      case ATTACHMENT:
1951        return "http://hl7.org/fhir/data-types";
1952      case BACKBONEELEMENT:
1953        return "http://hl7.org/fhir/data-types";
1954      case CODEABLECONCEPT:
1955        return "http://hl7.org/fhir/data-types";
1956      case CODING:
1957        return "http://hl7.org/fhir/data-types";
1958      case CONTACTDETAIL:
1959        return "http://hl7.org/fhir/data-types";
1960      case CONTACTPOINT:
1961        return "http://hl7.org/fhir/data-types";
1962      case CONTRIBUTOR:
1963        return "http://hl7.org/fhir/data-types";
1964      case COUNT:
1965        return "http://hl7.org/fhir/data-types";
1966      case DATAREQUIREMENT:
1967        return "http://hl7.org/fhir/data-types";
1968      case DISTANCE:
1969        return "http://hl7.org/fhir/data-types";
1970      case DOSAGE:
1971        return "http://hl7.org/fhir/data-types";
1972      case DURATION:
1973        return "http://hl7.org/fhir/data-types";
1974      case ELEMENT:
1975        return "http://hl7.org/fhir/data-types";
1976      case ELEMENTDEFINITION:
1977        return "http://hl7.org/fhir/data-types";
1978      case EXPRESSION:
1979        return "http://hl7.org/fhir/data-types";
1980      case EXTENSION:
1981        return "http://hl7.org/fhir/data-types";
1982      case HUMANNAME:
1983        return "http://hl7.org/fhir/data-types";
1984      case IDENTIFIER:
1985        return "http://hl7.org/fhir/data-types";
1986      case MARKETINGSTATUS:
1987        return "http://hl7.org/fhir/data-types";
1988      case META:
1989        return "http://hl7.org/fhir/data-types";
1990      case MONEY:
1991        return "http://hl7.org/fhir/data-types";
1992      case MONEYQUANTITY:
1993        return "http://hl7.org/fhir/data-types";
1994      case NARRATIVE:
1995        return "http://hl7.org/fhir/data-types";
1996      case PARAMETERDEFINITION:
1997        return "http://hl7.org/fhir/data-types";
1998      case PERIOD:
1999        return "http://hl7.org/fhir/data-types";
2000      case POPULATION:
2001        return "http://hl7.org/fhir/data-types";
2002      case PRODCHARACTERISTIC:
2003        return "http://hl7.org/fhir/data-types";
2004      case PRODUCTSHELFLIFE:
2005        return "http://hl7.org/fhir/data-types";
2006      case QUANTITY:
2007        return "http://hl7.org/fhir/data-types";
2008      case RANGE:
2009        return "http://hl7.org/fhir/data-types";
2010      case RATIO:
2011        return "http://hl7.org/fhir/data-types";
2012      case REFERENCE:
2013        return "http://hl7.org/fhir/data-types";
2014      case RELATEDARTIFACT:
2015        return "http://hl7.org/fhir/data-types";
2016      case SAMPLEDDATA:
2017        return "http://hl7.org/fhir/data-types";
2018      case SIGNATURE:
2019        return "http://hl7.org/fhir/data-types";
2020      case SIMPLEQUANTITY:
2021        return "http://hl7.org/fhir/data-types";
2022      case SUBSTANCEAMOUNT:
2023        return "http://hl7.org/fhir/data-types";
2024      case TIMING:
2025        return "http://hl7.org/fhir/data-types";
2026      case TRIGGERDEFINITION:
2027        return "http://hl7.org/fhir/data-types";
2028      case USAGECONTEXT:
2029        return "http://hl7.org/fhir/data-types";
2030      case BASE64BINARY:
2031        return "http://hl7.org/fhir/data-types";
2032      case BOOLEAN:
2033        return "http://hl7.org/fhir/data-types";
2034      case CANONICAL:
2035        return "http://hl7.org/fhir/data-types";
2036      case CODE:
2037        return "http://hl7.org/fhir/data-types";
2038      case DATE:
2039        return "http://hl7.org/fhir/data-types";
2040      case DATETIME:
2041        return "http://hl7.org/fhir/data-types";
2042      case DECIMAL:
2043        return "http://hl7.org/fhir/data-types";
2044      case ID:
2045        return "http://hl7.org/fhir/data-types";
2046      case INSTANT:
2047        return "http://hl7.org/fhir/data-types";
2048      case INTEGER:
2049        return "http://hl7.org/fhir/data-types";
2050      case MARKDOWN:
2051        return "http://hl7.org/fhir/data-types";
2052      case OID:
2053        return "http://hl7.org/fhir/data-types";
2054      case POSITIVEINT:
2055        return "http://hl7.org/fhir/data-types";
2056      case STRING:
2057        return "http://hl7.org/fhir/data-types";
2058      case TIME:
2059        return "http://hl7.org/fhir/data-types";
2060      case UNSIGNEDINT:
2061        return "http://hl7.org/fhir/data-types";
2062      case URI:
2063        return "http://hl7.org/fhir/data-types";
2064      case URL:
2065        return "http://hl7.org/fhir/data-types";
2066      case UUID:
2067        return "http://hl7.org/fhir/data-types";
2068      case XHTML:
2069        return "http://hl7.org/fhir/data-types";
2070      case NULL:
2071        return null;
2072      default:
2073        return "?";
2074      }
2075    }
2076
2077    public String getDefinition() {
2078      switch (this) {
2079      case ADDRESS:
2080        return "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.";
2081      case AGE:
2082        return "A duration of time during which an organism (or a process) has existed.";
2083      case ANNOTATION:
2084        return "A  text note which also  contains information about who made the statement and when.";
2085      case ATTACHMENT:
2086        return "For referring to data content defined in other formats.";
2087      case BACKBONEELEMENT:
2088        return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
2089      case CODEABLECONCEPT:
2090        return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
2091      case CODING:
2092        return "A reference to a code defined by a terminology system.";
2093      case CONTACTDETAIL:
2094        return "Specifies contact information for a person or organization.";
2095      case CONTACTPOINT:
2096        return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
2097      case CONTRIBUTOR:
2098        return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
2099      case COUNT:
2100        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.";
2101      case DATAREQUIREMENT:
2102        return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
2103      case DISTANCE:
2104        return "A length - a value with a unit that is a physical distance.";
2105      case DOSAGE:
2106        return "Indicates how the medication is/was taken or should be taken by the patient.";
2107      case DURATION:
2108        return "A length of time.";
2109      case ELEMENT:
2110        return "Base definition for all elements in a resource.";
2111      case ELEMENTDEFINITION:
2112        return "Captures constraints on each element within the resource, profile, or extension.";
2113      case EXPRESSION:
2114        return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
2115      case EXTENSION:
2116        return "Optional Extension Element - found in all resources.";
2117      case HUMANNAME:
2118        return "A human's name with the ability to identify parts and usage.";
2119      case IDENTIFIER:
2120        return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
2121      case MARKETINGSTATUS:
2122        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
2123      case META:
2124        return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.";
2125      case MONEY:
2126        return "An amount of economic utility in some recognized currency.";
2127      case MONEYQUANTITY:
2128        return "";
2129      case NARRATIVE:
2130        return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
2131      case PARAMETERDEFINITION:
2132        return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.";
2133      case PERIOD:
2134        return "A time period defined by a start and end date and optionally time.";
2135      case POPULATION:
2136        return "A populatioof people with some set of grouping criteria.";
2137      case PRODCHARACTERISTIC:
2138        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
2139      case PRODUCTSHELFLIFE:
2140        return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
2141      case QUANTITY:
2142        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.";
2143      case RANGE:
2144        return "A set of ordered Quantities defined by a low and high limit.";
2145      case RATIO:
2146        return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
2147      case REFERENCE:
2148        return "A reference from one resource to another.";
2149      case RELATEDARTIFACT:
2150        return "Related artifacts such as additional documentation, justification, or bibliographic references.";
2151      case SAMPLEDDATA:
2152        return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
2153      case SIGNATURE:
2154        return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.";
2155      case SIMPLEQUANTITY:
2156        return "";
2157      case SUBSTANCEAMOUNT:
2158        return "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.";
2159      case TIMING:
2160        return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, 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, and may be used for reporting the schedule to which past regular activities were carried out.";
2161      case TRIGGERDEFINITION:
2162        return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
2163      case USAGECONTEXT:
2164        return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).";
2165      case BASE64BINARY:
2166        return "A stream of bytes";
2167      case BOOLEAN:
2168        return "Value of \"true\" or \"false\"";
2169      case CANONICAL:
2170        return "A URI that is a reference to a canonical URL on a FHIR resource";
2171      case CODE:
2172        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";
2173      case DATE:
2174        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.";
2175      case DATETIME:
2176        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.";
2177      case DECIMAL:
2178        return "A rational number with implicit precision";
2179      case ID:
2180        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.";
2181      case INSTANT:
2182        return "An instant in time - known at least to the second";
2183      case INTEGER:
2184        return "A whole number";
2185      case MARKDOWN:
2186        return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
2187      case OID:
2188        return "An OID represented as a URI";
2189      case POSITIVEINT:
2190        return "An integer with a value that is positive (e.g. >0)";
2191      case STRING:
2192        return "A sequence of Unicode characters";
2193      case TIME:
2194        return "A time during the day, with no date specified";
2195      case UNSIGNEDINT:
2196        return "An integer with a value that is not negative (e.g. >= 0)";
2197      case URI:
2198        return "String of characters used to identify a name or a resource";
2199      case URL:
2200        return "A URI that is a literal reference";
2201      case UUID:
2202        return "A UUID, represented as a URI";
2203      case XHTML:
2204        return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
2205      case NULL:
2206        return null;
2207      default:
2208        return "?";
2209      }
2210    }
2211
2212    public String getDisplay() {
2213      switch (this) {
2214      case ADDRESS:
2215        return "Address";
2216      case AGE:
2217        return "Age";
2218      case ANNOTATION:
2219        return "Annotation";
2220      case ATTACHMENT:
2221        return "Attachment";
2222      case BACKBONEELEMENT:
2223        return "BackboneElement";
2224      case CODEABLECONCEPT:
2225        return "CodeableConcept";
2226      case CODING:
2227        return "Coding";
2228      case CONTACTDETAIL:
2229        return "ContactDetail";
2230      case CONTACTPOINT:
2231        return "ContactPoint";
2232      case CONTRIBUTOR:
2233        return "Contributor";
2234      case COUNT:
2235        return "Count";
2236      case DATAREQUIREMENT:
2237        return "DataRequirement";
2238      case DISTANCE:
2239        return "Distance";
2240      case DOSAGE:
2241        return "Dosage";
2242      case DURATION:
2243        return "Duration";
2244      case ELEMENT:
2245        return "Element";
2246      case ELEMENTDEFINITION:
2247        return "ElementDefinition";
2248      case EXPRESSION:
2249        return "Expression";
2250      case EXTENSION:
2251        return "Extension";
2252      case HUMANNAME:
2253        return "HumanName";
2254      case IDENTIFIER:
2255        return "Identifier";
2256      case MARKETINGSTATUS:
2257        return "MarketingStatus";
2258      case META:
2259        return "Meta";
2260      case MONEY:
2261        return "Money";
2262      case MONEYQUANTITY:
2263        return "MoneyQuantity";
2264      case NARRATIVE:
2265        return "Narrative";
2266      case PARAMETERDEFINITION:
2267        return "ParameterDefinition";
2268      case PERIOD:
2269        return "Period";
2270      case POPULATION:
2271        return "Population";
2272      case PRODCHARACTERISTIC:
2273        return "ProdCharacteristic";
2274      case PRODUCTSHELFLIFE:
2275        return "ProductShelfLife";
2276      case QUANTITY:
2277        return "Quantity";
2278      case RANGE:
2279        return "Range";
2280      case RATIO:
2281        return "Ratio";
2282      case REFERENCE:
2283        return "Reference";
2284      case RELATEDARTIFACT:
2285        return "RelatedArtifact";
2286      case SAMPLEDDATA:
2287        return "SampledData";
2288      case SIGNATURE:
2289        return "Signature";
2290      case SIMPLEQUANTITY:
2291        return "SimpleQuantity";
2292      case SUBSTANCEAMOUNT:
2293        return "SubstanceAmount";
2294      case TIMING:
2295        return "Timing";
2296      case TRIGGERDEFINITION:
2297        return "TriggerDefinition";
2298      case USAGECONTEXT:
2299        return "UsageContext";
2300      case BASE64BINARY:
2301        return "base64Binary";
2302      case BOOLEAN:
2303        return "boolean";
2304      case CANONICAL:
2305        return "canonical";
2306      case CODE:
2307        return "code";
2308      case DATE:
2309        return "date";
2310      case DATETIME:
2311        return "dateTime";
2312      case DECIMAL:
2313        return "decimal";
2314      case ID:
2315        return "id";
2316      case INSTANT:
2317        return "instant";
2318      case INTEGER:
2319        return "integer";
2320      case MARKDOWN:
2321        return "markdown";
2322      case OID:
2323        return "oid";
2324      case POSITIVEINT:
2325        return "positiveInt";
2326      case STRING:
2327        return "string";
2328      case TIME:
2329        return "time";
2330      case UNSIGNEDINT:
2331        return "unsignedInt";
2332      case URI:
2333        return "uri";
2334      case URL:
2335        return "url";
2336      case UUID:
2337        return "uuid";
2338      case XHTML:
2339        return "XHTML";
2340      case NULL:
2341        return null;
2342      default:
2343        return "?";
2344      }
2345    }
2346  }
2347
2348  public static class DataTypeEnumFactory implements EnumFactory<DataType> {
2349    public DataType fromCode(String codeString) throws IllegalArgumentException {
2350      if (codeString == null || "".equals(codeString))
2351        if (codeString == null || "".equals(codeString))
2352          return null;
2353      if ("Address".equals(codeString))
2354        return DataType.ADDRESS;
2355      if ("Age".equals(codeString))
2356        return DataType.AGE;
2357      if ("Annotation".equals(codeString))
2358        return DataType.ANNOTATION;
2359      if ("Attachment".equals(codeString))
2360        return DataType.ATTACHMENT;
2361      if ("BackboneElement".equals(codeString))
2362        return DataType.BACKBONEELEMENT;
2363      if ("CodeableConcept".equals(codeString))
2364        return DataType.CODEABLECONCEPT;
2365      if ("Coding".equals(codeString))
2366        return DataType.CODING;
2367      if ("ContactDetail".equals(codeString))
2368        return DataType.CONTACTDETAIL;
2369      if ("ContactPoint".equals(codeString))
2370        return DataType.CONTACTPOINT;
2371      if ("Contributor".equals(codeString))
2372        return DataType.CONTRIBUTOR;
2373      if ("Count".equals(codeString))
2374        return DataType.COUNT;
2375      if ("DataRequirement".equals(codeString))
2376        return DataType.DATAREQUIREMENT;
2377      if ("Distance".equals(codeString))
2378        return DataType.DISTANCE;
2379      if ("Dosage".equals(codeString))
2380        return DataType.DOSAGE;
2381      if ("Duration".equals(codeString))
2382        return DataType.DURATION;
2383      if ("Element".equals(codeString))
2384        return DataType.ELEMENT;
2385      if ("ElementDefinition".equals(codeString))
2386        return DataType.ELEMENTDEFINITION;
2387      if ("Expression".equals(codeString))
2388        return DataType.EXPRESSION;
2389      if ("Extension".equals(codeString))
2390        return DataType.EXTENSION;
2391      if ("HumanName".equals(codeString))
2392        return DataType.HUMANNAME;
2393      if ("Identifier".equals(codeString))
2394        return DataType.IDENTIFIER;
2395      if ("MarketingStatus".equals(codeString))
2396        return DataType.MARKETINGSTATUS;
2397      if ("Meta".equals(codeString))
2398        return DataType.META;
2399      if ("Money".equals(codeString))
2400        return DataType.MONEY;
2401      if ("MoneyQuantity".equals(codeString))
2402        return DataType.MONEYQUANTITY;
2403      if ("Narrative".equals(codeString))
2404        return DataType.NARRATIVE;
2405      if ("ParameterDefinition".equals(codeString))
2406        return DataType.PARAMETERDEFINITION;
2407      if ("Period".equals(codeString))
2408        return DataType.PERIOD;
2409      if ("Population".equals(codeString))
2410        return DataType.POPULATION;
2411      if ("ProdCharacteristic".equals(codeString))
2412        return DataType.PRODCHARACTERISTIC;
2413      if ("ProductShelfLife".equals(codeString))
2414        return DataType.PRODUCTSHELFLIFE;
2415      if ("Quantity".equals(codeString))
2416        return DataType.QUANTITY;
2417      if ("Range".equals(codeString))
2418        return DataType.RANGE;
2419      if ("Ratio".equals(codeString))
2420        return DataType.RATIO;
2421      if ("Reference".equals(codeString))
2422        return DataType.REFERENCE;
2423      if ("RelatedArtifact".equals(codeString))
2424        return DataType.RELATEDARTIFACT;
2425      if ("SampledData".equals(codeString))
2426        return DataType.SAMPLEDDATA;
2427      if ("Signature".equals(codeString))
2428        return DataType.SIGNATURE;
2429      if ("SimpleQuantity".equals(codeString))
2430        return DataType.SIMPLEQUANTITY;
2431      if ("SubstanceAmount".equals(codeString))
2432        return DataType.SUBSTANCEAMOUNT;
2433      if ("Timing".equals(codeString))
2434        return DataType.TIMING;
2435      if ("TriggerDefinition".equals(codeString))
2436        return DataType.TRIGGERDEFINITION;
2437      if ("UsageContext".equals(codeString))
2438        return DataType.USAGECONTEXT;
2439      if ("base64Binary".equals(codeString))
2440        return DataType.BASE64BINARY;
2441      if ("boolean".equals(codeString))
2442        return DataType.BOOLEAN;
2443      if ("canonical".equals(codeString))
2444        return DataType.CANONICAL;
2445      if ("code".equals(codeString))
2446        return DataType.CODE;
2447      if ("date".equals(codeString))
2448        return DataType.DATE;
2449      if ("dateTime".equals(codeString))
2450        return DataType.DATETIME;
2451      if ("decimal".equals(codeString))
2452        return DataType.DECIMAL;
2453      if ("id".equals(codeString))
2454        return DataType.ID;
2455      if ("instant".equals(codeString))
2456        return DataType.INSTANT;
2457      if ("integer".equals(codeString))
2458        return DataType.INTEGER;
2459      if ("markdown".equals(codeString))
2460        return DataType.MARKDOWN;
2461      if ("oid".equals(codeString))
2462        return DataType.OID;
2463      if ("positiveInt".equals(codeString))
2464        return DataType.POSITIVEINT;
2465      if ("string".equals(codeString))
2466        return DataType.STRING;
2467      if ("time".equals(codeString))
2468        return DataType.TIME;
2469      if ("unsignedInt".equals(codeString))
2470        return DataType.UNSIGNEDINT;
2471      if ("uri".equals(codeString))
2472        return DataType.URI;
2473      if ("url".equals(codeString))
2474        return DataType.URL;
2475      if ("uuid".equals(codeString))
2476        return DataType.UUID;
2477      if ("xhtml".equals(codeString))
2478        return DataType.XHTML;
2479      throw new IllegalArgumentException("Unknown DataType code '" + codeString + "'");
2480    }
2481
2482    public Enumeration<DataType> fromType(PrimitiveType<?> code) throws FHIRException {
2483      if (code == null)
2484        return null;
2485      if (code.isEmpty())
2486        return new Enumeration<DataType>(this, DataType.NULL, code);
2487      String codeString = code.asStringValue();
2488      if (codeString == null || "".equals(codeString))
2489        return new Enumeration<DataType>(this, DataType.NULL, code);
2490      if ("Address".equals(codeString))
2491        return new Enumeration<DataType>(this, DataType.ADDRESS, code);
2492      if ("Age".equals(codeString))
2493        return new Enumeration<DataType>(this, DataType.AGE, code);
2494      if ("Annotation".equals(codeString))
2495        return new Enumeration<DataType>(this, DataType.ANNOTATION, code);
2496      if ("Attachment".equals(codeString))
2497        return new Enumeration<DataType>(this, DataType.ATTACHMENT, code);
2498      if ("BackboneElement".equals(codeString))
2499        return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT, code);
2500      if ("CodeableConcept".equals(codeString))
2501        return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT, code);
2502      if ("Coding".equals(codeString))
2503        return new Enumeration<DataType>(this, DataType.CODING, code);
2504      if ("ContactDetail".equals(codeString))
2505        return new Enumeration<DataType>(this, DataType.CONTACTDETAIL, code);
2506      if ("ContactPoint".equals(codeString))
2507        return new Enumeration<DataType>(this, DataType.CONTACTPOINT, code);
2508      if ("Contributor".equals(codeString))
2509        return new Enumeration<DataType>(this, DataType.CONTRIBUTOR, code);
2510      if ("Count".equals(codeString))
2511        return new Enumeration<DataType>(this, DataType.COUNT, code);
2512      if ("DataRequirement".equals(codeString))
2513        return new Enumeration<DataType>(this, DataType.DATAREQUIREMENT, code);
2514      if ("Distance".equals(codeString))
2515        return new Enumeration<DataType>(this, DataType.DISTANCE, code);
2516      if ("Dosage".equals(codeString))
2517        return new Enumeration<DataType>(this, DataType.DOSAGE, code);
2518      if ("Duration".equals(codeString))
2519        return new Enumeration<DataType>(this, DataType.DURATION, code);
2520      if ("Element".equals(codeString))
2521        return new Enumeration<DataType>(this, DataType.ELEMENT, code);
2522      if ("ElementDefinition".equals(codeString))
2523        return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION, code);
2524      if ("Expression".equals(codeString))
2525        return new Enumeration<DataType>(this, DataType.EXPRESSION, code);
2526      if ("Extension".equals(codeString))
2527        return new Enumeration<DataType>(this, DataType.EXTENSION, code);
2528      if ("HumanName".equals(codeString))
2529        return new Enumeration<DataType>(this, DataType.HUMANNAME, code);
2530      if ("Identifier".equals(codeString))
2531        return new Enumeration<DataType>(this, DataType.IDENTIFIER, code);
2532      if ("MarketingStatus".equals(codeString))
2533        return new Enumeration<DataType>(this, DataType.MARKETINGSTATUS, code);
2534      if ("Meta".equals(codeString))
2535        return new Enumeration<DataType>(this, DataType.META, code);
2536      if ("Money".equals(codeString))
2537        return new Enumeration<DataType>(this, DataType.MONEY, code);
2538      if ("MoneyQuantity".equals(codeString))
2539        return new Enumeration<DataType>(this, DataType.MONEYQUANTITY, code);
2540      if ("Narrative".equals(codeString))
2541        return new Enumeration<DataType>(this, DataType.NARRATIVE, code);
2542      if ("ParameterDefinition".equals(codeString))
2543        return new Enumeration<DataType>(this, DataType.PARAMETERDEFINITION, code);
2544      if ("Period".equals(codeString))
2545        return new Enumeration<DataType>(this, DataType.PERIOD, code);
2546      if ("Population".equals(codeString))
2547        return new Enumeration<DataType>(this, DataType.POPULATION, code);
2548      if ("ProdCharacteristic".equals(codeString))
2549        return new Enumeration<DataType>(this, DataType.PRODCHARACTERISTIC, code);
2550      if ("ProductShelfLife".equals(codeString))
2551        return new Enumeration<DataType>(this, DataType.PRODUCTSHELFLIFE, code);
2552      if ("Quantity".equals(codeString))
2553        return new Enumeration<DataType>(this, DataType.QUANTITY, code);
2554      if ("Range".equals(codeString))
2555        return new Enumeration<DataType>(this, DataType.RANGE, code);
2556      if ("Ratio".equals(codeString))
2557        return new Enumeration<DataType>(this, DataType.RATIO, code);
2558      if ("Reference".equals(codeString))
2559        return new Enumeration<DataType>(this, DataType.REFERENCE, code);
2560      if ("RelatedArtifact".equals(codeString))
2561        return new Enumeration<DataType>(this, DataType.RELATEDARTIFACT, code);
2562      if ("SampledData".equals(codeString))
2563        return new Enumeration<DataType>(this, DataType.SAMPLEDDATA, code);
2564      if ("Signature".equals(codeString))
2565        return new Enumeration<DataType>(this, DataType.SIGNATURE, code);
2566      if ("SimpleQuantity".equals(codeString))
2567        return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY, code);
2568      if ("SubstanceAmount".equals(codeString))
2569        return new Enumeration<DataType>(this, DataType.SUBSTANCEAMOUNT, code);
2570      if ("Timing".equals(codeString))
2571        return new Enumeration<DataType>(this, DataType.TIMING, code);
2572      if ("TriggerDefinition".equals(codeString))
2573        return new Enumeration<DataType>(this, DataType.TRIGGERDEFINITION, code);
2574      if ("UsageContext".equals(codeString))
2575        return new Enumeration<DataType>(this, DataType.USAGECONTEXT, code);
2576      if ("base64Binary".equals(codeString))
2577        return new Enumeration<DataType>(this, DataType.BASE64BINARY, code);
2578      if ("boolean".equals(codeString))
2579        return new Enumeration<DataType>(this, DataType.BOOLEAN, code);
2580      if ("canonical".equals(codeString))
2581        return new Enumeration<DataType>(this, DataType.CANONICAL, code);
2582      if ("code".equals(codeString))
2583        return new Enumeration<DataType>(this, DataType.CODE, code);
2584      if ("date".equals(codeString))
2585        return new Enumeration<DataType>(this, DataType.DATE, code);
2586      if ("dateTime".equals(codeString))
2587        return new Enumeration<DataType>(this, DataType.DATETIME, code);
2588      if ("decimal".equals(codeString))
2589        return new Enumeration<DataType>(this, DataType.DECIMAL, code);
2590      if ("id".equals(codeString))
2591        return new Enumeration<DataType>(this, DataType.ID, code);
2592      if ("instant".equals(codeString))
2593        return new Enumeration<DataType>(this, DataType.INSTANT, code);
2594      if ("integer".equals(codeString))
2595        return new Enumeration<DataType>(this, DataType.INTEGER, code);
2596      if ("markdown".equals(codeString))
2597        return new Enumeration<DataType>(this, DataType.MARKDOWN, code);
2598      if ("oid".equals(codeString))
2599        return new Enumeration<DataType>(this, DataType.OID, code);
2600      if ("positiveInt".equals(codeString))
2601        return new Enumeration<DataType>(this, DataType.POSITIVEINT, code);
2602      if ("string".equals(codeString))
2603        return new Enumeration<DataType>(this, DataType.STRING, code);
2604      if ("time".equals(codeString))
2605        return new Enumeration<DataType>(this, DataType.TIME, code);
2606      if ("unsignedInt".equals(codeString))
2607        return new Enumeration<DataType>(this, DataType.UNSIGNEDINT, code);
2608      if ("uri".equals(codeString))
2609        return new Enumeration<DataType>(this, DataType.URI, code);
2610      if ("url".equals(codeString))
2611        return new Enumeration<DataType>(this, DataType.URL, code);
2612      if ("uuid".equals(codeString))
2613        return new Enumeration<DataType>(this, DataType.UUID, code);
2614      if ("xhtml".equals(codeString))
2615        return new Enumeration<DataType>(this, DataType.XHTML, code);
2616      throw new FHIRException("Unknown DataType code '" + codeString + "'");
2617    }
2618
2619    public String toCode(DataType code) {
2620       if (code == DataType.NULL)
2621           return null;
2622       if (code == DataType.ADDRESS)
2623        return "Address";
2624      if (code == DataType.AGE)
2625        return "Age";
2626      if (code == DataType.ANNOTATION)
2627        return "Annotation";
2628      if (code == DataType.ATTACHMENT)
2629        return "Attachment";
2630      if (code == DataType.BACKBONEELEMENT)
2631        return "BackboneElement";
2632      if (code == DataType.CODEABLECONCEPT)
2633        return "CodeableConcept";
2634      if (code == DataType.CODING)
2635        return "Coding";
2636      if (code == DataType.CONTACTDETAIL)
2637        return "ContactDetail";
2638      if (code == DataType.CONTACTPOINT)
2639        return "ContactPoint";
2640      if (code == DataType.CONTRIBUTOR)
2641        return "Contributor";
2642      if (code == DataType.COUNT)
2643        return "Count";
2644      if (code == DataType.DATAREQUIREMENT)
2645        return "DataRequirement";
2646      if (code == DataType.DISTANCE)
2647        return "Distance";
2648      if (code == DataType.DOSAGE)
2649        return "Dosage";
2650      if (code == DataType.DURATION)
2651        return "Duration";
2652      if (code == DataType.ELEMENT)
2653        return "Element";
2654      if (code == DataType.ELEMENTDEFINITION)
2655        return "ElementDefinition";
2656      if (code == DataType.EXPRESSION)
2657        return "Expression";
2658      if (code == DataType.EXTENSION)
2659        return "Extension";
2660      if (code == DataType.HUMANNAME)
2661        return "HumanName";
2662      if (code == DataType.IDENTIFIER)
2663        return "Identifier";
2664      if (code == DataType.MARKETINGSTATUS)
2665        return "MarketingStatus";
2666      if (code == DataType.META)
2667        return "Meta";
2668      if (code == DataType.MONEY)
2669        return "Money";
2670      if (code == DataType.MONEYQUANTITY)
2671        return "MoneyQuantity";
2672      if (code == DataType.NARRATIVE)
2673        return "Narrative";
2674      if (code == DataType.PARAMETERDEFINITION)
2675        return "ParameterDefinition";
2676      if (code == DataType.PERIOD)
2677        return "Period";
2678      if (code == DataType.POPULATION)
2679        return "Population";
2680      if (code == DataType.PRODCHARACTERISTIC)
2681        return "ProdCharacteristic";
2682      if (code == DataType.PRODUCTSHELFLIFE)
2683        return "ProductShelfLife";
2684      if (code == DataType.QUANTITY)
2685        return "Quantity";
2686      if (code == DataType.RANGE)
2687        return "Range";
2688      if (code == DataType.RATIO)
2689        return "Ratio";
2690      if (code == DataType.REFERENCE)
2691        return "Reference";
2692      if (code == DataType.RELATEDARTIFACT)
2693        return "RelatedArtifact";
2694      if (code == DataType.SAMPLEDDATA)
2695        return "SampledData";
2696      if (code == DataType.SIGNATURE)
2697        return "Signature";
2698      if (code == DataType.SIMPLEQUANTITY)
2699        return "SimpleQuantity";
2700      if (code == DataType.SUBSTANCEAMOUNT)
2701        return "SubstanceAmount";
2702      if (code == DataType.TIMING)
2703        return "Timing";
2704      if (code == DataType.TRIGGERDEFINITION)
2705        return "TriggerDefinition";
2706      if (code == DataType.USAGECONTEXT)
2707        return "UsageContext";
2708      if (code == DataType.BASE64BINARY)
2709        return "base64Binary";
2710      if (code == DataType.BOOLEAN)
2711        return "boolean";
2712      if (code == DataType.CANONICAL)
2713        return "canonical";
2714      if (code == DataType.CODE)
2715        return "code";
2716      if (code == DataType.DATE)
2717        return "date";
2718      if (code == DataType.DATETIME)
2719        return "dateTime";
2720      if (code == DataType.DECIMAL)
2721        return "decimal";
2722      if (code == DataType.ID)
2723        return "id";
2724      if (code == DataType.INSTANT)
2725        return "instant";
2726      if (code == DataType.INTEGER)
2727        return "integer";
2728      if (code == DataType.MARKDOWN)
2729        return "markdown";
2730      if (code == DataType.OID)
2731        return "oid";
2732      if (code == DataType.POSITIVEINT)
2733        return "positiveInt";
2734      if (code == DataType.STRING)
2735        return "string";
2736      if (code == DataType.TIME)
2737        return "time";
2738      if (code == DataType.UNSIGNEDINT)
2739        return "unsignedInt";
2740      if (code == DataType.URI)
2741        return "uri";
2742      if (code == DataType.URL)
2743        return "url";
2744      if (code == DataType.UUID)
2745        return "uuid";
2746      if (code == DataType.XHTML)
2747        return "xhtml";
2748      return "?";
2749   }
2750
2751    public String toSystem(DataType code) {
2752      return code.getSystem();
2753    }
2754  }
2755
2756  public enum DefinitionResourceType {
2757    /**
2758     * This resource allows for the definition of some activity to be performed,
2759     * independent of a particular patient, practitioner, or other performance
2760     * context.
2761     */
2762    ACTIVITYDEFINITION,
2763    /**
2764     * The EventDefinition resource provides a reusable description of when a
2765     * particular event can occur.
2766     */
2767    EVENTDEFINITION,
2768    /**
2769     * The Measure resource provides the definition of a quality measure.
2770     */
2771    MEASURE,
2772    /**
2773     * A formal computable definition of an operation (on the RESTful interface) or
2774     * a named query (using the search interaction).
2775     */
2776    OPERATIONDEFINITION,
2777    /**
2778     * This resource allows for the definition of various types of plans as a
2779     * sharable, consumable, and executable artifact. The resource is general enough
2780     * to support the description of a broad range of clinical artifacts such as
2781     * clinical decision support rules, order sets and protocols.
2782     */
2783    PLANDEFINITION,
2784    /**
2785     * A structured set of questions intended to guide the collection of answers
2786     * from end-users. Questionnaires provide detailed control over order,
2787     * presentation, phraseology and grouping to allow coherent, consistent data
2788     * collection.
2789     */
2790    QUESTIONNAIRE,
2791    /**
2792     * added to help the parsers
2793     */
2794    NULL;
2795
2796    public static DefinitionResourceType fromCode(String codeString) throws FHIRException {
2797      if (codeString == null || "".equals(codeString))
2798        return null;
2799      if ("ActivityDefinition".equals(codeString))
2800        return ACTIVITYDEFINITION;
2801      if ("EventDefinition".equals(codeString))
2802        return EVENTDEFINITION;
2803      if ("Measure".equals(codeString))
2804        return MEASURE;
2805      if ("OperationDefinition".equals(codeString))
2806        return OPERATIONDEFINITION;
2807      if ("PlanDefinition".equals(codeString))
2808        return PLANDEFINITION;
2809      if ("Questionnaire".equals(codeString))
2810        return QUESTIONNAIRE;
2811      throw new FHIRException("Unknown DefinitionResourceType code '" + codeString + "'");
2812    }
2813
2814    public String toCode() {
2815      switch (this) {
2816      case ACTIVITYDEFINITION:
2817        return "ActivityDefinition";
2818      case EVENTDEFINITION:
2819        return "EventDefinition";
2820      case MEASURE:
2821        return "Measure";
2822      case OPERATIONDEFINITION:
2823        return "OperationDefinition";
2824      case PLANDEFINITION:
2825        return "PlanDefinition";
2826      case QUESTIONNAIRE:
2827        return "Questionnaire";
2828      case NULL:
2829        return null;
2830      default:
2831        return "?";
2832      }
2833    }
2834
2835    public String getSystem() {
2836      switch (this) {
2837      case ACTIVITYDEFINITION:
2838        return "http://hl7.org/fhir/definition-resource-types";
2839      case EVENTDEFINITION:
2840        return "http://hl7.org/fhir/definition-resource-types";
2841      case MEASURE:
2842        return "http://hl7.org/fhir/definition-resource-types";
2843      case OPERATIONDEFINITION:
2844        return "http://hl7.org/fhir/definition-resource-types";
2845      case PLANDEFINITION:
2846        return "http://hl7.org/fhir/definition-resource-types";
2847      case QUESTIONNAIRE:
2848        return "http://hl7.org/fhir/definition-resource-types";
2849      case NULL:
2850        return null;
2851      default:
2852        return "?";
2853      }
2854    }
2855
2856    public String getDefinition() {
2857      switch (this) {
2858      case ACTIVITYDEFINITION:
2859        return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
2860      case EVENTDEFINITION:
2861        return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
2862      case MEASURE:
2863        return "The Measure resource provides the definition of a quality measure.";
2864      case OPERATIONDEFINITION:
2865        return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
2866      case PLANDEFINITION:
2867        return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.";
2868      case QUESTIONNAIRE:
2869        return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.";
2870      case NULL:
2871        return null;
2872      default:
2873        return "?";
2874      }
2875    }
2876
2877    public String getDisplay() {
2878      switch (this) {
2879      case ACTIVITYDEFINITION:
2880        return "ActivityDefinition";
2881      case EVENTDEFINITION:
2882        return "EventDefinition";
2883      case MEASURE:
2884        return "Measure";
2885      case OPERATIONDEFINITION:
2886        return "OperationDefinition";
2887      case PLANDEFINITION:
2888        return "PlanDefinition";
2889      case QUESTIONNAIRE:
2890        return "Questionnaire";
2891      case NULL:
2892        return null;
2893      default:
2894        return "?";
2895      }
2896    }
2897  }
2898
2899  public static class DefinitionResourceTypeEnumFactory implements EnumFactory<DefinitionResourceType> {
2900    public DefinitionResourceType fromCode(String codeString) throws IllegalArgumentException {
2901      if (codeString == null || "".equals(codeString))
2902        if (codeString == null || "".equals(codeString))
2903          return null;
2904      if ("ActivityDefinition".equals(codeString))
2905        return DefinitionResourceType.ACTIVITYDEFINITION;
2906      if ("EventDefinition".equals(codeString))
2907        return DefinitionResourceType.EVENTDEFINITION;
2908      if ("Measure".equals(codeString))
2909        return DefinitionResourceType.MEASURE;
2910      if ("OperationDefinition".equals(codeString))
2911        return DefinitionResourceType.OPERATIONDEFINITION;
2912      if ("PlanDefinition".equals(codeString))
2913        return DefinitionResourceType.PLANDEFINITION;
2914      if ("Questionnaire".equals(codeString))
2915        return DefinitionResourceType.QUESTIONNAIRE;
2916      throw new IllegalArgumentException("Unknown DefinitionResourceType code '" + codeString + "'");
2917    }
2918
2919    public Enumeration<DefinitionResourceType> fromType(PrimitiveType<?> code) throws FHIRException {
2920      if (code == null)
2921        return null;
2922      if (code.isEmpty())
2923        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.NULL, code);
2924      String codeString = code.asStringValue();
2925      if (codeString == null || "".equals(codeString))
2926        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.NULL, code);
2927      if ("ActivityDefinition".equals(codeString))
2928        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.ACTIVITYDEFINITION, code);
2929      if ("EventDefinition".equals(codeString))
2930        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.EVENTDEFINITION, code);
2931      if ("Measure".equals(codeString))
2932        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.MEASURE, code);
2933      if ("OperationDefinition".equals(codeString))
2934        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.OPERATIONDEFINITION, code);
2935      if ("PlanDefinition".equals(codeString))
2936        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.PLANDEFINITION, code);
2937      if ("Questionnaire".equals(codeString))
2938        return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.QUESTIONNAIRE, code);
2939      throw new FHIRException("Unknown DefinitionResourceType code '" + codeString + "'");
2940    }
2941
2942    public String toCode(DefinitionResourceType code) {
2943       if (code == DefinitionResourceType.NULL)
2944           return null;
2945       if (code == DefinitionResourceType.ACTIVITYDEFINITION)
2946        return "ActivityDefinition";
2947      if (code == DefinitionResourceType.EVENTDEFINITION)
2948        return "EventDefinition";
2949      if (code == DefinitionResourceType.MEASURE)
2950        return "Measure";
2951      if (code == DefinitionResourceType.OPERATIONDEFINITION)
2952        return "OperationDefinition";
2953      if (code == DefinitionResourceType.PLANDEFINITION)
2954        return "PlanDefinition";
2955      if (code == DefinitionResourceType.QUESTIONNAIRE)
2956        return "Questionnaire";
2957      return "?";
2958   }
2959
2960    public String toSystem(DefinitionResourceType code) {
2961      return code.getSystem();
2962    }
2963  }
2964
2965  public enum DocumentReferenceStatus {
2966    /**
2967     * This is the current reference for this document.
2968     */
2969    CURRENT,
2970    /**
2971     * This reference has been superseded by another reference.
2972     */
2973    SUPERSEDED,
2974    /**
2975     * This reference was created in error.
2976     */
2977    ENTEREDINERROR,
2978    /**
2979     * added to help the parsers
2980     */
2981    NULL;
2982
2983    public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException {
2984      if (codeString == null || "".equals(codeString))
2985        return null;
2986      if ("current".equals(codeString))
2987        return CURRENT;
2988      if ("superseded".equals(codeString))
2989        return SUPERSEDED;
2990      if ("entered-in-error".equals(codeString))
2991        return ENTEREDINERROR;
2992      throw new FHIRException("Unknown DocumentReferenceStatus code '" + codeString + "'");
2993    }
2994
2995    public String toCode() {
2996      switch (this) {
2997      case CURRENT:
2998        return "current";
2999      case SUPERSEDED:
3000        return "superseded";
3001      case ENTEREDINERROR:
3002        return "entered-in-error";
3003      case NULL:
3004        return null;
3005      default:
3006        return "?";
3007      }
3008    }
3009
3010    public String getSystem() {
3011      switch (this) {
3012      case CURRENT:
3013        return "http://hl7.org/fhir/document-reference-status";
3014      case SUPERSEDED:
3015        return "http://hl7.org/fhir/document-reference-status";
3016      case ENTEREDINERROR:
3017        return "http://hl7.org/fhir/document-reference-status";
3018      case NULL:
3019        return null;
3020      default:
3021        return "?";
3022      }
3023    }
3024
3025    public String getDefinition() {
3026      switch (this) {
3027      case CURRENT:
3028        return "This is the current reference for this document.";
3029      case SUPERSEDED:
3030        return "This reference has been superseded by another reference.";
3031      case ENTEREDINERROR:
3032        return "This reference was created in error.";
3033      case NULL:
3034        return null;
3035      default:
3036        return "?";
3037      }
3038    }
3039
3040    public String getDisplay() {
3041      switch (this) {
3042      case CURRENT:
3043        return "Current";
3044      case SUPERSEDED:
3045        return "Superseded";
3046      case ENTEREDINERROR:
3047        return "Entered in Error";
3048      case NULL:
3049        return null;
3050      default:
3051        return "?";
3052      }
3053    }
3054  }
3055
3056  public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> {
3057    public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException {
3058      if (codeString == null || "".equals(codeString))
3059        if (codeString == null || "".equals(codeString))
3060          return null;
3061      if ("current".equals(codeString))
3062        return DocumentReferenceStatus.CURRENT;
3063      if ("superseded".equals(codeString))
3064        return DocumentReferenceStatus.SUPERSEDED;
3065      if ("entered-in-error".equals(codeString))
3066        return DocumentReferenceStatus.ENTEREDINERROR;
3067      throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '" + codeString + "'");
3068    }
3069
3070    public Enumeration<DocumentReferenceStatus> fromType(PrimitiveType<?> code) throws FHIRException {
3071      if (code == null)
3072        return null;
3073      if (code.isEmpty())
3074        return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.NULL, code);
3075      String codeString = code.asStringValue();
3076      if (codeString == null || "".equals(codeString))
3077        return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.NULL, code);
3078      if ("current".equals(codeString))
3079        return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT, code);
3080      if ("superseded".equals(codeString))
3081        return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED, code);
3082      if ("entered-in-error".equals(codeString))
3083        return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR, code);
3084      throw new FHIRException("Unknown DocumentReferenceStatus code '" + codeString + "'");
3085    }
3086
3087    public String toCode(DocumentReferenceStatus code) {
3088       if (code == DocumentReferenceStatus.NULL)
3089           return null;
3090       if (code == DocumentReferenceStatus.CURRENT)
3091        return "current";
3092      if (code == DocumentReferenceStatus.SUPERSEDED)
3093        return "superseded";
3094      if (code == DocumentReferenceStatus.ENTEREDINERROR)
3095        return "entered-in-error";
3096      return "?";
3097   }
3098
3099    public String toSystem(DocumentReferenceStatus code) {
3100      return code.getSystem();
3101    }
3102  }
3103
3104  public enum EventResourceType {
3105    /**
3106     * Item containing charge code(s) associated with the provision of healthcare
3107     * provider products.
3108     */
3109    CHARGEITEM,
3110    /**
3111     * Remittance resource.
3112     */
3113    CLAIMRESPONSE,
3114    /**
3115     * A clinical assessment performed when planning treatments and management
3116     * strategies for a patient.
3117     */
3118    CLINICALIMPRESSION,
3119    /**
3120     * A record of information transmitted from a sender to a receiver.
3121     */
3122    COMMUNICATION,
3123    /**
3124     * A set of resources composed into a single coherent clinical statement with
3125     * clinical attestation.
3126     */
3127    COMPOSITION,
3128    /**
3129     * Detailed information about conditions, problems or diagnoses.
3130     */
3131    CONDITION,
3132    /**
3133     * A healthcare consumer's policy choices to permits or denies recipients or
3134     * roles to perform actions for specific purposes and periods of time.
3135     */
3136    CONSENT,
3137    /**
3138     * Insurance or medical plan or a payment agreement.
3139     */
3140    COVERAGE,
3141    /**
3142     * Record of use of a device.
3143     */
3144    DEVICEUSESTATEMENT,
3145    /**
3146     * A Diagnostic report - a combination of request information, atomic results,
3147     * images, interpretation, as well as formatted reports.
3148     */
3149    DIAGNOSTICREPORT,
3150    /**
3151     * A list that defines a set of documents.
3152     */
3153    DOCUMENTMANIFEST,
3154    /**
3155     * A reference to a document.
3156     */
3157    DOCUMENTREFERENCE,
3158    /**
3159     * An interaction during which services are provided to the patient.
3160     */
3161    ENCOUNTER,
3162    /**
3163     * EnrollmentResponse resource.
3164     */
3165    ENROLLMENTRESPONSE,
3166    /**
3167     * An association of a Patient with an Organization and Healthcare Provider(s)
3168     * for a period of time that the Organization assumes some level of
3169     * responsibility.
3170     */
3171    EPISODEOFCARE,
3172    /**
3173     * Explanation of Benefit resource.
3174     */
3175    EXPLANATIONOFBENEFIT,
3176    /**
3177     * Information about patient's relatives, relevant for patient.
3178     */
3179    FAMILYMEMBERHISTORY,
3180    /**
3181     * The formal response to a guidance request.
3182     */
3183    GUIDANCERESPONSE,
3184    /**
3185     * A set of images produced in single study (one or more series of references
3186     * images).
3187     */
3188    IMAGINGSTUDY,
3189    /**
3190     * Immunization event information.
3191     */
3192    IMMUNIZATION,
3193    /**
3194     * Results of a measure evaluation.
3195     */
3196    MEASUREREPORT,
3197    /**
3198     * A photo, video, or audio recording acquired or used in healthcare. The actual
3199     * content may be inline or provided by direct reference.
3200     */
3201    MEDIA,
3202    /**
3203     * Administration of medication to a patient.
3204     */
3205    MEDICATIONADMINISTRATION,
3206    /**
3207     * Dispensing a medication to a named patient.
3208     */
3209    MEDICATIONDISPENSE,
3210    /**
3211     * Record of medication being taken by a patient.
3212     */
3213    MEDICATIONSTATEMENT,
3214    /**
3215     * Measurements and simple assertions.
3216     */
3217    OBSERVATION,
3218    /**
3219     * PaymentNotice request.
3220     */
3221    PAYMENTNOTICE,
3222    /**
3223     * PaymentReconciliation resource.
3224     */
3225    PAYMENTRECONCILIATION,
3226    /**
3227     * An action that is being or was performed on a patient.
3228     */
3229    PROCEDURE,
3230    /**
3231     * ProcessResponse resource.
3232     */
3233    PROCESSRESPONSE,
3234    /**
3235     * A structured set of questions and their answers.
3236     */
3237    QUESTIONNAIRERESPONSE,
3238    /**
3239     * Potential outcomes for a subject with likelihood.
3240     */
3241    RISKASSESSMENT,
3242    /**
3243     * Delivery of bulk Supplies.
3244     */
3245    SUPPLYDELIVERY,
3246    /**
3247     * A task to be performed.
3248     */
3249    TASK,
3250    /**
3251     * added to help the parsers
3252     */
3253    NULL;
3254
3255    public static EventResourceType fromCode(String codeString) throws FHIRException {
3256      if (codeString == null || "".equals(codeString))
3257        return null;
3258      if ("ChargeItem".equals(codeString))
3259        return CHARGEITEM;
3260      if ("ClaimResponse".equals(codeString))
3261        return CLAIMRESPONSE;
3262      if ("ClinicalImpression".equals(codeString))
3263        return CLINICALIMPRESSION;
3264      if ("Communication".equals(codeString))
3265        return COMMUNICATION;
3266      if ("Composition".equals(codeString))
3267        return COMPOSITION;
3268      if ("Condition".equals(codeString))
3269        return CONDITION;
3270      if ("Consent".equals(codeString))
3271        return CONSENT;
3272      if ("Coverage".equals(codeString))
3273        return COVERAGE;
3274      if ("DeviceUseStatement".equals(codeString))
3275        return DEVICEUSESTATEMENT;
3276      if ("DiagnosticReport".equals(codeString))
3277        return DIAGNOSTICREPORT;
3278      if ("DocumentManifest".equals(codeString))
3279        return DOCUMENTMANIFEST;
3280      if ("DocumentReference".equals(codeString))
3281        return DOCUMENTREFERENCE;
3282      if ("Encounter".equals(codeString))
3283        return ENCOUNTER;
3284      if ("EnrollmentResponse".equals(codeString))
3285        return ENROLLMENTRESPONSE;
3286      if ("EpisodeOfCare".equals(codeString))
3287        return EPISODEOFCARE;
3288      if ("ExplanationOfBenefit".equals(codeString))
3289        return EXPLANATIONOFBENEFIT;
3290      if ("FamilyMemberHistory".equals(codeString))
3291        return FAMILYMEMBERHISTORY;
3292      if ("GuidanceResponse".equals(codeString))
3293        return GUIDANCERESPONSE;
3294      if ("ImagingStudy".equals(codeString))
3295        return IMAGINGSTUDY;
3296      if ("Immunization".equals(codeString))
3297        return IMMUNIZATION;
3298      if ("MeasureReport".equals(codeString))
3299        return MEASUREREPORT;
3300      if ("Media".equals(codeString))
3301        return MEDIA;
3302      if ("MedicationAdministration".equals(codeString))
3303        return MEDICATIONADMINISTRATION;
3304      if ("MedicationDispense".equals(codeString))
3305        return MEDICATIONDISPENSE;
3306      if ("MedicationStatement".equals(codeString))
3307        return MEDICATIONSTATEMENT;
3308      if ("Observation".equals(codeString))
3309        return OBSERVATION;
3310      if ("PaymentNotice".equals(codeString))
3311        return PAYMENTNOTICE;
3312      if ("PaymentReconciliation".equals(codeString))
3313        return PAYMENTRECONCILIATION;
3314      if ("Procedure".equals(codeString))
3315        return PROCEDURE;
3316      if ("ProcessResponse".equals(codeString))
3317        return PROCESSRESPONSE;
3318      if ("QuestionnaireResponse".equals(codeString))
3319        return QUESTIONNAIRERESPONSE;
3320      if ("RiskAssessment".equals(codeString))
3321        return RISKASSESSMENT;
3322      if ("SupplyDelivery".equals(codeString))
3323        return SUPPLYDELIVERY;
3324      if ("Task".equals(codeString))
3325        return TASK;
3326      throw new FHIRException("Unknown EventResourceType code '" + codeString + "'");
3327    }
3328
3329    public String toCode() {
3330      switch (this) {
3331      case CHARGEITEM:
3332        return "ChargeItem";
3333      case CLAIMRESPONSE:
3334        return "ClaimResponse";
3335      case CLINICALIMPRESSION:
3336        return "ClinicalImpression";
3337      case COMMUNICATION:
3338        return "Communication";
3339      case COMPOSITION:
3340        return "Composition";
3341      case CONDITION:
3342        return "Condition";
3343      case CONSENT:
3344        return "Consent";
3345      case COVERAGE:
3346        return "Coverage";
3347      case DEVICEUSESTATEMENT:
3348        return "DeviceUseStatement";
3349      case DIAGNOSTICREPORT:
3350        return "DiagnosticReport";
3351      case DOCUMENTMANIFEST:
3352        return "DocumentManifest";
3353      case DOCUMENTREFERENCE:
3354        return "DocumentReference";
3355      case ENCOUNTER:
3356        return "Encounter";
3357      case ENROLLMENTRESPONSE:
3358        return "EnrollmentResponse";
3359      case EPISODEOFCARE:
3360        return "EpisodeOfCare";
3361      case EXPLANATIONOFBENEFIT:
3362        return "ExplanationOfBenefit";
3363      case FAMILYMEMBERHISTORY:
3364        return "FamilyMemberHistory";
3365      case GUIDANCERESPONSE:
3366        return "GuidanceResponse";
3367      case IMAGINGSTUDY:
3368        return "ImagingStudy";
3369      case IMMUNIZATION:
3370        return "Immunization";
3371      case MEASUREREPORT:
3372        return "MeasureReport";
3373      case MEDIA:
3374        return "Media";
3375      case MEDICATIONADMINISTRATION:
3376        return "MedicationAdministration";
3377      case MEDICATIONDISPENSE:
3378        return "MedicationDispense";
3379      case MEDICATIONSTATEMENT:
3380        return "MedicationStatement";
3381      case OBSERVATION:
3382        return "Observation";
3383      case PAYMENTNOTICE:
3384        return "PaymentNotice";
3385      case PAYMENTRECONCILIATION:
3386        return "PaymentReconciliation";
3387      case PROCEDURE:
3388        return "Procedure";
3389      case PROCESSRESPONSE:
3390        return "ProcessResponse";
3391      case QUESTIONNAIRERESPONSE:
3392        return "QuestionnaireResponse";
3393      case RISKASSESSMENT:
3394        return "RiskAssessment";
3395      case SUPPLYDELIVERY:
3396        return "SupplyDelivery";
3397      case TASK:
3398        return "Task";
3399      case NULL:
3400        return null;
3401      default:
3402        return "?";
3403      }
3404    }
3405
3406    public String getSystem() {
3407      switch (this) {
3408      case CHARGEITEM:
3409        return "http://hl7.org/fhir/event-resource-types";
3410      case CLAIMRESPONSE:
3411        return "http://hl7.org/fhir/event-resource-types";
3412      case CLINICALIMPRESSION:
3413        return "http://hl7.org/fhir/event-resource-types";
3414      case COMMUNICATION:
3415        return "http://hl7.org/fhir/event-resource-types";
3416      case COMPOSITION:
3417        return "http://hl7.org/fhir/event-resource-types";
3418      case CONDITION:
3419        return "http://hl7.org/fhir/event-resource-types";
3420      case CONSENT:
3421        return "http://hl7.org/fhir/event-resource-types";
3422      case COVERAGE:
3423        return "http://hl7.org/fhir/event-resource-types";
3424      case DEVICEUSESTATEMENT:
3425        return "http://hl7.org/fhir/event-resource-types";
3426      case DIAGNOSTICREPORT:
3427        return "http://hl7.org/fhir/event-resource-types";
3428      case DOCUMENTMANIFEST:
3429        return "http://hl7.org/fhir/event-resource-types";
3430      case DOCUMENTREFERENCE:
3431        return "http://hl7.org/fhir/event-resource-types";
3432      case ENCOUNTER:
3433        return "http://hl7.org/fhir/event-resource-types";
3434      case ENROLLMENTRESPONSE:
3435        return "http://hl7.org/fhir/event-resource-types";
3436      case EPISODEOFCARE:
3437        return "http://hl7.org/fhir/event-resource-types";
3438      case EXPLANATIONOFBENEFIT:
3439        return "http://hl7.org/fhir/event-resource-types";
3440      case FAMILYMEMBERHISTORY:
3441        return "http://hl7.org/fhir/event-resource-types";
3442      case GUIDANCERESPONSE:
3443        return "http://hl7.org/fhir/event-resource-types";
3444      case IMAGINGSTUDY:
3445        return "http://hl7.org/fhir/event-resource-types";
3446      case IMMUNIZATION:
3447        return "http://hl7.org/fhir/event-resource-types";
3448      case MEASUREREPORT:
3449        return "http://hl7.org/fhir/event-resource-types";
3450      case MEDIA:
3451        return "http://hl7.org/fhir/event-resource-types";
3452      case MEDICATIONADMINISTRATION:
3453        return "http://hl7.org/fhir/event-resource-types";
3454      case MEDICATIONDISPENSE:
3455        return "http://hl7.org/fhir/event-resource-types";
3456      case MEDICATIONSTATEMENT:
3457        return "http://hl7.org/fhir/event-resource-types";
3458      case OBSERVATION:
3459        return "http://hl7.org/fhir/event-resource-types";
3460      case PAYMENTNOTICE:
3461        return "http://hl7.org/fhir/event-resource-types";
3462      case PAYMENTRECONCILIATION:
3463        return "http://hl7.org/fhir/event-resource-types";
3464      case PROCEDURE:
3465        return "http://hl7.org/fhir/event-resource-types";
3466      case PROCESSRESPONSE:
3467        return "http://hl7.org/fhir/event-resource-types";
3468      case QUESTIONNAIRERESPONSE:
3469        return "http://hl7.org/fhir/event-resource-types";
3470      case RISKASSESSMENT:
3471        return "http://hl7.org/fhir/event-resource-types";
3472      case SUPPLYDELIVERY:
3473        return "http://hl7.org/fhir/event-resource-types";
3474      case TASK:
3475        return "http://hl7.org/fhir/event-resource-types";
3476      case NULL:
3477        return null;
3478      default:
3479        return "?";
3480      }
3481    }
3482
3483    public String getDefinition() {
3484      switch (this) {
3485      case CHARGEITEM:
3486        return "Item containing charge code(s) associated with the provision of healthcare provider products.";
3487      case CLAIMRESPONSE:
3488        return "Remittance resource.";
3489      case CLINICALIMPRESSION:
3490        return "A clinical assessment performed when planning treatments and management strategies for a patient.";
3491      case COMMUNICATION:
3492        return "A record of information transmitted from a sender to a receiver.";
3493      case COMPOSITION:
3494        return "A set of resources composed into a single coherent clinical statement with clinical attestation.";
3495      case CONDITION:
3496        return "Detailed information about conditions, problems or diagnoses.";
3497      case CONSENT:
3498        return "A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.";
3499      case COVERAGE:
3500        return "Insurance or medical plan or a payment agreement.";
3501      case DEVICEUSESTATEMENT:
3502        return "Record of use of a device.";
3503      case DIAGNOSTICREPORT:
3504        return "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.";
3505      case DOCUMENTMANIFEST:
3506        return "A list that defines a set of documents.";
3507      case DOCUMENTREFERENCE:
3508        return "A reference to a document.";
3509      case ENCOUNTER:
3510        return "An interaction during which services are provided to the patient.";
3511      case ENROLLMENTRESPONSE:
3512        return "EnrollmentResponse resource.";
3513      case EPISODEOFCARE:
3514        return "An association of a Patient with an Organization and  Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility.";
3515      case EXPLANATIONOFBENEFIT:
3516        return "Explanation of Benefit resource.";
3517      case FAMILYMEMBERHISTORY:
3518        return "Information about patient's relatives, relevant for patient.";
3519      case GUIDANCERESPONSE:
3520        return "The formal response to a guidance request.";
3521      case IMAGINGSTUDY:
3522        return "A set of images produced in single study (one or more series of references images).";
3523      case IMMUNIZATION:
3524        return "Immunization event information.";
3525      case MEASUREREPORT:
3526        return "Results of a measure evaluation.";
3527      case MEDIA:
3528        return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
3529      case MEDICATIONADMINISTRATION:
3530        return "Administration of medication to a patient.";
3531      case MEDICATIONDISPENSE:
3532        return "Dispensing a medication to a named patient.";
3533      case MEDICATIONSTATEMENT:
3534        return "Record of medication being taken by a patient.";
3535      case OBSERVATION:
3536        return "Measurements and simple assertions.";
3537      case PAYMENTNOTICE:
3538        return "PaymentNotice request.";
3539      case PAYMENTRECONCILIATION:
3540        return "PaymentReconciliation resource.";
3541      case PROCEDURE:
3542        return "An action that is being or was performed on a patient.";
3543      case PROCESSRESPONSE:
3544        return "ProcessResponse resource.";
3545      case QUESTIONNAIRERESPONSE:
3546        return "A structured set of questions and their answers.";
3547      case RISKASSESSMENT:
3548        return "Potential outcomes for a subject with likelihood.";
3549      case SUPPLYDELIVERY:
3550        return "Delivery of bulk Supplies.";
3551      case TASK:
3552        return "A task to be performed.";
3553      case NULL:
3554        return null;
3555      default:
3556        return "?";
3557      }
3558    }
3559
3560    public String getDisplay() {
3561      switch (this) {
3562      case CHARGEITEM:
3563        return "ChargeItem";
3564      case CLAIMRESPONSE:
3565        return "ClaimResponse";
3566      case CLINICALIMPRESSION:
3567        return "ClinicalImpression";
3568      case COMMUNICATION:
3569        return "Communication";
3570      case COMPOSITION:
3571        return "Composition";
3572      case CONDITION:
3573        return "Condition";
3574      case CONSENT:
3575        return "Consent";
3576      case COVERAGE:
3577        return "Coverage";
3578      case DEVICEUSESTATEMENT:
3579        return "DeviceUseStatement";
3580      case DIAGNOSTICREPORT:
3581        return "DiagnosticReport";
3582      case DOCUMENTMANIFEST:
3583        return "DocumentManifest";
3584      case DOCUMENTREFERENCE:
3585        return "DocumentReference";
3586      case ENCOUNTER:
3587        return "Encounter";
3588      case ENROLLMENTRESPONSE:
3589        return "EnrollmentResponse";
3590      case EPISODEOFCARE:
3591        return "EpisodeOfCare";
3592      case EXPLANATIONOFBENEFIT:
3593        return "ExplanationOfBenefit";
3594      case FAMILYMEMBERHISTORY:
3595        return "FamilyMemberHistory";
3596      case GUIDANCERESPONSE:
3597        return "GuidanceResponse";
3598      case IMAGINGSTUDY:
3599        return "ImagingStudy";
3600      case IMMUNIZATION:
3601        return "Immunization";
3602      case MEASUREREPORT:
3603        return "MeasureReport";
3604      case MEDIA:
3605        return "Media";
3606      case MEDICATIONADMINISTRATION:
3607        return "MedicationAdministration";
3608      case MEDICATIONDISPENSE:
3609        return "MedicationDispense";
3610      case MEDICATIONSTATEMENT:
3611        return "MedicationStatement";
3612      case OBSERVATION:
3613        return "Observation";
3614      case PAYMENTNOTICE:
3615        return "PaymentNotice";
3616      case PAYMENTRECONCILIATION:
3617        return "PaymentReconciliation";
3618      case PROCEDURE:
3619        return "Procedure";
3620      case PROCESSRESPONSE:
3621        return "ProcessResponse";
3622      case QUESTIONNAIRERESPONSE:
3623        return "QuestionnaireResponse";
3624      case RISKASSESSMENT:
3625        return "RiskAssessment";
3626      case SUPPLYDELIVERY:
3627        return "SupplyDelivery";
3628      case TASK:
3629        return "Task";
3630      case NULL:
3631        return null;
3632      default:
3633        return "?";
3634      }
3635    }
3636  }
3637
3638  public static class EventResourceTypeEnumFactory implements EnumFactory<EventResourceType> {
3639    public EventResourceType fromCode(String codeString) throws IllegalArgumentException {
3640      if (codeString == null || "".equals(codeString))
3641        if (codeString == null || "".equals(codeString))
3642          return null;
3643      if ("ChargeItem".equals(codeString))
3644        return EventResourceType.CHARGEITEM;
3645      if ("ClaimResponse".equals(codeString))
3646        return EventResourceType.CLAIMRESPONSE;
3647      if ("ClinicalImpression".equals(codeString))
3648        return EventResourceType.CLINICALIMPRESSION;
3649      if ("Communication".equals(codeString))
3650        return EventResourceType.COMMUNICATION;
3651      if ("Composition".equals(codeString))
3652        return EventResourceType.COMPOSITION;
3653      if ("Condition".equals(codeString))
3654        return EventResourceType.CONDITION;
3655      if ("Consent".equals(codeString))
3656        return EventResourceType.CONSENT;
3657      if ("Coverage".equals(codeString))
3658        return EventResourceType.COVERAGE;
3659      if ("DeviceUseStatement".equals(codeString))
3660        return EventResourceType.DEVICEUSESTATEMENT;
3661      if ("DiagnosticReport".equals(codeString))
3662        return EventResourceType.DIAGNOSTICREPORT;
3663      if ("DocumentManifest".equals(codeString))
3664        return EventResourceType.DOCUMENTMANIFEST;
3665      if ("DocumentReference".equals(codeString))
3666        return EventResourceType.DOCUMENTREFERENCE;
3667      if ("Encounter".equals(codeString))
3668        return EventResourceType.ENCOUNTER;
3669      if ("EnrollmentResponse".equals(codeString))
3670        return EventResourceType.ENROLLMENTRESPONSE;
3671      if ("EpisodeOfCare".equals(codeString))
3672        return EventResourceType.EPISODEOFCARE;
3673      if ("ExplanationOfBenefit".equals(codeString))
3674        return EventResourceType.EXPLANATIONOFBENEFIT;
3675      if ("FamilyMemberHistory".equals(codeString))
3676        return EventResourceType.FAMILYMEMBERHISTORY;
3677      if ("GuidanceResponse".equals(codeString))
3678        return EventResourceType.GUIDANCERESPONSE;
3679      if ("ImagingStudy".equals(codeString))
3680        return EventResourceType.IMAGINGSTUDY;
3681      if ("Immunization".equals(codeString))
3682        return EventResourceType.IMMUNIZATION;
3683      if ("MeasureReport".equals(codeString))
3684        return EventResourceType.MEASUREREPORT;
3685      if ("Media".equals(codeString))
3686        return EventResourceType.MEDIA;
3687      if ("MedicationAdministration".equals(codeString))
3688        return EventResourceType.MEDICATIONADMINISTRATION;
3689      if ("MedicationDispense".equals(codeString))
3690        return EventResourceType.MEDICATIONDISPENSE;
3691      if ("MedicationStatement".equals(codeString))
3692        return EventResourceType.MEDICATIONSTATEMENT;
3693      if ("Observation".equals(codeString))
3694        return EventResourceType.OBSERVATION;
3695      if ("PaymentNotice".equals(codeString))
3696        return EventResourceType.PAYMENTNOTICE;
3697      if ("PaymentReconciliation".equals(codeString))
3698        return EventResourceType.PAYMENTRECONCILIATION;
3699      if ("Procedure".equals(codeString))
3700        return EventResourceType.PROCEDURE;
3701      if ("ProcessResponse".equals(codeString))
3702        return EventResourceType.PROCESSRESPONSE;
3703      if ("QuestionnaireResponse".equals(codeString))
3704        return EventResourceType.QUESTIONNAIRERESPONSE;
3705      if ("RiskAssessment".equals(codeString))
3706        return EventResourceType.RISKASSESSMENT;
3707      if ("SupplyDelivery".equals(codeString))
3708        return EventResourceType.SUPPLYDELIVERY;
3709      if ("Task".equals(codeString))
3710        return EventResourceType.TASK;
3711      throw new IllegalArgumentException("Unknown EventResourceType code '" + codeString + "'");
3712    }
3713
3714    public Enumeration<EventResourceType> fromType(PrimitiveType<?> code) throws FHIRException {
3715      if (code == null)
3716        return null;
3717      if (code.isEmpty())
3718        return new Enumeration<EventResourceType>(this, EventResourceType.NULL, code);
3719      String codeString = code.asStringValue();
3720      if (codeString == null || "".equals(codeString))
3721        return new Enumeration<EventResourceType>(this, EventResourceType.NULL, code);
3722      if ("ChargeItem".equals(codeString))
3723        return new Enumeration<EventResourceType>(this, EventResourceType.CHARGEITEM, code);
3724      if ("ClaimResponse".equals(codeString))
3725        return new Enumeration<EventResourceType>(this, EventResourceType.CLAIMRESPONSE, code);
3726      if ("ClinicalImpression".equals(codeString))
3727        return new Enumeration<EventResourceType>(this, EventResourceType.CLINICALIMPRESSION, code);
3728      if ("Communication".equals(codeString))
3729        return new Enumeration<EventResourceType>(this, EventResourceType.COMMUNICATION, code);
3730      if ("Composition".equals(codeString))
3731        return new Enumeration<EventResourceType>(this, EventResourceType.COMPOSITION, code);
3732      if ("Condition".equals(codeString))
3733        return new Enumeration<EventResourceType>(this, EventResourceType.CONDITION, code);
3734      if ("Consent".equals(codeString))
3735        return new Enumeration<EventResourceType>(this, EventResourceType.CONSENT, code);
3736      if ("Coverage".equals(codeString))
3737        return new Enumeration<EventResourceType>(this, EventResourceType.COVERAGE, code);
3738      if ("DeviceUseStatement".equals(codeString))
3739        return new Enumeration<EventResourceType>(this, EventResourceType.DEVICEUSESTATEMENT, code);
3740      if ("DiagnosticReport".equals(codeString))
3741        return new Enumeration<EventResourceType>(this, EventResourceType.DIAGNOSTICREPORT, code);
3742      if ("DocumentManifest".equals(codeString))
3743        return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTMANIFEST, code);
3744      if ("DocumentReference".equals(codeString))
3745        return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTREFERENCE, code);
3746      if ("Encounter".equals(codeString))
3747        return new Enumeration<EventResourceType>(this, EventResourceType.ENCOUNTER, code);
3748      if ("EnrollmentResponse".equals(codeString))
3749        return new Enumeration<EventResourceType>(this, EventResourceType.ENROLLMENTRESPONSE, code);
3750      if ("EpisodeOfCare".equals(codeString))
3751        return new Enumeration<EventResourceType>(this, EventResourceType.EPISODEOFCARE, code);
3752      if ("ExplanationOfBenefit".equals(codeString))
3753        return new Enumeration<EventResourceType>(this, EventResourceType.EXPLANATIONOFBENEFIT, code);
3754      if ("FamilyMemberHistory".equals(codeString))
3755        return new Enumeration<EventResourceType>(this, EventResourceType.FAMILYMEMBERHISTORY, code);
3756      if ("GuidanceResponse".equals(codeString))
3757        return new Enumeration<EventResourceType>(this, EventResourceType.GUIDANCERESPONSE, code);
3758      if ("ImagingStudy".equals(codeString))
3759        return new Enumeration<EventResourceType>(this, EventResourceType.IMAGINGSTUDY, code);
3760      if ("Immunization".equals(codeString))
3761        return new Enumeration<EventResourceType>(this, EventResourceType.IMMUNIZATION, code);
3762      if ("MeasureReport".equals(codeString))
3763        return new Enumeration<EventResourceType>(this, EventResourceType.MEASUREREPORT, code);
3764      if ("Media".equals(codeString))
3765        return new Enumeration<EventResourceType>(this, EventResourceType.MEDIA, code);
3766      if ("MedicationAdministration".equals(codeString))
3767        return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONADMINISTRATION, code);
3768      if ("MedicationDispense".equals(codeString))
3769        return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONDISPENSE, code);
3770      if ("MedicationStatement".equals(codeString))
3771        return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONSTATEMENT, code);
3772      if ("Observation".equals(codeString))
3773        return new Enumeration<EventResourceType>(this, EventResourceType.OBSERVATION, code);
3774      if ("PaymentNotice".equals(codeString))
3775        return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTNOTICE, code);
3776      if ("PaymentReconciliation".equals(codeString))
3777        return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTRECONCILIATION, code);
3778      if ("Procedure".equals(codeString))
3779        return new Enumeration<EventResourceType>(this, EventResourceType.PROCEDURE, code);
3780      if ("ProcessResponse".equals(codeString))
3781        return new Enumeration<EventResourceType>(this, EventResourceType.PROCESSRESPONSE, code);
3782      if ("QuestionnaireResponse".equals(codeString))
3783        return new Enumeration<EventResourceType>(this, EventResourceType.QUESTIONNAIRERESPONSE, code);
3784      if ("RiskAssessment".equals(codeString))
3785        return new Enumeration<EventResourceType>(this, EventResourceType.RISKASSESSMENT, code);
3786      if ("SupplyDelivery".equals(codeString))
3787        return new Enumeration<EventResourceType>(this, EventResourceType.SUPPLYDELIVERY, code);
3788      if ("Task".equals(codeString))
3789        return new Enumeration<EventResourceType>(this, EventResourceType.TASK, code);
3790      throw new FHIRException("Unknown EventResourceType code '" + codeString + "'");
3791    }
3792
3793    public String toCode(EventResourceType code) {
3794       if (code == EventResourceType.NULL)
3795           return null;
3796       if (code == EventResourceType.CHARGEITEM)
3797        return "ChargeItem";
3798      if (code == EventResourceType.CLAIMRESPONSE)
3799        return "ClaimResponse";
3800      if (code == EventResourceType.CLINICALIMPRESSION)
3801        return "ClinicalImpression";
3802      if (code == EventResourceType.COMMUNICATION)
3803        return "Communication";
3804      if (code == EventResourceType.COMPOSITION)
3805        return "Composition";
3806      if (code == EventResourceType.CONDITION)
3807        return "Condition";
3808      if (code == EventResourceType.CONSENT)
3809        return "Consent";
3810      if (code == EventResourceType.COVERAGE)
3811        return "Coverage";
3812      if (code == EventResourceType.DEVICEUSESTATEMENT)
3813        return "DeviceUseStatement";
3814      if (code == EventResourceType.DIAGNOSTICREPORT)
3815        return "DiagnosticReport";
3816      if (code == EventResourceType.DOCUMENTMANIFEST)
3817        return "DocumentManifest";
3818      if (code == EventResourceType.DOCUMENTREFERENCE)
3819        return "DocumentReference";
3820      if (code == EventResourceType.ENCOUNTER)
3821        return "Encounter";
3822      if (code == EventResourceType.ENROLLMENTRESPONSE)
3823        return "EnrollmentResponse";
3824      if (code == EventResourceType.EPISODEOFCARE)
3825        return "EpisodeOfCare";
3826      if (code == EventResourceType.EXPLANATIONOFBENEFIT)
3827        return "ExplanationOfBenefit";
3828      if (code == EventResourceType.FAMILYMEMBERHISTORY)
3829        return "FamilyMemberHistory";
3830      if (code == EventResourceType.GUIDANCERESPONSE)
3831        return "GuidanceResponse";
3832      if (code == EventResourceType.IMAGINGSTUDY)
3833        return "ImagingStudy";
3834      if (code == EventResourceType.IMMUNIZATION)
3835        return "Immunization";
3836      if (code == EventResourceType.MEASUREREPORT)
3837        return "MeasureReport";
3838      if (code == EventResourceType.MEDIA)
3839        return "Media";
3840      if (code == EventResourceType.MEDICATIONADMINISTRATION)
3841        return "MedicationAdministration";
3842      if (code == EventResourceType.MEDICATIONDISPENSE)
3843        return "MedicationDispense";
3844      if (code == EventResourceType.MEDICATIONSTATEMENT)
3845        return "MedicationStatement";
3846      if (code == EventResourceType.OBSERVATION)
3847        return "Observation";
3848      if (code == EventResourceType.PAYMENTNOTICE)
3849        return "PaymentNotice";
3850      if (code == EventResourceType.PAYMENTRECONCILIATION)
3851        return "PaymentReconciliation";
3852      if (code == EventResourceType.PROCEDURE)
3853        return "Procedure";
3854      if (code == EventResourceType.PROCESSRESPONSE)
3855        return "ProcessResponse";
3856      if (code == EventResourceType.QUESTIONNAIRERESPONSE)
3857        return "QuestionnaireResponse";
3858      if (code == EventResourceType.RISKASSESSMENT)
3859        return "RiskAssessment";
3860      if (code == EventResourceType.SUPPLYDELIVERY)
3861        return "SupplyDelivery";
3862      if (code == EventResourceType.TASK)
3863        return "Task";
3864      return "?";
3865   }
3866
3867    public String toSystem(EventResourceType code) {
3868      return code.getSystem();
3869    }
3870  }
3871
3872  public enum FHIRAllTypes {
3873    /**
3874     * An address expressed using postal conventions (as opposed to GPS or other
3875     * location definition formats). This data type may be used to convey addresses
3876     * for use in delivering mail as well as for visiting locations which might not
3877     * be valid for mail delivery. There are a variety of postal address formats
3878     * defined around the world.
3879     */
3880    ADDRESS,
3881    /**
3882     * A duration of time during which an organism (or a process) has existed.
3883     */
3884    AGE,
3885    /**
3886     * A text note which also contains information about who made the statement and
3887     * when.
3888     */
3889    ANNOTATION,
3890    /**
3891     * For referring to data content defined in other formats.
3892     */
3893    ATTACHMENT,
3894    /**
3895     * Base definition for all elements that are defined inside a resource - but not
3896     * those in a data type.
3897     */
3898    BACKBONEELEMENT,
3899    /**
3900     * A concept that may be defined by a formal reference to a terminology or
3901     * ontology or may be provided by text.
3902     */
3903    CODEABLECONCEPT,
3904    /**
3905     * A reference to a code defined by a terminology system.
3906     */
3907    CODING,
3908    /**
3909     * Specifies contact information for a person or organization.
3910     */
3911    CONTACTDETAIL,
3912    /**
3913     * Details for all kinds of technology mediated contact points for a person or
3914     * organization, including telephone, email, etc.
3915     */
3916    CONTACTPOINT,
3917    /**
3918     * A contributor to the content of a knowledge asset, including authors,
3919     * editors, reviewers, and endorsers.
3920     */
3921    CONTRIBUTOR,
3922    /**
3923     * A measured amount (or an amount that can potentially be measured). Note that
3924     * measured amounts include amounts that are not precisely quantified, including
3925     * amounts involving arbitrary units and floating currencies.
3926     */
3927    COUNT,
3928    /**
3929     * Describes a required data item for evaluation in terms of the type of data,
3930     * and optional code or date-based filters of the data.
3931     */
3932    DATAREQUIREMENT,
3933    /**
3934     * A length - a value with a unit that is a physical distance.
3935     */
3936    DISTANCE,
3937    /**
3938     * Indicates how the medication is/was taken or should be taken by the patient.
3939     */
3940    DOSAGE,
3941    /**
3942     * A length of time.
3943     */
3944    DURATION,
3945    /**
3946     * Base definition for all elements in a resource.
3947     */
3948    ELEMENT,
3949    /**
3950     * Captures constraints on each element within the resource, profile, or
3951     * extension.
3952     */
3953    ELEMENTDEFINITION,
3954    /**
3955     * A expression that is evaluated in a specified context and returns a value.
3956     * The context of use of the expression must specify the context in which the
3957     * expression is evaluated, and how the result of the expression is used.
3958     */
3959    EXPRESSION,
3960    /**
3961     * Optional Extension Element - found in all resources.
3962     */
3963    EXTENSION,
3964    /**
3965     * A human's name with the ability to identify parts and usage.
3966     */
3967    HUMANNAME,
3968    /**
3969     * An identifier - identifies some entity uniquely and unambiguously. Typically
3970     * this is used for business identifiers.
3971     */
3972    IDENTIFIER,
3973    /**
3974     * The marketing status describes the date when a medicinal product is actually
3975     * put on the market or the date as of which it is no longer available.
3976     */
3977    MARKETINGSTATUS,
3978    /**
3979     * The metadata about a resource. This is content in the resource that is
3980     * maintained by the infrastructure. Changes to the content might not always be
3981     * associated with version changes to the resource.
3982     */
3983    META,
3984    /**
3985     * An amount of economic utility in some recognized currency.
3986     */
3987    MONEY,
3988    /**
3989     * null
3990     */
3991    MONEYQUANTITY,
3992    /**
3993     * A human-readable summary of the resource conveying the essential clinical and
3994     * business information for the resource.
3995     */
3996    NARRATIVE,
3997    /**
3998     * The parameters to the module. This collection specifies both the input and
3999     * output parameters. Input parameters are provided by the caller as part of the
4000     * $evaluate operation. Output parameters are included in the GuidanceResponse.
4001     */
4002    PARAMETERDEFINITION,
4003    /**
4004     * A time period defined by a start and end date and optionally time.
4005     */
4006    PERIOD,
4007    /**
4008     * A populatioof people with some set of grouping criteria.
4009     */
4010    POPULATION,
4011    /**
4012     * The marketing status describes the date when a medicinal product is actually
4013     * put on the market or the date as of which it is no longer available.
4014     */
4015    PRODCHARACTERISTIC,
4016    /**
4017     * The shelf-life and storage information for a medicinal product item or
4018     * container can be described using this class.
4019     */
4020    PRODUCTSHELFLIFE,
4021    /**
4022     * A measured amount (or an amount that can potentially be measured). Note that
4023     * measured amounts include amounts that are not precisely quantified, including
4024     * amounts involving arbitrary units and floating currencies.
4025     */
4026    QUANTITY,
4027    /**
4028     * A set of ordered Quantities defined by a low and high limit.
4029     */
4030    RANGE,
4031    /**
4032     * A relationship of two Quantity values - expressed as a numerator and a
4033     * denominator.
4034     */
4035    RATIO,
4036    /**
4037     * A reference from one resource to another.
4038     */
4039    REFERENCE,
4040    /**
4041     * Related artifacts such as additional documentation, justification, or
4042     * bibliographic references.
4043     */
4044    RELATEDARTIFACT,
4045    /**
4046     * A series of measurements taken by a device, with upper and lower limits.
4047     * There may be more than one dimension in the data.
4048     */
4049    SAMPLEDDATA,
4050    /**
4051     * A signature along with supporting context. The signature may be a digital
4052     * signature that is cryptographic in nature, or some other signature acceptable
4053     * to the domain. This other signature may be as simple as a graphical image
4054     * representing a hand-written signature, or a signature ceremony Different
4055     * signature approaches have different utilities.
4056     */
4057    SIGNATURE,
4058    /**
4059     * null
4060     */
4061    SIMPLEQUANTITY,
4062    /**
4063     * Chemical substances are a single substance type whose primary defining
4064     * element is the molecular structure. Chemical substances shall be defined on
4065     * the basis of their complete covalent molecular structure; the presence of a
4066     * salt (counter-ion) and/or solvates (water, alcohols) is also captured.
4067     * Purity, grade, physical form or particle size are not taken into account in
4068     * the definition of a chemical substance or in the assignment of a Substance
4069     * ID.
4070     */
4071    SUBSTANCEAMOUNT,
4072    /**
4073     * Specifies an event that may occur multiple times. Timing schedules are used
4074     * to record when things are planned, expected or requested to occur. The most
4075     * common usage is in dosage instructions for medications. They are also used
4076     * when planning care of various kinds, and may be used for reporting the
4077     * schedule to which past regular activities were carried out.
4078     */
4079    TIMING,
4080    /**
4081     * A description of a triggering event. Triggering events can be named events,
4082     * data events, or periodic, as determined by the type element.
4083     */
4084    TRIGGERDEFINITION,
4085    /**
4086     * Specifies clinical/business/etc. metadata that can be used to retrieve, index
4087     * and/or categorize an artifact. This metadata can either be specific to the
4088     * applicable population (e.g., age category, DRG) or the specific context of
4089     * care (e.g., venue, care setting, provider of care).
4090     */
4091    USAGECONTEXT,
4092    /**
4093     * A stream of bytes
4094     */
4095    BASE64BINARY,
4096    /**
4097     * Value of "true" or "false"
4098     */
4099    BOOLEAN,
4100    /**
4101     * A URI that is a reference to a canonical URL on a FHIR resource
4102     */
4103    CANONICAL,
4104    /**
4105     * A string which has at least one character and no leading or trailing
4106     * whitespace and where there is no whitespace other than single spaces in the
4107     * contents
4108     */
4109    CODE,
4110    /**
4111     * A date or partial date (e.g. just year or year + month). There is no time
4112     * zone. The format is a union of the schema types gYear, gYearMonth and date.
4113     * Dates SHALL be valid dates.
4114     */
4115    DATE,
4116    /**
4117     * A date, date-time or partial date (e.g. just year or year + month). If hours
4118     * and minutes are specified, a time zone SHALL be populated. The format is a
4119     * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must
4120     * be provided due to schema type constraints but may be zero-filled and may be
4121     * ignored. Dates SHALL be valid dates.
4122     */
4123    DATETIME,
4124    /**
4125     * A rational number with implicit precision
4126     */
4127    DECIMAL,
4128    /**
4129     * Any combination of letters, numerals, "-" and ".", with a length limit of 64
4130     * characters. (This might be an integer, an unprefixed OID, UUID or any other
4131     * identifier pattern that meets these constraints.) Ids are case-insensitive.
4132     */
4133    ID,
4134    /**
4135     * An instant in time - known at least to the second
4136     */
4137    INSTANT,
4138    /**
4139     * A whole number
4140     */
4141    INTEGER,
4142    /**
4143     * A string that may contain Github Flavored Markdown syntax for optional
4144     * processing by a mark down presentation engine
4145     */
4146    MARKDOWN,
4147    /**
4148     * An OID represented as a URI
4149     */
4150    OID,
4151    /**
4152     * An integer with a value that is positive (e.g. >0)
4153     */
4154    POSITIVEINT,
4155    /**
4156     * A sequence of Unicode characters
4157     */
4158    STRING,
4159    /**
4160     * A time during the day, with no date specified
4161     */
4162    TIME,
4163    /**
4164     * An integer with a value that is not negative (e.g. >= 0)
4165     */
4166    UNSIGNEDINT,
4167    /**
4168     * String of characters used to identify a name or a resource
4169     */
4170    URI,
4171    /**
4172     * A URI that is a literal reference
4173     */
4174    URL,
4175    /**
4176     * A UUID, represented as a URI
4177     */
4178    UUID,
4179    /**
4180     * XHTML format, as defined by W3C, but restricted usage (mainly, no active
4181     * content)
4182     */
4183    XHTML,
4184    /**
4185     * A financial tool for tracking value accrued for a particular purpose. In the
4186     * healthcare field, used to track charges for a patient, cost centers, etc.
4187     */
4188    ACCOUNT,
4189    /**
4190     * This resource allows for the definition of some activity to be performed,
4191     * independent of a particular patient, practitioner, or other performance
4192     * context.
4193     */
4194    ACTIVITYDEFINITION,
4195    /**
4196     * Actual or potential/avoided event causing unintended physical injury
4197     * resulting from or contributed to by medical care, a research study or other
4198     * healthcare setting factors that requires additional monitoring, treatment, or
4199     * hospitalization, or that results in death.
4200     */
4201    ADVERSEEVENT,
4202    /**
4203     * Risk of harmful or undesirable, physiological response which is unique to an
4204     * individual and associated with exposure to a substance.
4205     */
4206    ALLERGYINTOLERANCE,
4207    /**
4208     * A booking of a healthcare event among patient(s), practitioner(s), related
4209     * person(s) and/or device(s) for a specific date/time. This may result in one
4210     * or more Encounter(s).
4211     */
4212    APPOINTMENT,
4213    /**
4214     * A reply to an appointment request for a patient and/or practitioner(s), such
4215     * as a confirmation or rejection.
4216     */
4217    APPOINTMENTRESPONSE,
4218    /**
4219     * A record of an event made for purposes of maintaining a security log. Typical
4220     * uses include detection of intrusion attempts and monitoring for inappropriate
4221     * usage.
4222     */
4223    AUDITEVENT,
4224    /**
4225     * Basic is used for handling concepts not yet defined in FHIR, narrative-only
4226     * resources that don't map to an existing resource, and custom resources not
4227     * appropriate for inclusion in the FHIR specification.
4228     */
4229    BASIC,
4230    /**
4231     * A resource that represents the data of a single raw artifact as digital
4232     * content accessible in its native format. A Binary resource can contain any
4233     * content, whether text, image, pdf, zip archive, etc.
4234     */
4235    BINARY,
4236    /**
4237     * A material substance originating from a biological entity intended to be
4238     * transplanted or infused into another (possibly the same) biological entity.
4239     */
4240    BIOLOGICALLYDERIVEDPRODUCT,
4241    /**
4242     * Record details about an anatomical structure. This resource may be used when
4243     * a coded concept does not provide the necessary detail needed for the use
4244     * case.
4245     */
4246    BODYSTRUCTURE,
4247    /**
4248     * A container for a collection of resources.
4249     */
4250    BUNDLE,
4251    /**
4252     * A Capability Statement documents a set of capabilities (behaviors) of a FHIR
4253     * Server for a particular version of FHIR that may be used as a statement of
4254     * actual server functionality or a statement of required or desired server
4255     * implementation.
4256     */
4257    CAPABILITYSTATEMENT,
4258    /**
4259     * Describes the intention of how one or more practitioners intend to deliver
4260     * care for a particular patient, group or community for a period of time,
4261     * possibly limited to care for a specific condition or set of conditions.
4262     */
4263    CAREPLAN,
4264    /**
4265     * The Care Team includes all the people and organizations who plan to
4266     * participate in the coordination and delivery of care for a patient.
4267     */
4268    CARETEAM,
4269    /**
4270     * Catalog entries are wrappers that contextualize items included in a catalog.
4271     */
4272    CATALOGENTRY,
4273    /**
4274     * The resource ChargeItem describes the provision of healthcare provider
4275     * products for a certain patient, therefore referring not only to the product,
4276     * but containing in addition details of the provision, like date, time, amounts
4277     * and participating organizations and persons. Main Usage of the ChargeItem is
4278     * to enable the billing process and internal cost allocation.
4279     */
4280    CHARGEITEM,
4281    /**
4282     * The ChargeItemDefinition resource provides the properties that apply to the
4283     * (billing) codes necessary to calculate costs and prices. The properties may
4284     * differ largely depending on type and realm, therefore this resource gives
4285     * only a rough structure and requires profiling for each type of billing code
4286     * system.
4287     */
4288    CHARGEITEMDEFINITION,
4289    /**
4290     * A provider issued list of professional services and products which have been
4291     * provided, or are to be provided, to a patient which is sent to an insurer for
4292     * reimbursement.
4293     */
4294    CLAIM,
4295    /**
4296     * This resource provides the adjudication details from the processing of a
4297     * Claim resource.
4298     */
4299    CLAIMRESPONSE,
4300    /**
4301     * A record of a clinical assessment performed to determine what problem(s) may
4302     * affect the patient and before planning the treatments or management
4303     * strategies that are best to manage a patient's condition. Assessments are
4304     * often 1:1 with a clinical consultation / encounter, but this varies greatly
4305     * depending on the clinical workflow. This resource is called
4306     * "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with
4307     * the recording of assessment tools such as Apgar score.
4308     */
4309    CLINICALIMPRESSION,
4310    /**
4311     * The CodeSystem resource is used to declare the existence of and describe a
4312     * code system or code system supplement and its key properties, and optionally
4313     * define a part or all of its content.
4314     */
4315    CODESYSTEM,
4316    /**
4317     * An occurrence of information being transmitted; e.g. an alert that was sent
4318     * to a responsible provider, a public health agency that was notified about a
4319     * reportable condition.
4320     */
4321    COMMUNICATION,
4322    /**
4323     * A request to convey information; e.g. the CDS system proposes that an alert
4324     * be sent to a responsible provider, the CDS system proposes that the public
4325     * health agency be notified about a reportable condition.
4326     */
4327    COMMUNICATIONREQUEST,
4328    /**
4329     * A compartment definition that defines how resources are accessed on a server.
4330     */
4331    COMPARTMENTDEFINITION,
4332    /**
4333     * A set of healthcare-related information that is assembled together into a
4334     * single logical package that provides a single coherent statement of meaning,
4335     * establishes its own context and that has clinical attestation with regard to
4336     * who is making the statement. A Composition defines the structure and
4337     * narrative content necessary for a document. However, a Composition alone does
4338     * not constitute a document. Rather, the Composition must be the first entry in
4339     * a Bundle where Bundle.type=document, and any other resources referenced from
4340     * Composition must be included as subsequent entries in the Bundle (for example
4341     * Patient, Practitioner, Encounter, etc.).
4342     */
4343    COMPOSITION,
4344    /**
4345     * A statement of relationships from one set of concepts to one or more other
4346     * concepts - either concepts in code systems, or data element/data element
4347     * concepts, or classes in class models.
4348     */
4349    CONCEPTMAP,
4350    /**
4351     * A clinical condition, problem, diagnosis, or other event, situation, issue,
4352     * or clinical concept that has risen to a level of concern.
4353     */
4354    CONDITION,
4355    /**
4356     * A record of a healthcare consumer?s choices, which permits or denies
4357     * identified recipient(s) or recipient role(s) to perform one or more actions
4358     * within a given policy context, for specific purposes and periods of time.
4359     */
4360    CONSENT,
4361    /**
4362     * Legally enforceable, formally recorded unilateral or bilateral directive
4363     * i.e., a policy or agreement.
4364     */
4365    CONTRACT,
4366    /**
4367     * Financial instrument which may be used to reimburse or pay for health care
4368     * products and services. Includes both insurance and self-payment.
4369     */
4370    COVERAGE,
4371    /**
4372     * The CoverageEligibilityRequest provides patient and insurance coverage
4373     * information to an insurer for them to respond, in the form of an
4374     * CoverageEligibilityResponse, with information regarding whether the stated
4375     * coverage is valid and in-force and optionally to provide the insurance
4376     * details of the policy.
4377     */
4378    COVERAGEELIGIBILITYREQUEST,
4379    /**
4380     * This resource provides eligibility and plan details from the processing of an
4381     * CoverageEligibilityRequest resource.
4382     */
4383    COVERAGEELIGIBILITYRESPONSE,
4384    /**
4385     * Indicates an actual or potential clinical issue with or between one or more
4386     * active or proposed clinical actions for a patient; e.g. Drug-drug
4387     * interaction, Ineffective treatment frequency, Procedure-condition conflict,
4388     * etc.
4389     */
4390    DETECTEDISSUE,
4391    /**
4392     * A type of a manufactured item that is used in the provision of healthcare
4393     * without being substantially changed through that activity. The device may be
4394     * a medical or non-medical device.
4395     */
4396    DEVICE,
4397    /**
4398     * The characteristics, operational status and capabilities of a medical-related
4399     * component of a medical device.
4400     */
4401    DEVICEDEFINITION,
4402    /**
4403     * Describes a measurement, calculation or setting capability of a medical
4404     * device.
4405     */
4406    DEVICEMETRIC,
4407    /**
4408     * Represents a request for a patient to employ a medical device. The device may
4409     * be an implantable device, or an external assistive device, such as a walker.
4410     */
4411    DEVICEREQUEST,
4412    /**
4413     * A record of a device being used by a patient where the record is the result
4414     * of a report from the patient or another clinician.
4415     */
4416    DEVICEUSESTATEMENT,
4417    /**
4418     * The findings and interpretation of diagnostic tests performed on patients,
4419     * groups of patients, devices, and locations, and/or specimens derived from
4420     * these. The report includes clinical context such as requesting and provider
4421     * information, and some mix of atomic results, images, textual and coded
4422     * interpretations, and formatted representation of diagnostic reports.
4423     */
4424    DIAGNOSTICREPORT,
4425    /**
4426     * A collection of documents compiled for a purpose together with metadata that
4427     * applies to the collection.
4428     */
4429    DOCUMENTMANIFEST,
4430    /**
4431     * A reference to a document of any kind for any purpose. Provides metadata
4432     * about the document so that the document can be discovered and managed. The
4433     * scope of a document is any seralized object with a mime-type, so includes
4434     * formal patient centric documents (CDA), cliical notes, scanned paper, and
4435     * non-patient specific documents like policy text.
4436     */
4437    DOCUMENTREFERENCE,
4438    /**
4439     * A resource that includes narrative, extensions, and contained resources.
4440     */
4441    DOMAINRESOURCE,
4442    /**
4443     * The EffectEvidenceSynthesis resource describes the difference in an outcome
4444     * between exposures states in a population where the effect estimate is derived
4445     * from a combination of research studies.
4446     */
4447    EFFECTEVIDENCESYNTHESIS,
4448    /**
4449     * An interaction between a patient and healthcare provider(s) for the purpose
4450     * of providing healthcare service(s) or assessing the health status of a
4451     * patient.
4452     */
4453    ENCOUNTER,
4454    /**
4455     * The technical details of an endpoint that can be used for electronic
4456     * services, such as for web services providing XDS.b or a REST endpoint for
4457     * another FHIR server. This may include any security context information.
4458     */
4459    ENDPOINT,
4460    /**
4461     * This resource provides the insurance enrollment details to the insurer
4462     * regarding a specified coverage.
4463     */
4464    ENROLLMENTREQUEST,
4465    /**
4466     * This resource provides enrollment and plan details from the processing of an
4467     * EnrollmentRequest resource.
4468     */
4469    ENROLLMENTRESPONSE,
4470    /**
4471     * An association between a patient and an organization / healthcare provider(s)
4472     * during which time encounters may occur. The managing organization assumes a
4473     * level of responsibility for the patient during this time.
4474     */
4475    EPISODEOFCARE,
4476    /**
4477     * The EventDefinition resource provides a reusable description of when a
4478     * particular event can occur.
4479     */
4480    EVENTDEFINITION,
4481    /**
4482     * The Evidence resource describes the conditional state (population and any
4483     * exposures being compared within the population) and outcome (if specified)
4484     * that the knowledge (evidence, assertion, recommendation) is about.
4485     */
4486    EVIDENCE,
4487    /**
4488     * The EvidenceVariable resource describes a "PICO" element that knowledge
4489     * (evidence, assertion, recommendation) is about.
4490     */
4491    EVIDENCEVARIABLE,
4492    /**
4493     * Example of workflow instance.
4494     */
4495    EXAMPLESCENARIO,
4496    /**
4497     * This resource provides: the claim details; adjudication details from the
4498     * processing of a Claim; and optionally account balance information, for
4499     * informing the subscriber of the benefits provided.
4500     */
4501    EXPLANATIONOFBENEFIT,
4502    /**
4503     * Significant health conditions for a person related to the patient relevant in
4504     * the context of care for the patient.
4505     */
4506    FAMILYMEMBERHISTORY,
4507    /**
4508     * Prospective warnings of potential issues when providing care to the patient.
4509     */
4510    FLAG,
4511    /**
4512     * Describes the intended objective(s) for a patient, group or organization
4513     * care, for example, weight loss, restoring an activity of daily living,
4514     * obtaining herd immunity via immunization, meeting a process improvement
4515     * objective, etc.
4516     */
4517    GOAL,
4518    /**
4519     * A formal computable definition of a graph of resources - that is, a coherent
4520     * set of resources that form a graph by following references. The Graph
4521     * Definition resource defines a set and makes rules about the set.
4522     */
4523    GRAPHDEFINITION,
4524    /**
4525     * Represents a defined collection of entities that may be discussed or acted
4526     * upon collectively but which are not expected to act collectively, and are not
4527     * formally or legally recognized; i.e. a collection of entities that isn't an
4528     * Organization.
4529     */
4530    GROUP,
4531    /**
4532     * A guidance response is the formal response to a guidance request, including
4533     * any output parameters returned by the evaluation, as well as the description
4534     * of any proposed actions to be taken.
4535     */
4536    GUIDANCERESPONSE,
4537    /**
4538     * The details of a healthcare service available at a location.
4539     */
4540    HEALTHCARESERVICE,
4541    /**
4542     * Representation of the content produced in a DICOM imaging study. A study
4543     * comprises a set of series, each of which includes a set of Service-Object
4544     * Pair Instances (SOP Instances - images or other data) acquired or produced in
4545     * a common context. A series is of only one modality (e.g. X-ray, CT, MR,
4546     * ultrasound), but a study may have multiple series of different modalities.
4547     */
4548    IMAGINGSTUDY,
4549    /**
4550     * Describes the event of a patient being administered a vaccine or a record of
4551     * an immunization as reported by a patient, a clinician or another party.
4552     */
4553    IMMUNIZATION,
4554    /**
4555     * Describes a comparison of an immunization event against published
4556     * recommendations to determine if the administration is "valid" in relation to
4557     * those recommendations.
4558     */
4559    IMMUNIZATIONEVALUATION,
4560    /**
4561     * A patient's point-in-time set of recommendations (i.e. forecasting) according
4562     * to a published schedule with optional supporting justification.
4563     */
4564    IMMUNIZATIONRECOMMENDATION,
4565    /**
4566     * A set of rules of how a particular interoperability or standards problem is
4567     * solved - typically through the use of FHIR resources. This resource is used
4568     * to gather all the parts of an implementation guide into a logical whole and
4569     * to publish a computable definition of all the parts.
4570     */
4571    IMPLEMENTATIONGUIDE,
4572    /**
4573     * Details of a Health Insurance product/plan provided by an organization.
4574     */
4575    INSURANCEPLAN,
4576    /**
4577     * Invoice containing collected ChargeItems from an Account with calculated
4578     * individual and total price for Billing purpose.
4579     */
4580    INVOICE,
4581    /**
4582     * The Library resource is a general-purpose container for knowledge asset
4583     * definitions. It can be used to describe and expose existing knowledge assets
4584     * such as logic libraries and information model descriptions, as well as to
4585     * describe a collection of knowledge assets.
4586     */
4587    LIBRARY,
4588    /**
4589     * Identifies two or more records (resource instances) that refer to the same
4590     * real-world "occurrence".
4591     */
4592    LINKAGE,
4593    /**
4594     * A list is a curated collection of resources.
4595     */
4596    LIST,
4597    /**
4598     * Details and position information for a physical place where services are
4599     * provided and resources and participants may be stored, found, contained, or
4600     * accommodated.
4601     */
4602    LOCATION,
4603    /**
4604     * The Measure resource provides the definition of a quality measure.
4605     */
4606    MEASURE,
4607    /**
4608     * The MeasureReport resource contains the results of the calculation of a
4609     * measure; and optionally a reference to the resources involved in that
4610     * calculation.
4611     */
4612    MEASUREREPORT,
4613    /**
4614     * A photo, video, or audio recording acquired or used in healthcare. The actual
4615     * content may be inline or provided by direct reference.
4616     */
4617    MEDIA,
4618    /**
4619     * This resource is primarily used for the identification and definition of a
4620     * medication for the purposes of prescribing, dispensing, and administering a
4621     * medication as well as for making statements about medication use.
4622     */
4623    MEDICATION,
4624    /**
4625     * Describes the event of a patient consuming or otherwise being administered a
4626     * medication. This may be as simple as swallowing a tablet or it may be a long
4627     * running infusion. Related resources tie this event to the authorizing
4628     * prescription, and the specific encounter between patient and health care
4629     * practitioner.
4630     */
4631    MEDICATIONADMINISTRATION,
4632    /**
4633     * Indicates that a medication product is to be or has been dispensed for a
4634     * named person/patient. This includes a description of the medication product
4635     * (supply) provided and the instructions for administering the medication. The
4636     * medication dispense is the result of a pharmacy system responding to a
4637     * medication order.
4638     */
4639    MEDICATIONDISPENSE,
4640    /**
4641     * Information about a medication that is used to support knowledge.
4642     */
4643    MEDICATIONKNOWLEDGE,
4644    /**
4645     * An order or request for both supply of the medication and the instructions
4646     * for administration of the medication to a patient. The resource is called
4647     * "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder"
4648     * to generalize the use across inpatient and outpatient settings, including
4649     * care plans, etc., and to harmonize with workflow patterns.
4650     */
4651    MEDICATIONREQUEST,
4652    /**
4653     * A record of a medication that is being consumed by a patient. A
4654     * MedicationStatement may indicate that the patient may be taking the
4655     * medication now or has taken the medication in the past or will be taking the
4656     * medication in the future. The source of this information can be the patient,
4657     * significant other (such as a family member or spouse), or a clinician. A
4658     * common scenario where this information is captured is during the history
4659     * taking process during a patient visit or stay. The medication information may
4660     * come from sources such as the patient's memory, from a prescription bottle,
4661     * or from a list of medications the patient, clinician or other party
4662     * maintains.
4663     * 
4664     * The primary difference between a medication statement and a medication
4665     * administration is that the medication administration has complete
4666     * administration information and is based on actual administration information
4667     * from the person who administered the medication. A medication statement is
4668     * often, if not always, less specific. There is no required date/time when the
4669     * medication was administered, in fact we only know that a source has reported
4670     * the patient is taking this medication, where details such as time, quantity,
4671     * or rate or even medication product may be incomplete or missing or less
4672     * precise. As stated earlier, the medication statement information may come
4673     * from the patient's memory, from a prescription bottle or from a list of
4674     * medications the patient, clinician or other party maintains. Medication
4675     * administration is more formal and is not missing detailed information.
4676     */
4677    MEDICATIONSTATEMENT,
4678    /**
4679     * Detailed definition of a medicinal product, typically for uses other than
4680     * direct patient care (e.g. regulatory use).
4681     */
4682    MEDICINALPRODUCT,
4683    /**
4684     * The regulatory authorization of a medicinal product.
4685     */
4686    MEDICINALPRODUCTAUTHORIZATION,
4687    /**
4688     * The clinical particulars - indications, contraindications etc. of a medicinal
4689     * product, including for regulatory purposes.
4690     */
4691    MEDICINALPRODUCTCONTRAINDICATION,
4692    /**
4693     * Indication for the Medicinal Product.
4694     */
4695    MEDICINALPRODUCTINDICATION,
4696    /**
4697     * An ingredient of a manufactured item or pharmaceutical product.
4698     */
4699    MEDICINALPRODUCTINGREDIENT,
4700    /**
4701     * The interactions of the medicinal product with other medicinal products, or
4702     * other forms of interactions.
4703     */
4704    MEDICINALPRODUCTINTERACTION,
4705    /**
4706     * The manufactured item as contained in the packaged medicinal product.
4707     */
4708    MEDICINALPRODUCTMANUFACTURED,
4709    /**
4710     * A medicinal product in a container or package.
4711     */
4712    MEDICINALPRODUCTPACKAGED,
4713    /**
4714     * A pharmaceutical product described in terms of its composition and dose form.
4715     */
4716    MEDICINALPRODUCTPHARMACEUTICAL,
4717    /**
4718     * Describe the undesirable effects of the medicinal product.
4719     */
4720    MEDICINALPRODUCTUNDESIRABLEEFFECT,
4721    /**
4722     * Defines the characteristics of a message that can be shared between systems,
4723     * including the type of event that initiates the message, the content to be
4724     * transmitted and what response(s), if any, are permitted.
4725     */
4726    MESSAGEDEFINITION,
4727    /**
4728     * The header for a message exchange that is either requesting or responding to
4729     * an action. The reference(s) that are the subject of the action as well as
4730     * other information related to the action are typically transmitted in a bundle
4731     * in which the MessageHeader resource instance is the first resource in the
4732     * bundle.
4733     */
4734    MESSAGEHEADER,
4735    /**
4736     * Raw data describing a biological sequence.
4737     */
4738    MOLECULARSEQUENCE,
4739    /**
4740     * A curated namespace that issues unique symbols within that namespace for the
4741     * identification of concepts, people, devices, etc. Represents a "System" used
4742     * within the Identifier and Coding data types.
4743     */
4744    NAMINGSYSTEM,
4745    /**
4746     * A request to supply a diet, formula feeding (enteral) or oral nutritional
4747     * supplement to a patient/resident.
4748     */
4749    NUTRITIONORDER,
4750    /**
4751     * Measurements and simple assertions made about a patient, device or other
4752     * subject.
4753     */
4754    OBSERVATION,
4755    /**
4756     * Set of definitional characteristics for a kind of observation or measurement
4757     * produced or consumed by an orderable health care service.
4758     */
4759    OBSERVATIONDEFINITION,
4760    /**
4761     * A formal computable definition of an operation (on the RESTful interface) or
4762     * a named query (using the search interaction).
4763     */
4764    OPERATIONDEFINITION,
4765    /**
4766     * A collection of error, warning, or information messages that result from a
4767     * system action.
4768     */
4769    OPERATIONOUTCOME,
4770    /**
4771     * A formally or informally recognized grouping of people or organizations
4772     * formed for the purpose of achieving some form of collective action. Includes
4773     * companies, institutions, corporations, departments, community groups,
4774     * healthcare practice groups, payer/insurer, etc.
4775     */
4776    ORGANIZATION,
4777    /**
4778     * Defines an affiliation/assotiation/relationship between 2 distinct
4779     * oganizations, that is not a part-of relationship/sub-division relationship.
4780     */
4781    ORGANIZATIONAFFILIATION,
4782    /**
4783     * This resource is a non-persisted resource used to pass information into and
4784     * back from an [operation](operations.html). It has no other use, and there is
4785     * no RESTful endpoint associated with it.
4786     */
4787    PARAMETERS,
4788    /**
4789     * Demographics and other administrative information about an individual or
4790     * animal receiving care or other health-related services.
4791     */
4792    PATIENT,
4793    /**
4794     * This resource provides the status of the payment for goods and services
4795     * rendered, and the request and response resource references.
4796     */
4797    PAYMENTNOTICE,
4798    /**
4799     * This resource provides the details including amount of a payment and
4800     * allocates the payment items being paid.
4801     */
4802    PAYMENTRECONCILIATION,
4803    /**
4804     * Demographics and administrative information about a person independent of a
4805     * specific health-related context.
4806     */
4807    PERSON,
4808    /**
4809     * This resource allows for the definition of various types of plans as a
4810     * sharable, consumable, and executable artifact. The resource is general enough
4811     * to support the description of a broad range of clinical artifacts such as
4812     * clinical decision support rules, order sets and protocols.
4813     */
4814    PLANDEFINITION,
4815    /**
4816     * A person who is directly or indirectly involved in the provisioning of
4817     * healthcare.
4818     */
4819    PRACTITIONER,
4820    /**
4821     * A specific set of Roles/Locations/specialties/services that a practitioner
4822     * may perform at an organization for a period of time.
4823     */
4824    PRACTITIONERROLE,
4825    /**
4826     * An action that is or was performed on or for a patient. This can be a
4827     * physical intervention like an operation, or less invasive like long term
4828     * services, counseling, or hypnotherapy.
4829     */
4830    PROCEDURE,
4831    /**
4832     * Provenance of a resource is a record that describes entities and processes
4833     * involved in producing and delivering or otherwise influencing that resource.
4834     * Provenance provides a critical foundation for assessing authenticity,
4835     * enabling trust, and allowing reproducibility. Provenance assertions are a
4836     * form of contextual metadata and can themselves become important records with
4837     * their own provenance. Provenance statement indicates clinical significance in
4838     * terms of confidence in authenticity, reliability, and trustworthiness,
4839     * integrity, and stage in lifecycle (e.g. Document Completion - has the
4840     * artifact been legally authenticated), all of which may impact security,
4841     * privacy, and trust policies.
4842     */
4843    PROVENANCE,
4844    /**
4845     * A structured set of questions intended to guide the collection of answers
4846     * from end-users. Questionnaires provide detailed control over order,
4847     * presentation, phraseology and grouping to allow coherent, consistent data
4848     * collection.
4849     */
4850    QUESTIONNAIRE,
4851    /**
4852     * A structured set of questions and their answers. The questions are ordered
4853     * and grouped into coherent subsets, corresponding to the structure of the
4854     * grouping of the questionnaire being responded to.
4855     */
4856    QUESTIONNAIRERESPONSE,
4857    /**
4858     * Information about a person that is involved in the care for a patient, but
4859     * who is not the target of healthcare, nor has a formal responsibility in the
4860     * care process.
4861     */
4862    RELATEDPERSON,
4863    /**
4864     * A group of related requests that can be used to capture intended activities
4865     * that have inter-dependencies such as "give this medication after that one".
4866     */
4867    REQUESTGROUP,
4868    /**
4869     * The ResearchDefinition resource describes the conditional state (population
4870     * and any exposures being compared within the population) and outcome (if
4871     * specified) that the knowledge (evidence, assertion, recommendation) is about.
4872     */
4873    RESEARCHDEFINITION,
4874    /**
4875     * The ResearchElementDefinition resource describes a "PICO" element that
4876     * knowledge (evidence, assertion, recommendation) is about.
4877     */
4878    RESEARCHELEMENTDEFINITION,
4879    /**
4880     * A process where a researcher or organization plans and then executes a series
4881     * of steps intended to increase the field of healthcare-related knowledge. This
4882     * includes studies of safety, efficacy, comparative effectiveness and other
4883     * information about medications, devices, therapies and other interventional
4884     * and investigative techniques. A ResearchStudy involves the gathering of
4885     * information about human or animal subjects.
4886     */
4887    RESEARCHSTUDY,
4888    /**
4889     * A physical entity which is the primary unit of operational and/or
4890     * administrative interest in a study.
4891     */
4892    RESEARCHSUBJECT,
4893    /**
4894     * This is the base resource type for everything.
4895     */
4896    RESOURCE,
4897    /**
4898     * An assessment of the likely outcome(s) for a patient or other subject as well
4899     * as the likelihood of each outcome.
4900     */
4901    RISKASSESSMENT,
4902    /**
4903     * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in
4904     * a population plus exposure state where the risk estimate is derived from a
4905     * combination of research studies.
4906     */
4907    RISKEVIDENCESYNTHESIS,
4908    /**
4909     * A container for slots of time that may be available for booking appointments.
4910     */
4911    SCHEDULE,
4912    /**
4913     * A search parameter that defines a named search item that can be used to
4914     * search/filter on a resource.
4915     */
4916    SEARCHPARAMETER,
4917    /**
4918     * A record of a request for service such as diagnostic investigations,
4919     * treatments, or operations to be performed.
4920     */
4921    SERVICEREQUEST,
4922    /**
4923     * A slot of time on a schedule that may be available for booking appointments.
4924     */
4925    SLOT,
4926    /**
4927     * A sample to be used for analysis.
4928     */
4929    SPECIMEN,
4930    /**
4931     * A kind of specimen with associated set of requirements.
4932     */
4933    SPECIMENDEFINITION,
4934    /**
4935     * A definition of a FHIR structure. This resource is used to describe the
4936     * underlying resources, data types defined in FHIR, and also for describing
4937     * extensions and constraints on resources and data types.
4938     */
4939    STRUCTUREDEFINITION,
4940    /**
4941     * A Map of relationships between 2 structures that can be used to transform
4942     * data.
4943     */
4944    STRUCTUREMAP,
4945    /**
4946     * The subscription resource is used to define a push-based subscription from a
4947     * server to another system. Once a subscription is registered with the server,
4948     * the server checks every resource that is created or updated, and if the
4949     * resource matches the given criteria, it sends a message on the defined
4950     * "channel" so that another system can take an appropriate action.
4951     */
4952    SUBSCRIPTION,
4953    /**
4954     * A homogeneous material with a definite composition.
4955     */
4956    SUBSTANCE,
4957    /**
4958     * Nucleic acids are defined by three distinct elements: the base, sugar and
4959     * linkage. Individual substance/moiety IDs will be created for each of these
4960     * elements. The nucleotide sequence will be always entered in the 5?-3?
4961     * direction.
4962     */
4963    SUBSTANCENUCLEICACID,
4964    /**
4965     * Todo.
4966     */
4967    SUBSTANCEPOLYMER,
4968    /**
4969     * A SubstanceProtein is defined as a single unit of a linear amino acid
4970     * sequence, or a combination of subunits that are either covalently linked or
4971     * have a defined invariant stoichiometric relationship. This includes all
4972     * synthetic, recombinant and purified SubstanceProteins of defined sequence,
4973     * whether the use is therapeutic or prophylactic. This set of elements will be
4974     * used to describe albumins, coagulation factors, cytokines, growth factors,
4975     * peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant
4976     * vaccines, and immunomodulators.
4977     */
4978    SUBSTANCEPROTEIN,
4979    /**
4980     * Todo.
4981     */
4982    SUBSTANCEREFERENCEINFORMATION,
4983    /**
4984     * Source material shall capture information on the taxonomic and anatomical
4985     * origins as well as the fraction of a material that can result in or can be
4986     * modified to form a substance. This set of data elements shall be used to
4987     * define polymer substances isolated from biological matrices. Taxonomic and
4988     * anatomical origins shall be described using a controlled vocabulary as
4989     * required. This information is captured for naturally derived polymers ( .
4990     * starch) and structurally diverse substances. For Organisms belonging to the
4991     * Kingdom Plantae the Substance level defines the fresh material of a single
4992     * species or infraspecies, the Herbal Drug and the Herbal preparation. For
4993     * Herbal preparations, the fraction information will be captured at the
4994     * Substance information level and additional information for herbal extracts
4995     * will be captured at the Specified Substance Group 1 information level. See
4996     * for further explanation the Substance Class: Structurally Diverse and the
4997     * herbal annex.
4998     */
4999    SUBSTANCESOURCEMATERIAL,
5000    /**
5001     * The detailed description of a substance, typically at a level beyond what is
5002     * used for prescribing.
5003     */
5004    SUBSTANCESPECIFICATION,
5005    /**
5006     * Record of delivery of what is supplied.
5007     */
5008    SUPPLYDELIVERY,
5009    /**
5010     * A record of a request for a medication, substance or device used in the
5011     * healthcare setting.
5012     */
5013    SUPPLYREQUEST,
5014    /**
5015     * A task to be performed.
5016     */
5017    TASK,
5018    /**
5019     * A Terminology Capabilities documents a set of capabilities (behaviors) of a
5020     * FHIR Server that may be used as a statement of actual server functionality or
5021     * a statement of required or desired server implementation.
5022     */
5023    TERMINOLOGYCAPABILITIES,
5024    /**
5025     * A summary of information based on the results of executing a TestScript.
5026     */
5027    TESTREPORT,
5028    /**
5029     * A structured set of tests against a FHIR server or client implementation to
5030     * determine compliance against the FHIR specification.
5031     */
5032    TESTSCRIPT,
5033    /**
5034     * A ValueSet resource instance specifies a set of codes drawn from one or more
5035     * code systems, intended for use in a particular context. Value sets link
5036     * between [[[CodeSystem]]] definitions and their use in [coded
5037     * elements](terminologies.html).
5038     */
5039    VALUESET,
5040    /**
5041     * Describes validation requirements, source(s), status and dates for one or
5042     * more elements.
5043     */
5044    VERIFICATIONRESULT,
5045    /**
5046     * An authorization for the provision of glasses and/or contact lenses to a
5047     * patient.
5048     */
5049    VISIONPRESCRIPTION,
5050    /**
5051     * A place holder that means any kind of data type
5052     */
5053    TYPE,
5054    /**
5055     * A place holder that means any kind of resource
5056     */
5057    ANY,
5058    /**
5059     * added to help the parsers
5060     */
5061    NULL;
5062
5063    public static FHIRAllTypes fromCode(String codeString) throws FHIRException {
5064      if (codeString == null || "".equals(codeString))
5065        return null;
5066      if ("Address".equals(codeString))
5067        return ADDRESS;
5068      if ("Age".equals(codeString))
5069        return AGE;
5070      if ("Annotation".equals(codeString))
5071        return ANNOTATION;
5072      if ("Attachment".equals(codeString))
5073        return ATTACHMENT;
5074      if ("BackboneElement".equals(codeString))
5075        return BACKBONEELEMENT;
5076      if ("CodeableConcept".equals(codeString))
5077        return CODEABLECONCEPT;
5078      if ("Coding".equals(codeString))
5079        return CODING;
5080      if ("ContactDetail".equals(codeString))
5081        return CONTACTDETAIL;
5082      if ("ContactPoint".equals(codeString))
5083        return CONTACTPOINT;
5084      if ("Contributor".equals(codeString))
5085        return CONTRIBUTOR;
5086      if ("Count".equals(codeString))
5087        return COUNT;
5088      if ("DataRequirement".equals(codeString))
5089        return DATAREQUIREMENT;
5090      if ("Distance".equals(codeString))
5091        return DISTANCE;
5092      if ("Dosage".equals(codeString))
5093        return DOSAGE;
5094      if ("Duration".equals(codeString))
5095        return DURATION;
5096      if ("Element".equals(codeString))
5097        return ELEMENT;
5098      if ("ElementDefinition".equals(codeString))
5099        return ELEMENTDEFINITION;
5100      if ("Expression".equals(codeString))
5101        return EXPRESSION;
5102      if ("Extension".equals(codeString))
5103        return EXTENSION;
5104      if ("HumanName".equals(codeString))
5105        return HUMANNAME;
5106      if ("Identifier".equals(codeString))
5107        return IDENTIFIER;
5108      if ("MarketingStatus".equals(codeString))
5109        return MARKETINGSTATUS;
5110      if ("Meta".equals(codeString))
5111        return META;
5112      if ("Money".equals(codeString))
5113        return MONEY;
5114      if ("MoneyQuantity".equals(codeString))
5115        return MONEYQUANTITY;
5116      if ("Narrative".equals(codeString))
5117        return NARRATIVE;
5118      if ("ParameterDefinition".equals(codeString))
5119        return PARAMETERDEFINITION;
5120      if ("Period".equals(codeString))
5121        return PERIOD;
5122      if ("Population".equals(codeString))
5123        return POPULATION;
5124      if ("ProdCharacteristic".equals(codeString))
5125        return PRODCHARACTERISTIC;
5126      if ("ProductShelfLife".equals(codeString))
5127        return PRODUCTSHELFLIFE;
5128      if ("Quantity".equals(codeString))
5129        return QUANTITY;
5130      if ("Range".equals(codeString))
5131        return RANGE;
5132      if ("Ratio".equals(codeString))
5133        return RATIO;
5134      if ("Reference".equals(codeString))
5135        return REFERENCE;
5136      if ("RelatedArtifact".equals(codeString))
5137        return RELATEDARTIFACT;
5138      if ("SampledData".equals(codeString))
5139        return SAMPLEDDATA;
5140      if ("Signature".equals(codeString))
5141        return SIGNATURE;
5142      if ("SimpleQuantity".equals(codeString))
5143        return SIMPLEQUANTITY;
5144      if ("SubstanceAmount".equals(codeString))
5145        return SUBSTANCEAMOUNT;
5146      if ("Timing".equals(codeString))
5147        return TIMING;
5148      if ("TriggerDefinition".equals(codeString))
5149        return TRIGGERDEFINITION;
5150      if ("UsageContext".equals(codeString))
5151        return USAGECONTEXT;
5152      if ("base64Binary".equals(codeString))
5153        return BASE64BINARY;
5154      if ("boolean".equals(codeString))
5155        return BOOLEAN;
5156      if ("canonical".equals(codeString))
5157        return CANONICAL;
5158      if ("code".equals(codeString))
5159        return CODE;
5160      if ("date".equals(codeString))
5161        return DATE;
5162      if ("dateTime".equals(codeString))
5163        return DATETIME;
5164      if ("decimal".equals(codeString))
5165        return DECIMAL;
5166      if ("id".equals(codeString))
5167        return ID;
5168      if ("instant".equals(codeString))
5169        return INSTANT;
5170      if ("integer".equals(codeString))
5171        return INTEGER;
5172      if ("markdown".equals(codeString))
5173        return MARKDOWN;
5174      if ("oid".equals(codeString))
5175        return OID;
5176      if ("positiveInt".equals(codeString))
5177        return POSITIVEINT;
5178      if ("string".equals(codeString))
5179        return STRING;
5180      if ("time".equals(codeString))
5181        return TIME;
5182      if ("unsignedInt".equals(codeString))
5183        return UNSIGNEDINT;
5184      if ("uri".equals(codeString))
5185        return URI;
5186      if ("url".equals(codeString))
5187        return URL;
5188      if ("uuid".equals(codeString))
5189        return UUID;
5190      if ("xhtml".equals(codeString))
5191        return XHTML;
5192      if ("Account".equals(codeString))
5193        return ACCOUNT;
5194      if ("ActivityDefinition".equals(codeString))
5195        return ACTIVITYDEFINITION;
5196      if ("AdverseEvent".equals(codeString))
5197        return ADVERSEEVENT;
5198      if ("AllergyIntolerance".equals(codeString))
5199        return ALLERGYINTOLERANCE;
5200      if ("Appointment".equals(codeString))
5201        return APPOINTMENT;
5202      if ("AppointmentResponse".equals(codeString))
5203        return APPOINTMENTRESPONSE;
5204      if ("AuditEvent".equals(codeString))
5205        return AUDITEVENT;
5206      if ("Basic".equals(codeString))
5207        return BASIC;
5208      if ("Binary".equals(codeString))
5209        return BINARY;
5210      if ("BiologicallyDerivedProduct".equals(codeString))
5211        return BIOLOGICALLYDERIVEDPRODUCT;
5212      if ("BodyStructure".equals(codeString))
5213        return BODYSTRUCTURE;
5214      if ("Bundle".equals(codeString))
5215        return BUNDLE;
5216      if ("CapabilityStatement".equals(codeString))
5217        return CAPABILITYSTATEMENT;
5218      if ("CarePlan".equals(codeString))
5219        return CAREPLAN;
5220      if ("CareTeam".equals(codeString))
5221        return CARETEAM;
5222      if ("CatalogEntry".equals(codeString))
5223        return CATALOGENTRY;
5224      if ("ChargeItem".equals(codeString))
5225        return CHARGEITEM;
5226      if ("ChargeItemDefinition".equals(codeString))
5227        return CHARGEITEMDEFINITION;
5228      if ("Claim".equals(codeString))
5229        return CLAIM;
5230      if ("ClaimResponse".equals(codeString))
5231        return CLAIMRESPONSE;
5232      if ("ClinicalImpression".equals(codeString))
5233        return CLINICALIMPRESSION;
5234      if ("CodeSystem".equals(codeString))
5235        return CODESYSTEM;
5236      if ("Communication".equals(codeString))
5237        return COMMUNICATION;
5238      if ("CommunicationRequest".equals(codeString))
5239        return COMMUNICATIONREQUEST;
5240      if ("CompartmentDefinition".equals(codeString))
5241        return COMPARTMENTDEFINITION;
5242      if ("Composition".equals(codeString))
5243        return COMPOSITION;
5244      if ("ConceptMap".equals(codeString))
5245        return CONCEPTMAP;
5246      if ("Condition".equals(codeString))
5247        return CONDITION;
5248      if ("Consent".equals(codeString))
5249        return CONSENT;
5250      if ("Contract".equals(codeString))
5251        return CONTRACT;
5252      if ("Coverage".equals(codeString))
5253        return COVERAGE;
5254      if ("CoverageEligibilityRequest".equals(codeString))
5255        return COVERAGEELIGIBILITYREQUEST;
5256      if ("CoverageEligibilityResponse".equals(codeString))
5257        return COVERAGEELIGIBILITYRESPONSE;
5258      if ("DetectedIssue".equals(codeString))
5259        return DETECTEDISSUE;
5260      if ("Device".equals(codeString))
5261        return DEVICE;
5262      if ("DeviceDefinition".equals(codeString))
5263        return DEVICEDEFINITION;
5264      if ("DeviceMetric".equals(codeString))
5265        return DEVICEMETRIC;
5266      if ("DeviceRequest".equals(codeString))
5267        return DEVICEREQUEST;
5268      if ("DeviceUseStatement".equals(codeString))
5269        return DEVICEUSESTATEMENT;
5270      if ("DiagnosticReport".equals(codeString))
5271        return DIAGNOSTICREPORT;
5272      if ("DocumentManifest".equals(codeString))
5273        return DOCUMENTMANIFEST;
5274      if ("DocumentReference".equals(codeString))
5275        return DOCUMENTREFERENCE;
5276      if ("DomainResource".equals(codeString))
5277        return DOMAINRESOURCE;
5278      if ("EffectEvidenceSynthesis".equals(codeString))
5279        return EFFECTEVIDENCESYNTHESIS;
5280      if ("Encounter".equals(codeString))
5281        return ENCOUNTER;
5282      if ("Endpoint".equals(codeString))
5283        return ENDPOINT;
5284      if ("EnrollmentRequest".equals(codeString))
5285        return ENROLLMENTREQUEST;
5286      if ("EnrollmentResponse".equals(codeString))
5287        return ENROLLMENTRESPONSE;
5288      if ("EpisodeOfCare".equals(codeString))
5289        return EPISODEOFCARE;
5290      if ("EventDefinition".equals(codeString))
5291        return EVENTDEFINITION;
5292      if ("Evidence".equals(codeString))
5293        return EVIDENCE;
5294      if ("EvidenceVariable".equals(codeString))
5295        return EVIDENCEVARIABLE;
5296      if ("ExampleScenario".equals(codeString))
5297        return EXAMPLESCENARIO;
5298      if ("ExplanationOfBenefit".equals(codeString))
5299        return EXPLANATIONOFBENEFIT;
5300      if ("FamilyMemberHistory".equals(codeString))
5301        return FAMILYMEMBERHISTORY;
5302      if ("Flag".equals(codeString))
5303        return FLAG;
5304      if ("Goal".equals(codeString))
5305        return GOAL;
5306      if ("GraphDefinition".equals(codeString))
5307        return GRAPHDEFINITION;
5308      if ("Group".equals(codeString))
5309        return GROUP;
5310      if ("GuidanceResponse".equals(codeString))
5311        return GUIDANCERESPONSE;
5312      if ("HealthcareService".equals(codeString))
5313        return HEALTHCARESERVICE;
5314      if ("ImagingStudy".equals(codeString))
5315        return IMAGINGSTUDY;
5316      if ("Immunization".equals(codeString))
5317        return IMMUNIZATION;
5318      if ("ImmunizationEvaluation".equals(codeString))
5319        return IMMUNIZATIONEVALUATION;
5320      if ("ImmunizationRecommendation".equals(codeString))
5321        return IMMUNIZATIONRECOMMENDATION;
5322      if ("ImplementationGuide".equals(codeString))
5323        return IMPLEMENTATIONGUIDE;
5324      if ("InsurancePlan".equals(codeString))
5325        return INSURANCEPLAN;
5326      if ("Invoice".equals(codeString))
5327        return INVOICE;
5328      if ("Library".equals(codeString))
5329        return LIBRARY;
5330      if ("Linkage".equals(codeString))
5331        return LINKAGE;
5332      if ("List".equals(codeString))
5333        return LIST;
5334      if ("Location".equals(codeString))
5335        return LOCATION;
5336      if ("Measure".equals(codeString))
5337        return MEASURE;
5338      if ("MeasureReport".equals(codeString))
5339        return MEASUREREPORT;
5340      if ("Media".equals(codeString))
5341        return MEDIA;
5342      if ("Medication".equals(codeString))
5343        return MEDICATION;
5344      if ("MedicationAdministration".equals(codeString))
5345        return MEDICATIONADMINISTRATION;
5346      if ("MedicationDispense".equals(codeString))
5347        return MEDICATIONDISPENSE;
5348      if ("MedicationKnowledge".equals(codeString))
5349        return MEDICATIONKNOWLEDGE;
5350      if ("MedicationRequest".equals(codeString))
5351        return MEDICATIONREQUEST;
5352      if ("MedicationStatement".equals(codeString))
5353        return MEDICATIONSTATEMENT;
5354      if ("MedicinalProduct".equals(codeString))
5355        return MEDICINALPRODUCT;
5356      if ("MedicinalProductAuthorization".equals(codeString))
5357        return MEDICINALPRODUCTAUTHORIZATION;
5358      if ("MedicinalProductContraindication".equals(codeString))
5359        return MEDICINALPRODUCTCONTRAINDICATION;
5360      if ("MedicinalProductIndication".equals(codeString))
5361        return MEDICINALPRODUCTINDICATION;
5362      if ("MedicinalProductIngredient".equals(codeString))
5363        return MEDICINALPRODUCTINGREDIENT;
5364      if ("MedicinalProductInteraction".equals(codeString))
5365        return MEDICINALPRODUCTINTERACTION;
5366      if ("MedicinalProductManufactured".equals(codeString))
5367        return MEDICINALPRODUCTMANUFACTURED;
5368      if ("MedicinalProductPackaged".equals(codeString))
5369        return MEDICINALPRODUCTPACKAGED;
5370      if ("MedicinalProductPharmaceutical".equals(codeString))
5371        return MEDICINALPRODUCTPHARMACEUTICAL;
5372      if ("MedicinalProductUndesirableEffect".equals(codeString))
5373        return MEDICINALPRODUCTUNDESIRABLEEFFECT;
5374      if ("MessageDefinition".equals(codeString))
5375        return MESSAGEDEFINITION;
5376      if ("MessageHeader".equals(codeString))
5377        return MESSAGEHEADER;
5378      if ("MolecularSequence".equals(codeString))
5379        return MOLECULARSEQUENCE;
5380      if ("NamingSystem".equals(codeString))
5381        return NAMINGSYSTEM;
5382      if ("NutritionOrder".equals(codeString))
5383        return NUTRITIONORDER;
5384      if ("Observation".equals(codeString))
5385        return OBSERVATION;
5386      if ("ObservationDefinition".equals(codeString))
5387        return OBSERVATIONDEFINITION;
5388      if ("OperationDefinition".equals(codeString))
5389        return OPERATIONDEFINITION;
5390      if ("OperationOutcome".equals(codeString))
5391        return OPERATIONOUTCOME;
5392      if ("Organization".equals(codeString))
5393        return ORGANIZATION;
5394      if ("OrganizationAffiliation".equals(codeString))
5395        return ORGANIZATIONAFFILIATION;
5396      if ("Parameters".equals(codeString))
5397        return PARAMETERS;
5398      if ("Patient".equals(codeString))
5399        return PATIENT;
5400      if ("PaymentNotice".equals(codeString))
5401        return PAYMENTNOTICE;
5402      if ("PaymentReconciliation".equals(codeString))
5403        return PAYMENTRECONCILIATION;
5404      if ("Person".equals(codeString))
5405        return PERSON;
5406      if ("PlanDefinition".equals(codeString))
5407        return PLANDEFINITION;
5408      if ("Practitioner".equals(codeString))
5409        return PRACTITIONER;
5410      if ("PractitionerRole".equals(codeString))
5411        return PRACTITIONERROLE;
5412      if ("Procedure".equals(codeString))
5413        return PROCEDURE;
5414      if ("Provenance".equals(codeString))
5415        return PROVENANCE;
5416      if ("Questionnaire".equals(codeString))
5417        return QUESTIONNAIRE;
5418      if ("QuestionnaireResponse".equals(codeString))
5419        return QUESTIONNAIRERESPONSE;
5420      if ("RelatedPerson".equals(codeString))
5421        return RELATEDPERSON;
5422      if ("RequestGroup".equals(codeString))
5423        return REQUESTGROUP;
5424      if ("ResearchDefinition".equals(codeString))
5425        return RESEARCHDEFINITION;
5426      if ("ResearchElementDefinition".equals(codeString))
5427        return RESEARCHELEMENTDEFINITION;
5428      if ("ResearchStudy".equals(codeString))
5429        return RESEARCHSTUDY;
5430      if ("ResearchSubject".equals(codeString))
5431        return RESEARCHSUBJECT;
5432      if ("Resource".equals(codeString))
5433        return RESOURCE;
5434      if ("RiskAssessment".equals(codeString))
5435        return RISKASSESSMENT;
5436      if ("RiskEvidenceSynthesis".equals(codeString))
5437        return RISKEVIDENCESYNTHESIS;
5438      if ("Schedule".equals(codeString))
5439        return SCHEDULE;
5440      if ("SearchParameter".equals(codeString))
5441        return SEARCHPARAMETER;
5442      if ("ServiceRequest".equals(codeString))
5443        return SERVICEREQUEST;
5444      if ("Slot".equals(codeString))
5445        return SLOT;
5446      if ("Specimen".equals(codeString))
5447        return SPECIMEN;
5448      if ("SpecimenDefinition".equals(codeString))
5449        return SPECIMENDEFINITION;
5450      if ("StructureDefinition".equals(codeString))
5451        return STRUCTUREDEFINITION;
5452      if ("StructureMap".equals(codeString))
5453        return STRUCTUREMAP;
5454      if ("Subscription".equals(codeString))
5455        return SUBSCRIPTION;
5456      if ("Substance".equals(codeString))
5457        return SUBSTANCE;
5458      if ("SubstanceNucleicAcid".equals(codeString))
5459        return SUBSTANCENUCLEICACID;
5460      if ("SubstancePolymer".equals(codeString))
5461        return SUBSTANCEPOLYMER;
5462      if ("SubstanceProtein".equals(codeString))
5463        return SUBSTANCEPROTEIN;
5464      if ("SubstanceReferenceInformation".equals(codeString))
5465        return SUBSTANCEREFERENCEINFORMATION;
5466      if ("SubstanceSourceMaterial".equals(codeString))
5467        return SUBSTANCESOURCEMATERIAL;
5468      if ("SubstanceSpecification".equals(codeString))
5469        return SUBSTANCESPECIFICATION;
5470      if ("SupplyDelivery".equals(codeString))
5471        return SUPPLYDELIVERY;
5472      if ("SupplyRequest".equals(codeString))
5473        return SUPPLYREQUEST;
5474      if ("Task".equals(codeString))
5475        return TASK;
5476      if ("TerminologyCapabilities".equals(codeString))
5477        return TERMINOLOGYCAPABILITIES;
5478      if ("TestReport".equals(codeString))
5479        return TESTREPORT;
5480      if ("TestScript".equals(codeString))
5481        return TESTSCRIPT;
5482      if ("ValueSet".equals(codeString))
5483        return VALUESET;
5484      if ("VerificationResult".equals(codeString))
5485        return VERIFICATIONRESULT;
5486      if ("VisionPrescription".equals(codeString))
5487        return VISIONPRESCRIPTION;
5488      if ("Type".equals(codeString))
5489        return TYPE;
5490      if ("Any".equals(codeString))
5491        return ANY;
5492      throw new FHIRException("Unknown FHIRAllTypes code '" + codeString + "'");
5493    }
5494
5495    public String toCode() {
5496      switch (this) {
5497      case ADDRESS:
5498        return "Address";
5499      case AGE:
5500        return "Age";
5501      case ANNOTATION:
5502        return "Annotation";
5503      case ATTACHMENT:
5504        return "Attachment";
5505      case BACKBONEELEMENT:
5506        return "BackboneElement";
5507      case CODEABLECONCEPT:
5508        return "CodeableConcept";
5509      case CODING:
5510        return "Coding";
5511      case CONTACTDETAIL:
5512        return "ContactDetail";
5513      case CONTACTPOINT:
5514        return "ContactPoint";
5515      case CONTRIBUTOR:
5516        return "Contributor";
5517      case COUNT:
5518        return "Count";
5519      case DATAREQUIREMENT:
5520        return "DataRequirement";
5521      case DISTANCE:
5522        return "Distance";
5523      case DOSAGE:
5524        return "Dosage";
5525      case DURATION:
5526        return "Duration";
5527      case ELEMENT:
5528        return "Element";
5529      case ELEMENTDEFINITION:
5530        return "ElementDefinition";
5531      case EXPRESSION:
5532        return "Expression";
5533      case EXTENSION:
5534        return "Extension";
5535      case HUMANNAME:
5536        return "HumanName";
5537      case IDENTIFIER:
5538        return "Identifier";
5539      case MARKETINGSTATUS:
5540        return "MarketingStatus";
5541      case META:
5542        return "Meta";
5543      case MONEY:
5544        return "Money";
5545      case MONEYQUANTITY:
5546        return "MoneyQuantity";
5547      case NARRATIVE:
5548        return "Narrative";
5549      case PARAMETERDEFINITION:
5550        return "ParameterDefinition";
5551      case PERIOD:
5552        return "Period";
5553      case POPULATION:
5554        return "Population";
5555      case PRODCHARACTERISTIC:
5556        return "ProdCharacteristic";
5557      case PRODUCTSHELFLIFE:
5558        return "ProductShelfLife";
5559      case QUANTITY:
5560        return "Quantity";
5561      case RANGE:
5562        return "Range";
5563      case RATIO:
5564        return "Ratio";
5565      case REFERENCE:
5566        return "Reference";
5567      case RELATEDARTIFACT:
5568        return "RelatedArtifact";
5569      case SAMPLEDDATA:
5570        return "SampledData";
5571      case SIGNATURE:
5572        return "Signature";
5573      case SIMPLEQUANTITY:
5574        return "SimpleQuantity";
5575      case SUBSTANCEAMOUNT:
5576        return "SubstanceAmount";
5577      case TIMING:
5578        return "Timing";
5579      case TRIGGERDEFINITION:
5580        return "TriggerDefinition";
5581      case USAGECONTEXT:
5582        return "UsageContext";
5583      case BASE64BINARY:
5584        return "base64Binary";
5585      case BOOLEAN:
5586        return "boolean";
5587      case CANONICAL:
5588        return "canonical";
5589      case CODE:
5590        return "code";
5591      case DATE:
5592        return "date";
5593      case DATETIME:
5594        return "dateTime";
5595      case DECIMAL:
5596        return "decimal";
5597      case ID:
5598        return "id";
5599      case INSTANT:
5600        return "instant";
5601      case INTEGER:
5602        return "integer";
5603      case MARKDOWN:
5604        return "markdown";
5605      case OID:
5606        return "oid";
5607      case POSITIVEINT:
5608        return "positiveInt";
5609      case STRING:
5610        return "string";
5611      case TIME:
5612        return "time";
5613      case UNSIGNEDINT:
5614        return "unsignedInt";
5615      case URI:
5616        return "uri";
5617      case URL:
5618        return "url";
5619      case UUID:
5620        return "uuid";
5621      case XHTML:
5622        return "xhtml";
5623      case ACCOUNT:
5624        return "Account";
5625      case ACTIVITYDEFINITION:
5626        return "ActivityDefinition";
5627      case ADVERSEEVENT:
5628        return "AdverseEvent";
5629      case ALLERGYINTOLERANCE:
5630        return "AllergyIntolerance";
5631      case APPOINTMENT:
5632        return "Appointment";
5633      case APPOINTMENTRESPONSE:
5634        return "AppointmentResponse";
5635      case AUDITEVENT:
5636        return "AuditEvent";
5637      case BASIC:
5638        return "Basic";
5639      case BINARY:
5640        return "Binary";
5641      case BIOLOGICALLYDERIVEDPRODUCT:
5642        return "BiologicallyDerivedProduct";
5643      case BODYSTRUCTURE:
5644        return "BodyStructure";
5645      case BUNDLE:
5646        return "Bundle";
5647      case CAPABILITYSTATEMENT:
5648        return "CapabilityStatement";
5649      case CAREPLAN:
5650        return "CarePlan";
5651      case CARETEAM:
5652        return "CareTeam";
5653      case CATALOGENTRY:
5654        return "CatalogEntry";
5655      case CHARGEITEM:
5656        return "ChargeItem";
5657      case CHARGEITEMDEFINITION:
5658        return "ChargeItemDefinition";
5659      case CLAIM:
5660        return "Claim";
5661      case CLAIMRESPONSE:
5662        return "ClaimResponse";
5663      case CLINICALIMPRESSION:
5664        return "ClinicalImpression";
5665      case CODESYSTEM:
5666        return "CodeSystem";
5667      case COMMUNICATION:
5668        return "Communication";
5669      case COMMUNICATIONREQUEST:
5670        return "CommunicationRequest";
5671      case COMPARTMENTDEFINITION:
5672        return "CompartmentDefinition";
5673      case COMPOSITION:
5674        return "Composition";
5675      case CONCEPTMAP:
5676        return "ConceptMap";
5677      case CONDITION:
5678        return "Condition";
5679      case CONSENT:
5680        return "Consent";
5681      case CONTRACT:
5682        return "Contract";
5683      case COVERAGE:
5684        return "Coverage";
5685      case COVERAGEELIGIBILITYREQUEST:
5686        return "CoverageEligibilityRequest";
5687      case COVERAGEELIGIBILITYRESPONSE:
5688        return "CoverageEligibilityResponse";
5689      case DETECTEDISSUE:
5690        return "DetectedIssue";
5691      case DEVICE:
5692        return "Device";
5693      case DEVICEDEFINITION:
5694        return "DeviceDefinition";
5695      case DEVICEMETRIC:
5696        return "DeviceMetric";
5697      case DEVICEREQUEST:
5698        return "DeviceRequest";
5699      case DEVICEUSESTATEMENT:
5700        return "DeviceUseStatement";
5701      case DIAGNOSTICREPORT:
5702        return "DiagnosticReport";
5703      case DOCUMENTMANIFEST:
5704        return "DocumentManifest";
5705      case DOCUMENTREFERENCE:
5706        return "DocumentReference";
5707      case DOMAINRESOURCE:
5708        return "DomainResource";
5709      case EFFECTEVIDENCESYNTHESIS:
5710        return "EffectEvidenceSynthesis";
5711      case ENCOUNTER:
5712        return "Encounter";
5713      case ENDPOINT:
5714        return "Endpoint";
5715      case ENROLLMENTREQUEST:
5716        return "EnrollmentRequest";
5717      case ENROLLMENTRESPONSE:
5718        return "EnrollmentResponse";
5719      case EPISODEOFCARE:
5720        return "EpisodeOfCare";
5721      case EVENTDEFINITION:
5722        return "EventDefinition";
5723      case EVIDENCE:
5724        return "Evidence";
5725      case EVIDENCEVARIABLE:
5726        return "EvidenceVariable";
5727      case EXAMPLESCENARIO:
5728        return "ExampleScenario";
5729      case EXPLANATIONOFBENEFIT:
5730        return "ExplanationOfBenefit";
5731      case FAMILYMEMBERHISTORY:
5732        return "FamilyMemberHistory";
5733      case FLAG:
5734        return "Flag";
5735      case GOAL:
5736        return "Goal";
5737      case GRAPHDEFINITION:
5738        return "GraphDefinition";
5739      case GROUP:
5740        return "Group";
5741      case GUIDANCERESPONSE:
5742        return "GuidanceResponse";
5743      case HEALTHCARESERVICE:
5744        return "HealthcareService";
5745      case IMAGINGSTUDY:
5746        return "ImagingStudy";
5747      case IMMUNIZATION:
5748        return "Immunization";
5749      case IMMUNIZATIONEVALUATION:
5750        return "ImmunizationEvaluation";
5751      case IMMUNIZATIONRECOMMENDATION:
5752        return "ImmunizationRecommendation";
5753      case IMPLEMENTATIONGUIDE:
5754        return "ImplementationGuide";
5755      case INSURANCEPLAN:
5756        return "InsurancePlan";
5757      case INVOICE:
5758        return "Invoice";
5759      case LIBRARY:
5760        return "Library";
5761      case LINKAGE:
5762        return "Linkage";
5763      case LIST:
5764        return "List";
5765      case LOCATION:
5766        return "Location";
5767      case MEASURE:
5768        return "Measure";
5769      case MEASUREREPORT:
5770        return "MeasureReport";
5771      case MEDIA:
5772        return "Media";
5773      case MEDICATION:
5774        return "Medication";
5775      case MEDICATIONADMINISTRATION:
5776        return "MedicationAdministration";
5777      case MEDICATIONDISPENSE:
5778        return "MedicationDispense";
5779      case MEDICATIONKNOWLEDGE:
5780        return "MedicationKnowledge";
5781      case MEDICATIONREQUEST:
5782        return "MedicationRequest";
5783      case MEDICATIONSTATEMENT:
5784        return "MedicationStatement";
5785      case MEDICINALPRODUCT:
5786        return "MedicinalProduct";
5787      case MEDICINALPRODUCTAUTHORIZATION:
5788        return "MedicinalProductAuthorization";
5789      case MEDICINALPRODUCTCONTRAINDICATION:
5790        return "MedicinalProductContraindication";
5791      case MEDICINALPRODUCTINDICATION:
5792        return "MedicinalProductIndication";
5793      case MEDICINALPRODUCTINGREDIENT:
5794        return "MedicinalProductIngredient";
5795      case MEDICINALPRODUCTINTERACTION:
5796        return "MedicinalProductInteraction";
5797      case MEDICINALPRODUCTMANUFACTURED:
5798        return "MedicinalProductManufactured";
5799      case MEDICINALPRODUCTPACKAGED:
5800        return "MedicinalProductPackaged";
5801      case MEDICINALPRODUCTPHARMACEUTICAL:
5802        return "MedicinalProductPharmaceutical";
5803      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
5804        return "MedicinalProductUndesirableEffect";
5805      case MESSAGEDEFINITION:
5806        return "MessageDefinition";
5807      case MESSAGEHEADER:
5808        return "MessageHeader";
5809      case MOLECULARSEQUENCE:
5810        return "MolecularSequence";
5811      case NAMINGSYSTEM:
5812        return "NamingSystem";
5813      case NUTRITIONORDER:
5814        return "NutritionOrder";
5815      case OBSERVATION:
5816        return "Observation";
5817      case OBSERVATIONDEFINITION:
5818        return "ObservationDefinition";
5819      case OPERATIONDEFINITION:
5820        return "OperationDefinition";
5821      case OPERATIONOUTCOME:
5822        return "OperationOutcome";
5823      case ORGANIZATION:
5824        return "Organization";
5825      case ORGANIZATIONAFFILIATION:
5826        return "OrganizationAffiliation";
5827      case PARAMETERS:
5828        return "Parameters";
5829      case PATIENT:
5830        return "Patient";
5831      case PAYMENTNOTICE:
5832        return "PaymentNotice";
5833      case PAYMENTRECONCILIATION:
5834        return "PaymentReconciliation";
5835      case PERSON:
5836        return "Person";
5837      case PLANDEFINITION:
5838        return "PlanDefinition";
5839      case PRACTITIONER:
5840        return "Practitioner";
5841      case PRACTITIONERROLE:
5842        return "PractitionerRole";
5843      case PROCEDURE:
5844        return "Procedure";
5845      case PROVENANCE:
5846        return "Provenance";
5847      case QUESTIONNAIRE:
5848        return "Questionnaire";
5849      case QUESTIONNAIRERESPONSE:
5850        return "QuestionnaireResponse";
5851      case RELATEDPERSON:
5852        return "RelatedPerson";
5853      case REQUESTGROUP:
5854        return "RequestGroup";
5855      case RESEARCHDEFINITION:
5856        return "ResearchDefinition";
5857      case RESEARCHELEMENTDEFINITION:
5858        return "ResearchElementDefinition";
5859      case RESEARCHSTUDY:
5860        return "ResearchStudy";
5861      case RESEARCHSUBJECT:
5862        return "ResearchSubject";
5863      case RESOURCE:
5864        return "Resource";
5865      case RISKASSESSMENT:
5866        return "RiskAssessment";
5867      case RISKEVIDENCESYNTHESIS:
5868        return "RiskEvidenceSynthesis";
5869      case SCHEDULE:
5870        return "Schedule";
5871      case SEARCHPARAMETER:
5872        return "SearchParameter";
5873      case SERVICEREQUEST:
5874        return "ServiceRequest";
5875      case SLOT:
5876        return "Slot";
5877      case SPECIMEN:
5878        return "Specimen";
5879      case SPECIMENDEFINITION:
5880        return "SpecimenDefinition";
5881      case STRUCTUREDEFINITION:
5882        return "StructureDefinition";
5883      case STRUCTUREMAP:
5884        return "StructureMap";
5885      case SUBSCRIPTION:
5886        return "Subscription";
5887      case SUBSTANCE:
5888        return "Substance";
5889      case SUBSTANCENUCLEICACID:
5890        return "SubstanceNucleicAcid";
5891      case SUBSTANCEPOLYMER:
5892        return "SubstancePolymer";
5893      case SUBSTANCEPROTEIN:
5894        return "SubstanceProtein";
5895      case SUBSTANCEREFERENCEINFORMATION:
5896        return "SubstanceReferenceInformation";
5897      case SUBSTANCESOURCEMATERIAL:
5898        return "SubstanceSourceMaterial";
5899      case SUBSTANCESPECIFICATION:
5900        return "SubstanceSpecification";
5901      case SUPPLYDELIVERY:
5902        return "SupplyDelivery";
5903      case SUPPLYREQUEST:
5904        return "SupplyRequest";
5905      case TASK:
5906        return "Task";
5907      case TERMINOLOGYCAPABILITIES:
5908        return "TerminologyCapabilities";
5909      case TESTREPORT:
5910        return "TestReport";
5911      case TESTSCRIPT:
5912        return "TestScript";
5913      case VALUESET:
5914        return "ValueSet";
5915      case VERIFICATIONRESULT:
5916        return "VerificationResult";
5917      case VISIONPRESCRIPTION:
5918        return "VisionPrescription";
5919      case TYPE:
5920        return "Type";
5921      case ANY:
5922        return "Any";
5923      case NULL:
5924        return null;
5925      default:
5926        return "?";
5927      }
5928    }
5929
5930    public String getSystem() {
5931      switch (this) {
5932      case ADDRESS:
5933        return "http://hl7.org/fhir/data-types";
5934      case AGE:
5935        return "http://hl7.org/fhir/data-types";
5936      case ANNOTATION:
5937        return "http://hl7.org/fhir/data-types";
5938      case ATTACHMENT:
5939        return "http://hl7.org/fhir/data-types";
5940      case BACKBONEELEMENT:
5941        return "http://hl7.org/fhir/data-types";
5942      case CODEABLECONCEPT:
5943        return "http://hl7.org/fhir/data-types";
5944      case CODING:
5945        return "http://hl7.org/fhir/data-types";
5946      case CONTACTDETAIL:
5947        return "http://hl7.org/fhir/data-types";
5948      case CONTACTPOINT:
5949        return "http://hl7.org/fhir/data-types";
5950      case CONTRIBUTOR:
5951        return "http://hl7.org/fhir/data-types";
5952      case COUNT:
5953        return "http://hl7.org/fhir/data-types";
5954      case DATAREQUIREMENT:
5955        return "http://hl7.org/fhir/data-types";
5956      case DISTANCE:
5957        return "http://hl7.org/fhir/data-types";
5958      case DOSAGE:
5959        return "http://hl7.org/fhir/data-types";
5960      case DURATION:
5961        return "http://hl7.org/fhir/data-types";
5962      case ELEMENT:
5963        return "http://hl7.org/fhir/data-types";
5964      case ELEMENTDEFINITION:
5965        return "http://hl7.org/fhir/data-types";
5966      case EXPRESSION:
5967        return "http://hl7.org/fhir/data-types";
5968      case EXTENSION:
5969        return "http://hl7.org/fhir/data-types";
5970      case HUMANNAME:
5971        return "http://hl7.org/fhir/data-types";
5972      case IDENTIFIER:
5973        return "http://hl7.org/fhir/data-types";
5974      case MARKETINGSTATUS:
5975        return "http://hl7.org/fhir/data-types";
5976      case META:
5977        return "http://hl7.org/fhir/data-types";
5978      case MONEY:
5979        return "http://hl7.org/fhir/data-types";
5980      case MONEYQUANTITY:
5981        return "http://hl7.org/fhir/data-types";
5982      case NARRATIVE:
5983        return "http://hl7.org/fhir/data-types";
5984      case PARAMETERDEFINITION:
5985        return "http://hl7.org/fhir/data-types";
5986      case PERIOD:
5987        return "http://hl7.org/fhir/data-types";
5988      case POPULATION:
5989        return "http://hl7.org/fhir/data-types";
5990      case PRODCHARACTERISTIC:
5991        return "http://hl7.org/fhir/data-types";
5992      case PRODUCTSHELFLIFE:
5993        return "http://hl7.org/fhir/data-types";
5994      case QUANTITY:
5995        return "http://hl7.org/fhir/data-types";
5996      case RANGE:
5997        return "http://hl7.org/fhir/data-types";
5998      case RATIO:
5999        return "http://hl7.org/fhir/data-types";
6000      case REFERENCE:
6001        return "http://hl7.org/fhir/data-types";
6002      case RELATEDARTIFACT:
6003        return "http://hl7.org/fhir/data-types";
6004      case SAMPLEDDATA:
6005        return "http://hl7.org/fhir/data-types";
6006      case SIGNATURE:
6007        return "http://hl7.org/fhir/data-types";
6008      case SIMPLEQUANTITY:
6009        return "http://hl7.org/fhir/data-types";
6010      case SUBSTANCEAMOUNT:
6011        return "http://hl7.org/fhir/data-types";
6012      case TIMING:
6013        return "http://hl7.org/fhir/data-types";
6014      case TRIGGERDEFINITION:
6015        return "http://hl7.org/fhir/data-types";
6016      case USAGECONTEXT:
6017        return "http://hl7.org/fhir/data-types";
6018      case BASE64BINARY:
6019        return "http://hl7.org/fhir/data-types";
6020      case BOOLEAN:
6021        return "http://hl7.org/fhir/data-types";
6022      case CANONICAL:
6023        return "http://hl7.org/fhir/data-types";
6024      case CODE:
6025        return "http://hl7.org/fhir/data-types";
6026      case DATE:
6027        return "http://hl7.org/fhir/data-types";
6028      case DATETIME:
6029        return "http://hl7.org/fhir/data-types";
6030      case DECIMAL:
6031        return "http://hl7.org/fhir/data-types";
6032      case ID:
6033        return "http://hl7.org/fhir/data-types";
6034      case INSTANT:
6035        return "http://hl7.org/fhir/data-types";
6036      case INTEGER:
6037        return "http://hl7.org/fhir/data-types";
6038      case MARKDOWN:
6039        return "http://hl7.org/fhir/data-types";
6040      case OID:
6041        return "http://hl7.org/fhir/data-types";
6042      case POSITIVEINT:
6043        return "http://hl7.org/fhir/data-types";
6044      case STRING:
6045        return "http://hl7.org/fhir/data-types";
6046      case TIME:
6047        return "http://hl7.org/fhir/data-types";
6048      case UNSIGNEDINT:
6049        return "http://hl7.org/fhir/data-types";
6050      case URI:
6051        return "http://hl7.org/fhir/data-types";
6052      case URL:
6053        return "http://hl7.org/fhir/data-types";
6054      case UUID:
6055        return "http://hl7.org/fhir/data-types";
6056      case XHTML:
6057        return "http://hl7.org/fhir/data-types";
6058      case ACCOUNT:
6059        return "http://hl7.org/fhir/resource-types";
6060      case ACTIVITYDEFINITION:
6061        return "http://hl7.org/fhir/resource-types";
6062      case ADVERSEEVENT:
6063        return "http://hl7.org/fhir/resource-types";
6064      case ALLERGYINTOLERANCE:
6065        return "http://hl7.org/fhir/resource-types";
6066      case APPOINTMENT:
6067        return "http://hl7.org/fhir/resource-types";
6068      case APPOINTMENTRESPONSE:
6069        return "http://hl7.org/fhir/resource-types";
6070      case AUDITEVENT:
6071        return "http://hl7.org/fhir/resource-types";
6072      case BASIC:
6073        return "http://hl7.org/fhir/resource-types";
6074      case BINARY:
6075        return "http://hl7.org/fhir/resource-types";
6076      case BIOLOGICALLYDERIVEDPRODUCT:
6077        return "http://hl7.org/fhir/resource-types";
6078      case BODYSTRUCTURE:
6079        return "http://hl7.org/fhir/resource-types";
6080      case BUNDLE:
6081        return "http://hl7.org/fhir/resource-types";
6082      case CAPABILITYSTATEMENT:
6083        return "http://hl7.org/fhir/resource-types";
6084      case CAREPLAN:
6085        return "http://hl7.org/fhir/resource-types";
6086      case CARETEAM:
6087        return "http://hl7.org/fhir/resource-types";
6088      case CATALOGENTRY:
6089        return "http://hl7.org/fhir/resource-types";
6090      case CHARGEITEM:
6091        return "http://hl7.org/fhir/resource-types";
6092      case CHARGEITEMDEFINITION:
6093        return "http://hl7.org/fhir/resource-types";
6094      case CLAIM:
6095        return "http://hl7.org/fhir/resource-types";
6096      case CLAIMRESPONSE:
6097        return "http://hl7.org/fhir/resource-types";
6098      case CLINICALIMPRESSION:
6099        return "http://hl7.org/fhir/resource-types";
6100      case CODESYSTEM:
6101        return "http://hl7.org/fhir/resource-types";
6102      case COMMUNICATION:
6103        return "http://hl7.org/fhir/resource-types";
6104      case COMMUNICATIONREQUEST:
6105        return "http://hl7.org/fhir/resource-types";
6106      case COMPARTMENTDEFINITION:
6107        return "http://hl7.org/fhir/resource-types";
6108      case COMPOSITION:
6109        return "http://hl7.org/fhir/resource-types";
6110      case CONCEPTMAP:
6111        return "http://hl7.org/fhir/resource-types";
6112      case CONDITION:
6113        return "http://hl7.org/fhir/resource-types";
6114      case CONSENT:
6115        return "http://hl7.org/fhir/resource-types";
6116      case CONTRACT:
6117        return "http://hl7.org/fhir/resource-types";
6118      case COVERAGE:
6119        return "http://hl7.org/fhir/resource-types";
6120      case COVERAGEELIGIBILITYREQUEST:
6121        return "http://hl7.org/fhir/resource-types";
6122      case COVERAGEELIGIBILITYRESPONSE:
6123        return "http://hl7.org/fhir/resource-types";
6124      case DETECTEDISSUE:
6125        return "http://hl7.org/fhir/resource-types";
6126      case DEVICE:
6127        return "http://hl7.org/fhir/resource-types";
6128      case DEVICEDEFINITION:
6129        return "http://hl7.org/fhir/resource-types";
6130      case DEVICEMETRIC:
6131        return "http://hl7.org/fhir/resource-types";
6132      case DEVICEREQUEST:
6133        return "http://hl7.org/fhir/resource-types";
6134      case DEVICEUSESTATEMENT:
6135        return "http://hl7.org/fhir/resource-types";
6136      case DIAGNOSTICREPORT:
6137        return "http://hl7.org/fhir/resource-types";
6138      case DOCUMENTMANIFEST:
6139        return "http://hl7.org/fhir/resource-types";
6140      case DOCUMENTREFERENCE:
6141        return "http://hl7.org/fhir/resource-types";
6142      case DOMAINRESOURCE:
6143        return "http://hl7.org/fhir/resource-types";
6144      case EFFECTEVIDENCESYNTHESIS:
6145        return "http://hl7.org/fhir/resource-types";
6146      case ENCOUNTER:
6147        return "http://hl7.org/fhir/resource-types";
6148      case ENDPOINT:
6149        return "http://hl7.org/fhir/resource-types";
6150      case ENROLLMENTREQUEST:
6151        return "http://hl7.org/fhir/resource-types";
6152      case ENROLLMENTRESPONSE:
6153        return "http://hl7.org/fhir/resource-types";
6154      case EPISODEOFCARE:
6155        return "http://hl7.org/fhir/resource-types";
6156      case EVENTDEFINITION:
6157        return "http://hl7.org/fhir/resource-types";
6158      case EVIDENCE:
6159        return "http://hl7.org/fhir/resource-types";
6160      case EVIDENCEVARIABLE:
6161        return "http://hl7.org/fhir/resource-types";
6162      case EXAMPLESCENARIO:
6163        return "http://hl7.org/fhir/resource-types";
6164      case EXPLANATIONOFBENEFIT:
6165        return "http://hl7.org/fhir/resource-types";
6166      case FAMILYMEMBERHISTORY:
6167        return "http://hl7.org/fhir/resource-types";
6168      case FLAG:
6169        return "http://hl7.org/fhir/resource-types";
6170      case GOAL:
6171        return "http://hl7.org/fhir/resource-types";
6172      case GRAPHDEFINITION:
6173        return "http://hl7.org/fhir/resource-types";
6174      case GROUP:
6175        return "http://hl7.org/fhir/resource-types";
6176      case GUIDANCERESPONSE:
6177        return "http://hl7.org/fhir/resource-types";
6178      case HEALTHCARESERVICE:
6179        return "http://hl7.org/fhir/resource-types";
6180      case IMAGINGSTUDY:
6181        return "http://hl7.org/fhir/resource-types";
6182      case IMMUNIZATION:
6183        return "http://hl7.org/fhir/resource-types";
6184      case IMMUNIZATIONEVALUATION:
6185        return "http://hl7.org/fhir/resource-types";
6186      case IMMUNIZATIONRECOMMENDATION:
6187        return "http://hl7.org/fhir/resource-types";
6188      case IMPLEMENTATIONGUIDE:
6189        return "http://hl7.org/fhir/resource-types";
6190      case INSURANCEPLAN:
6191        return "http://hl7.org/fhir/resource-types";
6192      case INVOICE:
6193        return "http://hl7.org/fhir/resource-types";
6194      case LIBRARY:
6195        return "http://hl7.org/fhir/resource-types";
6196      case LINKAGE:
6197        return "http://hl7.org/fhir/resource-types";
6198      case LIST:
6199        return "http://hl7.org/fhir/resource-types";
6200      case LOCATION:
6201        return "http://hl7.org/fhir/resource-types";
6202      case MEASURE:
6203        return "http://hl7.org/fhir/resource-types";
6204      case MEASUREREPORT:
6205        return "http://hl7.org/fhir/resource-types";
6206      case MEDIA:
6207        return "http://hl7.org/fhir/resource-types";
6208      case MEDICATION:
6209        return "http://hl7.org/fhir/resource-types";
6210      case MEDICATIONADMINISTRATION:
6211        return "http://hl7.org/fhir/resource-types";
6212      case MEDICATIONDISPENSE:
6213        return "http://hl7.org/fhir/resource-types";
6214      case MEDICATIONKNOWLEDGE:
6215        return "http://hl7.org/fhir/resource-types";
6216      case MEDICATIONREQUEST:
6217        return "http://hl7.org/fhir/resource-types";
6218      case MEDICATIONSTATEMENT:
6219        return "http://hl7.org/fhir/resource-types";
6220      case MEDICINALPRODUCT:
6221        return "http://hl7.org/fhir/resource-types";
6222      case MEDICINALPRODUCTAUTHORIZATION:
6223        return "http://hl7.org/fhir/resource-types";
6224      case MEDICINALPRODUCTCONTRAINDICATION:
6225        return "http://hl7.org/fhir/resource-types";
6226      case MEDICINALPRODUCTINDICATION:
6227        return "http://hl7.org/fhir/resource-types";
6228      case MEDICINALPRODUCTINGREDIENT:
6229        return "http://hl7.org/fhir/resource-types";
6230      case MEDICINALPRODUCTINTERACTION:
6231        return "http://hl7.org/fhir/resource-types";
6232      case MEDICINALPRODUCTMANUFACTURED:
6233        return "http://hl7.org/fhir/resource-types";
6234      case MEDICINALPRODUCTPACKAGED:
6235        return "http://hl7.org/fhir/resource-types";
6236      case MEDICINALPRODUCTPHARMACEUTICAL:
6237        return "http://hl7.org/fhir/resource-types";
6238      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
6239        return "http://hl7.org/fhir/resource-types";
6240      case MESSAGEDEFINITION:
6241        return "http://hl7.org/fhir/resource-types";
6242      case MESSAGEHEADER:
6243        return "http://hl7.org/fhir/resource-types";
6244      case MOLECULARSEQUENCE:
6245        return "http://hl7.org/fhir/resource-types";
6246      case NAMINGSYSTEM:
6247        return "http://hl7.org/fhir/resource-types";
6248      case NUTRITIONORDER:
6249        return "http://hl7.org/fhir/resource-types";
6250      case OBSERVATION:
6251        return "http://hl7.org/fhir/resource-types";
6252      case OBSERVATIONDEFINITION:
6253        return "http://hl7.org/fhir/resource-types";
6254      case OPERATIONDEFINITION:
6255        return "http://hl7.org/fhir/resource-types";
6256      case OPERATIONOUTCOME:
6257        return "http://hl7.org/fhir/resource-types";
6258      case ORGANIZATION:
6259        return "http://hl7.org/fhir/resource-types";
6260      case ORGANIZATIONAFFILIATION:
6261        return "http://hl7.org/fhir/resource-types";
6262      case PARAMETERS:
6263        return "http://hl7.org/fhir/resource-types";
6264      case PATIENT:
6265        return "http://hl7.org/fhir/resource-types";
6266      case PAYMENTNOTICE:
6267        return "http://hl7.org/fhir/resource-types";
6268      case PAYMENTRECONCILIATION:
6269        return "http://hl7.org/fhir/resource-types";
6270      case PERSON:
6271        return "http://hl7.org/fhir/resource-types";
6272      case PLANDEFINITION:
6273        return "http://hl7.org/fhir/resource-types";
6274      case PRACTITIONER:
6275        return "http://hl7.org/fhir/resource-types";
6276      case PRACTITIONERROLE:
6277        return "http://hl7.org/fhir/resource-types";
6278      case PROCEDURE:
6279        return "http://hl7.org/fhir/resource-types";
6280      case PROVENANCE:
6281        return "http://hl7.org/fhir/resource-types";
6282      case QUESTIONNAIRE:
6283        return "http://hl7.org/fhir/resource-types";
6284      case QUESTIONNAIRERESPONSE:
6285        return "http://hl7.org/fhir/resource-types";
6286      case RELATEDPERSON:
6287        return "http://hl7.org/fhir/resource-types";
6288      case REQUESTGROUP:
6289        return "http://hl7.org/fhir/resource-types";
6290      case RESEARCHDEFINITION:
6291        return "http://hl7.org/fhir/resource-types";
6292      case RESEARCHELEMENTDEFINITION:
6293        return "http://hl7.org/fhir/resource-types";
6294      case RESEARCHSTUDY:
6295        return "http://hl7.org/fhir/resource-types";
6296      case RESEARCHSUBJECT:
6297        return "http://hl7.org/fhir/resource-types";
6298      case RESOURCE:
6299        return "http://hl7.org/fhir/resource-types";
6300      case RISKASSESSMENT:
6301        return "http://hl7.org/fhir/resource-types";
6302      case RISKEVIDENCESYNTHESIS:
6303        return "http://hl7.org/fhir/resource-types";
6304      case SCHEDULE:
6305        return "http://hl7.org/fhir/resource-types";
6306      case SEARCHPARAMETER:
6307        return "http://hl7.org/fhir/resource-types";
6308      case SERVICEREQUEST:
6309        return "http://hl7.org/fhir/resource-types";
6310      case SLOT:
6311        return "http://hl7.org/fhir/resource-types";
6312      case SPECIMEN:
6313        return "http://hl7.org/fhir/resource-types";
6314      case SPECIMENDEFINITION:
6315        return "http://hl7.org/fhir/resource-types";
6316      case STRUCTUREDEFINITION:
6317        return "http://hl7.org/fhir/resource-types";
6318      case STRUCTUREMAP:
6319        return "http://hl7.org/fhir/resource-types";
6320      case SUBSCRIPTION:
6321        return "http://hl7.org/fhir/resource-types";
6322      case SUBSTANCE:
6323        return "http://hl7.org/fhir/resource-types";
6324      case SUBSTANCENUCLEICACID:
6325        return "http://hl7.org/fhir/resource-types";
6326      case SUBSTANCEPOLYMER:
6327        return "http://hl7.org/fhir/resource-types";
6328      case SUBSTANCEPROTEIN:
6329        return "http://hl7.org/fhir/resource-types";
6330      case SUBSTANCEREFERENCEINFORMATION:
6331        return "http://hl7.org/fhir/resource-types";
6332      case SUBSTANCESOURCEMATERIAL:
6333        return "http://hl7.org/fhir/resource-types";
6334      case SUBSTANCESPECIFICATION:
6335        return "http://hl7.org/fhir/resource-types";
6336      case SUPPLYDELIVERY:
6337        return "http://hl7.org/fhir/resource-types";
6338      case SUPPLYREQUEST:
6339        return "http://hl7.org/fhir/resource-types";
6340      case TASK:
6341        return "http://hl7.org/fhir/resource-types";
6342      case TERMINOLOGYCAPABILITIES:
6343        return "http://hl7.org/fhir/resource-types";
6344      case TESTREPORT:
6345        return "http://hl7.org/fhir/resource-types";
6346      case TESTSCRIPT:
6347        return "http://hl7.org/fhir/resource-types";
6348      case VALUESET:
6349        return "http://hl7.org/fhir/resource-types";
6350      case VERIFICATIONRESULT:
6351        return "http://hl7.org/fhir/resource-types";
6352      case VISIONPRESCRIPTION:
6353        return "http://hl7.org/fhir/resource-types";
6354      case TYPE:
6355        return "http://hl7.org/fhir/abstract-types";
6356      case ANY:
6357        return "http://hl7.org/fhir/abstract-types";
6358      case NULL:
6359        return null;
6360      default:
6361        return "?";
6362      }
6363    }
6364
6365    public String getDefinition() {
6366      switch (this) {
6367      case ADDRESS:
6368        return "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.";
6369      case AGE:
6370        return "A duration of time during which an organism (or a process) has existed.";
6371      case ANNOTATION:
6372        return "A  text note which also  contains information about who made the statement and when.";
6373      case ATTACHMENT:
6374        return "For referring to data content defined in other formats.";
6375      case BACKBONEELEMENT:
6376        return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
6377      case CODEABLECONCEPT:
6378        return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
6379      case CODING:
6380        return "A reference to a code defined by a terminology system.";
6381      case CONTACTDETAIL:
6382        return "Specifies contact information for a person or organization.";
6383      case CONTACTPOINT:
6384        return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
6385      case CONTRIBUTOR:
6386        return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
6387      case COUNT:
6388        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.";
6389      case DATAREQUIREMENT:
6390        return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
6391      case DISTANCE:
6392        return "A length - a value with a unit that is a physical distance.";
6393      case DOSAGE:
6394        return "Indicates how the medication is/was taken or should be taken by the patient.";
6395      case DURATION:
6396        return "A length of time.";
6397      case ELEMENT:
6398        return "Base definition for all elements in a resource.";
6399      case ELEMENTDEFINITION:
6400        return "Captures constraints on each element within the resource, profile, or extension.";
6401      case EXPRESSION:
6402        return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
6403      case EXTENSION:
6404        return "Optional Extension Element - found in all resources.";
6405      case HUMANNAME:
6406        return "A human's name with the ability to identify parts and usage.";
6407      case IDENTIFIER:
6408        return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
6409      case MARKETINGSTATUS:
6410        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
6411      case META:
6412        return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.";
6413      case MONEY:
6414        return "An amount of economic utility in some recognized currency.";
6415      case MONEYQUANTITY:
6416        return "";
6417      case NARRATIVE:
6418        return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
6419      case PARAMETERDEFINITION:
6420        return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.";
6421      case PERIOD:
6422        return "A time period defined by a start and end date and optionally time.";
6423      case POPULATION:
6424        return "A populatioof people with some set of grouping criteria.";
6425      case PRODCHARACTERISTIC:
6426        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
6427      case PRODUCTSHELFLIFE:
6428        return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
6429      case QUANTITY:
6430        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.";
6431      case RANGE:
6432        return "A set of ordered Quantities defined by a low and high limit.";
6433      case RATIO:
6434        return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
6435      case REFERENCE:
6436        return "A reference from one resource to another.";
6437      case RELATEDARTIFACT:
6438        return "Related artifacts such as additional documentation, justification, or bibliographic references.";
6439      case SAMPLEDDATA:
6440        return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
6441      case SIGNATURE:
6442        return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.";
6443      case SIMPLEQUANTITY:
6444        return "";
6445      case SUBSTANCEAMOUNT:
6446        return "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.";
6447      case TIMING:
6448        return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, 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, and may be used for reporting the schedule to which past regular activities were carried out.";
6449      case TRIGGERDEFINITION:
6450        return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
6451      case USAGECONTEXT:
6452        return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).";
6453      case BASE64BINARY:
6454        return "A stream of bytes";
6455      case BOOLEAN:
6456        return "Value of \"true\" or \"false\"";
6457      case CANONICAL:
6458        return "A URI that is a reference to a canonical URL on a FHIR resource";
6459      case CODE:
6460        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";
6461      case DATE:
6462        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.";
6463      case DATETIME:
6464        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.";
6465      case DECIMAL:
6466        return "A rational number with implicit precision";
6467      case ID:
6468        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.";
6469      case INSTANT:
6470        return "An instant in time - known at least to the second";
6471      case INTEGER:
6472        return "A whole number";
6473      case MARKDOWN:
6474        return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
6475      case OID:
6476        return "An OID represented as a URI";
6477      case POSITIVEINT:
6478        return "An integer with a value that is positive (e.g. >0)";
6479      case STRING:
6480        return "A sequence of Unicode characters";
6481      case TIME:
6482        return "A time during the day, with no date specified";
6483      case UNSIGNEDINT:
6484        return "An integer with a value that is not negative (e.g. >= 0)";
6485      case URI:
6486        return "String of characters used to identify a name or a resource";
6487      case URL:
6488        return "A URI that is a literal reference";
6489      case UUID:
6490        return "A UUID, represented as a URI";
6491      case XHTML:
6492        return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
6493      case ACCOUNT:
6494        return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
6495      case ACTIVITYDEFINITION:
6496        return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
6497      case ADVERSEEVENT:
6498        return "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.";
6499      case ALLERGYINTOLERANCE:
6500        return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
6501      case APPOINTMENT:
6502        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).";
6503      case APPOINTMENTRESPONSE:
6504        return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
6505      case AUDITEVENT:
6506        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.";
6507      case BASIC:
6508        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.";
6509      case BINARY:
6510        return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
6511      case BIOLOGICALLYDERIVEDPRODUCT:
6512        return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
6513      case BODYSTRUCTURE:
6514        return "Record details about an anatomical structure.  This resource may be used when a coded concept does not provide the necessary detail needed for the use case.";
6515      case BUNDLE:
6516        return "A container for a collection of resources.";
6517      case CAPABILITYSTATEMENT:
6518        return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
6519      case CAREPLAN:
6520        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.";
6521      case CARETEAM:
6522        return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
6523      case CATALOGENTRY:
6524        return "Catalog entries are wrappers that contextualize items included in a catalog.";
6525      case CHARGEITEM:
6526        return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.";
6527      case CHARGEITEMDEFINITION:
6528        return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
6529      case CLAIM:
6530        return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
6531      case CLAIMRESPONSE:
6532        return "This resource provides the adjudication details from the processing of a Claim resource.";
6533      case CLINICALIMPRESSION:
6534        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.";
6535      case CODESYSTEM:
6536        return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.";
6537      case COMMUNICATION:
6538        return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
6539      case COMMUNICATIONREQUEST:
6540        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.";
6541      case COMPARTMENTDEFINITION:
6542        return "A compartment definition that defines how resources are accessed on a server.";
6543      case COMPOSITION:
6544        return "A set of healthcare-related information that is assembled together into a single logical package 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. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).";
6545      case CONCEPTMAP:
6546        return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
6547      case CONDITION:
6548        return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
6549      case CONSENT:
6550        return "A record of a healthcare consumer?s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.";
6551      case CONTRACT:
6552        return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
6553      case COVERAGE:
6554        return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
6555      case COVERAGEELIGIBILITYREQUEST:
6556        return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
6557      case COVERAGEELIGIBILITYRESPONSE:
6558        return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
6559      case DETECTEDISSUE:
6560        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.";
6561      case DEVICE:
6562        return "A type 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.";
6563      case DEVICEDEFINITION:
6564        return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
6565      case DEVICEMETRIC:
6566        return "Describes a measurement, calculation or setting capability of a medical device.";
6567      case DEVICEREQUEST:
6568        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.";
6569      case DEVICEUSESTATEMENT:
6570        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.";
6571      case DIAGNOSTICREPORT:
6572        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.";
6573      case DOCUMENTMANIFEST:
6574        return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
6575      case DOCUMENTREFERENCE:
6576        return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
6577      case DOMAINRESOURCE:
6578        return "A resource that includes narrative, extensions, and contained resources.";
6579      case EFFECTEVIDENCESYNTHESIS:
6580        return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
6581      case ENCOUNTER:
6582        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.";
6583      case ENDPOINT:
6584        return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.";
6585      case ENROLLMENTREQUEST:
6586        return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
6587      case ENROLLMENTRESPONSE:
6588        return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
6589      case EPISODEOFCARE:
6590        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.";
6591      case EVENTDEFINITION:
6592        return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
6593      case EVIDENCE:
6594        return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
6595      case EVIDENCEVARIABLE:
6596        return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
6597      case EXAMPLESCENARIO:
6598        return "Example of workflow instance.";
6599      case EXPLANATIONOFBENEFIT:
6600        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.";
6601      case FAMILYMEMBERHISTORY:
6602        return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
6603      case FLAG:
6604        return "Prospective warnings of potential issues when providing care to the patient.";
6605      case GOAL:
6606        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.";
6607      case GRAPHDEFINITION:
6608        return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.";
6609      case GROUP:
6610        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.";
6611      case GUIDANCERESPONSE:
6612        return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.";
6613      case HEALTHCARESERVICE:
6614        return "The details of a healthcare service available at a location.";
6615      case IMAGINGSTUDY:
6616        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.";
6617      case IMMUNIZATION:
6618        return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.";
6619      case IMMUNIZATIONEVALUATION:
6620        return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
6621      case IMMUNIZATIONRECOMMENDATION:
6622        return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
6623      case IMPLEMENTATIONGUIDE:
6624        return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. 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.";
6625      case INSURANCEPLAN:
6626        return "Details of a Health Insurance product/plan provided by an organization.";
6627      case INVOICE:
6628        return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
6629      case LIBRARY:
6630        return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.";
6631      case LINKAGE:
6632        return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
6633      case LIST:
6634        return "A list is a curated collection of resources.";
6635      case LOCATION:
6636        return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
6637      case MEASURE:
6638        return "The Measure resource provides the definition of a quality measure.";
6639      case MEASUREREPORT:
6640        return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
6641      case MEDIA:
6642        return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
6643      case MEDICATION:
6644        return "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
6645      case MEDICATIONADMINISTRATION:
6646        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.";
6647      case MEDICATIONDISPENSE:
6648        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.";
6649      case MEDICATIONKNOWLEDGE:
6650        return "Information about a medication that is used to support knowledge.";
6651      case MEDICATIONREQUEST:
6652        return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.";
6653      case MEDICATIONSTATEMENT:
6654        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 sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe 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.";
6655      case MEDICINALPRODUCT:
6656        return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
6657      case MEDICINALPRODUCTAUTHORIZATION:
6658        return "The regulatory authorization of a medicinal product.";
6659      case MEDICINALPRODUCTCONTRAINDICATION:
6660        return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
6661      case MEDICINALPRODUCTINDICATION:
6662        return "Indication for the Medicinal Product.";
6663      case MEDICINALPRODUCTINGREDIENT:
6664        return "An ingredient of a manufactured item or pharmaceutical product.";
6665      case MEDICINALPRODUCTINTERACTION:
6666        return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
6667      case MEDICINALPRODUCTMANUFACTURED:
6668        return "The manufactured item as contained in the packaged medicinal product.";
6669      case MEDICINALPRODUCTPACKAGED:
6670        return "A medicinal product in a container or package.";
6671      case MEDICINALPRODUCTPHARMACEUTICAL:
6672        return "A pharmaceutical product described in terms of its composition and dose form.";
6673      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
6674        return "Describe the undesirable effects of the medicinal product.";
6675      case MESSAGEDEFINITION:
6676        return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.";
6677      case MESSAGEHEADER:
6678        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.";
6679      case MOLECULARSEQUENCE:
6680        return "Raw data describing a biological sequence.";
6681      case NAMINGSYSTEM:
6682        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.";
6683      case NUTRITIONORDER:
6684        return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
6685      case OBSERVATION:
6686        return "Measurements and simple assertions made about a patient, device or other subject.";
6687      case OBSERVATIONDEFINITION:
6688        return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
6689      case OPERATIONDEFINITION:
6690        return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
6691      case OPERATIONOUTCOME:
6692        return "A collection of error, warning, or information messages that result from a system action.";
6693      case ORGANIZATION:
6694        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, payer/insurer, etc.";
6695      case ORGANIZATIONAFFILIATION:
6696        return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
6697      case PARAMETERS:
6698        return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
6699      case PATIENT:
6700        return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
6701      case PAYMENTNOTICE:
6702        return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
6703      case PAYMENTRECONCILIATION:
6704        return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
6705      case PERSON:
6706        return "Demographics and administrative information about a person independent of a specific health-related context.";
6707      case PLANDEFINITION:
6708        return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.";
6709      case PRACTITIONER:
6710        return "A person who is directly or indirectly involved in the provisioning of healthcare.";
6711      case PRACTITIONERROLE:
6712        return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
6713      case PROCEDURE:
6714        return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
6715      case PROVENANCE:
6716        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.";
6717      case QUESTIONNAIRE:
6718        return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.";
6719      case QUESTIONNAIRERESPONSE:
6720        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 questionnaire being responded to.";
6721      case RELATEDPERSON:
6722        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.";
6723      case REQUESTGROUP:
6724        return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
6725      case RESEARCHDEFINITION:
6726        return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
6727      case RESEARCHELEMENTDEFINITION:
6728        return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
6729      case RESEARCHSTUDY:
6730        return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.";
6731      case RESEARCHSUBJECT:
6732        return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
6733      case RESOURCE:
6734        return "This is the base resource type for everything.";
6735      case RISKASSESSMENT:
6736        return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
6737      case RISKEVIDENCESYNTHESIS:
6738        return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
6739      case SCHEDULE:
6740        return "A container for slots of time that may be available for booking appointments.";
6741      case SEARCHPARAMETER:
6742        return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
6743      case SERVICEREQUEST:
6744        return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
6745      case SLOT:
6746        return "A slot of time on a schedule that may be available for booking appointments.";
6747      case SPECIMEN:
6748        return "A sample to be used for analysis.";
6749      case SPECIMENDEFINITION:
6750        return "A kind of specimen with associated set of requirements.";
6751      case STRUCTUREDEFINITION:
6752        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.";
6753      case STRUCTUREMAP:
6754        return "A Map of relationships between 2 structures that can be used to transform data.";
6755      case SUBSCRIPTION:
6756        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 can take an appropriate action.";
6757      case SUBSTANCE:
6758        return "A homogeneous material with a definite composition.";
6759      case SUBSTANCENUCLEICACID:
6760        return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5?-3? direction.";
6761      case SUBSTANCEPOLYMER:
6762        return "Todo.";
6763      case SUBSTANCEPROTEIN:
6764        return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
6765      case SUBSTANCEREFERENCEINFORMATION:
6766        return "Todo.";
6767      case SUBSTANCESOURCEMATERIAL:
6768        return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
6769      case SUBSTANCESPECIFICATION:
6770        return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
6771      case SUPPLYDELIVERY:
6772        return "Record of delivery of what is supplied.";
6773      case SUPPLYREQUEST:
6774        return "A record of a request for a medication, substance or device used in the healthcare setting.";
6775      case TASK:
6776        return "A task to be performed.";
6777      case TERMINOLOGYCAPABILITIES:
6778        return "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
6779      case TESTREPORT:
6780        return "A summary of information based on the results of executing a TestScript.";
6781      case TESTSCRIPT:
6782        return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
6783      case VALUESET:
6784        return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
6785      case VERIFICATIONRESULT:
6786        return "Describes validation requirements, source(s), status and dates for one or more elements.";
6787      case VISIONPRESCRIPTION:
6788        return "An authorization for the provision of glasses and/or contact lenses to a patient.";
6789      case TYPE:
6790        return "A place holder that means any kind of data type";
6791      case ANY:
6792        return "A place holder that means any kind of resource";
6793      case NULL:
6794        return null;
6795      default:
6796        return "?";
6797      }
6798    }
6799
6800    public String getDisplay() {
6801      switch (this) {
6802      case ADDRESS:
6803        return "Address";
6804      case AGE:
6805        return "Age";
6806      case ANNOTATION:
6807        return "Annotation";
6808      case ATTACHMENT:
6809        return "Attachment";
6810      case BACKBONEELEMENT:
6811        return "BackboneElement";
6812      case CODEABLECONCEPT:
6813        return "CodeableConcept";
6814      case CODING:
6815        return "Coding";
6816      case CONTACTDETAIL:
6817        return "ContactDetail";
6818      case CONTACTPOINT:
6819        return "ContactPoint";
6820      case CONTRIBUTOR:
6821        return "Contributor";
6822      case COUNT:
6823        return "Count";
6824      case DATAREQUIREMENT:
6825        return "DataRequirement";
6826      case DISTANCE:
6827        return "Distance";
6828      case DOSAGE:
6829        return "Dosage";
6830      case DURATION:
6831        return "Duration";
6832      case ELEMENT:
6833        return "Element";
6834      case ELEMENTDEFINITION:
6835        return "ElementDefinition";
6836      case EXPRESSION:
6837        return "Expression";
6838      case EXTENSION:
6839        return "Extension";
6840      case HUMANNAME:
6841        return "HumanName";
6842      case IDENTIFIER:
6843        return "Identifier";
6844      case MARKETINGSTATUS:
6845        return "MarketingStatus";
6846      case META:
6847        return "Meta";
6848      case MONEY:
6849        return "Money";
6850      case MONEYQUANTITY:
6851        return "MoneyQuantity";
6852      case NARRATIVE:
6853        return "Narrative";
6854      case PARAMETERDEFINITION:
6855        return "ParameterDefinition";
6856      case PERIOD:
6857        return "Period";
6858      case POPULATION:
6859        return "Population";
6860      case PRODCHARACTERISTIC:
6861        return "ProdCharacteristic";
6862      case PRODUCTSHELFLIFE:
6863        return "ProductShelfLife";
6864      case QUANTITY:
6865        return "Quantity";
6866      case RANGE:
6867        return "Range";
6868      case RATIO:
6869        return "Ratio";
6870      case REFERENCE:
6871        return "Reference";
6872      case RELATEDARTIFACT:
6873        return "RelatedArtifact";
6874      case SAMPLEDDATA:
6875        return "SampledData";
6876      case SIGNATURE:
6877        return "Signature";
6878      case SIMPLEQUANTITY:
6879        return "SimpleQuantity";
6880      case SUBSTANCEAMOUNT:
6881        return "SubstanceAmount";
6882      case TIMING:
6883        return "Timing";
6884      case TRIGGERDEFINITION:
6885        return "TriggerDefinition";
6886      case USAGECONTEXT:
6887        return "UsageContext";
6888      case BASE64BINARY:
6889        return "base64Binary";
6890      case BOOLEAN:
6891        return "boolean";
6892      case CANONICAL:
6893        return "canonical";
6894      case CODE:
6895        return "code";
6896      case DATE:
6897        return "date";
6898      case DATETIME:
6899        return "dateTime";
6900      case DECIMAL:
6901        return "decimal";
6902      case ID:
6903        return "id";
6904      case INSTANT:
6905        return "instant";
6906      case INTEGER:
6907        return "integer";
6908      case MARKDOWN:
6909        return "markdown";
6910      case OID:
6911        return "oid";
6912      case POSITIVEINT:
6913        return "positiveInt";
6914      case STRING:
6915        return "string";
6916      case TIME:
6917        return "time";
6918      case UNSIGNEDINT:
6919        return "unsignedInt";
6920      case URI:
6921        return "uri";
6922      case URL:
6923        return "url";
6924      case UUID:
6925        return "uuid";
6926      case XHTML:
6927        return "XHTML";
6928      case ACCOUNT:
6929        return "Account";
6930      case ACTIVITYDEFINITION:
6931        return "ActivityDefinition";
6932      case ADVERSEEVENT:
6933        return "AdverseEvent";
6934      case ALLERGYINTOLERANCE:
6935        return "AllergyIntolerance";
6936      case APPOINTMENT:
6937        return "Appointment";
6938      case APPOINTMENTRESPONSE:
6939        return "AppointmentResponse";
6940      case AUDITEVENT:
6941        return "AuditEvent";
6942      case BASIC:
6943        return "Basic";
6944      case BINARY:
6945        return "Binary";
6946      case BIOLOGICALLYDERIVEDPRODUCT:
6947        return "BiologicallyDerivedProduct";
6948      case BODYSTRUCTURE:
6949        return "BodyStructure";
6950      case BUNDLE:
6951        return "Bundle";
6952      case CAPABILITYSTATEMENT:
6953        return "CapabilityStatement";
6954      case CAREPLAN:
6955        return "CarePlan";
6956      case CARETEAM:
6957        return "CareTeam";
6958      case CATALOGENTRY:
6959        return "CatalogEntry";
6960      case CHARGEITEM:
6961        return "ChargeItem";
6962      case CHARGEITEMDEFINITION:
6963        return "ChargeItemDefinition";
6964      case CLAIM:
6965        return "Claim";
6966      case CLAIMRESPONSE:
6967        return "ClaimResponse";
6968      case CLINICALIMPRESSION:
6969        return "ClinicalImpression";
6970      case CODESYSTEM:
6971        return "CodeSystem";
6972      case COMMUNICATION:
6973        return "Communication";
6974      case COMMUNICATIONREQUEST:
6975        return "CommunicationRequest";
6976      case COMPARTMENTDEFINITION:
6977        return "CompartmentDefinition";
6978      case COMPOSITION:
6979        return "Composition";
6980      case CONCEPTMAP:
6981        return "ConceptMap";
6982      case CONDITION:
6983        return "Condition";
6984      case CONSENT:
6985        return "Consent";
6986      case CONTRACT:
6987        return "Contract";
6988      case COVERAGE:
6989        return "Coverage";
6990      case COVERAGEELIGIBILITYREQUEST:
6991        return "CoverageEligibilityRequest";
6992      case COVERAGEELIGIBILITYRESPONSE:
6993        return "CoverageEligibilityResponse";
6994      case DETECTEDISSUE:
6995        return "DetectedIssue";
6996      case DEVICE:
6997        return "Device";
6998      case DEVICEDEFINITION:
6999        return "DeviceDefinition";
7000      case DEVICEMETRIC:
7001        return "DeviceMetric";
7002      case DEVICEREQUEST:
7003        return "DeviceRequest";
7004      case DEVICEUSESTATEMENT:
7005        return "DeviceUseStatement";
7006      case DIAGNOSTICREPORT:
7007        return "DiagnosticReport";
7008      case DOCUMENTMANIFEST:
7009        return "DocumentManifest";
7010      case DOCUMENTREFERENCE:
7011        return "DocumentReference";
7012      case DOMAINRESOURCE:
7013        return "DomainResource";
7014      case EFFECTEVIDENCESYNTHESIS:
7015        return "EffectEvidenceSynthesis";
7016      case ENCOUNTER:
7017        return "Encounter";
7018      case ENDPOINT:
7019        return "Endpoint";
7020      case ENROLLMENTREQUEST:
7021        return "EnrollmentRequest";
7022      case ENROLLMENTRESPONSE:
7023        return "EnrollmentResponse";
7024      case EPISODEOFCARE:
7025        return "EpisodeOfCare";
7026      case EVENTDEFINITION:
7027        return "EventDefinition";
7028      case EVIDENCE:
7029        return "Evidence";
7030      case EVIDENCEVARIABLE:
7031        return "EvidenceVariable";
7032      case EXAMPLESCENARIO:
7033        return "ExampleScenario";
7034      case EXPLANATIONOFBENEFIT:
7035        return "ExplanationOfBenefit";
7036      case FAMILYMEMBERHISTORY:
7037        return "FamilyMemberHistory";
7038      case FLAG:
7039        return "Flag";
7040      case GOAL:
7041        return "Goal";
7042      case GRAPHDEFINITION:
7043        return "GraphDefinition";
7044      case GROUP:
7045        return "Group";
7046      case GUIDANCERESPONSE:
7047        return "GuidanceResponse";
7048      case HEALTHCARESERVICE:
7049        return "HealthcareService";
7050      case IMAGINGSTUDY:
7051        return "ImagingStudy";
7052      case IMMUNIZATION:
7053        return "Immunization";
7054      case IMMUNIZATIONEVALUATION:
7055        return "ImmunizationEvaluation";
7056      case IMMUNIZATIONRECOMMENDATION:
7057        return "ImmunizationRecommendation";
7058      case IMPLEMENTATIONGUIDE:
7059        return "ImplementationGuide";
7060      case INSURANCEPLAN:
7061        return "InsurancePlan";
7062      case INVOICE:
7063        return "Invoice";
7064      case LIBRARY:
7065        return "Library";
7066      case LINKAGE:
7067        return "Linkage";
7068      case LIST:
7069        return "List";
7070      case LOCATION:
7071        return "Location";
7072      case MEASURE:
7073        return "Measure";
7074      case MEASUREREPORT:
7075        return "MeasureReport";
7076      case MEDIA:
7077        return "Media";
7078      case MEDICATION:
7079        return "Medication";
7080      case MEDICATIONADMINISTRATION:
7081        return "MedicationAdministration";
7082      case MEDICATIONDISPENSE:
7083        return "MedicationDispense";
7084      case MEDICATIONKNOWLEDGE:
7085        return "MedicationKnowledge";
7086      case MEDICATIONREQUEST:
7087        return "MedicationRequest";
7088      case MEDICATIONSTATEMENT:
7089        return "MedicationStatement";
7090      case MEDICINALPRODUCT:
7091        return "MedicinalProduct";
7092      case MEDICINALPRODUCTAUTHORIZATION:
7093        return "MedicinalProductAuthorization";
7094      case MEDICINALPRODUCTCONTRAINDICATION:
7095        return "MedicinalProductContraindication";
7096      case MEDICINALPRODUCTINDICATION:
7097        return "MedicinalProductIndication";
7098      case MEDICINALPRODUCTINGREDIENT:
7099        return "MedicinalProductIngredient";
7100      case MEDICINALPRODUCTINTERACTION:
7101        return "MedicinalProductInteraction";
7102      case MEDICINALPRODUCTMANUFACTURED:
7103        return "MedicinalProductManufactured";
7104      case MEDICINALPRODUCTPACKAGED:
7105        return "MedicinalProductPackaged";
7106      case MEDICINALPRODUCTPHARMACEUTICAL:
7107        return "MedicinalProductPharmaceutical";
7108      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
7109        return "MedicinalProductUndesirableEffect";
7110      case MESSAGEDEFINITION:
7111        return "MessageDefinition";
7112      case MESSAGEHEADER:
7113        return "MessageHeader";
7114      case MOLECULARSEQUENCE:
7115        return "MolecularSequence";
7116      case NAMINGSYSTEM:
7117        return "NamingSystem";
7118      case NUTRITIONORDER:
7119        return "NutritionOrder";
7120      case OBSERVATION:
7121        return "Observation";
7122      case OBSERVATIONDEFINITION:
7123        return "ObservationDefinition";
7124      case OPERATIONDEFINITION:
7125        return "OperationDefinition";
7126      case OPERATIONOUTCOME:
7127        return "OperationOutcome";
7128      case ORGANIZATION:
7129        return "Organization";
7130      case ORGANIZATIONAFFILIATION:
7131        return "OrganizationAffiliation";
7132      case PARAMETERS:
7133        return "Parameters";
7134      case PATIENT:
7135        return "Patient";
7136      case PAYMENTNOTICE:
7137        return "PaymentNotice";
7138      case PAYMENTRECONCILIATION:
7139        return "PaymentReconciliation";
7140      case PERSON:
7141        return "Person";
7142      case PLANDEFINITION:
7143        return "PlanDefinition";
7144      case PRACTITIONER:
7145        return "Practitioner";
7146      case PRACTITIONERROLE:
7147        return "PractitionerRole";
7148      case PROCEDURE:
7149        return "Procedure";
7150      case PROVENANCE:
7151        return "Provenance";
7152      case QUESTIONNAIRE:
7153        return "Questionnaire";
7154      case QUESTIONNAIRERESPONSE:
7155        return "QuestionnaireResponse";
7156      case RELATEDPERSON:
7157        return "RelatedPerson";
7158      case REQUESTGROUP:
7159        return "RequestGroup";
7160      case RESEARCHDEFINITION:
7161        return "ResearchDefinition";
7162      case RESEARCHELEMENTDEFINITION:
7163        return "ResearchElementDefinition";
7164      case RESEARCHSTUDY:
7165        return "ResearchStudy";
7166      case RESEARCHSUBJECT:
7167        return "ResearchSubject";
7168      case RESOURCE:
7169        return "Resource";
7170      case RISKASSESSMENT:
7171        return "RiskAssessment";
7172      case RISKEVIDENCESYNTHESIS:
7173        return "RiskEvidenceSynthesis";
7174      case SCHEDULE:
7175        return "Schedule";
7176      case SEARCHPARAMETER:
7177        return "SearchParameter";
7178      case SERVICEREQUEST:
7179        return "ServiceRequest";
7180      case SLOT:
7181        return "Slot";
7182      case SPECIMEN:
7183        return "Specimen";
7184      case SPECIMENDEFINITION:
7185        return "SpecimenDefinition";
7186      case STRUCTUREDEFINITION:
7187        return "StructureDefinition";
7188      case STRUCTUREMAP:
7189        return "StructureMap";
7190      case SUBSCRIPTION:
7191        return "Subscription";
7192      case SUBSTANCE:
7193        return "Substance";
7194      case SUBSTANCENUCLEICACID:
7195        return "SubstanceNucleicAcid";
7196      case SUBSTANCEPOLYMER:
7197        return "SubstancePolymer";
7198      case SUBSTANCEPROTEIN:
7199        return "SubstanceProtein";
7200      case SUBSTANCEREFERENCEINFORMATION:
7201        return "SubstanceReferenceInformation";
7202      case SUBSTANCESOURCEMATERIAL:
7203        return "SubstanceSourceMaterial";
7204      case SUBSTANCESPECIFICATION:
7205        return "SubstanceSpecification";
7206      case SUPPLYDELIVERY:
7207        return "SupplyDelivery";
7208      case SUPPLYREQUEST:
7209        return "SupplyRequest";
7210      case TASK:
7211        return "Task";
7212      case TERMINOLOGYCAPABILITIES:
7213        return "TerminologyCapabilities";
7214      case TESTREPORT:
7215        return "TestReport";
7216      case TESTSCRIPT:
7217        return "TestScript";
7218      case VALUESET:
7219        return "ValueSet";
7220      case VERIFICATIONRESULT:
7221        return "VerificationResult";
7222      case VISIONPRESCRIPTION:
7223        return "VisionPrescription";
7224      case TYPE:
7225        return "Type";
7226      case ANY:
7227        return "Any";
7228      case NULL:
7229        return null;
7230      default:
7231        return "?";
7232      }
7233    }
7234  }
7235
7236  public static class FHIRAllTypesEnumFactory implements EnumFactory<FHIRAllTypes> {
7237    public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException {
7238      if (codeString == null || "".equals(codeString))
7239        if (codeString == null || "".equals(codeString))
7240          return null;
7241      if ("Address".equals(codeString))
7242        return FHIRAllTypes.ADDRESS;
7243      if ("Age".equals(codeString))
7244        return FHIRAllTypes.AGE;
7245      if ("Annotation".equals(codeString))
7246        return FHIRAllTypes.ANNOTATION;
7247      if ("Attachment".equals(codeString))
7248        return FHIRAllTypes.ATTACHMENT;
7249      if ("BackboneElement".equals(codeString))
7250        return FHIRAllTypes.BACKBONEELEMENT;
7251      if ("CodeableConcept".equals(codeString))
7252        return FHIRAllTypes.CODEABLECONCEPT;
7253      if ("Coding".equals(codeString))
7254        return FHIRAllTypes.CODING;
7255      if ("ContactDetail".equals(codeString))
7256        return FHIRAllTypes.CONTACTDETAIL;
7257      if ("ContactPoint".equals(codeString))
7258        return FHIRAllTypes.CONTACTPOINT;
7259      if ("Contributor".equals(codeString))
7260        return FHIRAllTypes.CONTRIBUTOR;
7261      if ("Count".equals(codeString))
7262        return FHIRAllTypes.COUNT;
7263      if ("DataRequirement".equals(codeString))
7264        return FHIRAllTypes.DATAREQUIREMENT;
7265      if ("Distance".equals(codeString))
7266        return FHIRAllTypes.DISTANCE;
7267      if ("Dosage".equals(codeString))
7268        return FHIRAllTypes.DOSAGE;
7269      if ("Duration".equals(codeString))
7270        return FHIRAllTypes.DURATION;
7271      if ("Element".equals(codeString))
7272        return FHIRAllTypes.ELEMENT;
7273      if ("ElementDefinition".equals(codeString))
7274        return FHIRAllTypes.ELEMENTDEFINITION;
7275      if ("Expression".equals(codeString))
7276        return FHIRAllTypes.EXPRESSION;
7277      if ("Extension".equals(codeString))
7278        return FHIRAllTypes.EXTENSION;
7279      if ("HumanName".equals(codeString))
7280        return FHIRAllTypes.HUMANNAME;
7281      if ("Identifier".equals(codeString))
7282        return FHIRAllTypes.IDENTIFIER;
7283      if ("MarketingStatus".equals(codeString))
7284        return FHIRAllTypes.MARKETINGSTATUS;
7285      if ("Meta".equals(codeString))
7286        return FHIRAllTypes.META;
7287      if ("Money".equals(codeString))
7288        return FHIRAllTypes.MONEY;
7289      if ("MoneyQuantity".equals(codeString))
7290        return FHIRAllTypes.MONEYQUANTITY;
7291      if ("Narrative".equals(codeString))
7292        return FHIRAllTypes.NARRATIVE;
7293      if ("ParameterDefinition".equals(codeString))
7294        return FHIRAllTypes.PARAMETERDEFINITION;
7295      if ("Period".equals(codeString))
7296        return FHIRAllTypes.PERIOD;
7297      if ("Population".equals(codeString))
7298        return FHIRAllTypes.POPULATION;
7299      if ("ProdCharacteristic".equals(codeString))
7300        return FHIRAllTypes.PRODCHARACTERISTIC;
7301      if ("ProductShelfLife".equals(codeString))
7302        return FHIRAllTypes.PRODUCTSHELFLIFE;
7303      if ("Quantity".equals(codeString))
7304        return FHIRAllTypes.QUANTITY;
7305      if ("Range".equals(codeString))
7306        return FHIRAllTypes.RANGE;
7307      if ("Ratio".equals(codeString))
7308        return FHIRAllTypes.RATIO;
7309      if ("Reference".equals(codeString))
7310        return FHIRAllTypes.REFERENCE;
7311      if ("RelatedArtifact".equals(codeString))
7312        return FHIRAllTypes.RELATEDARTIFACT;
7313      if ("SampledData".equals(codeString))
7314        return FHIRAllTypes.SAMPLEDDATA;
7315      if ("Signature".equals(codeString))
7316        return FHIRAllTypes.SIGNATURE;
7317      if ("SimpleQuantity".equals(codeString))
7318        return FHIRAllTypes.SIMPLEQUANTITY;
7319      if ("SubstanceAmount".equals(codeString))
7320        return FHIRAllTypes.SUBSTANCEAMOUNT;
7321      if ("Timing".equals(codeString))
7322        return FHIRAllTypes.TIMING;
7323      if ("TriggerDefinition".equals(codeString))
7324        return FHIRAllTypes.TRIGGERDEFINITION;
7325      if ("UsageContext".equals(codeString))
7326        return FHIRAllTypes.USAGECONTEXT;
7327      if ("base64Binary".equals(codeString))
7328        return FHIRAllTypes.BASE64BINARY;
7329      if ("boolean".equals(codeString))
7330        return FHIRAllTypes.BOOLEAN;
7331      if ("canonical".equals(codeString))
7332        return FHIRAllTypes.CANONICAL;
7333      if ("code".equals(codeString))
7334        return FHIRAllTypes.CODE;
7335      if ("date".equals(codeString))
7336        return FHIRAllTypes.DATE;
7337      if ("dateTime".equals(codeString))
7338        return FHIRAllTypes.DATETIME;
7339      if ("decimal".equals(codeString))
7340        return FHIRAllTypes.DECIMAL;
7341      if ("id".equals(codeString))
7342        return FHIRAllTypes.ID;
7343      if ("instant".equals(codeString))
7344        return FHIRAllTypes.INSTANT;
7345      if ("integer".equals(codeString))
7346        return FHIRAllTypes.INTEGER;
7347      if ("markdown".equals(codeString))
7348        return FHIRAllTypes.MARKDOWN;
7349      if ("oid".equals(codeString))
7350        return FHIRAllTypes.OID;
7351      if ("positiveInt".equals(codeString))
7352        return FHIRAllTypes.POSITIVEINT;
7353      if ("string".equals(codeString))
7354        return FHIRAllTypes.STRING;
7355      if ("time".equals(codeString))
7356        return FHIRAllTypes.TIME;
7357      if ("unsignedInt".equals(codeString))
7358        return FHIRAllTypes.UNSIGNEDINT;
7359      if ("uri".equals(codeString))
7360        return FHIRAllTypes.URI;
7361      if ("url".equals(codeString))
7362        return FHIRAllTypes.URL;
7363      if ("uuid".equals(codeString))
7364        return FHIRAllTypes.UUID;
7365      if ("xhtml".equals(codeString))
7366        return FHIRAllTypes.XHTML;
7367      if ("Account".equals(codeString))
7368        return FHIRAllTypes.ACCOUNT;
7369      if ("ActivityDefinition".equals(codeString))
7370        return FHIRAllTypes.ACTIVITYDEFINITION;
7371      if ("AdverseEvent".equals(codeString))
7372        return FHIRAllTypes.ADVERSEEVENT;
7373      if ("AllergyIntolerance".equals(codeString))
7374        return FHIRAllTypes.ALLERGYINTOLERANCE;
7375      if ("Appointment".equals(codeString))
7376        return FHIRAllTypes.APPOINTMENT;
7377      if ("AppointmentResponse".equals(codeString))
7378        return FHIRAllTypes.APPOINTMENTRESPONSE;
7379      if ("AuditEvent".equals(codeString))
7380        return FHIRAllTypes.AUDITEVENT;
7381      if ("Basic".equals(codeString))
7382        return FHIRAllTypes.BASIC;
7383      if ("Binary".equals(codeString))
7384        return FHIRAllTypes.BINARY;
7385      if ("BiologicallyDerivedProduct".equals(codeString))
7386        return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT;
7387      if ("BodyStructure".equals(codeString))
7388        return FHIRAllTypes.BODYSTRUCTURE;
7389      if ("Bundle".equals(codeString))
7390        return FHIRAllTypes.BUNDLE;
7391      if ("CapabilityStatement".equals(codeString))
7392        return FHIRAllTypes.CAPABILITYSTATEMENT;
7393      if ("CarePlan".equals(codeString))
7394        return FHIRAllTypes.CAREPLAN;
7395      if ("CareTeam".equals(codeString))
7396        return FHIRAllTypes.CARETEAM;
7397      if ("CatalogEntry".equals(codeString))
7398        return FHIRAllTypes.CATALOGENTRY;
7399      if ("ChargeItem".equals(codeString))
7400        return FHIRAllTypes.CHARGEITEM;
7401      if ("ChargeItemDefinition".equals(codeString))
7402        return FHIRAllTypes.CHARGEITEMDEFINITION;
7403      if ("Claim".equals(codeString))
7404        return FHIRAllTypes.CLAIM;
7405      if ("ClaimResponse".equals(codeString))
7406        return FHIRAllTypes.CLAIMRESPONSE;
7407      if ("ClinicalImpression".equals(codeString))
7408        return FHIRAllTypes.CLINICALIMPRESSION;
7409      if ("CodeSystem".equals(codeString))
7410        return FHIRAllTypes.CODESYSTEM;
7411      if ("Communication".equals(codeString))
7412        return FHIRAllTypes.COMMUNICATION;
7413      if ("CommunicationRequest".equals(codeString))
7414        return FHIRAllTypes.COMMUNICATIONREQUEST;
7415      if ("CompartmentDefinition".equals(codeString))
7416        return FHIRAllTypes.COMPARTMENTDEFINITION;
7417      if ("Composition".equals(codeString))
7418        return FHIRAllTypes.COMPOSITION;
7419      if ("ConceptMap".equals(codeString))
7420        return FHIRAllTypes.CONCEPTMAP;
7421      if ("Condition".equals(codeString))
7422        return FHIRAllTypes.CONDITION;
7423      if ("Consent".equals(codeString))
7424        return FHIRAllTypes.CONSENT;
7425      if ("Contract".equals(codeString))
7426        return FHIRAllTypes.CONTRACT;
7427      if ("Coverage".equals(codeString))
7428        return FHIRAllTypes.COVERAGE;
7429      if ("CoverageEligibilityRequest".equals(codeString))
7430        return FHIRAllTypes.COVERAGEELIGIBILITYREQUEST;
7431      if ("CoverageEligibilityResponse".equals(codeString))
7432        return FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE;
7433      if ("DetectedIssue".equals(codeString))
7434        return FHIRAllTypes.DETECTEDISSUE;
7435      if ("Device".equals(codeString))
7436        return FHIRAllTypes.DEVICE;
7437      if ("DeviceDefinition".equals(codeString))
7438        return FHIRAllTypes.DEVICEDEFINITION;
7439      if ("DeviceMetric".equals(codeString))
7440        return FHIRAllTypes.DEVICEMETRIC;
7441      if ("DeviceRequest".equals(codeString))
7442        return FHIRAllTypes.DEVICEREQUEST;
7443      if ("DeviceUseStatement".equals(codeString))
7444        return FHIRAllTypes.DEVICEUSESTATEMENT;
7445      if ("DiagnosticReport".equals(codeString))
7446        return FHIRAllTypes.DIAGNOSTICREPORT;
7447      if ("DocumentManifest".equals(codeString))
7448        return FHIRAllTypes.DOCUMENTMANIFEST;
7449      if ("DocumentReference".equals(codeString))
7450        return FHIRAllTypes.DOCUMENTREFERENCE;
7451      if ("DomainResource".equals(codeString))
7452        return FHIRAllTypes.DOMAINRESOURCE;
7453      if ("EffectEvidenceSynthesis".equals(codeString))
7454        return FHIRAllTypes.EFFECTEVIDENCESYNTHESIS;
7455      if ("Encounter".equals(codeString))
7456        return FHIRAllTypes.ENCOUNTER;
7457      if ("Endpoint".equals(codeString))
7458        return FHIRAllTypes.ENDPOINT;
7459      if ("EnrollmentRequest".equals(codeString))
7460        return FHIRAllTypes.ENROLLMENTREQUEST;
7461      if ("EnrollmentResponse".equals(codeString))
7462        return FHIRAllTypes.ENROLLMENTRESPONSE;
7463      if ("EpisodeOfCare".equals(codeString))
7464        return FHIRAllTypes.EPISODEOFCARE;
7465      if ("EventDefinition".equals(codeString))
7466        return FHIRAllTypes.EVENTDEFINITION;
7467      if ("Evidence".equals(codeString))
7468        return FHIRAllTypes.EVIDENCE;
7469      if ("EvidenceVariable".equals(codeString))
7470        return FHIRAllTypes.EVIDENCEVARIABLE;
7471      if ("ExampleScenario".equals(codeString))
7472        return FHIRAllTypes.EXAMPLESCENARIO;
7473      if ("ExplanationOfBenefit".equals(codeString))
7474        return FHIRAllTypes.EXPLANATIONOFBENEFIT;
7475      if ("FamilyMemberHistory".equals(codeString))
7476        return FHIRAllTypes.FAMILYMEMBERHISTORY;
7477      if ("Flag".equals(codeString))
7478        return FHIRAllTypes.FLAG;
7479      if ("Goal".equals(codeString))
7480        return FHIRAllTypes.GOAL;
7481      if ("GraphDefinition".equals(codeString))
7482        return FHIRAllTypes.GRAPHDEFINITION;
7483      if ("Group".equals(codeString))
7484        return FHIRAllTypes.GROUP;
7485      if ("GuidanceResponse".equals(codeString))
7486        return FHIRAllTypes.GUIDANCERESPONSE;
7487      if ("HealthcareService".equals(codeString))
7488        return FHIRAllTypes.HEALTHCARESERVICE;
7489      if ("ImagingStudy".equals(codeString))
7490        return FHIRAllTypes.IMAGINGSTUDY;
7491      if ("Immunization".equals(codeString))
7492        return FHIRAllTypes.IMMUNIZATION;
7493      if ("ImmunizationEvaluation".equals(codeString))
7494        return FHIRAllTypes.IMMUNIZATIONEVALUATION;
7495      if ("ImmunizationRecommendation".equals(codeString))
7496        return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION;
7497      if ("ImplementationGuide".equals(codeString))
7498        return FHIRAllTypes.IMPLEMENTATIONGUIDE;
7499      if ("InsurancePlan".equals(codeString))
7500        return FHIRAllTypes.INSURANCEPLAN;
7501      if ("Invoice".equals(codeString))
7502        return FHIRAllTypes.INVOICE;
7503      if ("Library".equals(codeString))
7504        return FHIRAllTypes.LIBRARY;
7505      if ("Linkage".equals(codeString))
7506        return FHIRAllTypes.LINKAGE;
7507      if ("List".equals(codeString))
7508        return FHIRAllTypes.LIST;
7509      if ("Location".equals(codeString))
7510        return FHIRAllTypes.LOCATION;
7511      if ("Measure".equals(codeString))
7512        return FHIRAllTypes.MEASURE;
7513      if ("MeasureReport".equals(codeString))
7514        return FHIRAllTypes.MEASUREREPORT;
7515      if ("Media".equals(codeString))
7516        return FHIRAllTypes.MEDIA;
7517      if ("Medication".equals(codeString))
7518        return FHIRAllTypes.MEDICATION;
7519      if ("MedicationAdministration".equals(codeString))
7520        return FHIRAllTypes.MEDICATIONADMINISTRATION;
7521      if ("MedicationDispense".equals(codeString))
7522        return FHIRAllTypes.MEDICATIONDISPENSE;
7523      if ("MedicationKnowledge".equals(codeString))
7524        return FHIRAllTypes.MEDICATIONKNOWLEDGE;
7525      if ("MedicationRequest".equals(codeString))
7526        return FHIRAllTypes.MEDICATIONREQUEST;
7527      if ("MedicationStatement".equals(codeString))
7528        return FHIRAllTypes.MEDICATIONSTATEMENT;
7529      if ("MedicinalProduct".equals(codeString))
7530        return FHIRAllTypes.MEDICINALPRODUCT;
7531      if ("MedicinalProductAuthorization".equals(codeString))
7532        return FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION;
7533      if ("MedicinalProductContraindication".equals(codeString))
7534        return FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION;
7535      if ("MedicinalProductIndication".equals(codeString))
7536        return FHIRAllTypes.MEDICINALPRODUCTINDICATION;
7537      if ("MedicinalProductIngredient".equals(codeString))
7538        return FHIRAllTypes.MEDICINALPRODUCTINGREDIENT;
7539      if ("MedicinalProductInteraction".equals(codeString))
7540        return FHIRAllTypes.MEDICINALPRODUCTINTERACTION;
7541      if ("MedicinalProductManufactured".equals(codeString))
7542        return FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED;
7543      if ("MedicinalProductPackaged".equals(codeString))
7544        return FHIRAllTypes.MEDICINALPRODUCTPACKAGED;
7545      if ("MedicinalProductPharmaceutical".equals(codeString))
7546        return FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL;
7547      if ("MedicinalProductUndesirableEffect".equals(codeString))
7548        return FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT;
7549      if ("MessageDefinition".equals(codeString))
7550        return FHIRAllTypes.MESSAGEDEFINITION;
7551      if ("MessageHeader".equals(codeString))
7552        return FHIRAllTypes.MESSAGEHEADER;
7553      if ("MolecularSequence".equals(codeString))
7554        return FHIRAllTypes.MOLECULARSEQUENCE;
7555      if ("NamingSystem".equals(codeString))
7556        return FHIRAllTypes.NAMINGSYSTEM;
7557      if ("NutritionOrder".equals(codeString))
7558        return FHIRAllTypes.NUTRITIONORDER;
7559      if ("Observation".equals(codeString))
7560        return FHIRAllTypes.OBSERVATION;
7561      if ("ObservationDefinition".equals(codeString))
7562        return FHIRAllTypes.OBSERVATIONDEFINITION;
7563      if ("OperationDefinition".equals(codeString))
7564        return FHIRAllTypes.OPERATIONDEFINITION;
7565      if ("OperationOutcome".equals(codeString))
7566        return FHIRAllTypes.OPERATIONOUTCOME;
7567      if ("Organization".equals(codeString))
7568        return FHIRAllTypes.ORGANIZATION;
7569      if ("OrganizationAffiliation".equals(codeString))
7570        return FHIRAllTypes.ORGANIZATIONAFFILIATION;
7571      if ("Parameters".equals(codeString))
7572        return FHIRAllTypes.PARAMETERS;
7573      if ("Patient".equals(codeString))
7574        return FHIRAllTypes.PATIENT;
7575      if ("PaymentNotice".equals(codeString))
7576        return FHIRAllTypes.PAYMENTNOTICE;
7577      if ("PaymentReconciliation".equals(codeString))
7578        return FHIRAllTypes.PAYMENTRECONCILIATION;
7579      if ("Person".equals(codeString))
7580        return FHIRAllTypes.PERSON;
7581      if ("PlanDefinition".equals(codeString))
7582        return FHIRAllTypes.PLANDEFINITION;
7583      if ("Practitioner".equals(codeString))
7584        return FHIRAllTypes.PRACTITIONER;
7585      if ("PractitionerRole".equals(codeString))
7586        return FHIRAllTypes.PRACTITIONERROLE;
7587      if ("Procedure".equals(codeString))
7588        return FHIRAllTypes.PROCEDURE;
7589      if ("Provenance".equals(codeString))
7590        return FHIRAllTypes.PROVENANCE;
7591      if ("Questionnaire".equals(codeString))
7592        return FHIRAllTypes.QUESTIONNAIRE;
7593      if ("QuestionnaireResponse".equals(codeString))
7594        return FHIRAllTypes.QUESTIONNAIRERESPONSE;
7595      if ("RelatedPerson".equals(codeString))
7596        return FHIRAllTypes.RELATEDPERSON;
7597      if ("RequestGroup".equals(codeString))
7598        return FHIRAllTypes.REQUESTGROUP;
7599      if ("ResearchDefinition".equals(codeString))
7600        return FHIRAllTypes.RESEARCHDEFINITION;
7601      if ("ResearchElementDefinition".equals(codeString))
7602        return FHIRAllTypes.RESEARCHELEMENTDEFINITION;
7603      if ("ResearchStudy".equals(codeString))
7604        return FHIRAllTypes.RESEARCHSTUDY;
7605      if ("ResearchSubject".equals(codeString))
7606        return FHIRAllTypes.RESEARCHSUBJECT;
7607      if ("Resource".equals(codeString))
7608        return FHIRAllTypes.RESOURCE;
7609      if ("RiskAssessment".equals(codeString))
7610        return FHIRAllTypes.RISKASSESSMENT;
7611      if ("RiskEvidenceSynthesis".equals(codeString))
7612        return FHIRAllTypes.RISKEVIDENCESYNTHESIS;
7613      if ("Schedule".equals(codeString))
7614        return FHIRAllTypes.SCHEDULE;
7615      if ("SearchParameter".equals(codeString))
7616        return FHIRAllTypes.SEARCHPARAMETER;
7617      if ("ServiceRequest".equals(codeString))
7618        return FHIRAllTypes.SERVICEREQUEST;
7619      if ("Slot".equals(codeString))
7620        return FHIRAllTypes.SLOT;
7621      if ("Specimen".equals(codeString))
7622        return FHIRAllTypes.SPECIMEN;
7623      if ("SpecimenDefinition".equals(codeString))
7624        return FHIRAllTypes.SPECIMENDEFINITION;
7625      if ("StructureDefinition".equals(codeString))
7626        return FHIRAllTypes.STRUCTUREDEFINITION;
7627      if ("StructureMap".equals(codeString))
7628        return FHIRAllTypes.STRUCTUREMAP;
7629      if ("Subscription".equals(codeString))
7630        return FHIRAllTypes.SUBSCRIPTION;
7631      if ("Substance".equals(codeString))
7632        return FHIRAllTypes.SUBSTANCE;
7633      if ("SubstanceNucleicAcid".equals(codeString))
7634        return FHIRAllTypes.SUBSTANCENUCLEICACID;
7635      if ("SubstancePolymer".equals(codeString))
7636        return FHIRAllTypes.SUBSTANCEPOLYMER;
7637      if ("SubstanceProtein".equals(codeString))
7638        return FHIRAllTypes.SUBSTANCEPROTEIN;
7639      if ("SubstanceReferenceInformation".equals(codeString))
7640        return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION;
7641      if ("SubstanceSourceMaterial".equals(codeString))
7642        return FHIRAllTypes.SUBSTANCESOURCEMATERIAL;
7643      if ("SubstanceSpecification".equals(codeString))
7644        return FHIRAllTypes.SUBSTANCESPECIFICATION;
7645      if ("SupplyDelivery".equals(codeString))
7646        return FHIRAllTypes.SUPPLYDELIVERY;
7647      if ("SupplyRequest".equals(codeString))
7648        return FHIRAllTypes.SUPPLYREQUEST;
7649      if ("Task".equals(codeString))
7650        return FHIRAllTypes.TASK;
7651      if ("TerminologyCapabilities".equals(codeString))
7652        return FHIRAllTypes.TERMINOLOGYCAPABILITIES;
7653      if ("TestReport".equals(codeString))
7654        return FHIRAllTypes.TESTREPORT;
7655      if ("TestScript".equals(codeString))
7656        return FHIRAllTypes.TESTSCRIPT;
7657      if ("ValueSet".equals(codeString))
7658        return FHIRAllTypes.VALUESET;
7659      if ("VerificationResult".equals(codeString))
7660        return FHIRAllTypes.VERIFICATIONRESULT;
7661      if ("VisionPrescription".equals(codeString))
7662        return FHIRAllTypes.VISIONPRESCRIPTION;
7663      if ("Type".equals(codeString))
7664        return FHIRAllTypes.TYPE;
7665      if ("Any".equals(codeString))
7666        return FHIRAllTypes.ANY;
7667      throw new IllegalArgumentException("Unknown FHIRAllTypes code '" + codeString + "'");
7668    }
7669
7670    public Enumeration<FHIRAllTypes> fromType(PrimitiveType<?> code) throws FHIRException {
7671      if (code == null)
7672        return null;
7673      if (code.isEmpty())
7674        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NULL, code);
7675      String codeString = code.asStringValue();
7676      if (codeString == null || "".equals(codeString))
7677        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NULL, code);
7678      if ("Address".equals(codeString))
7679        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADDRESS, code);
7680      if ("Age".equals(codeString))
7681        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AGE, code);
7682      if ("Annotation".equals(codeString))
7683        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANNOTATION, code);
7684      if ("Attachment".equals(codeString))
7685        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ATTACHMENT, code);
7686      if ("BackboneElement".equals(codeString))
7687        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BACKBONEELEMENT, code);
7688      if ("CodeableConcept".equals(codeString))
7689        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODEABLECONCEPT, code);
7690      if ("Coding".equals(codeString))
7691        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODING, code);
7692      if ("ContactDetail".equals(codeString))
7693        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTDETAIL, code);
7694      if ("ContactPoint".equals(codeString))
7695        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTPOINT, code);
7696      if ("Contributor".equals(codeString))
7697        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRIBUTOR, code);
7698      if ("Count".equals(codeString))
7699        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COUNT, code);
7700      if ("DataRequirement".equals(codeString))
7701        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATAREQUIREMENT, code);
7702      if ("Distance".equals(codeString))
7703        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DISTANCE, code);
7704      if ("Dosage".equals(codeString))
7705        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOSAGE, code);
7706      if ("Duration".equals(codeString))
7707        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DURATION, code);
7708      if ("Element".equals(codeString))
7709        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENT, code);
7710      if ("ElementDefinition".equals(codeString))
7711        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENTDEFINITION, code);
7712      if ("Expression".equals(codeString))
7713        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPRESSION, code);
7714      if ("Extension".equals(codeString))
7715        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXTENSION, code);
7716      if ("HumanName".equals(codeString))
7717        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HUMANNAME, code);
7718      if ("Identifier".equals(codeString))
7719        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IDENTIFIER, code);
7720      if ("MarketingStatus".equals(codeString))
7721        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKETINGSTATUS, code);
7722      if ("Meta".equals(codeString))
7723        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.META, code);
7724      if ("Money".equals(codeString))
7725        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEY, code);
7726      if ("MoneyQuantity".equals(codeString))
7727        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEYQUANTITY, code);
7728      if ("Narrative".equals(codeString))
7729        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NARRATIVE, code);
7730      if ("ParameterDefinition".equals(codeString))
7731        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERDEFINITION, code);
7732      if ("Period".equals(codeString))
7733        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERIOD, code);
7734      if ("Population".equals(codeString))
7735        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POPULATION, code);
7736      if ("ProdCharacteristic".equals(codeString))
7737        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODCHARACTERISTIC, code);
7738      if ("ProductShelfLife".equals(codeString))
7739        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTSHELFLIFE, code);
7740      if ("Quantity".equals(codeString))
7741        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUANTITY, code);
7742      if ("Range".equals(codeString))
7743        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RANGE, code);
7744      if ("Ratio".equals(codeString))
7745        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RATIO, code);
7746      if ("Reference".equals(codeString))
7747        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REFERENCE, code);
7748      if ("RelatedArtifact".equals(codeString))
7749        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDARTIFACT, code);
7750      if ("SampledData".equals(codeString))
7751        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SAMPLEDDATA, code);
7752      if ("Signature".equals(codeString))
7753        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIGNATURE, code);
7754      if ("SimpleQuantity".equals(codeString))
7755        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIMPLEQUANTITY, code);
7756      if ("SubstanceAmount".equals(codeString))
7757        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEAMOUNT, code);
7758      if ("Timing".equals(codeString))
7759        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIMING, code);
7760      if ("TriggerDefinition".equals(codeString))
7761        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TRIGGERDEFINITION, code);
7762      if ("UsageContext".equals(codeString))
7763        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USAGECONTEXT, code);
7764      if ("base64Binary".equals(codeString))
7765        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASE64BINARY, code);
7766      if ("boolean".equals(codeString))
7767        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BOOLEAN, code);
7768      if ("canonical".equals(codeString))
7769        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CANONICAL, code);
7770      if ("code".equals(codeString))
7771        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODE, code);
7772      if ("date".equals(codeString))
7773        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATE, code);
7774      if ("dateTime".equals(codeString))
7775        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATETIME, code);
7776      if ("decimal".equals(codeString))
7777        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DECIMAL, code);
7778      if ("id".equals(codeString))
7779        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ID, code);
7780      if ("instant".equals(codeString))
7781        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSTANT, code);
7782      if ("integer".equals(codeString))
7783        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INTEGER, code);
7784      if ("markdown".equals(codeString))
7785        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKDOWN, code);
7786      if ("oid".equals(codeString))
7787        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OID, code);
7788      if ("positiveInt".equals(codeString))
7789        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POSITIVEINT, code);
7790      if ("string".equals(codeString))
7791        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRING, code);
7792      if ("time".equals(codeString))
7793        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIME, code);
7794      if ("unsignedInt".equals(codeString))
7795        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UNSIGNEDINT, code);
7796      if ("uri".equals(codeString))
7797        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URI, code);
7798      if ("url".equals(codeString))
7799        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URL, code);
7800      if ("uuid".equals(codeString))
7801        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UUID, code);
7802      if ("xhtml".equals(codeString))
7803        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.XHTML, code);
7804      if ("Account".equals(codeString))
7805        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACCOUNT, code);
7806      if ("ActivityDefinition".equals(codeString))
7807        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACTIVITYDEFINITION, code);
7808      if ("AdverseEvent".equals(codeString))
7809        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADVERSEEVENT, code);
7810      if ("AllergyIntolerance".equals(codeString))
7811        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ALLERGYINTOLERANCE, code);
7812      if ("Appointment".equals(codeString))
7813        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENT, code);
7814      if ("AppointmentResponse".equals(codeString))
7815        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENTRESPONSE, code);
7816      if ("AuditEvent".equals(codeString))
7817        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AUDITEVENT, code);
7818      if ("Basic".equals(codeString))
7819        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASIC, code);
7820      if ("Binary".equals(codeString))
7821        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BINARY, code);
7822      if ("BiologicallyDerivedProduct".equals(codeString))
7823        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT, code);
7824      if ("BodyStructure".equals(codeString))
7825        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BODYSTRUCTURE, code);
7826      if ("Bundle".equals(codeString))
7827        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BUNDLE, code);
7828      if ("CapabilityStatement".equals(codeString))
7829        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAPABILITYSTATEMENT, code);
7830      if ("CarePlan".equals(codeString))
7831        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAREPLAN, code);
7832      if ("CareTeam".equals(codeString))
7833        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CARETEAM, code);
7834      if ("CatalogEntry".equals(codeString))
7835        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CATALOGENTRY, code);
7836      if ("ChargeItem".equals(codeString))
7837        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEM, code);
7838      if ("ChargeItemDefinition".equals(codeString))
7839        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEMDEFINITION, code);
7840      if ("Claim".equals(codeString))
7841        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIM, code);
7842      if ("ClaimResponse".equals(codeString))
7843        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIMRESPONSE, code);
7844      if ("ClinicalImpression".equals(codeString))
7845        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLINICALIMPRESSION, code);
7846      if ("CodeSystem".equals(codeString))
7847        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODESYSTEM, code);
7848      if ("Communication".equals(codeString))
7849        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATION, code);
7850      if ("CommunicationRequest".equals(codeString))
7851        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATIONREQUEST, code);
7852      if ("CompartmentDefinition".equals(codeString))
7853        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPARTMENTDEFINITION, code);
7854      if ("Composition".equals(codeString))
7855        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPOSITION, code);
7856      if ("ConceptMap".equals(codeString))
7857        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONCEPTMAP, code);
7858      if ("Condition".equals(codeString))
7859        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONDITION, code);
7860      if ("Consent".equals(codeString))
7861        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONSENT, code);
7862      if ("Contract".equals(codeString))
7863        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRACT, code);
7864      if ("Coverage".equals(codeString))
7865        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGE, code);
7866      if ("CoverageEligibilityRequest".equals(codeString))
7867        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYREQUEST, code);
7868      if ("CoverageEligibilityResponse".equals(codeString))
7869        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE, code);
7870      if ("DetectedIssue".equals(codeString))
7871        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DETECTEDISSUE, code);
7872      if ("Device".equals(codeString))
7873        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICE, code);
7874      if ("DeviceDefinition".equals(codeString))
7875        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEDEFINITION, code);
7876      if ("DeviceMetric".equals(codeString))
7877        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEMETRIC, code);
7878      if ("DeviceRequest".equals(codeString))
7879        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEREQUEST, code);
7880      if ("DeviceUseStatement".equals(codeString))
7881        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEUSESTATEMENT, code);
7882      if ("DiagnosticReport".equals(codeString))
7883        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DIAGNOSTICREPORT, code);
7884      if ("DocumentManifest".equals(codeString))
7885        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTMANIFEST, code);
7886      if ("DocumentReference".equals(codeString))
7887        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTREFERENCE, code);
7888      if ("DomainResource".equals(codeString))
7889        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOMAINRESOURCE, code);
7890      if ("EffectEvidenceSynthesis".equals(codeString))
7891        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EFFECTEVIDENCESYNTHESIS, code);
7892      if ("Encounter".equals(codeString))
7893        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENCOUNTER, code);
7894      if ("Endpoint".equals(codeString))
7895        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENDPOINT, code);
7896      if ("EnrollmentRequest".equals(codeString))
7897        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTREQUEST, code);
7898      if ("EnrollmentResponse".equals(codeString))
7899        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTRESPONSE, code);
7900      if ("EpisodeOfCare".equals(codeString))
7901        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EPISODEOFCARE, code);
7902      if ("EventDefinition".equals(codeString))
7903        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVENTDEFINITION, code);
7904      if ("Evidence".equals(codeString))
7905        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCE, code);
7906      if ("EvidenceVariable".equals(codeString))
7907        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCEVARIABLE, code);
7908      if ("ExampleScenario".equals(codeString))
7909        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXAMPLESCENARIO, code);
7910      if ("ExplanationOfBenefit".equals(codeString))
7911        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPLANATIONOFBENEFIT, code);
7912      if ("FamilyMemberHistory".equals(codeString))
7913        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FAMILYMEMBERHISTORY, code);
7914      if ("Flag".equals(codeString))
7915        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FLAG, code);
7916      if ("Goal".equals(codeString))
7917        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GOAL, code);
7918      if ("GraphDefinition".equals(codeString))
7919        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GRAPHDEFINITION, code);
7920      if ("Group".equals(codeString))
7921        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GROUP, code);
7922      if ("GuidanceResponse".equals(codeString))
7923        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GUIDANCERESPONSE, code);
7924      if ("HealthcareService".equals(codeString))
7925        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HEALTHCARESERVICE, code);
7926      if ("ImagingStudy".equals(codeString))
7927        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMAGINGSTUDY, code);
7928      if ("Immunization".equals(codeString))
7929        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATION, code);
7930      if ("ImmunizationEvaluation".equals(codeString))
7931        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONEVALUATION, code);
7932      if ("ImmunizationRecommendation".equals(codeString))
7933        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION, code);
7934      if ("ImplementationGuide".equals(codeString))
7935        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMPLEMENTATIONGUIDE, code);
7936      if ("InsurancePlan".equals(codeString))
7937        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSURANCEPLAN, code);
7938      if ("Invoice".equals(codeString))
7939        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INVOICE, code);
7940      if ("Library".equals(codeString))
7941        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIBRARY, code);
7942      if ("Linkage".equals(codeString))
7943        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LINKAGE, code);
7944      if ("List".equals(codeString))
7945        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIST, code);
7946      if ("Location".equals(codeString))
7947        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LOCATION, code);
7948      if ("Measure".equals(codeString))
7949        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASURE, code);
7950      if ("MeasureReport".equals(codeString))
7951        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASUREREPORT, code);
7952      if ("Media".equals(codeString))
7953        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDIA, code);
7954      if ("Medication".equals(codeString))
7955        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATION, code);
7956      if ("MedicationAdministration".equals(codeString))
7957        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONADMINISTRATION, code);
7958      if ("MedicationDispense".equals(codeString))
7959        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONDISPENSE, code);
7960      if ("MedicationKnowledge".equals(codeString))
7961        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONKNOWLEDGE, code);
7962      if ("MedicationRequest".equals(codeString))
7963        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONREQUEST, code);
7964      if ("MedicationStatement".equals(codeString))
7965        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONSTATEMENT, code);
7966      if ("MedicinalProduct".equals(codeString))
7967        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCT, code);
7968      if ("MedicinalProductAuthorization".equals(codeString))
7969        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION, code);
7970      if ("MedicinalProductContraindication".equals(codeString))
7971        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION, code);
7972      if ("MedicinalProductIndication".equals(codeString))
7973        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINDICATION, code);
7974      if ("MedicinalProductIngredient".equals(codeString))
7975        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINGREDIENT, code);
7976      if ("MedicinalProductInteraction".equals(codeString))
7977        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINTERACTION, code);
7978      if ("MedicinalProductManufactured".equals(codeString))
7979        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED, code);
7980      if ("MedicinalProductPackaged".equals(codeString))
7981        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPACKAGED, code);
7982      if ("MedicinalProductPharmaceutical".equals(codeString))
7983        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL, code);
7984      if ("MedicinalProductUndesirableEffect".equals(codeString))
7985        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT, code);
7986      if ("MessageDefinition".equals(codeString))
7987        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEDEFINITION, code);
7988      if ("MessageHeader".equals(codeString))
7989        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEHEADER, code);
7990      if ("MolecularSequence".equals(codeString))
7991        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MOLECULARSEQUENCE, code);
7992      if ("NamingSystem".equals(codeString))
7993        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NAMINGSYSTEM, code);
7994      if ("NutritionOrder".equals(codeString))
7995        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NUTRITIONORDER, code);
7996      if ("Observation".equals(codeString))
7997        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATION, code);
7998      if ("ObservationDefinition".equals(codeString))
7999        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATIONDEFINITION, code);
8000      if ("OperationDefinition".equals(codeString))
8001        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONDEFINITION, code);
8002      if ("OperationOutcome".equals(codeString))
8003        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONOUTCOME, code);
8004      if ("Organization".equals(codeString))
8005        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATION, code);
8006      if ("OrganizationAffiliation".equals(codeString))
8007        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATIONAFFILIATION, code);
8008      if ("Parameters".equals(codeString))
8009        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERS, code);
8010      if ("Patient".equals(codeString))
8011        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PATIENT, code);
8012      if ("PaymentNotice".equals(codeString))
8013        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTNOTICE, code);
8014      if ("PaymentReconciliation".equals(codeString))
8015        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTRECONCILIATION, code);
8016      if ("Person".equals(codeString))
8017        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERSON, code);
8018      if ("PlanDefinition".equals(codeString))
8019        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PLANDEFINITION, code);
8020      if ("Practitioner".equals(codeString))
8021        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONER, code);
8022      if ("PractitionerRole".equals(codeString))
8023        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONERROLE, code);
8024      if ("Procedure".equals(codeString))
8025        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCEDURE, code);
8026      if ("Provenance".equals(codeString))
8027        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROVENANCE, code);
8028      if ("Questionnaire".equals(codeString))
8029        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRE, code);
8030      if ("QuestionnaireResponse".equals(codeString))
8031        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRERESPONSE, code);
8032      if ("RelatedPerson".equals(codeString))
8033        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDPERSON, code);
8034      if ("RequestGroup".equals(codeString))
8035        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REQUESTGROUP, code);
8036      if ("ResearchDefinition".equals(codeString))
8037        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHDEFINITION, code);
8038      if ("ResearchElementDefinition".equals(codeString))
8039        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHELEMENTDEFINITION, code);
8040      if ("ResearchStudy".equals(codeString))
8041        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSTUDY, code);
8042      if ("ResearchSubject".equals(codeString))
8043        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSUBJECT, code);
8044      if ("Resource".equals(codeString))
8045        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESOURCE, code);
8046      if ("RiskAssessment".equals(codeString))
8047        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKASSESSMENT, code);
8048      if ("RiskEvidenceSynthesis".equals(codeString))
8049        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKEVIDENCESYNTHESIS, code);
8050      if ("Schedule".equals(codeString))
8051        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SCHEDULE, code);
8052      if ("SearchParameter".equals(codeString))
8053        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEARCHPARAMETER, code);
8054      if ("ServiceRequest".equals(codeString))
8055        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SERVICEREQUEST, code);
8056      if ("Slot".equals(codeString))
8057        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SLOT, code);
8058      if ("Specimen".equals(codeString))
8059        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMEN, code);
8060      if ("SpecimenDefinition".equals(codeString))
8061        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMENDEFINITION, code);
8062      if ("StructureDefinition".equals(codeString))
8063        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREDEFINITION, code);
8064      if ("StructureMap".equals(codeString))
8065        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREMAP, code);
8066      if ("Subscription".equals(codeString))
8067        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSCRIPTION, code);
8068      if ("Substance".equals(codeString))
8069        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCE, code);
8070      if ("SubstanceNucleicAcid".equals(codeString))
8071        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCENUCLEICACID, code);
8072      if ("SubstancePolymer".equals(codeString))
8073        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPOLYMER, code);
8074      if ("SubstanceProtein".equals(codeString))
8075        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPROTEIN, code);
8076      if ("SubstanceReferenceInformation".equals(codeString))
8077        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION, code);
8078      if ("SubstanceSourceMaterial".equals(codeString))
8079        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESOURCEMATERIAL, code);
8080      if ("SubstanceSpecification".equals(codeString))
8081        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESPECIFICATION, code);
8082      if ("SupplyDelivery".equals(codeString))
8083        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYDELIVERY, code);
8084      if ("SupplyRequest".equals(codeString))
8085        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYREQUEST, code);
8086      if ("Task".equals(codeString))
8087        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TASK, code);
8088      if ("TerminologyCapabilities".equals(codeString))
8089        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES, code);
8090      if ("TestReport".equals(codeString))
8091        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTREPORT, code);
8092      if ("TestScript".equals(codeString))
8093        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTSCRIPT, code);
8094      if ("ValueSet".equals(codeString))
8095        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VALUESET, code);
8096      if ("VerificationResult".equals(codeString))
8097        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VERIFICATIONRESULT, code);
8098      if ("VisionPrescription".equals(codeString))
8099        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VISIONPRESCRIPTION, code);
8100      if ("Type".equals(codeString))
8101        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TYPE, code);
8102      if ("Any".equals(codeString))
8103        return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANY, code);
8104      throw new FHIRException("Unknown FHIRAllTypes code '" + codeString + "'");
8105    }
8106
8107    public String toCode(FHIRAllTypes code) {
8108       if (code == FHIRAllTypes.NULL)
8109           return null;
8110       if (code == FHIRAllTypes.ADDRESS)
8111        return "Address";
8112      if (code == FHIRAllTypes.AGE)
8113        return "Age";
8114      if (code == FHIRAllTypes.ANNOTATION)
8115        return "Annotation";
8116      if (code == FHIRAllTypes.ATTACHMENT)
8117        return "Attachment";
8118      if (code == FHIRAllTypes.BACKBONEELEMENT)
8119        return "BackboneElement";
8120      if (code == FHIRAllTypes.CODEABLECONCEPT)
8121        return "CodeableConcept";
8122      if (code == FHIRAllTypes.CODING)
8123        return "Coding";
8124      if (code == FHIRAllTypes.CONTACTDETAIL)
8125        return "ContactDetail";
8126      if (code == FHIRAllTypes.CONTACTPOINT)
8127        return "ContactPoint";
8128      if (code == FHIRAllTypes.CONTRIBUTOR)
8129        return "Contributor";
8130      if (code == FHIRAllTypes.COUNT)
8131        return "Count";
8132      if (code == FHIRAllTypes.DATAREQUIREMENT)
8133        return "DataRequirement";
8134      if (code == FHIRAllTypes.DISTANCE)
8135        return "Distance";
8136      if (code == FHIRAllTypes.DOSAGE)
8137        return "Dosage";
8138      if (code == FHIRAllTypes.DURATION)
8139        return "Duration";
8140      if (code == FHIRAllTypes.ELEMENT)
8141        return "Element";
8142      if (code == FHIRAllTypes.ELEMENTDEFINITION)
8143        return "ElementDefinition";
8144      if (code == FHIRAllTypes.EXPRESSION)
8145        return "Expression";
8146      if (code == FHIRAllTypes.EXTENSION)
8147        return "Extension";
8148      if (code == FHIRAllTypes.HUMANNAME)
8149        return "HumanName";
8150      if (code == FHIRAllTypes.IDENTIFIER)
8151        return "Identifier";
8152      if (code == FHIRAllTypes.MARKETINGSTATUS)
8153        return "MarketingStatus";
8154      if (code == FHIRAllTypes.META)
8155        return "Meta";
8156      if (code == FHIRAllTypes.MONEY)
8157        return "Money";
8158      if (code == FHIRAllTypes.MONEYQUANTITY)
8159        return "MoneyQuantity";
8160      if (code == FHIRAllTypes.NARRATIVE)
8161        return "Narrative";
8162      if (code == FHIRAllTypes.PARAMETERDEFINITION)
8163        return "ParameterDefinition";
8164      if (code == FHIRAllTypes.PERIOD)
8165        return "Period";
8166      if (code == FHIRAllTypes.POPULATION)
8167        return "Population";
8168      if (code == FHIRAllTypes.PRODCHARACTERISTIC)
8169        return "ProdCharacteristic";
8170      if (code == FHIRAllTypes.PRODUCTSHELFLIFE)
8171        return "ProductShelfLife";
8172      if (code == FHIRAllTypes.QUANTITY)
8173        return "Quantity";
8174      if (code == FHIRAllTypes.RANGE)
8175        return "Range";
8176      if (code == FHIRAllTypes.RATIO)
8177        return "Ratio";
8178      if (code == FHIRAllTypes.REFERENCE)
8179        return "Reference";
8180      if (code == FHIRAllTypes.RELATEDARTIFACT)
8181        return "RelatedArtifact";
8182      if (code == FHIRAllTypes.SAMPLEDDATA)
8183        return "SampledData";
8184      if (code == FHIRAllTypes.SIGNATURE)
8185        return "Signature";
8186      if (code == FHIRAllTypes.SIMPLEQUANTITY)
8187        return "SimpleQuantity";
8188      if (code == FHIRAllTypes.SUBSTANCEAMOUNT)
8189        return "SubstanceAmount";
8190      if (code == FHIRAllTypes.TIMING)
8191        return "Timing";
8192      if (code == FHIRAllTypes.TRIGGERDEFINITION)
8193        return "TriggerDefinition";
8194      if (code == FHIRAllTypes.USAGECONTEXT)
8195        return "UsageContext";
8196      if (code == FHIRAllTypes.BASE64BINARY)
8197        return "base64Binary";
8198      if (code == FHIRAllTypes.BOOLEAN)
8199        return "boolean";
8200      if (code == FHIRAllTypes.CANONICAL)
8201        return "canonical";
8202      if (code == FHIRAllTypes.CODE)
8203        return "code";
8204      if (code == FHIRAllTypes.DATE)
8205        return "date";
8206      if (code == FHIRAllTypes.DATETIME)
8207        return "dateTime";
8208      if (code == FHIRAllTypes.DECIMAL)
8209        return "decimal";
8210      if (code == FHIRAllTypes.ID)
8211        return "id";
8212      if (code == FHIRAllTypes.INSTANT)
8213        return "instant";
8214      if (code == FHIRAllTypes.INTEGER)
8215        return "integer";
8216      if (code == FHIRAllTypes.MARKDOWN)
8217        return "markdown";
8218      if (code == FHIRAllTypes.OID)
8219        return "oid";
8220      if (code == FHIRAllTypes.POSITIVEINT)
8221        return "positiveInt";
8222      if (code == FHIRAllTypes.STRING)
8223        return "string";
8224      if (code == FHIRAllTypes.TIME)
8225        return "time";
8226      if (code == FHIRAllTypes.UNSIGNEDINT)
8227        return "unsignedInt";
8228      if (code == FHIRAllTypes.URI)
8229        return "uri";
8230      if (code == FHIRAllTypes.URL)
8231        return "url";
8232      if (code == FHIRAllTypes.UUID)
8233        return "uuid";
8234      if (code == FHIRAllTypes.XHTML)
8235        return "xhtml";
8236      if (code == FHIRAllTypes.ACCOUNT)
8237        return "Account";
8238      if (code == FHIRAllTypes.ACTIVITYDEFINITION)
8239        return "ActivityDefinition";
8240      if (code == FHIRAllTypes.ADVERSEEVENT)
8241        return "AdverseEvent";
8242      if (code == FHIRAllTypes.ALLERGYINTOLERANCE)
8243        return "AllergyIntolerance";
8244      if (code == FHIRAllTypes.APPOINTMENT)
8245        return "Appointment";
8246      if (code == FHIRAllTypes.APPOINTMENTRESPONSE)
8247        return "AppointmentResponse";
8248      if (code == FHIRAllTypes.AUDITEVENT)
8249        return "AuditEvent";
8250      if (code == FHIRAllTypes.BASIC)
8251        return "Basic";
8252      if (code == FHIRAllTypes.BINARY)
8253        return "Binary";
8254      if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT)
8255        return "BiologicallyDerivedProduct";
8256      if (code == FHIRAllTypes.BODYSTRUCTURE)
8257        return "BodyStructure";
8258      if (code == FHIRAllTypes.BUNDLE)
8259        return "Bundle";
8260      if (code == FHIRAllTypes.CAPABILITYSTATEMENT)
8261        return "CapabilityStatement";
8262      if (code == FHIRAllTypes.CAREPLAN)
8263        return "CarePlan";
8264      if (code == FHIRAllTypes.CARETEAM)
8265        return "CareTeam";
8266      if (code == FHIRAllTypes.CATALOGENTRY)
8267        return "CatalogEntry";
8268      if (code == FHIRAllTypes.CHARGEITEM)
8269        return "ChargeItem";
8270      if (code == FHIRAllTypes.CHARGEITEMDEFINITION)
8271        return "ChargeItemDefinition";
8272      if (code == FHIRAllTypes.CLAIM)
8273        return "Claim";
8274      if (code == FHIRAllTypes.CLAIMRESPONSE)
8275        return "ClaimResponse";
8276      if (code == FHIRAllTypes.CLINICALIMPRESSION)
8277        return "ClinicalImpression";
8278      if (code == FHIRAllTypes.CODESYSTEM)
8279        return "CodeSystem";
8280      if (code == FHIRAllTypes.COMMUNICATION)
8281        return "Communication";
8282      if (code == FHIRAllTypes.COMMUNICATIONREQUEST)
8283        return "CommunicationRequest";
8284      if (code == FHIRAllTypes.COMPARTMENTDEFINITION)
8285        return "CompartmentDefinition";
8286      if (code == FHIRAllTypes.COMPOSITION)
8287        return "Composition";
8288      if (code == FHIRAllTypes.CONCEPTMAP)
8289        return "ConceptMap";
8290      if (code == FHIRAllTypes.CONDITION)
8291        return "Condition";
8292      if (code == FHIRAllTypes.CONSENT)
8293        return "Consent";
8294      if (code == FHIRAllTypes.CONTRACT)
8295        return "Contract";
8296      if (code == FHIRAllTypes.COVERAGE)
8297        return "Coverage";
8298      if (code == FHIRAllTypes.COVERAGEELIGIBILITYREQUEST)
8299        return "CoverageEligibilityRequest";
8300      if (code == FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE)
8301        return "CoverageEligibilityResponse";
8302      if (code == FHIRAllTypes.DETECTEDISSUE)
8303        return "DetectedIssue";
8304      if (code == FHIRAllTypes.DEVICE)
8305        return "Device";
8306      if (code == FHIRAllTypes.DEVICEDEFINITION)
8307        return "DeviceDefinition";
8308      if (code == FHIRAllTypes.DEVICEMETRIC)
8309        return "DeviceMetric";
8310      if (code == FHIRAllTypes.DEVICEREQUEST)
8311        return "DeviceRequest";
8312      if (code == FHIRAllTypes.DEVICEUSESTATEMENT)
8313        return "DeviceUseStatement";
8314      if (code == FHIRAllTypes.DIAGNOSTICREPORT)
8315        return "DiagnosticReport";
8316      if (code == FHIRAllTypes.DOCUMENTMANIFEST)
8317        return "DocumentManifest";
8318      if (code == FHIRAllTypes.DOCUMENTREFERENCE)
8319        return "DocumentReference";
8320      if (code == FHIRAllTypes.DOMAINRESOURCE)
8321        return "DomainResource";
8322      if (code == FHIRAllTypes.EFFECTEVIDENCESYNTHESIS)
8323        return "EffectEvidenceSynthesis";
8324      if (code == FHIRAllTypes.ENCOUNTER)
8325        return "Encounter";
8326      if (code == FHIRAllTypes.ENDPOINT)
8327        return "Endpoint";
8328      if (code == FHIRAllTypes.ENROLLMENTREQUEST)
8329        return "EnrollmentRequest";
8330      if (code == FHIRAllTypes.ENROLLMENTRESPONSE)
8331        return "EnrollmentResponse";
8332      if (code == FHIRAllTypes.EPISODEOFCARE)
8333        return "EpisodeOfCare";
8334      if (code == FHIRAllTypes.EVENTDEFINITION)
8335        return "EventDefinition";
8336      if (code == FHIRAllTypes.EVIDENCE)
8337        return "Evidence";
8338      if (code == FHIRAllTypes.EVIDENCEVARIABLE)
8339        return "EvidenceVariable";
8340      if (code == FHIRAllTypes.EXAMPLESCENARIO)
8341        return "ExampleScenario";
8342      if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT)
8343        return "ExplanationOfBenefit";
8344      if (code == FHIRAllTypes.FAMILYMEMBERHISTORY)
8345        return "FamilyMemberHistory";
8346      if (code == FHIRAllTypes.FLAG)
8347        return "Flag";
8348      if (code == FHIRAllTypes.GOAL)
8349        return "Goal";
8350      if (code == FHIRAllTypes.GRAPHDEFINITION)
8351        return "GraphDefinition";
8352      if (code == FHIRAllTypes.GROUP)
8353        return "Group";
8354      if (code == FHIRAllTypes.GUIDANCERESPONSE)
8355        return "GuidanceResponse";
8356      if (code == FHIRAllTypes.HEALTHCARESERVICE)
8357        return "HealthcareService";
8358      if (code == FHIRAllTypes.IMAGINGSTUDY)
8359        return "ImagingStudy";
8360      if (code == FHIRAllTypes.IMMUNIZATION)
8361        return "Immunization";
8362      if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION)
8363        return "ImmunizationEvaluation";
8364      if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION)
8365        return "ImmunizationRecommendation";
8366      if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE)
8367        return "ImplementationGuide";
8368      if (code == FHIRAllTypes.INSURANCEPLAN)
8369        return "InsurancePlan";
8370      if (code == FHIRAllTypes.INVOICE)
8371        return "Invoice";
8372      if (code == FHIRAllTypes.LIBRARY)
8373        return "Library";
8374      if (code == FHIRAllTypes.LINKAGE)
8375        return "Linkage";
8376      if (code == FHIRAllTypes.LIST)
8377        return "List";
8378      if (code == FHIRAllTypes.LOCATION)
8379        return "Location";
8380      if (code == FHIRAllTypes.MEASURE)
8381        return "Measure";
8382      if (code == FHIRAllTypes.MEASUREREPORT)
8383        return "MeasureReport";
8384      if (code == FHIRAllTypes.MEDIA)
8385        return "Media";
8386      if (code == FHIRAllTypes.MEDICATION)
8387        return "Medication";
8388      if (code == FHIRAllTypes.MEDICATIONADMINISTRATION)
8389        return "MedicationAdministration";
8390      if (code == FHIRAllTypes.MEDICATIONDISPENSE)
8391        return "MedicationDispense";
8392      if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE)
8393        return "MedicationKnowledge";
8394      if (code == FHIRAllTypes.MEDICATIONREQUEST)
8395        return "MedicationRequest";
8396      if (code == FHIRAllTypes.MEDICATIONSTATEMENT)
8397        return "MedicationStatement";
8398      if (code == FHIRAllTypes.MEDICINALPRODUCT)
8399        return "MedicinalProduct";
8400      if (code == FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION)
8401        return "MedicinalProductAuthorization";
8402      if (code == FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION)
8403        return "MedicinalProductContraindication";
8404      if (code == FHIRAllTypes.MEDICINALPRODUCTINDICATION)
8405        return "MedicinalProductIndication";
8406      if (code == FHIRAllTypes.MEDICINALPRODUCTINGREDIENT)
8407        return "MedicinalProductIngredient";
8408      if (code == FHIRAllTypes.MEDICINALPRODUCTINTERACTION)
8409        return "MedicinalProductInteraction";
8410      if (code == FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED)
8411        return "MedicinalProductManufactured";
8412      if (code == FHIRAllTypes.MEDICINALPRODUCTPACKAGED)
8413        return "MedicinalProductPackaged";
8414      if (code == FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL)
8415        return "MedicinalProductPharmaceutical";
8416      if (code == FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT)
8417        return "MedicinalProductUndesirableEffect";
8418      if (code == FHIRAllTypes.MESSAGEDEFINITION)
8419        return "MessageDefinition";
8420      if (code == FHIRAllTypes.MESSAGEHEADER)
8421        return "MessageHeader";
8422      if (code == FHIRAllTypes.MOLECULARSEQUENCE)
8423        return "MolecularSequence";
8424      if (code == FHIRAllTypes.NAMINGSYSTEM)
8425        return "NamingSystem";
8426      if (code == FHIRAllTypes.NUTRITIONORDER)
8427        return "NutritionOrder";
8428      if (code == FHIRAllTypes.OBSERVATION)
8429        return "Observation";
8430      if (code == FHIRAllTypes.OBSERVATIONDEFINITION)
8431        return "ObservationDefinition";
8432      if (code == FHIRAllTypes.OPERATIONDEFINITION)
8433        return "OperationDefinition";
8434      if (code == FHIRAllTypes.OPERATIONOUTCOME)
8435        return "OperationOutcome";
8436      if (code == FHIRAllTypes.ORGANIZATION)
8437        return "Organization";
8438      if (code == FHIRAllTypes.ORGANIZATIONAFFILIATION)
8439        return "OrganizationAffiliation";
8440      if (code == FHIRAllTypes.PARAMETERS)
8441        return "Parameters";
8442      if (code == FHIRAllTypes.PATIENT)
8443        return "Patient";
8444      if (code == FHIRAllTypes.PAYMENTNOTICE)
8445        return "PaymentNotice";
8446      if (code == FHIRAllTypes.PAYMENTRECONCILIATION)
8447        return "PaymentReconciliation";
8448      if (code == FHIRAllTypes.PERSON)
8449        return "Person";
8450      if (code == FHIRAllTypes.PLANDEFINITION)
8451        return "PlanDefinition";
8452      if (code == FHIRAllTypes.PRACTITIONER)
8453        return "Practitioner";
8454      if (code == FHIRAllTypes.PRACTITIONERROLE)
8455        return "PractitionerRole";
8456      if (code == FHIRAllTypes.PROCEDURE)
8457        return "Procedure";
8458      if (code == FHIRAllTypes.PROVENANCE)
8459        return "Provenance";
8460      if (code == FHIRAllTypes.QUESTIONNAIRE)
8461        return "Questionnaire";
8462      if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE)
8463        return "QuestionnaireResponse";
8464      if (code == FHIRAllTypes.RELATEDPERSON)
8465        return "RelatedPerson";
8466      if (code == FHIRAllTypes.REQUESTGROUP)
8467        return "RequestGroup";
8468      if (code == FHIRAllTypes.RESEARCHDEFINITION)
8469        return "ResearchDefinition";
8470      if (code == FHIRAllTypes.RESEARCHELEMENTDEFINITION)
8471        return "ResearchElementDefinition";
8472      if (code == FHIRAllTypes.RESEARCHSTUDY)
8473        return "ResearchStudy";
8474      if (code == FHIRAllTypes.RESEARCHSUBJECT)
8475        return "ResearchSubject";
8476      if (code == FHIRAllTypes.RESOURCE)
8477        return "Resource";
8478      if (code == FHIRAllTypes.RISKASSESSMENT)
8479        return "RiskAssessment";
8480      if (code == FHIRAllTypes.RISKEVIDENCESYNTHESIS)
8481        return "RiskEvidenceSynthesis";
8482      if (code == FHIRAllTypes.SCHEDULE)
8483        return "Schedule";
8484      if (code == FHIRAllTypes.SEARCHPARAMETER)
8485        return "SearchParameter";
8486      if (code == FHIRAllTypes.SERVICEREQUEST)
8487        return "ServiceRequest";
8488      if (code == FHIRAllTypes.SLOT)
8489        return "Slot";
8490      if (code == FHIRAllTypes.SPECIMEN)
8491        return "Specimen";
8492      if (code == FHIRAllTypes.SPECIMENDEFINITION)
8493        return "SpecimenDefinition";
8494      if (code == FHIRAllTypes.STRUCTUREDEFINITION)
8495        return "StructureDefinition";
8496      if (code == FHIRAllTypes.STRUCTUREMAP)
8497        return "StructureMap";
8498      if (code == FHIRAllTypes.SUBSCRIPTION)
8499        return "Subscription";
8500      if (code == FHIRAllTypes.SUBSTANCE)
8501        return "Substance";
8502      if (code == FHIRAllTypes.SUBSTANCENUCLEICACID)
8503        return "SubstanceNucleicAcid";
8504      if (code == FHIRAllTypes.SUBSTANCEPOLYMER)
8505        return "SubstancePolymer";
8506      if (code == FHIRAllTypes.SUBSTANCEPROTEIN)
8507        return "SubstanceProtein";
8508      if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION)
8509        return "SubstanceReferenceInformation";
8510      if (code == FHIRAllTypes.SUBSTANCESOURCEMATERIAL)
8511        return "SubstanceSourceMaterial";
8512      if (code == FHIRAllTypes.SUBSTANCESPECIFICATION)
8513        return "SubstanceSpecification";
8514      if (code == FHIRAllTypes.SUPPLYDELIVERY)
8515        return "SupplyDelivery";
8516      if (code == FHIRAllTypes.SUPPLYREQUEST)
8517        return "SupplyRequest";
8518      if (code == FHIRAllTypes.TASK)
8519        return "Task";
8520      if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES)
8521        return "TerminologyCapabilities";
8522      if (code == FHIRAllTypes.TESTREPORT)
8523        return "TestReport";
8524      if (code == FHIRAllTypes.TESTSCRIPT)
8525        return "TestScript";
8526      if (code == FHIRAllTypes.VALUESET)
8527        return "ValueSet";
8528      if (code == FHIRAllTypes.VERIFICATIONRESULT)
8529        return "VerificationResult";
8530      if (code == FHIRAllTypes.VISIONPRESCRIPTION)
8531        return "VisionPrescription";
8532      if (code == FHIRAllTypes.TYPE)
8533        return "Type";
8534      if (code == FHIRAllTypes.ANY)
8535        return "Any";
8536      return "?";
8537   }
8538
8539    public String toSystem(FHIRAllTypes code) {
8540      return code.getSystem();
8541    }
8542  }
8543
8544  public enum FHIRDefinedType {
8545    /**
8546     * An address expressed using postal conventions (as opposed to GPS or other
8547     * location definition formats). This data type may be used to convey addresses
8548     * for use in delivering mail as well as for visiting locations which might not
8549     * be valid for mail delivery. There are a variety of postal address formats
8550     * defined around the world.
8551     */
8552    ADDRESS,
8553    /**
8554     * A duration of time during which an organism (or a process) has existed.
8555     */
8556    AGE,
8557    /**
8558     * A text note which also contains information about who made the statement and
8559     * when.
8560     */
8561    ANNOTATION,
8562    /**
8563     * For referring to data content defined in other formats.
8564     */
8565    ATTACHMENT,
8566    /**
8567     * Base definition for all elements that are defined inside a resource - but not
8568     * those in a data type.
8569     */
8570    BACKBONEELEMENT,
8571    /**
8572     * A concept that may be defined by a formal reference to a terminology or
8573     * ontology or may be provided by text.
8574     */
8575    CODEABLECONCEPT,
8576    /**
8577     * A reference to a code defined by a terminology system.
8578     */
8579    CODING,
8580    /**
8581     * Specifies contact information for a person or organization.
8582     */
8583    CONTACTDETAIL,
8584    /**
8585     * Details for all kinds of technology mediated contact points for a person or
8586     * organization, including telephone, email, etc.
8587     */
8588    CONTACTPOINT,
8589    /**
8590     * A contributor to the content of a knowledge asset, including authors,
8591     * editors, reviewers, and endorsers.
8592     */
8593    CONTRIBUTOR,
8594    /**
8595     * A measured amount (or an amount that can potentially be measured). Note that
8596     * measured amounts include amounts that are not precisely quantified, including
8597     * amounts involving arbitrary units and floating currencies.
8598     */
8599    COUNT,
8600    /**
8601     * Describes a required data item for evaluation in terms of the type of data,
8602     * and optional code or date-based filters of the data.
8603     */
8604    DATAREQUIREMENT,
8605    /**
8606     * A length - a value with a unit that is a physical distance.
8607     */
8608    DISTANCE,
8609    /**
8610     * Indicates how the medication is/was taken or should be taken by the patient.
8611     */
8612    DOSAGE,
8613    /**
8614     * A length of time.
8615     */
8616    DURATION,
8617    /**
8618     * Base definition for all elements in a resource.
8619     */
8620    ELEMENT,
8621    /**
8622     * Captures constraints on each element within the resource, profile, or
8623     * extension.
8624     */
8625    ELEMENTDEFINITION,
8626    /**
8627     * A expression that is evaluated in a specified context and returns a value.
8628     * The context of use of the expression must specify the context in which the
8629     * expression is evaluated, and how the result of the expression is used.
8630     */
8631    EXPRESSION,
8632    /**
8633     * Optional Extension Element - found in all resources.
8634     */
8635    EXTENSION,
8636    /**
8637     * A human's name with the ability to identify parts and usage.
8638     */
8639    HUMANNAME,
8640    /**
8641     * An identifier - identifies some entity uniquely and unambiguously. Typically
8642     * this is used for business identifiers.
8643     */
8644    IDENTIFIER,
8645    /**
8646     * The marketing status describes the date when a medicinal product is actually
8647     * put on the market or the date as of which it is no longer available.
8648     */
8649    MARKETINGSTATUS,
8650    /**
8651     * The metadata about a resource. This is content in the resource that is
8652     * maintained by the infrastructure. Changes to the content might not always be
8653     * associated with version changes to the resource.
8654     */
8655    META,
8656    /**
8657     * An amount of economic utility in some recognized currency.
8658     */
8659    MONEY,
8660    /**
8661     * null
8662     */
8663    MONEYQUANTITY,
8664    /**
8665     * A human-readable summary of the resource conveying the essential clinical and
8666     * business information for the resource.
8667     */
8668    NARRATIVE,
8669    /**
8670     * The parameters to the module. This collection specifies both the input and
8671     * output parameters. Input parameters are provided by the caller as part of the
8672     * $evaluate operation. Output parameters are included in the GuidanceResponse.
8673     */
8674    PARAMETERDEFINITION,
8675    /**
8676     * A time period defined by a start and end date and optionally time.
8677     */
8678    PERIOD,
8679    /**
8680     * A populatioof people with some set of grouping criteria.
8681     */
8682    POPULATION,
8683    /**
8684     * The marketing status describes the date when a medicinal product is actually
8685     * put on the market or the date as of which it is no longer available.
8686     */
8687    PRODCHARACTERISTIC,
8688    /**
8689     * The shelf-life and storage information for a medicinal product item or
8690     * container can be described using this class.
8691     */
8692    PRODUCTSHELFLIFE,
8693    /**
8694     * A measured amount (or an amount that can potentially be measured). Note that
8695     * measured amounts include amounts that are not precisely quantified, including
8696     * amounts involving arbitrary units and floating currencies.
8697     */
8698    QUANTITY,
8699    /**
8700     * A set of ordered Quantities defined by a low and high limit.
8701     */
8702    RANGE,
8703    /**
8704     * A relationship of two Quantity values - expressed as a numerator and a
8705     * denominator.
8706     */
8707    RATIO,
8708    /**
8709     * A reference from one resource to another.
8710     */
8711    REFERENCE,
8712    /**
8713     * Related artifacts such as additional documentation, justification, or
8714     * bibliographic references.
8715     */
8716    RELATEDARTIFACT,
8717    /**
8718     * A series of measurements taken by a device, with upper and lower limits.
8719     * There may be more than one dimension in the data.
8720     */
8721    SAMPLEDDATA,
8722    /**
8723     * A signature along with supporting context. The signature may be a digital
8724     * signature that is cryptographic in nature, or some other signature acceptable
8725     * to the domain. This other signature may be as simple as a graphical image
8726     * representing a hand-written signature, or a signature ceremony Different
8727     * signature approaches have different utilities.
8728     */
8729    SIGNATURE,
8730    /**
8731     * null
8732     */
8733    SIMPLEQUANTITY,
8734    /**
8735     * Chemical substances are a single substance type whose primary defining
8736     * element is the molecular structure. Chemical substances shall be defined on
8737     * the basis of their complete covalent molecular structure; the presence of a
8738     * salt (counter-ion) and/or solvates (water, alcohols) is also captured.
8739     * Purity, grade, physical form or particle size are not taken into account in
8740     * the definition of a chemical substance or in the assignment of a Substance
8741     * ID.
8742     */
8743    SUBSTANCEAMOUNT,
8744    /**
8745     * Specifies an event that may occur multiple times. Timing schedules are used
8746     * to record when things are planned, expected or requested to occur. The most
8747     * common usage is in dosage instructions for medications. They are also used
8748     * when planning care of various kinds, and may be used for reporting the
8749     * schedule to which past regular activities were carried out.
8750     */
8751    TIMING,
8752    /**
8753     * A description of a triggering event. Triggering events can be named events,
8754     * data events, or periodic, as determined by the type element.
8755     */
8756    TRIGGERDEFINITION,
8757    /**
8758     * Specifies clinical/business/etc. metadata that can be used to retrieve, index
8759     * and/or categorize an artifact. This metadata can either be specific to the
8760     * applicable population (e.g., age category, DRG) or the specific context of
8761     * care (e.g., venue, care setting, provider of care).
8762     */
8763    USAGECONTEXT,
8764    /**
8765     * A stream of bytes
8766     */
8767    BASE64BINARY,
8768    /**
8769     * Value of "true" or "false"
8770     */
8771    BOOLEAN,
8772    /**
8773     * A URI that is a reference to a canonical URL on a FHIR resource
8774     */
8775    CANONICAL,
8776    /**
8777     * A string which has at least one character and no leading or trailing
8778     * whitespace and where there is no whitespace other than single spaces in the
8779     * contents
8780     */
8781    CODE,
8782    /**
8783     * A date or partial date (e.g. just year or year + month). There is no time
8784     * zone. The format is a union of the schema types gYear, gYearMonth and date.
8785     * Dates SHALL be valid dates.
8786     */
8787    DATE,
8788    /**
8789     * A date, date-time or partial date (e.g. just year or year + month). If hours
8790     * and minutes are specified, a time zone SHALL be populated. The format is a
8791     * union of the schema types gYear, gYearMonth, date and dateTime. Seconds must
8792     * be provided due to schema type constraints but may be zero-filled and may be
8793     * ignored. Dates SHALL be valid dates.
8794     */
8795    DATETIME,
8796    /**
8797     * A rational number with implicit precision
8798     */
8799    DECIMAL,
8800    /**
8801     * Any combination of letters, numerals, "-" and ".", with a length limit of 64
8802     * characters. (This might be an integer, an unprefixed OID, UUID or any other
8803     * identifier pattern that meets these constraints.) Ids are case-insensitive.
8804     */
8805    ID,
8806    /**
8807     * An instant in time - known at least to the second
8808     */
8809    INSTANT,
8810    /**
8811     * A whole number
8812     */
8813    INTEGER,
8814    /**
8815     * A string that may contain Github Flavored Markdown syntax for optional
8816     * processing by a mark down presentation engine
8817     */
8818    MARKDOWN,
8819    /**
8820     * An OID represented as a URI
8821     */
8822    OID,
8823    /**
8824     * An integer with a value that is positive (e.g. >0)
8825     */
8826    POSITIVEINT,
8827    /**
8828     * A sequence of Unicode characters
8829     */
8830    STRING,
8831    /**
8832     * A time during the day, with no date specified
8833     */
8834    TIME,
8835    /**
8836     * An integer with a value that is not negative (e.g. >= 0)
8837     */
8838    UNSIGNEDINT,
8839    /**
8840     * String of characters used to identify a name or a resource
8841     */
8842    URI,
8843    /**
8844     * A URI that is a literal reference
8845     */
8846    URL,
8847    /**
8848     * A UUID, represented as a URI
8849     */
8850    UUID,
8851    /**
8852     * XHTML format, as defined by W3C, but restricted usage (mainly, no active
8853     * content)
8854     */
8855    XHTML,
8856    /**
8857     * A financial tool for tracking value accrued for a particular purpose. In the
8858     * healthcare field, used to track charges for a patient, cost centers, etc.
8859     */
8860    ACCOUNT,
8861    /**
8862     * This resource allows for the definition of some activity to be performed,
8863     * independent of a particular patient, practitioner, or other performance
8864     * context.
8865     */
8866    ACTIVITYDEFINITION,
8867    /**
8868     * Actual or potential/avoided event causing unintended physical injury
8869     * resulting from or contributed to by medical care, a research study or other
8870     * healthcare setting factors that requires additional monitoring, treatment, or
8871     * hospitalization, or that results in death.
8872     */
8873    ADVERSEEVENT,
8874    /**
8875     * Risk of harmful or undesirable, physiological response which is unique to an
8876     * individual and associated with exposure to a substance.
8877     */
8878    ALLERGYINTOLERANCE,
8879    /**
8880     * A booking of a healthcare event among patient(s), practitioner(s), related
8881     * person(s) and/or device(s) for a specific date/time. This may result in one
8882     * or more Encounter(s).
8883     */
8884    APPOINTMENT,
8885    /**
8886     * A reply to an appointment request for a patient and/or practitioner(s), such
8887     * as a confirmation or rejection.
8888     */
8889    APPOINTMENTRESPONSE,
8890    /**
8891     * A record of an event made for purposes of maintaining a security log. Typical
8892     * uses include detection of intrusion attempts and monitoring for inappropriate
8893     * usage.
8894     */
8895    AUDITEVENT,
8896    /**
8897     * Basic is used for handling concepts not yet defined in FHIR, narrative-only
8898     * resources that don't map to an existing resource, and custom resources not
8899     * appropriate for inclusion in the FHIR specification.
8900     */
8901    BASIC,
8902    /**
8903     * A resource that represents the data of a single raw artifact as digital
8904     * content accessible in its native format. A Binary resource can contain any
8905     * content, whether text, image, pdf, zip archive, etc.
8906     */
8907    BINARY,
8908    /**
8909     * A material substance originating from a biological entity intended to be
8910     * transplanted or infused into another (possibly the same) biological entity.
8911     */
8912    BIOLOGICALLYDERIVEDPRODUCT,
8913    /**
8914     * Record details about an anatomical structure. This resource may be used when
8915     * a coded concept does not provide the necessary detail needed for the use
8916     * case.
8917     */
8918    BODYSTRUCTURE,
8919    /**
8920     * A container for a collection of resources.
8921     */
8922    BUNDLE,
8923    /**
8924     * A Capability Statement documents a set of capabilities (behaviors) of a FHIR
8925     * Server for a particular version of FHIR that may be used as a statement of
8926     * actual server functionality or a statement of required or desired server
8927     * implementation.
8928     */
8929    CAPABILITYSTATEMENT,
8930    /**
8931     * Describes the intention of how one or more practitioners intend to deliver
8932     * care for a particular patient, group or community for a period of time,
8933     * possibly limited to care for a specific condition or set of conditions.
8934     */
8935    CAREPLAN,
8936    /**
8937     * The Care Team includes all the people and organizations who plan to
8938     * participate in the coordination and delivery of care for a patient.
8939     */
8940    CARETEAM,
8941    /**
8942     * Catalog entries are wrappers that contextualize items included in a catalog.
8943     */
8944    CATALOGENTRY,
8945    /**
8946     * The resource ChargeItem describes the provision of healthcare provider
8947     * products for a certain patient, therefore referring not only to the product,
8948     * but containing in addition details of the provision, like date, time, amounts
8949     * and participating organizations and persons. Main Usage of the ChargeItem is
8950     * to enable the billing process and internal cost allocation.
8951     */
8952    CHARGEITEM,
8953    /**
8954     * The ChargeItemDefinition resource provides the properties that apply to the
8955     * (billing) codes necessary to calculate costs and prices. The properties may
8956     * differ largely depending on type and realm, therefore this resource gives
8957     * only a rough structure and requires profiling for each type of billing code
8958     * system.
8959     */
8960    CHARGEITEMDEFINITION,
8961    /**
8962     * A provider issued list of professional services and products which have been
8963     * provided, or are to be provided, to a patient which is sent to an insurer for
8964     * reimbursement.
8965     */
8966    CLAIM,
8967    /**
8968     * This resource provides the adjudication details from the processing of a
8969     * Claim resource.
8970     */
8971    CLAIMRESPONSE,
8972    /**
8973     * A record of a clinical assessment performed to determine what problem(s) may
8974     * affect the patient and before planning the treatments or management
8975     * strategies that are best to manage a patient's condition. Assessments are
8976     * often 1:1 with a clinical consultation / encounter, but this varies greatly
8977     * depending on the clinical workflow. This resource is called
8978     * "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with
8979     * the recording of assessment tools such as Apgar score.
8980     */
8981    CLINICALIMPRESSION,
8982    /**
8983     * The CodeSystem resource is used to declare the existence of and describe a
8984     * code system or code system supplement and its key properties, and optionally
8985     * define a part or all of its content.
8986     */
8987    CODESYSTEM,
8988    /**
8989     * An occurrence of information being transmitted; e.g. an alert that was sent
8990     * to a responsible provider, a public health agency that was notified about a
8991     * reportable condition.
8992     */
8993    COMMUNICATION,
8994    /**
8995     * A request to convey information; e.g. the CDS system proposes that an alert
8996     * be sent to a responsible provider, the CDS system proposes that the public
8997     * health agency be notified about a reportable condition.
8998     */
8999    COMMUNICATIONREQUEST,
9000    /**
9001     * A compartment definition that defines how resources are accessed on a server.
9002     */
9003    COMPARTMENTDEFINITION,
9004    /**
9005     * A set of healthcare-related information that is assembled together into a
9006     * single logical package that provides a single coherent statement of meaning,
9007     * establishes its own context and that has clinical attestation with regard to
9008     * who is making the statement. A Composition defines the structure and
9009     * narrative content necessary for a document. However, a Composition alone does
9010     * not constitute a document. Rather, the Composition must be the first entry in
9011     * a Bundle where Bundle.type=document, and any other resources referenced from
9012     * Composition must be included as subsequent entries in the Bundle (for example
9013     * Patient, Practitioner, Encounter, etc.).
9014     */
9015    COMPOSITION,
9016    /**
9017     * A statement of relationships from one set of concepts to one or more other
9018     * concepts - either concepts in code systems, or data element/data element
9019     * concepts, or classes in class models.
9020     */
9021    CONCEPTMAP,
9022    /**
9023     * A clinical condition, problem, diagnosis, or other event, situation, issue,
9024     * or clinical concept that has risen to a level of concern.
9025     */
9026    CONDITION,
9027    /**
9028     * A record of a healthcare consumer?s choices, which permits or denies
9029     * identified recipient(s) or recipient role(s) to perform one or more actions
9030     * within a given policy context, for specific purposes and periods of time.
9031     */
9032    CONSENT,
9033    /**
9034     * Legally enforceable, formally recorded unilateral or bilateral directive
9035     * i.e., a policy or agreement.
9036     */
9037    CONTRACT,
9038    /**
9039     * Financial instrument which may be used to reimburse or pay for health care
9040     * products and services. Includes both insurance and self-payment.
9041     */
9042    COVERAGE,
9043    /**
9044     * The CoverageEligibilityRequest provides patient and insurance coverage
9045     * information to an insurer for them to respond, in the form of an
9046     * CoverageEligibilityResponse, with information regarding whether the stated
9047     * coverage is valid and in-force and optionally to provide the insurance
9048     * details of the policy.
9049     */
9050    COVERAGEELIGIBILITYREQUEST,
9051    /**
9052     * This resource provides eligibility and plan details from the processing of an
9053     * CoverageEligibilityRequest resource.
9054     */
9055    COVERAGEELIGIBILITYRESPONSE,
9056    /**
9057     * Indicates an actual or potential clinical issue with or between one or more
9058     * active or proposed clinical actions for a patient; e.g. Drug-drug
9059     * interaction, Ineffective treatment frequency, Procedure-condition conflict,
9060     * etc.
9061     */
9062    DETECTEDISSUE,
9063    /**
9064     * A type of a manufactured item that is used in the provision of healthcare
9065     * without being substantially changed through that activity. The device may be
9066     * a medical or non-medical device.
9067     */
9068    DEVICE,
9069    /**
9070     * The characteristics, operational status and capabilities of a medical-related
9071     * component of a medical device.
9072     */
9073    DEVICEDEFINITION,
9074    /**
9075     * Describes a measurement, calculation or setting capability of a medical
9076     * device.
9077     */
9078    DEVICEMETRIC,
9079    /**
9080     * Represents a request for a patient to employ a medical device. The device may
9081     * be an implantable device, or an external assistive device, such as a walker.
9082     */
9083    DEVICEREQUEST,
9084    /**
9085     * A record of a device being used by a patient where the record is the result
9086     * of a report from the patient or another clinician.
9087     */
9088    DEVICEUSESTATEMENT,
9089    /**
9090     * The findings and interpretation of diagnostic tests performed on patients,
9091     * groups of patients, devices, and locations, and/or specimens derived from
9092     * these. The report includes clinical context such as requesting and provider
9093     * information, and some mix of atomic results, images, textual and coded
9094     * interpretations, and formatted representation of diagnostic reports.
9095     */
9096    DIAGNOSTICREPORT,
9097    /**
9098     * A collection of documents compiled for a purpose together with metadata that
9099     * applies to the collection.
9100     */
9101    DOCUMENTMANIFEST,
9102    /**
9103     * A reference to a document of any kind for any purpose. Provides metadata
9104     * about the document so that the document can be discovered and managed. The
9105     * scope of a document is any seralized object with a mime-type, so includes
9106     * formal patient centric documents (CDA), cliical notes, scanned paper, and
9107     * non-patient specific documents like policy text.
9108     */
9109    DOCUMENTREFERENCE,
9110    /**
9111     * A resource that includes narrative, extensions, and contained resources.
9112     */
9113    DOMAINRESOURCE,
9114    /**
9115     * The EffectEvidenceSynthesis resource describes the difference in an outcome
9116     * between exposures states in a population where the effect estimate is derived
9117     * from a combination of research studies.
9118     */
9119    EFFECTEVIDENCESYNTHESIS,
9120    /**
9121     * An interaction between a patient and healthcare provider(s) for the purpose
9122     * of providing healthcare service(s) or assessing the health status of a
9123     * patient.
9124     */
9125    ENCOUNTER,
9126    /**
9127     * The technical details of an endpoint that can be used for electronic
9128     * services, such as for web services providing XDS.b or a REST endpoint for
9129     * another FHIR server. This may include any security context information.
9130     */
9131    ENDPOINT,
9132    /**
9133     * This resource provides the insurance enrollment details to the insurer
9134     * regarding a specified coverage.
9135     */
9136    ENROLLMENTREQUEST,
9137    /**
9138     * This resource provides enrollment and plan details from the processing of an
9139     * EnrollmentRequest resource.
9140     */
9141    ENROLLMENTRESPONSE,
9142    /**
9143     * An association between a patient and an organization / healthcare provider(s)
9144     * during which time encounters may occur. The managing organization assumes a
9145     * level of responsibility for the patient during this time.
9146     */
9147    EPISODEOFCARE,
9148    /**
9149     * The EventDefinition resource provides a reusable description of when a
9150     * particular event can occur.
9151     */
9152    EVENTDEFINITION,
9153    /**
9154     * The Evidence resource describes the conditional state (population and any
9155     * exposures being compared within the population) and outcome (if specified)
9156     * that the knowledge (evidence, assertion, recommendation) is about.
9157     */
9158    EVIDENCE,
9159    /**
9160     * The EvidenceVariable resource describes a "PICO" element that knowledge
9161     * (evidence, assertion, recommendation) is about.
9162     */
9163    EVIDENCEVARIABLE,
9164    /**
9165     * Example of workflow instance.
9166     */
9167    EXAMPLESCENARIO,
9168    /**
9169     * This resource provides: the claim details; adjudication details from the
9170     * processing of a Claim; and optionally account balance information, for
9171     * informing the subscriber of the benefits provided.
9172     */
9173    EXPLANATIONOFBENEFIT,
9174    /**
9175     * Significant health conditions for a person related to the patient relevant in
9176     * the context of care for the patient.
9177     */
9178    FAMILYMEMBERHISTORY,
9179    /**
9180     * Prospective warnings of potential issues when providing care to the patient.
9181     */
9182    FLAG,
9183    /**
9184     * Describes the intended objective(s) for a patient, group or organization
9185     * care, for example, weight loss, restoring an activity of daily living,
9186     * obtaining herd immunity via immunization, meeting a process improvement
9187     * objective, etc.
9188     */
9189    GOAL,
9190    /**
9191     * A formal computable definition of a graph of resources - that is, a coherent
9192     * set of resources that form a graph by following references. The Graph
9193     * Definition resource defines a set and makes rules about the set.
9194     */
9195    GRAPHDEFINITION,
9196    /**
9197     * Represents a defined collection of entities that may be discussed or acted
9198     * upon collectively but which are not expected to act collectively, and are not
9199     * formally or legally recognized; i.e. a collection of entities that isn't an
9200     * Organization.
9201     */
9202    GROUP,
9203    /**
9204     * A guidance response is the formal response to a guidance request, including
9205     * any output parameters returned by the evaluation, as well as the description
9206     * of any proposed actions to be taken.
9207     */
9208    GUIDANCERESPONSE,
9209    /**
9210     * The details of a healthcare service available at a location.
9211     */
9212    HEALTHCARESERVICE,
9213    /**
9214     * Representation of the content produced in a DICOM imaging study. A study
9215     * comprises a set of series, each of which includes a set of Service-Object
9216     * Pair Instances (SOP Instances - images or other data) acquired or produced in
9217     * a common context. A series is of only one modality (e.g. X-ray, CT, MR,
9218     * ultrasound), but a study may have multiple series of different modalities.
9219     */
9220    IMAGINGSTUDY,
9221    /**
9222     * Describes the event of a patient being administered a vaccine or a record of
9223     * an immunization as reported by a patient, a clinician or another party.
9224     */
9225    IMMUNIZATION,
9226    /**
9227     * Describes a comparison of an immunization event against published
9228     * recommendations to determine if the administration is "valid" in relation to
9229     * those recommendations.
9230     */
9231    IMMUNIZATIONEVALUATION,
9232    /**
9233     * A patient's point-in-time set of recommendations (i.e. forecasting) according
9234     * to a published schedule with optional supporting justification.
9235     */
9236    IMMUNIZATIONRECOMMENDATION,
9237    /**
9238     * A set of rules of how a particular interoperability or standards problem is
9239     * solved - typically through the use of FHIR resources. This resource is used
9240     * to gather all the parts of an implementation guide into a logical whole and
9241     * to publish a computable definition of all the parts.
9242     */
9243    IMPLEMENTATIONGUIDE,
9244    /**
9245     * Details of a Health Insurance product/plan provided by an organization.
9246     */
9247    INSURANCEPLAN,
9248    /**
9249     * Invoice containing collected ChargeItems from an Account with calculated
9250     * individual and total price for Billing purpose.
9251     */
9252    INVOICE,
9253    /**
9254     * The Library resource is a general-purpose container for knowledge asset
9255     * definitions. It can be used to describe and expose existing knowledge assets
9256     * such as logic libraries and information model descriptions, as well as to
9257     * describe a collection of knowledge assets.
9258     */
9259    LIBRARY,
9260    /**
9261     * Identifies two or more records (resource instances) that refer to the same
9262     * real-world "occurrence".
9263     */
9264    LINKAGE,
9265    /**
9266     * A list is a curated collection of resources.
9267     */
9268    LIST,
9269    /**
9270     * Details and position information for a physical place where services are
9271     * provided and resources and participants may be stored, found, contained, or
9272     * accommodated.
9273     */
9274    LOCATION,
9275    /**
9276     * The Measure resource provides the definition of a quality measure.
9277     */
9278    MEASURE,
9279    /**
9280     * The MeasureReport resource contains the results of the calculation of a
9281     * measure; and optionally a reference to the resources involved in that
9282     * calculation.
9283     */
9284    MEASUREREPORT,
9285    /**
9286     * A photo, video, or audio recording acquired or used in healthcare. The actual
9287     * content may be inline or provided by direct reference.
9288     */
9289    MEDIA,
9290    /**
9291     * This resource is primarily used for the identification and definition of a
9292     * medication for the purposes of prescribing, dispensing, and administering a
9293     * medication as well as for making statements about medication use.
9294     */
9295    MEDICATION,
9296    /**
9297     * Describes the event of a patient consuming or otherwise being administered a
9298     * medication. This may be as simple as swallowing a tablet or it may be a long
9299     * running infusion. Related resources tie this event to the authorizing
9300     * prescription, and the specific encounter between patient and health care
9301     * practitioner.
9302     */
9303    MEDICATIONADMINISTRATION,
9304    /**
9305     * Indicates that a medication product is to be or has been dispensed for a
9306     * named person/patient. This includes a description of the medication product
9307     * (supply) provided and the instructions for administering the medication. The
9308     * medication dispense is the result of a pharmacy system responding to a
9309     * medication order.
9310     */
9311    MEDICATIONDISPENSE,
9312    /**
9313     * Information about a medication that is used to support knowledge.
9314     */
9315    MEDICATIONKNOWLEDGE,
9316    /**
9317     * An order or request for both supply of the medication and the instructions
9318     * for administration of the medication to a patient. The resource is called
9319     * "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder"
9320     * to generalize the use across inpatient and outpatient settings, including
9321     * care plans, etc., and to harmonize with workflow patterns.
9322     */
9323    MEDICATIONREQUEST,
9324    /**
9325     * A record of a medication that is being consumed by a patient. A
9326     * MedicationStatement may indicate that the patient may be taking the
9327     * medication now or has taken the medication in the past or will be taking the
9328     * medication in the future. The source of this information can be the patient,
9329     * significant other (such as a family member or spouse), or a clinician. A
9330     * common scenario where this information is captured is during the history
9331     * taking process during a patient visit or stay. The medication information may
9332     * come from sources such as the patient's memory, from a prescription bottle,
9333     * or from a list of medications the patient, clinician or other party
9334     * maintains.
9335     * 
9336     * The primary difference between a medication statement and a medication
9337     * administration is that the medication administration has complete
9338     * administration information and is based on actual administration information
9339     * from the person who administered the medication. A medication statement is
9340     * often, if not always, less specific. There is no required date/time when the
9341     * medication was administered, in fact we only know that a source has reported
9342     * the patient is taking this medication, where details such as time, quantity,
9343     * or rate or even medication product may be incomplete or missing or less
9344     * precise. As stated earlier, the medication statement information may come
9345     * from the patient's memory, from a prescription bottle or from a list of
9346     * medications the patient, clinician or other party maintains. Medication
9347     * administration is more formal and is not missing detailed information.
9348     */
9349    MEDICATIONSTATEMENT,
9350    /**
9351     * Detailed definition of a medicinal product, typically for uses other than
9352     * direct patient care (e.g. regulatory use).
9353     */
9354    MEDICINALPRODUCT,
9355    /**
9356     * The regulatory authorization of a medicinal product.
9357     */
9358    MEDICINALPRODUCTAUTHORIZATION,
9359    /**
9360     * The clinical particulars - indications, contraindications etc. of a medicinal
9361     * product, including for regulatory purposes.
9362     */
9363    MEDICINALPRODUCTCONTRAINDICATION,
9364    /**
9365     * Indication for the Medicinal Product.
9366     */
9367    MEDICINALPRODUCTINDICATION,
9368    /**
9369     * An ingredient of a manufactured item or pharmaceutical product.
9370     */
9371    MEDICINALPRODUCTINGREDIENT,
9372    /**
9373     * The interactions of the medicinal product with other medicinal products, or
9374     * other forms of interactions.
9375     */
9376    MEDICINALPRODUCTINTERACTION,
9377    /**
9378     * The manufactured item as contained in the packaged medicinal product.
9379     */
9380    MEDICINALPRODUCTMANUFACTURED,
9381    /**
9382     * A medicinal product in a container or package.
9383     */
9384    MEDICINALPRODUCTPACKAGED,
9385    /**
9386     * A pharmaceutical product described in terms of its composition and dose form.
9387     */
9388    MEDICINALPRODUCTPHARMACEUTICAL,
9389    /**
9390     * Describe the undesirable effects of the medicinal product.
9391     */
9392    MEDICINALPRODUCTUNDESIRABLEEFFECT,
9393    /**
9394     * Defines the characteristics of a message that can be shared between systems,
9395     * including the type of event that initiates the message, the content to be
9396     * transmitted and what response(s), if any, are permitted.
9397     */
9398    MESSAGEDEFINITION,
9399    /**
9400     * The header for a message exchange that is either requesting or responding to
9401     * an action. The reference(s) that are the subject of the action as well as
9402     * other information related to the action are typically transmitted in a bundle
9403     * in which the MessageHeader resource instance is the first resource in the
9404     * bundle.
9405     */
9406    MESSAGEHEADER,
9407    /**
9408     * Raw data describing a biological sequence.
9409     */
9410    MOLECULARSEQUENCE,
9411    /**
9412     * A curated namespace that issues unique symbols within that namespace for the
9413     * identification of concepts, people, devices, etc. Represents a "System" used
9414     * within the Identifier and Coding data types.
9415     */
9416    NAMINGSYSTEM,
9417    /**
9418     * A request to supply a diet, formula feeding (enteral) or oral nutritional
9419     * supplement to a patient/resident.
9420     */
9421    NUTRITIONORDER,
9422    /**
9423     * Measurements and simple assertions made about a patient, device or other
9424     * subject.
9425     */
9426    OBSERVATION,
9427    /**
9428     * Set of definitional characteristics for a kind of observation or measurement
9429     * produced or consumed by an orderable health care service.
9430     */
9431    OBSERVATIONDEFINITION,
9432    /**
9433     * A formal computable definition of an operation (on the RESTful interface) or
9434     * a named query (using the search interaction).
9435     */
9436    OPERATIONDEFINITION,
9437    /**
9438     * A collection of error, warning, or information messages that result from a
9439     * system action.
9440     */
9441    OPERATIONOUTCOME,
9442    /**
9443     * A formally or informally recognized grouping of people or organizations
9444     * formed for the purpose of achieving some form of collective action. Includes
9445     * companies, institutions, corporations, departments, community groups,
9446     * healthcare practice groups, payer/insurer, etc.
9447     */
9448    ORGANIZATION,
9449    /**
9450     * Defines an affiliation/assotiation/relationship between 2 distinct
9451     * oganizations, that is not a part-of relationship/sub-division relationship.
9452     */
9453    ORGANIZATIONAFFILIATION,
9454    /**
9455     * This resource is a non-persisted resource used to pass information into and
9456     * back from an [operation](operations.html). It has no other use, and there is
9457     * no RESTful endpoint associated with it.
9458     */
9459    PARAMETERS,
9460    /**
9461     * Demographics and other administrative information about an individual or
9462     * animal receiving care or other health-related services.
9463     */
9464    PATIENT,
9465    /**
9466     * This resource provides the status of the payment for goods and services
9467     * rendered, and the request and response resource references.
9468     */
9469    PAYMENTNOTICE,
9470    /**
9471     * This resource provides the details including amount of a payment and
9472     * allocates the payment items being paid.
9473     */
9474    PAYMENTRECONCILIATION,
9475    /**
9476     * Demographics and administrative information about a person independent of a
9477     * specific health-related context.
9478     */
9479    PERSON,
9480    /**
9481     * This resource allows for the definition of various types of plans as a
9482     * sharable, consumable, and executable artifact. The resource is general enough
9483     * to support the description of a broad range of clinical artifacts such as
9484     * clinical decision support rules, order sets and protocols.
9485     */
9486    PLANDEFINITION,
9487    /**
9488     * A person who is directly or indirectly involved in the provisioning of
9489     * healthcare.
9490     */
9491    PRACTITIONER,
9492    /**
9493     * A specific set of Roles/Locations/specialties/services that a practitioner
9494     * may perform at an organization for a period of time.
9495     */
9496    PRACTITIONERROLE,
9497    /**
9498     * An action that is or was performed on or for a patient. This can be a
9499     * physical intervention like an operation, or less invasive like long term
9500     * services, counseling, or hypnotherapy.
9501     */
9502    PROCEDURE,
9503    /**
9504     * Provenance of a resource is a record that describes entities and processes
9505     * involved in producing and delivering or otherwise influencing that resource.
9506     * Provenance provides a critical foundation for assessing authenticity,
9507     * enabling trust, and allowing reproducibility. Provenance assertions are a
9508     * form of contextual metadata and can themselves become important records with
9509     * their own provenance. Provenance statement indicates clinical significance in
9510     * terms of confidence in authenticity, reliability, and trustworthiness,
9511     * integrity, and stage in lifecycle (e.g. Document Completion - has the
9512     * artifact been legally authenticated), all of which may impact security,
9513     * privacy, and trust policies.
9514     */
9515    PROVENANCE,
9516    /**
9517     * A structured set of questions intended to guide the collection of answers
9518     * from end-users. Questionnaires provide detailed control over order,
9519     * presentation, phraseology and grouping to allow coherent, consistent data
9520     * collection.
9521     */
9522    QUESTIONNAIRE,
9523    /**
9524     * A structured set of questions and their answers. The questions are ordered
9525     * and grouped into coherent subsets, corresponding to the structure of the
9526     * grouping of the questionnaire being responded to.
9527     */
9528    QUESTIONNAIRERESPONSE,
9529    /**
9530     * Information about a person that is involved in the care for a patient, but
9531     * who is not the target of healthcare, nor has a formal responsibility in the
9532     * care process.
9533     */
9534    RELATEDPERSON,
9535    /**
9536     * A group of related requests that can be used to capture intended activities
9537     * that have inter-dependencies such as "give this medication after that one".
9538     */
9539    REQUESTGROUP,
9540    /**
9541     * The ResearchDefinition resource describes the conditional state (population
9542     * and any exposures being compared within the population) and outcome (if
9543     * specified) that the knowledge (evidence, assertion, recommendation) is about.
9544     */
9545    RESEARCHDEFINITION,
9546    /**
9547     * The ResearchElementDefinition resource describes a "PICO" element that
9548     * knowledge (evidence, assertion, recommendation) is about.
9549     */
9550    RESEARCHELEMENTDEFINITION,
9551    /**
9552     * A process where a researcher or organization plans and then executes a series
9553     * of steps intended to increase the field of healthcare-related knowledge. This
9554     * includes studies of safety, efficacy, comparative effectiveness and other
9555     * information about medications, devices, therapies and other interventional
9556     * and investigative techniques. A ResearchStudy involves the gathering of
9557     * information about human or animal subjects.
9558     */
9559    RESEARCHSTUDY,
9560    /**
9561     * A physical entity which is the primary unit of operational and/or
9562     * administrative interest in a study.
9563     */
9564    RESEARCHSUBJECT,
9565    /**
9566     * This is the base resource type for everything.
9567     */
9568    RESOURCE,
9569    /**
9570     * An assessment of the likely outcome(s) for a patient or other subject as well
9571     * as the likelihood of each outcome.
9572     */
9573    RISKASSESSMENT,
9574    /**
9575     * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in
9576     * a population plus exposure state where the risk estimate is derived from a
9577     * combination of research studies.
9578     */
9579    RISKEVIDENCESYNTHESIS,
9580    /**
9581     * A container for slots of time that may be available for booking appointments.
9582     */
9583    SCHEDULE,
9584    /**
9585     * A search parameter that defines a named search item that can be used to
9586     * search/filter on a resource.
9587     */
9588    SEARCHPARAMETER,
9589    /**
9590     * A record of a request for service such as diagnostic investigations,
9591     * treatments, or operations to be performed.
9592     */
9593    SERVICEREQUEST,
9594    /**
9595     * A slot of time on a schedule that may be available for booking appointments.
9596     */
9597    SLOT,
9598    /**
9599     * A sample to be used for analysis.
9600     */
9601    SPECIMEN,
9602    /**
9603     * A kind of specimen with associated set of requirements.
9604     */
9605    SPECIMENDEFINITION,
9606    /**
9607     * A definition of a FHIR structure. This resource is used to describe the
9608     * underlying resources, data types defined in FHIR, and also for describing
9609     * extensions and constraints on resources and data types.
9610     */
9611    STRUCTUREDEFINITION,
9612    /**
9613     * A Map of relationships between 2 structures that can be used to transform
9614     * data.
9615     */
9616    STRUCTUREMAP,
9617    /**
9618     * The subscription resource is used to define a push-based subscription from a
9619     * server to another system. Once a subscription is registered with the server,
9620     * the server checks every resource that is created or updated, and if the
9621     * resource matches the given criteria, it sends a message on the defined
9622     * "channel" so that another system can take an appropriate action.
9623     */
9624    SUBSCRIPTION,
9625    /**
9626     * A homogeneous material with a definite composition.
9627     */
9628    SUBSTANCE,
9629    /**
9630     * Nucleic acids are defined by three distinct elements: the base, sugar and
9631     * linkage. Individual substance/moiety IDs will be created for each of these
9632     * elements. The nucleotide sequence will be always entered in the 5?-3?
9633     * direction.
9634     */
9635    SUBSTANCENUCLEICACID,
9636    /**
9637     * Todo.
9638     */
9639    SUBSTANCEPOLYMER,
9640    /**
9641     * A SubstanceProtein is defined as a single unit of a linear amino acid
9642     * sequence, or a combination of subunits that are either covalently linked or
9643     * have a defined invariant stoichiometric relationship. This includes all
9644     * synthetic, recombinant and purified SubstanceProteins of defined sequence,
9645     * whether the use is therapeutic or prophylactic. This set of elements will be
9646     * used to describe albumins, coagulation factors, cytokines, growth factors,
9647     * peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant
9648     * vaccines, and immunomodulators.
9649     */
9650    SUBSTANCEPROTEIN,
9651    /**
9652     * Todo.
9653     */
9654    SUBSTANCEREFERENCEINFORMATION,
9655    /**
9656     * Source material shall capture information on the taxonomic and anatomical
9657     * origins as well as the fraction of a material that can result in or can be
9658     * modified to form a substance. This set of data elements shall be used to
9659     * define polymer substances isolated from biological matrices. Taxonomic and
9660     * anatomical origins shall be described using a controlled vocabulary as
9661     * required. This information is captured for naturally derived polymers ( .
9662     * starch) and structurally diverse substances. For Organisms belonging to the
9663     * Kingdom Plantae the Substance level defines the fresh material of a single
9664     * species or infraspecies, the Herbal Drug and the Herbal preparation. For
9665     * Herbal preparations, the fraction information will be captured at the
9666     * Substance information level and additional information for herbal extracts
9667     * will be captured at the Specified Substance Group 1 information level. See
9668     * for further explanation the Substance Class: Structurally Diverse and the
9669     * herbal annex.
9670     */
9671    SUBSTANCESOURCEMATERIAL,
9672    /**
9673     * The detailed description of a substance, typically at a level beyond what is
9674     * used for prescribing.
9675     */
9676    SUBSTANCESPECIFICATION,
9677    /**
9678     * Record of delivery of what is supplied.
9679     */
9680    SUPPLYDELIVERY,
9681    /**
9682     * A record of a request for a medication, substance or device used in the
9683     * healthcare setting.
9684     */
9685    SUPPLYREQUEST,
9686    /**
9687     * A task to be performed.
9688     */
9689    TASK,
9690    /**
9691     * A Terminology Capabilities documents a set of capabilities (behaviors) of a
9692     * FHIR Server that may be used as a statement of actual server functionality or
9693     * a statement of required or desired server implementation.
9694     */
9695    TERMINOLOGYCAPABILITIES,
9696    /**
9697     * A summary of information based on the results of executing a TestScript.
9698     */
9699    TESTREPORT,
9700    /**
9701     * A structured set of tests against a FHIR server or client implementation to
9702     * determine compliance against the FHIR specification.
9703     */
9704    TESTSCRIPT,
9705    /**
9706     * A ValueSet resource instance specifies a set of codes drawn from one or more
9707     * code systems, intended for use in a particular context. Value sets link
9708     * between [[[CodeSystem]]] definitions and their use in [coded
9709     * elements](terminologies.html).
9710     */
9711    VALUESET,
9712    /**
9713     * Describes validation requirements, source(s), status and dates for one or
9714     * more elements.
9715     */
9716    VERIFICATIONRESULT,
9717    /**
9718     * An authorization for the provision of glasses and/or contact lenses to a
9719     * patient.
9720     */
9721    VISIONPRESCRIPTION,
9722    /**
9723     * added to help the parsers
9724     */
9725    NULL;
9726
9727    public static FHIRDefinedType fromCode(String codeString) throws FHIRException {
9728      if (codeString == null || "".equals(codeString))
9729        return null;
9730      if ("Address".equals(codeString))
9731        return ADDRESS;
9732      if ("Age".equals(codeString))
9733        return AGE;
9734      if ("Annotation".equals(codeString))
9735        return ANNOTATION;
9736      if ("Attachment".equals(codeString))
9737        return ATTACHMENT;
9738      if ("BackboneElement".equals(codeString))
9739        return BACKBONEELEMENT;
9740      if ("CodeableConcept".equals(codeString))
9741        return CODEABLECONCEPT;
9742      if ("Coding".equals(codeString))
9743        return CODING;
9744      if ("ContactDetail".equals(codeString))
9745        return CONTACTDETAIL;
9746      if ("ContactPoint".equals(codeString))
9747        return CONTACTPOINT;
9748      if ("Contributor".equals(codeString))
9749        return CONTRIBUTOR;
9750      if ("Count".equals(codeString))
9751        return COUNT;
9752      if ("DataRequirement".equals(codeString))
9753        return DATAREQUIREMENT;
9754      if ("Distance".equals(codeString))
9755        return DISTANCE;
9756      if ("Dosage".equals(codeString))
9757        return DOSAGE;
9758      if ("Duration".equals(codeString))
9759        return DURATION;
9760      if ("Element".equals(codeString))
9761        return ELEMENT;
9762      if ("ElementDefinition".equals(codeString))
9763        return ELEMENTDEFINITION;
9764      if ("Expression".equals(codeString))
9765        return EXPRESSION;
9766      if ("Extension".equals(codeString))
9767        return EXTENSION;
9768      if ("HumanName".equals(codeString))
9769        return HUMANNAME;
9770      if ("Identifier".equals(codeString))
9771        return IDENTIFIER;
9772      if ("MarketingStatus".equals(codeString))
9773        return MARKETINGSTATUS;
9774      if ("Meta".equals(codeString))
9775        return META;
9776      if ("Money".equals(codeString))
9777        return MONEY;
9778      if ("MoneyQuantity".equals(codeString))
9779        return MONEYQUANTITY;
9780      if ("Narrative".equals(codeString))
9781        return NARRATIVE;
9782      if ("ParameterDefinition".equals(codeString))
9783        return PARAMETERDEFINITION;
9784      if ("Period".equals(codeString))
9785        return PERIOD;
9786      if ("Population".equals(codeString))
9787        return POPULATION;
9788      if ("ProdCharacteristic".equals(codeString))
9789        return PRODCHARACTERISTIC;
9790      if ("ProductShelfLife".equals(codeString))
9791        return PRODUCTSHELFLIFE;
9792      if ("Quantity".equals(codeString))
9793        return QUANTITY;
9794      if ("Range".equals(codeString))
9795        return RANGE;
9796      if ("Ratio".equals(codeString))
9797        return RATIO;
9798      if ("Reference".equals(codeString))
9799        return REFERENCE;
9800      if ("RelatedArtifact".equals(codeString))
9801        return RELATEDARTIFACT;
9802      if ("SampledData".equals(codeString))
9803        return SAMPLEDDATA;
9804      if ("Signature".equals(codeString))
9805        return SIGNATURE;
9806      if ("SimpleQuantity".equals(codeString))
9807        return SIMPLEQUANTITY;
9808      if ("SubstanceAmount".equals(codeString))
9809        return SUBSTANCEAMOUNT;
9810      if ("Timing".equals(codeString))
9811        return TIMING;
9812      if ("TriggerDefinition".equals(codeString))
9813        return TRIGGERDEFINITION;
9814      if ("UsageContext".equals(codeString))
9815        return USAGECONTEXT;
9816      if ("base64Binary".equals(codeString))
9817        return BASE64BINARY;
9818      if ("boolean".equals(codeString))
9819        return BOOLEAN;
9820      if ("canonical".equals(codeString))
9821        return CANONICAL;
9822      if ("code".equals(codeString))
9823        return CODE;
9824      if ("date".equals(codeString))
9825        return DATE;
9826      if ("dateTime".equals(codeString))
9827        return DATETIME;
9828      if ("decimal".equals(codeString))
9829        return DECIMAL;
9830      if ("id".equals(codeString))
9831        return ID;
9832      if ("instant".equals(codeString))
9833        return INSTANT;
9834      if ("integer".equals(codeString))
9835        return INTEGER;
9836      if ("markdown".equals(codeString))
9837        return MARKDOWN;
9838      if ("oid".equals(codeString))
9839        return OID;
9840      if ("positiveInt".equals(codeString))
9841        return POSITIVEINT;
9842      if ("string".equals(codeString))
9843        return STRING;
9844      if ("time".equals(codeString))
9845        return TIME;
9846      if ("unsignedInt".equals(codeString))
9847        return UNSIGNEDINT;
9848      if ("uri".equals(codeString))
9849        return URI;
9850      if ("url".equals(codeString))
9851        return URL;
9852      if ("uuid".equals(codeString))
9853        return UUID;
9854      if ("xhtml".equals(codeString))
9855        return XHTML;
9856      if ("Account".equals(codeString))
9857        return ACCOUNT;
9858      if ("ActivityDefinition".equals(codeString))
9859        return ACTIVITYDEFINITION;
9860      if ("AdverseEvent".equals(codeString))
9861        return ADVERSEEVENT;
9862      if ("AllergyIntolerance".equals(codeString))
9863        return ALLERGYINTOLERANCE;
9864      if ("Appointment".equals(codeString))
9865        return APPOINTMENT;
9866      if ("AppointmentResponse".equals(codeString))
9867        return APPOINTMENTRESPONSE;
9868      if ("AuditEvent".equals(codeString))
9869        return AUDITEVENT;
9870      if ("Basic".equals(codeString))
9871        return BASIC;
9872      if ("Binary".equals(codeString))
9873        return BINARY;
9874      if ("BiologicallyDerivedProduct".equals(codeString))
9875        return BIOLOGICALLYDERIVEDPRODUCT;
9876      if ("BodyStructure".equals(codeString))
9877        return BODYSTRUCTURE;
9878      if ("Bundle".equals(codeString))
9879        return BUNDLE;
9880      if ("CapabilityStatement".equals(codeString))
9881        return CAPABILITYSTATEMENT;
9882      if ("CarePlan".equals(codeString))
9883        return CAREPLAN;
9884      if ("CareTeam".equals(codeString))
9885        return CARETEAM;
9886      if ("CatalogEntry".equals(codeString))
9887        return CATALOGENTRY;
9888      if ("ChargeItem".equals(codeString))
9889        return CHARGEITEM;
9890      if ("ChargeItemDefinition".equals(codeString))
9891        return CHARGEITEMDEFINITION;
9892      if ("Claim".equals(codeString))
9893        return CLAIM;
9894      if ("ClaimResponse".equals(codeString))
9895        return CLAIMRESPONSE;
9896      if ("ClinicalImpression".equals(codeString))
9897        return CLINICALIMPRESSION;
9898      if ("CodeSystem".equals(codeString))
9899        return CODESYSTEM;
9900      if ("Communication".equals(codeString))
9901        return COMMUNICATION;
9902      if ("CommunicationRequest".equals(codeString))
9903        return COMMUNICATIONREQUEST;
9904      if ("CompartmentDefinition".equals(codeString))
9905        return COMPARTMENTDEFINITION;
9906      if ("Composition".equals(codeString))
9907        return COMPOSITION;
9908      if ("ConceptMap".equals(codeString))
9909        return CONCEPTMAP;
9910      if ("Condition".equals(codeString))
9911        return CONDITION;
9912      if ("Consent".equals(codeString))
9913        return CONSENT;
9914      if ("Contract".equals(codeString))
9915        return CONTRACT;
9916      if ("Coverage".equals(codeString))
9917        return COVERAGE;
9918      if ("CoverageEligibilityRequest".equals(codeString))
9919        return COVERAGEELIGIBILITYREQUEST;
9920      if ("CoverageEligibilityResponse".equals(codeString))
9921        return COVERAGEELIGIBILITYRESPONSE;
9922      if ("DetectedIssue".equals(codeString))
9923        return DETECTEDISSUE;
9924      if ("Device".equals(codeString))
9925        return DEVICE;
9926      if ("DeviceDefinition".equals(codeString))
9927        return DEVICEDEFINITION;
9928      if ("DeviceMetric".equals(codeString))
9929        return DEVICEMETRIC;
9930      if ("DeviceRequest".equals(codeString))
9931        return DEVICEREQUEST;
9932      if ("DeviceUseStatement".equals(codeString))
9933        return DEVICEUSESTATEMENT;
9934      if ("DiagnosticReport".equals(codeString))
9935        return DIAGNOSTICREPORT;
9936      if ("DocumentManifest".equals(codeString))
9937        return DOCUMENTMANIFEST;
9938      if ("DocumentReference".equals(codeString))
9939        return DOCUMENTREFERENCE;
9940      if ("DomainResource".equals(codeString))
9941        return DOMAINRESOURCE;
9942      if ("EffectEvidenceSynthesis".equals(codeString))
9943        return EFFECTEVIDENCESYNTHESIS;
9944      if ("Encounter".equals(codeString))
9945        return ENCOUNTER;
9946      if ("Endpoint".equals(codeString))
9947        return ENDPOINT;
9948      if ("EnrollmentRequest".equals(codeString))
9949        return ENROLLMENTREQUEST;
9950      if ("EnrollmentResponse".equals(codeString))
9951        return ENROLLMENTRESPONSE;
9952      if ("EpisodeOfCare".equals(codeString))
9953        return EPISODEOFCARE;
9954      if ("EventDefinition".equals(codeString))
9955        return EVENTDEFINITION;
9956      if ("Evidence".equals(codeString))
9957        return EVIDENCE;
9958      if ("EvidenceVariable".equals(codeString))
9959        return EVIDENCEVARIABLE;
9960      if ("ExampleScenario".equals(codeString))
9961        return EXAMPLESCENARIO;
9962      if ("ExplanationOfBenefit".equals(codeString))
9963        return EXPLANATIONOFBENEFIT;
9964      if ("FamilyMemberHistory".equals(codeString))
9965        return FAMILYMEMBERHISTORY;
9966      if ("Flag".equals(codeString))
9967        return FLAG;
9968      if ("Goal".equals(codeString))
9969        return GOAL;
9970      if ("GraphDefinition".equals(codeString))
9971        return GRAPHDEFINITION;
9972      if ("Group".equals(codeString))
9973        return GROUP;
9974      if ("GuidanceResponse".equals(codeString))
9975        return GUIDANCERESPONSE;
9976      if ("HealthcareService".equals(codeString))
9977        return HEALTHCARESERVICE;
9978      if ("ImagingStudy".equals(codeString))
9979        return IMAGINGSTUDY;
9980      if ("Immunization".equals(codeString))
9981        return IMMUNIZATION;
9982      if ("ImmunizationEvaluation".equals(codeString))
9983        return IMMUNIZATIONEVALUATION;
9984      if ("ImmunizationRecommendation".equals(codeString))
9985        return IMMUNIZATIONRECOMMENDATION;
9986      if ("ImplementationGuide".equals(codeString))
9987        return IMPLEMENTATIONGUIDE;
9988      if ("InsurancePlan".equals(codeString))
9989        return INSURANCEPLAN;
9990      if ("Invoice".equals(codeString))
9991        return INVOICE;
9992      if ("Library".equals(codeString))
9993        return LIBRARY;
9994      if ("Linkage".equals(codeString))
9995        return LINKAGE;
9996      if ("List".equals(codeString))
9997        return LIST;
9998      if ("Location".equals(codeString))
9999        return LOCATION;
10000      if ("Measure".equals(codeString))
10001        return MEASURE;
10002      if ("MeasureReport".equals(codeString))
10003        return MEASUREREPORT;
10004      if ("Media".equals(codeString))
10005        return MEDIA;
10006      if ("Medication".equals(codeString))
10007        return MEDICATION;
10008      if ("MedicationAdministration".equals(codeString))
10009        return MEDICATIONADMINISTRATION;
10010      if ("MedicationDispense".equals(codeString))
10011        return MEDICATIONDISPENSE;
10012      if ("MedicationKnowledge".equals(codeString))
10013        return MEDICATIONKNOWLEDGE;
10014      if ("MedicationRequest".equals(codeString))
10015        return MEDICATIONREQUEST;
10016      if ("MedicationStatement".equals(codeString))
10017        return MEDICATIONSTATEMENT;
10018      if ("MedicinalProduct".equals(codeString))
10019        return MEDICINALPRODUCT;
10020      if ("MedicinalProductAuthorization".equals(codeString))
10021        return MEDICINALPRODUCTAUTHORIZATION;
10022      if ("MedicinalProductContraindication".equals(codeString))
10023        return MEDICINALPRODUCTCONTRAINDICATION;
10024      if ("MedicinalProductIndication".equals(codeString))
10025        return MEDICINALPRODUCTINDICATION;
10026      if ("MedicinalProductIngredient".equals(codeString))
10027        return MEDICINALPRODUCTINGREDIENT;
10028      if ("MedicinalProductInteraction".equals(codeString))
10029        return MEDICINALPRODUCTINTERACTION;
10030      if ("MedicinalProductManufactured".equals(codeString))
10031        return MEDICINALPRODUCTMANUFACTURED;
10032      if ("MedicinalProductPackaged".equals(codeString))
10033        return MEDICINALPRODUCTPACKAGED;
10034      if ("MedicinalProductPharmaceutical".equals(codeString))
10035        return MEDICINALPRODUCTPHARMACEUTICAL;
10036      if ("MedicinalProductUndesirableEffect".equals(codeString))
10037        return MEDICINALPRODUCTUNDESIRABLEEFFECT;
10038      if ("MessageDefinition".equals(codeString))
10039        return MESSAGEDEFINITION;
10040      if ("MessageHeader".equals(codeString))
10041        return MESSAGEHEADER;
10042      if ("MolecularSequence".equals(codeString))
10043        return MOLECULARSEQUENCE;
10044      if ("NamingSystem".equals(codeString))
10045        return NAMINGSYSTEM;
10046      if ("NutritionOrder".equals(codeString))
10047        return NUTRITIONORDER;
10048      if ("Observation".equals(codeString))
10049        return OBSERVATION;
10050      if ("ObservationDefinition".equals(codeString))
10051        return OBSERVATIONDEFINITION;
10052      if ("OperationDefinition".equals(codeString))
10053        return OPERATIONDEFINITION;
10054      if ("OperationOutcome".equals(codeString))
10055        return OPERATIONOUTCOME;
10056      if ("Organization".equals(codeString))
10057        return ORGANIZATION;
10058      if ("OrganizationAffiliation".equals(codeString))
10059        return ORGANIZATIONAFFILIATION;
10060      if ("Parameters".equals(codeString))
10061        return PARAMETERS;
10062      if ("Patient".equals(codeString))
10063        return PATIENT;
10064      if ("PaymentNotice".equals(codeString))
10065        return PAYMENTNOTICE;
10066      if ("PaymentReconciliation".equals(codeString))
10067        return PAYMENTRECONCILIATION;
10068      if ("Person".equals(codeString))
10069        return PERSON;
10070      if ("PlanDefinition".equals(codeString))
10071        return PLANDEFINITION;
10072      if ("Practitioner".equals(codeString))
10073        return PRACTITIONER;
10074      if ("PractitionerRole".equals(codeString))
10075        return PRACTITIONERROLE;
10076      if ("Procedure".equals(codeString))
10077        return PROCEDURE;
10078      if ("Provenance".equals(codeString))
10079        return PROVENANCE;
10080      if ("Questionnaire".equals(codeString))
10081        return QUESTIONNAIRE;
10082      if ("QuestionnaireResponse".equals(codeString))
10083        return QUESTIONNAIRERESPONSE;
10084      if ("RelatedPerson".equals(codeString))
10085        return RELATEDPERSON;
10086      if ("RequestGroup".equals(codeString))
10087        return REQUESTGROUP;
10088      if ("ResearchDefinition".equals(codeString))
10089        return RESEARCHDEFINITION;
10090      if ("ResearchElementDefinition".equals(codeString))
10091        return RESEARCHELEMENTDEFINITION;
10092      if ("ResearchStudy".equals(codeString))
10093        return RESEARCHSTUDY;
10094      if ("ResearchSubject".equals(codeString))
10095        return RESEARCHSUBJECT;
10096      if ("Resource".equals(codeString))
10097        return RESOURCE;
10098      if ("RiskAssessment".equals(codeString))
10099        return RISKASSESSMENT;
10100      if ("RiskEvidenceSynthesis".equals(codeString))
10101        return RISKEVIDENCESYNTHESIS;
10102      if ("Schedule".equals(codeString))
10103        return SCHEDULE;
10104      if ("SearchParameter".equals(codeString))
10105        return SEARCHPARAMETER;
10106      if ("ServiceRequest".equals(codeString))
10107        return SERVICEREQUEST;
10108      if ("Slot".equals(codeString))
10109        return SLOT;
10110      if ("Specimen".equals(codeString))
10111        return SPECIMEN;
10112      if ("SpecimenDefinition".equals(codeString))
10113        return SPECIMENDEFINITION;
10114      if ("StructureDefinition".equals(codeString))
10115        return STRUCTUREDEFINITION;
10116      if ("StructureMap".equals(codeString))
10117        return STRUCTUREMAP;
10118      if ("Subscription".equals(codeString))
10119        return SUBSCRIPTION;
10120      if ("Substance".equals(codeString))
10121        return SUBSTANCE;
10122      if ("SubstanceNucleicAcid".equals(codeString))
10123        return SUBSTANCENUCLEICACID;
10124      if ("SubstancePolymer".equals(codeString))
10125        return SUBSTANCEPOLYMER;
10126      if ("SubstanceProtein".equals(codeString))
10127        return SUBSTANCEPROTEIN;
10128      if ("SubstanceReferenceInformation".equals(codeString))
10129        return SUBSTANCEREFERENCEINFORMATION;
10130      if ("SubstanceSourceMaterial".equals(codeString))
10131        return SUBSTANCESOURCEMATERIAL;
10132      if ("SubstanceSpecification".equals(codeString))
10133        return SUBSTANCESPECIFICATION;
10134      if ("SupplyDelivery".equals(codeString))
10135        return SUPPLYDELIVERY;
10136      if ("SupplyRequest".equals(codeString))
10137        return SUPPLYREQUEST;
10138      if ("Task".equals(codeString))
10139        return TASK;
10140      if ("TerminologyCapabilities".equals(codeString))
10141        return TERMINOLOGYCAPABILITIES;
10142      if ("TestReport".equals(codeString))
10143        return TESTREPORT;
10144      if ("TestScript".equals(codeString))
10145        return TESTSCRIPT;
10146      if ("ValueSet".equals(codeString))
10147        return VALUESET;
10148      if ("VerificationResult".equals(codeString))
10149        return VERIFICATIONRESULT;
10150      if ("VisionPrescription".equals(codeString))
10151        return VISIONPRESCRIPTION;
10152      throw new FHIRException("Unknown FHIRDefinedType code '" + codeString + "'");
10153    }
10154
10155    public String toCode() {
10156      switch (this) {
10157      case ADDRESS:
10158        return "Address";
10159      case AGE:
10160        return "Age";
10161      case ANNOTATION:
10162        return "Annotation";
10163      case ATTACHMENT:
10164        return "Attachment";
10165      case BACKBONEELEMENT:
10166        return "BackboneElement";
10167      case CODEABLECONCEPT:
10168        return "CodeableConcept";
10169      case CODING:
10170        return "Coding";
10171      case CONTACTDETAIL:
10172        return "ContactDetail";
10173      case CONTACTPOINT:
10174        return "ContactPoint";
10175      case CONTRIBUTOR:
10176        return "Contributor";
10177      case COUNT:
10178        return "Count";
10179      case DATAREQUIREMENT:
10180        return "DataRequirement";
10181      case DISTANCE:
10182        return "Distance";
10183      case DOSAGE:
10184        return "Dosage";
10185      case DURATION:
10186        return "Duration";
10187      case ELEMENT:
10188        return "Element";
10189      case ELEMENTDEFINITION:
10190        return "ElementDefinition";
10191      case EXPRESSION:
10192        return "Expression";
10193      case EXTENSION:
10194        return "Extension";
10195      case HUMANNAME:
10196        return "HumanName";
10197      case IDENTIFIER:
10198        return "Identifier";
10199      case MARKETINGSTATUS:
10200        return "MarketingStatus";
10201      case META:
10202        return "Meta";
10203      case MONEY:
10204        return "Money";
10205      case MONEYQUANTITY:
10206        return "MoneyQuantity";
10207      case NARRATIVE:
10208        return "Narrative";
10209      case PARAMETERDEFINITION:
10210        return "ParameterDefinition";
10211      case PERIOD:
10212        return "Period";
10213      case POPULATION:
10214        return "Population";
10215      case PRODCHARACTERISTIC:
10216        return "ProdCharacteristic";
10217      case PRODUCTSHELFLIFE:
10218        return "ProductShelfLife";
10219      case QUANTITY:
10220        return "Quantity";
10221      case RANGE:
10222        return "Range";
10223      case RATIO:
10224        return "Ratio";
10225      case REFERENCE:
10226        return "Reference";
10227      case RELATEDARTIFACT:
10228        return "RelatedArtifact";
10229      case SAMPLEDDATA:
10230        return "SampledData";
10231      case SIGNATURE:
10232        return "Signature";
10233      case SIMPLEQUANTITY:
10234        return "SimpleQuantity";
10235      case SUBSTANCEAMOUNT:
10236        return "SubstanceAmount";
10237      case TIMING:
10238        return "Timing";
10239      case TRIGGERDEFINITION:
10240        return "TriggerDefinition";
10241      case USAGECONTEXT:
10242        return "UsageContext";
10243      case BASE64BINARY:
10244        return "base64Binary";
10245      case BOOLEAN:
10246        return "boolean";
10247      case CANONICAL:
10248        return "canonical";
10249      case CODE:
10250        return "code";
10251      case DATE:
10252        return "date";
10253      case DATETIME:
10254        return "dateTime";
10255      case DECIMAL:
10256        return "decimal";
10257      case ID:
10258        return "id";
10259      case INSTANT:
10260        return "instant";
10261      case INTEGER:
10262        return "integer";
10263      case MARKDOWN:
10264        return "markdown";
10265      case OID:
10266        return "oid";
10267      case POSITIVEINT:
10268        return "positiveInt";
10269      case STRING:
10270        return "string";
10271      case TIME:
10272        return "time";
10273      case UNSIGNEDINT:
10274        return "unsignedInt";
10275      case URI:
10276        return "uri";
10277      case URL:
10278        return "url";
10279      case UUID:
10280        return "uuid";
10281      case XHTML:
10282        return "xhtml";
10283      case ACCOUNT:
10284        return "Account";
10285      case ACTIVITYDEFINITION:
10286        return "ActivityDefinition";
10287      case ADVERSEEVENT:
10288        return "AdverseEvent";
10289      case ALLERGYINTOLERANCE:
10290        return "AllergyIntolerance";
10291      case APPOINTMENT:
10292        return "Appointment";
10293      case APPOINTMENTRESPONSE:
10294        return "AppointmentResponse";
10295      case AUDITEVENT:
10296        return "AuditEvent";
10297      case BASIC:
10298        return "Basic";
10299      case BINARY:
10300        return "Binary";
10301      case BIOLOGICALLYDERIVEDPRODUCT:
10302        return "BiologicallyDerivedProduct";
10303      case BODYSTRUCTURE:
10304        return "BodyStructure";
10305      case BUNDLE:
10306        return "Bundle";
10307      case CAPABILITYSTATEMENT:
10308        return "CapabilityStatement";
10309      case CAREPLAN:
10310        return "CarePlan";
10311      case CARETEAM:
10312        return "CareTeam";
10313      case CATALOGENTRY:
10314        return "CatalogEntry";
10315      case CHARGEITEM:
10316        return "ChargeItem";
10317      case CHARGEITEMDEFINITION:
10318        return "ChargeItemDefinition";
10319      case CLAIM:
10320        return "Claim";
10321      case CLAIMRESPONSE:
10322        return "ClaimResponse";
10323      case CLINICALIMPRESSION:
10324        return "ClinicalImpression";
10325      case CODESYSTEM:
10326        return "CodeSystem";
10327      case COMMUNICATION:
10328        return "Communication";
10329      case COMMUNICATIONREQUEST:
10330        return "CommunicationRequest";
10331      case COMPARTMENTDEFINITION:
10332        return "CompartmentDefinition";
10333      case COMPOSITION:
10334        return "Composition";
10335      case CONCEPTMAP:
10336        return "ConceptMap";
10337      case CONDITION:
10338        return "Condition";
10339      case CONSENT:
10340        return "Consent";
10341      case CONTRACT:
10342        return "Contract";
10343      case COVERAGE:
10344        return "Coverage";
10345      case COVERAGEELIGIBILITYREQUEST:
10346        return "CoverageEligibilityRequest";
10347      case COVERAGEELIGIBILITYRESPONSE:
10348        return "CoverageEligibilityResponse";
10349      case DETECTEDISSUE:
10350        return "DetectedIssue";
10351      case DEVICE:
10352        return "Device";
10353      case DEVICEDEFINITION:
10354        return "DeviceDefinition";
10355      case DEVICEMETRIC:
10356        return "DeviceMetric";
10357      case DEVICEREQUEST:
10358        return "DeviceRequest";
10359      case DEVICEUSESTATEMENT:
10360        return "DeviceUseStatement";
10361      case DIAGNOSTICREPORT:
10362        return "DiagnosticReport";
10363      case DOCUMENTMANIFEST:
10364        return "DocumentManifest";
10365      case DOCUMENTREFERENCE:
10366        return "DocumentReference";
10367      case DOMAINRESOURCE:
10368        return "DomainResource";
10369      case EFFECTEVIDENCESYNTHESIS:
10370        return "EffectEvidenceSynthesis";
10371      case ENCOUNTER:
10372        return "Encounter";
10373      case ENDPOINT:
10374        return "Endpoint";
10375      case ENROLLMENTREQUEST:
10376        return "EnrollmentRequest";
10377      case ENROLLMENTRESPONSE:
10378        return "EnrollmentResponse";
10379      case EPISODEOFCARE:
10380        return "EpisodeOfCare";
10381      case EVENTDEFINITION:
10382        return "EventDefinition";
10383      case EVIDENCE:
10384        return "Evidence";
10385      case EVIDENCEVARIABLE:
10386        return "EvidenceVariable";
10387      case EXAMPLESCENARIO:
10388        return "ExampleScenario";
10389      case EXPLANATIONOFBENEFIT:
10390        return "ExplanationOfBenefit";
10391      case FAMILYMEMBERHISTORY:
10392        return "FamilyMemberHistory";
10393      case FLAG:
10394        return "Flag";
10395      case GOAL:
10396        return "Goal";
10397      case GRAPHDEFINITION:
10398        return "GraphDefinition";
10399      case GROUP:
10400        return "Group";
10401      case GUIDANCERESPONSE:
10402        return "GuidanceResponse";
10403      case HEALTHCARESERVICE:
10404        return "HealthcareService";
10405      case IMAGINGSTUDY:
10406        return "ImagingStudy";
10407      case IMMUNIZATION:
10408        return "Immunization";
10409      case IMMUNIZATIONEVALUATION:
10410        return "ImmunizationEvaluation";
10411      case IMMUNIZATIONRECOMMENDATION:
10412        return "ImmunizationRecommendation";
10413      case IMPLEMENTATIONGUIDE:
10414        return "ImplementationGuide";
10415      case INSURANCEPLAN:
10416        return "InsurancePlan";
10417      case INVOICE:
10418        return "Invoice";
10419      case LIBRARY:
10420        return "Library";
10421      case LINKAGE:
10422        return "Linkage";
10423      case LIST:
10424        return "List";
10425      case LOCATION:
10426        return "Location";
10427      case MEASURE:
10428        return "Measure";
10429      case MEASUREREPORT:
10430        return "MeasureReport";
10431      case MEDIA:
10432        return "Media";
10433      case MEDICATION:
10434        return "Medication";
10435      case MEDICATIONADMINISTRATION:
10436        return "MedicationAdministration";
10437      case MEDICATIONDISPENSE:
10438        return "MedicationDispense";
10439      case MEDICATIONKNOWLEDGE:
10440        return "MedicationKnowledge";
10441      case MEDICATIONREQUEST:
10442        return "MedicationRequest";
10443      case MEDICATIONSTATEMENT:
10444        return "MedicationStatement";
10445      case MEDICINALPRODUCT:
10446        return "MedicinalProduct";
10447      case MEDICINALPRODUCTAUTHORIZATION:
10448        return "MedicinalProductAuthorization";
10449      case MEDICINALPRODUCTCONTRAINDICATION:
10450        return "MedicinalProductContraindication";
10451      case MEDICINALPRODUCTINDICATION:
10452        return "MedicinalProductIndication";
10453      case MEDICINALPRODUCTINGREDIENT:
10454        return "MedicinalProductIngredient";
10455      case MEDICINALPRODUCTINTERACTION:
10456        return "MedicinalProductInteraction";
10457      case MEDICINALPRODUCTMANUFACTURED:
10458        return "MedicinalProductManufactured";
10459      case MEDICINALPRODUCTPACKAGED:
10460        return "MedicinalProductPackaged";
10461      case MEDICINALPRODUCTPHARMACEUTICAL:
10462        return "MedicinalProductPharmaceutical";
10463      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
10464        return "MedicinalProductUndesirableEffect";
10465      case MESSAGEDEFINITION:
10466        return "MessageDefinition";
10467      case MESSAGEHEADER:
10468        return "MessageHeader";
10469      case MOLECULARSEQUENCE:
10470        return "MolecularSequence";
10471      case NAMINGSYSTEM:
10472        return "NamingSystem";
10473      case NUTRITIONORDER:
10474        return "NutritionOrder";
10475      case OBSERVATION:
10476        return "Observation";
10477      case OBSERVATIONDEFINITION:
10478        return "ObservationDefinition";
10479      case OPERATIONDEFINITION:
10480        return "OperationDefinition";
10481      case OPERATIONOUTCOME:
10482        return "OperationOutcome";
10483      case ORGANIZATION:
10484        return "Organization";
10485      case ORGANIZATIONAFFILIATION:
10486        return "OrganizationAffiliation";
10487      case PARAMETERS:
10488        return "Parameters";
10489      case PATIENT:
10490        return "Patient";
10491      case PAYMENTNOTICE:
10492        return "PaymentNotice";
10493      case PAYMENTRECONCILIATION:
10494        return "PaymentReconciliation";
10495      case PERSON:
10496        return "Person";
10497      case PLANDEFINITION:
10498        return "PlanDefinition";
10499      case PRACTITIONER:
10500        return "Practitioner";
10501      case PRACTITIONERROLE:
10502        return "PractitionerRole";
10503      case PROCEDURE:
10504        return "Procedure";
10505      case PROVENANCE:
10506        return "Provenance";
10507      case QUESTIONNAIRE:
10508        return "Questionnaire";
10509      case QUESTIONNAIRERESPONSE:
10510        return "QuestionnaireResponse";
10511      case RELATEDPERSON:
10512        return "RelatedPerson";
10513      case REQUESTGROUP:
10514        return "RequestGroup";
10515      case RESEARCHDEFINITION:
10516        return "ResearchDefinition";
10517      case RESEARCHELEMENTDEFINITION:
10518        return "ResearchElementDefinition";
10519      case RESEARCHSTUDY:
10520        return "ResearchStudy";
10521      case RESEARCHSUBJECT:
10522        return "ResearchSubject";
10523      case RESOURCE:
10524        return "Resource";
10525      case RISKASSESSMENT:
10526        return "RiskAssessment";
10527      case RISKEVIDENCESYNTHESIS:
10528        return "RiskEvidenceSynthesis";
10529      case SCHEDULE:
10530        return "Schedule";
10531      case SEARCHPARAMETER:
10532        return "SearchParameter";
10533      case SERVICEREQUEST:
10534        return "ServiceRequest";
10535      case SLOT:
10536        return "Slot";
10537      case SPECIMEN:
10538        return "Specimen";
10539      case SPECIMENDEFINITION:
10540        return "SpecimenDefinition";
10541      case STRUCTUREDEFINITION:
10542        return "StructureDefinition";
10543      case STRUCTUREMAP:
10544        return "StructureMap";
10545      case SUBSCRIPTION:
10546        return "Subscription";
10547      case SUBSTANCE:
10548        return "Substance";
10549      case SUBSTANCENUCLEICACID:
10550        return "SubstanceNucleicAcid";
10551      case SUBSTANCEPOLYMER:
10552        return "SubstancePolymer";
10553      case SUBSTANCEPROTEIN:
10554        return "SubstanceProtein";
10555      case SUBSTANCEREFERENCEINFORMATION:
10556        return "SubstanceReferenceInformation";
10557      case SUBSTANCESOURCEMATERIAL:
10558        return "SubstanceSourceMaterial";
10559      case SUBSTANCESPECIFICATION:
10560        return "SubstanceSpecification";
10561      case SUPPLYDELIVERY:
10562        return "SupplyDelivery";
10563      case SUPPLYREQUEST:
10564        return "SupplyRequest";
10565      case TASK:
10566        return "Task";
10567      case TERMINOLOGYCAPABILITIES:
10568        return "TerminologyCapabilities";
10569      case TESTREPORT:
10570        return "TestReport";
10571      case TESTSCRIPT:
10572        return "TestScript";
10573      case VALUESET:
10574        return "ValueSet";
10575      case VERIFICATIONRESULT:
10576        return "VerificationResult";
10577      case VISIONPRESCRIPTION:
10578        return "VisionPrescription";
10579      case NULL:
10580        return null;
10581      default:
10582        return "?";
10583      }
10584    }
10585
10586    public String getSystem() {
10587      switch (this) {
10588      case ADDRESS:
10589        return "http://hl7.org/fhir/data-types";
10590      case AGE:
10591        return "http://hl7.org/fhir/data-types";
10592      case ANNOTATION:
10593        return "http://hl7.org/fhir/data-types";
10594      case ATTACHMENT:
10595        return "http://hl7.org/fhir/data-types";
10596      case BACKBONEELEMENT:
10597        return "http://hl7.org/fhir/data-types";
10598      case CODEABLECONCEPT:
10599        return "http://hl7.org/fhir/data-types";
10600      case CODING:
10601        return "http://hl7.org/fhir/data-types";
10602      case CONTACTDETAIL:
10603        return "http://hl7.org/fhir/data-types";
10604      case CONTACTPOINT:
10605        return "http://hl7.org/fhir/data-types";
10606      case CONTRIBUTOR:
10607        return "http://hl7.org/fhir/data-types";
10608      case COUNT:
10609        return "http://hl7.org/fhir/data-types";
10610      case DATAREQUIREMENT:
10611        return "http://hl7.org/fhir/data-types";
10612      case DISTANCE:
10613        return "http://hl7.org/fhir/data-types";
10614      case DOSAGE:
10615        return "http://hl7.org/fhir/data-types";
10616      case DURATION:
10617        return "http://hl7.org/fhir/data-types";
10618      case ELEMENT:
10619        return "http://hl7.org/fhir/data-types";
10620      case ELEMENTDEFINITION:
10621        return "http://hl7.org/fhir/data-types";
10622      case EXPRESSION:
10623        return "http://hl7.org/fhir/data-types";
10624      case EXTENSION:
10625        return "http://hl7.org/fhir/data-types";
10626      case HUMANNAME:
10627        return "http://hl7.org/fhir/data-types";
10628      case IDENTIFIER:
10629        return "http://hl7.org/fhir/data-types";
10630      case MARKETINGSTATUS:
10631        return "http://hl7.org/fhir/data-types";
10632      case META:
10633        return "http://hl7.org/fhir/data-types";
10634      case MONEY:
10635        return "http://hl7.org/fhir/data-types";
10636      case MONEYQUANTITY:
10637        return "http://hl7.org/fhir/data-types";
10638      case NARRATIVE:
10639        return "http://hl7.org/fhir/data-types";
10640      case PARAMETERDEFINITION:
10641        return "http://hl7.org/fhir/data-types";
10642      case PERIOD:
10643        return "http://hl7.org/fhir/data-types";
10644      case POPULATION:
10645        return "http://hl7.org/fhir/data-types";
10646      case PRODCHARACTERISTIC:
10647        return "http://hl7.org/fhir/data-types";
10648      case PRODUCTSHELFLIFE:
10649        return "http://hl7.org/fhir/data-types";
10650      case QUANTITY:
10651        return "http://hl7.org/fhir/data-types";
10652      case RANGE:
10653        return "http://hl7.org/fhir/data-types";
10654      case RATIO:
10655        return "http://hl7.org/fhir/data-types";
10656      case REFERENCE:
10657        return "http://hl7.org/fhir/data-types";
10658      case RELATEDARTIFACT:
10659        return "http://hl7.org/fhir/data-types";
10660      case SAMPLEDDATA:
10661        return "http://hl7.org/fhir/data-types";
10662      case SIGNATURE:
10663        return "http://hl7.org/fhir/data-types";
10664      case SIMPLEQUANTITY:
10665        return "http://hl7.org/fhir/data-types";
10666      case SUBSTANCEAMOUNT:
10667        return "http://hl7.org/fhir/data-types";
10668      case TIMING:
10669        return "http://hl7.org/fhir/data-types";
10670      case TRIGGERDEFINITION:
10671        return "http://hl7.org/fhir/data-types";
10672      case USAGECONTEXT:
10673        return "http://hl7.org/fhir/data-types";
10674      case BASE64BINARY:
10675        return "http://hl7.org/fhir/data-types";
10676      case BOOLEAN:
10677        return "http://hl7.org/fhir/data-types";
10678      case CANONICAL:
10679        return "http://hl7.org/fhir/data-types";
10680      case CODE:
10681        return "http://hl7.org/fhir/data-types";
10682      case DATE:
10683        return "http://hl7.org/fhir/data-types";
10684      case DATETIME:
10685        return "http://hl7.org/fhir/data-types";
10686      case DECIMAL:
10687        return "http://hl7.org/fhir/data-types";
10688      case ID:
10689        return "http://hl7.org/fhir/data-types";
10690      case INSTANT:
10691        return "http://hl7.org/fhir/data-types";
10692      case INTEGER:
10693        return "http://hl7.org/fhir/data-types";
10694      case MARKDOWN:
10695        return "http://hl7.org/fhir/data-types";
10696      case OID:
10697        return "http://hl7.org/fhir/data-types";
10698      case POSITIVEINT:
10699        return "http://hl7.org/fhir/data-types";
10700      case STRING:
10701        return "http://hl7.org/fhir/data-types";
10702      case TIME:
10703        return "http://hl7.org/fhir/data-types";
10704      case UNSIGNEDINT:
10705        return "http://hl7.org/fhir/data-types";
10706      case URI:
10707        return "http://hl7.org/fhir/data-types";
10708      case URL:
10709        return "http://hl7.org/fhir/data-types";
10710      case UUID:
10711        return "http://hl7.org/fhir/data-types";
10712      case XHTML:
10713        return "http://hl7.org/fhir/data-types";
10714      case ACCOUNT:
10715        return "http://hl7.org/fhir/resource-types";
10716      case ACTIVITYDEFINITION:
10717        return "http://hl7.org/fhir/resource-types";
10718      case ADVERSEEVENT:
10719        return "http://hl7.org/fhir/resource-types";
10720      case ALLERGYINTOLERANCE:
10721        return "http://hl7.org/fhir/resource-types";
10722      case APPOINTMENT:
10723        return "http://hl7.org/fhir/resource-types";
10724      case APPOINTMENTRESPONSE:
10725        return "http://hl7.org/fhir/resource-types";
10726      case AUDITEVENT:
10727        return "http://hl7.org/fhir/resource-types";
10728      case BASIC:
10729        return "http://hl7.org/fhir/resource-types";
10730      case BINARY:
10731        return "http://hl7.org/fhir/resource-types";
10732      case BIOLOGICALLYDERIVEDPRODUCT:
10733        return "http://hl7.org/fhir/resource-types";
10734      case BODYSTRUCTURE:
10735        return "http://hl7.org/fhir/resource-types";
10736      case BUNDLE:
10737        return "http://hl7.org/fhir/resource-types";
10738      case CAPABILITYSTATEMENT:
10739        return "http://hl7.org/fhir/resource-types";
10740      case CAREPLAN:
10741        return "http://hl7.org/fhir/resource-types";
10742      case CARETEAM:
10743        return "http://hl7.org/fhir/resource-types";
10744      case CATALOGENTRY:
10745        return "http://hl7.org/fhir/resource-types";
10746      case CHARGEITEM:
10747        return "http://hl7.org/fhir/resource-types";
10748      case CHARGEITEMDEFINITION:
10749        return "http://hl7.org/fhir/resource-types";
10750      case CLAIM:
10751        return "http://hl7.org/fhir/resource-types";
10752      case CLAIMRESPONSE:
10753        return "http://hl7.org/fhir/resource-types";
10754      case CLINICALIMPRESSION:
10755        return "http://hl7.org/fhir/resource-types";
10756      case CODESYSTEM:
10757        return "http://hl7.org/fhir/resource-types";
10758      case COMMUNICATION:
10759        return "http://hl7.org/fhir/resource-types";
10760      case COMMUNICATIONREQUEST:
10761        return "http://hl7.org/fhir/resource-types";
10762      case COMPARTMENTDEFINITION:
10763        return "http://hl7.org/fhir/resource-types";
10764      case COMPOSITION:
10765        return "http://hl7.org/fhir/resource-types";
10766      case CONCEPTMAP:
10767        return "http://hl7.org/fhir/resource-types";
10768      case CONDITION:
10769        return "http://hl7.org/fhir/resource-types";
10770      case CONSENT:
10771        return "http://hl7.org/fhir/resource-types";
10772      case CONTRACT:
10773        return "http://hl7.org/fhir/resource-types";
10774      case COVERAGE:
10775        return "http://hl7.org/fhir/resource-types";
10776      case COVERAGEELIGIBILITYREQUEST:
10777        return "http://hl7.org/fhir/resource-types";
10778      case COVERAGEELIGIBILITYRESPONSE:
10779        return "http://hl7.org/fhir/resource-types";
10780      case DETECTEDISSUE:
10781        return "http://hl7.org/fhir/resource-types";
10782      case DEVICE:
10783        return "http://hl7.org/fhir/resource-types";
10784      case DEVICEDEFINITION:
10785        return "http://hl7.org/fhir/resource-types";
10786      case DEVICEMETRIC:
10787        return "http://hl7.org/fhir/resource-types";
10788      case DEVICEREQUEST:
10789        return "http://hl7.org/fhir/resource-types";
10790      case DEVICEUSESTATEMENT:
10791        return "http://hl7.org/fhir/resource-types";
10792      case DIAGNOSTICREPORT:
10793        return "http://hl7.org/fhir/resource-types";
10794      case DOCUMENTMANIFEST:
10795        return "http://hl7.org/fhir/resource-types";
10796      case DOCUMENTREFERENCE:
10797        return "http://hl7.org/fhir/resource-types";
10798      case DOMAINRESOURCE:
10799        return "http://hl7.org/fhir/resource-types";
10800      case EFFECTEVIDENCESYNTHESIS:
10801        return "http://hl7.org/fhir/resource-types";
10802      case ENCOUNTER:
10803        return "http://hl7.org/fhir/resource-types";
10804      case ENDPOINT:
10805        return "http://hl7.org/fhir/resource-types";
10806      case ENROLLMENTREQUEST:
10807        return "http://hl7.org/fhir/resource-types";
10808      case ENROLLMENTRESPONSE:
10809        return "http://hl7.org/fhir/resource-types";
10810      case EPISODEOFCARE:
10811        return "http://hl7.org/fhir/resource-types";
10812      case EVENTDEFINITION:
10813        return "http://hl7.org/fhir/resource-types";
10814      case EVIDENCE:
10815        return "http://hl7.org/fhir/resource-types";
10816      case EVIDENCEVARIABLE:
10817        return "http://hl7.org/fhir/resource-types";
10818      case EXAMPLESCENARIO:
10819        return "http://hl7.org/fhir/resource-types";
10820      case EXPLANATIONOFBENEFIT:
10821        return "http://hl7.org/fhir/resource-types";
10822      case FAMILYMEMBERHISTORY:
10823        return "http://hl7.org/fhir/resource-types";
10824      case FLAG:
10825        return "http://hl7.org/fhir/resource-types";
10826      case GOAL:
10827        return "http://hl7.org/fhir/resource-types";
10828      case GRAPHDEFINITION:
10829        return "http://hl7.org/fhir/resource-types";
10830      case GROUP:
10831        return "http://hl7.org/fhir/resource-types";
10832      case GUIDANCERESPONSE:
10833        return "http://hl7.org/fhir/resource-types";
10834      case HEALTHCARESERVICE:
10835        return "http://hl7.org/fhir/resource-types";
10836      case IMAGINGSTUDY:
10837        return "http://hl7.org/fhir/resource-types";
10838      case IMMUNIZATION:
10839        return "http://hl7.org/fhir/resource-types";
10840      case IMMUNIZATIONEVALUATION:
10841        return "http://hl7.org/fhir/resource-types";
10842      case IMMUNIZATIONRECOMMENDATION:
10843        return "http://hl7.org/fhir/resource-types";
10844      case IMPLEMENTATIONGUIDE:
10845        return "http://hl7.org/fhir/resource-types";
10846      case INSURANCEPLAN:
10847        return "http://hl7.org/fhir/resource-types";
10848      case INVOICE:
10849        return "http://hl7.org/fhir/resource-types";
10850      case LIBRARY:
10851        return "http://hl7.org/fhir/resource-types";
10852      case LINKAGE:
10853        return "http://hl7.org/fhir/resource-types";
10854      case LIST:
10855        return "http://hl7.org/fhir/resource-types";
10856      case LOCATION:
10857        return "http://hl7.org/fhir/resource-types";
10858      case MEASURE:
10859        return "http://hl7.org/fhir/resource-types";
10860      case MEASUREREPORT:
10861        return "http://hl7.org/fhir/resource-types";
10862      case MEDIA:
10863        return "http://hl7.org/fhir/resource-types";
10864      case MEDICATION:
10865        return "http://hl7.org/fhir/resource-types";
10866      case MEDICATIONADMINISTRATION:
10867        return "http://hl7.org/fhir/resource-types";
10868      case MEDICATIONDISPENSE:
10869        return "http://hl7.org/fhir/resource-types";
10870      case MEDICATIONKNOWLEDGE:
10871        return "http://hl7.org/fhir/resource-types";
10872      case MEDICATIONREQUEST:
10873        return "http://hl7.org/fhir/resource-types";
10874      case MEDICATIONSTATEMENT:
10875        return "http://hl7.org/fhir/resource-types";
10876      case MEDICINALPRODUCT:
10877        return "http://hl7.org/fhir/resource-types";
10878      case MEDICINALPRODUCTAUTHORIZATION:
10879        return "http://hl7.org/fhir/resource-types";
10880      case MEDICINALPRODUCTCONTRAINDICATION:
10881        return "http://hl7.org/fhir/resource-types";
10882      case MEDICINALPRODUCTINDICATION:
10883        return "http://hl7.org/fhir/resource-types";
10884      case MEDICINALPRODUCTINGREDIENT:
10885        return "http://hl7.org/fhir/resource-types";
10886      case MEDICINALPRODUCTINTERACTION:
10887        return "http://hl7.org/fhir/resource-types";
10888      case MEDICINALPRODUCTMANUFACTURED:
10889        return "http://hl7.org/fhir/resource-types";
10890      case MEDICINALPRODUCTPACKAGED:
10891        return "http://hl7.org/fhir/resource-types";
10892      case MEDICINALPRODUCTPHARMACEUTICAL:
10893        return "http://hl7.org/fhir/resource-types";
10894      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
10895        return "http://hl7.org/fhir/resource-types";
10896      case MESSAGEDEFINITION:
10897        return "http://hl7.org/fhir/resource-types";
10898      case MESSAGEHEADER:
10899        return "http://hl7.org/fhir/resource-types";
10900      case MOLECULARSEQUENCE:
10901        return "http://hl7.org/fhir/resource-types";
10902      case NAMINGSYSTEM:
10903        return "http://hl7.org/fhir/resource-types";
10904      case NUTRITIONORDER:
10905        return "http://hl7.org/fhir/resource-types";
10906      case OBSERVATION:
10907        return "http://hl7.org/fhir/resource-types";
10908      case OBSERVATIONDEFINITION:
10909        return "http://hl7.org/fhir/resource-types";
10910      case OPERATIONDEFINITION:
10911        return "http://hl7.org/fhir/resource-types";
10912      case OPERATIONOUTCOME:
10913        return "http://hl7.org/fhir/resource-types";
10914      case ORGANIZATION:
10915        return "http://hl7.org/fhir/resource-types";
10916      case ORGANIZATIONAFFILIATION:
10917        return "http://hl7.org/fhir/resource-types";
10918      case PARAMETERS:
10919        return "http://hl7.org/fhir/resource-types";
10920      case PATIENT:
10921        return "http://hl7.org/fhir/resource-types";
10922      case PAYMENTNOTICE:
10923        return "http://hl7.org/fhir/resource-types";
10924      case PAYMENTRECONCILIATION:
10925        return "http://hl7.org/fhir/resource-types";
10926      case PERSON:
10927        return "http://hl7.org/fhir/resource-types";
10928      case PLANDEFINITION:
10929        return "http://hl7.org/fhir/resource-types";
10930      case PRACTITIONER:
10931        return "http://hl7.org/fhir/resource-types";
10932      case PRACTITIONERROLE:
10933        return "http://hl7.org/fhir/resource-types";
10934      case PROCEDURE:
10935        return "http://hl7.org/fhir/resource-types";
10936      case PROVENANCE:
10937        return "http://hl7.org/fhir/resource-types";
10938      case QUESTIONNAIRE:
10939        return "http://hl7.org/fhir/resource-types";
10940      case QUESTIONNAIRERESPONSE:
10941        return "http://hl7.org/fhir/resource-types";
10942      case RELATEDPERSON:
10943        return "http://hl7.org/fhir/resource-types";
10944      case REQUESTGROUP:
10945        return "http://hl7.org/fhir/resource-types";
10946      case RESEARCHDEFINITION:
10947        return "http://hl7.org/fhir/resource-types";
10948      case RESEARCHELEMENTDEFINITION:
10949        return "http://hl7.org/fhir/resource-types";
10950      case RESEARCHSTUDY:
10951        return "http://hl7.org/fhir/resource-types";
10952      case RESEARCHSUBJECT:
10953        return "http://hl7.org/fhir/resource-types";
10954      case RESOURCE:
10955        return "http://hl7.org/fhir/resource-types";
10956      case RISKASSESSMENT:
10957        return "http://hl7.org/fhir/resource-types";
10958      case RISKEVIDENCESYNTHESIS:
10959        return "http://hl7.org/fhir/resource-types";
10960      case SCHEDULE:
10961        return "http://hl7.org/fhir/resource-types";
10962      case SEARCHPARAMETER:
10963        return "http://hl7.org/fhir/resource-types";
10964      case SERVICEREQUEST:
10965        return "http://hl7.org/fhir/resource-types";
10966      case SLOT:
10967        return "http://hl7.org/fhir/resource-types";
10968      case SPECIMEN:
10969        return "http://hl7.org/fhir/resource-types";
10970      case SPECIMENDEFINITION:
10971        return "http://hl7.org/fhir/resource-types";
10972      case STRUCTUREDEFINITION:
10973        return "http://hl7.org/fhir/resource-types";
10974      case STRUCTUREMAP:
10975        return "http://hl7.org/fhir/resource-types";
10976      case SUBSCRIPTION:
10977        return "http://hl7.org/fhir/resource-types";
10978      case SUBSTANCE:
10979        return "http://hl7.org/fhir/resource-types";
10980      case SUBSTANCENUCLEICACID:
10981        return "http://hl7.org/fhir/resource-types";
10982      case SUBSTANCEPOLYMER:
10983        return "http://hl7.org/fhir/resource-types";
10984      case SUBSTANCEPROTEIN:
10985        return "http://hl7.org/fhir/resource-types";
10986      case SUBSTANCEREFERENCEINFORMATION:
10987        return "http://hl7.org/fhir/resource-types";
10988      case SUBSTANCESOURCEMATERIAL:
10989        return "http://hl7.org/fhir/resource-types";
10990      case SUBSTANCESPECIFICATION:
10991        return "http://hl7.org/fhir/resource-types";
10992      case SUPPLYDELIVERY:
10993        return "http://hl7.org/fhir/resource-types";
10994      case SUPPLYREQUEST:
10995        return "http://hl7.org/fhir/resource-types";
10996      case TASK:
10997        return "http://hl7.org/fhir/resource-types";
10998      case TERMINOLOGYCAPABILITIES:
10999        return "http://hl7.org/fhir/resource-types";
11000      case TESTREPORT:
11001        return "http://hl7.org/fhir/resource-types";
11002      case TESTSCRIPT:
11003        return "http://hl7.org/fhir/resource-types";
11004      case VALUESET:
11005        return "http://hl7.org/fhir/resource-types";
11006      case VERIFICATIONRESULT:
11007        return "http://hl7.org/fhir/resource-types";
11008      case VISIONPRESCRIPTION:
11009        return "http://hl7.org/fhir/resource-types";
11010      case NULL:
11011        return null;
11012      default:
11013        return "?";
11014      }
11015    }
11016
11017    public String getDefinition() {
11018      switch (this) {
11019      case ADDRESS:
11020        return "An address expressed using postal conventions (as opposed to GPS or other location definition formats).  This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery.  There are a variety of postal address formats defined around the world.";
11021      case AGE:
11022        return "A duration of time during which an organism (or a process) has existed.";
11023      case ANNOTATION:
11024        return "A  text note which also  contains information about who made the statement and when.";
11025      case ATTACHMENT:
11026        return "For referring to data content defined in other formats.";
11027      case BACKBONEELEMENT:
11028        return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
11029      case CODEABLECONCEPT:
11030        return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
11031      case CODING:
11032        return "A reference to a code defined by a terminology system.";
11033      case CONTACTDETAIL:
11034        return "Specifies contact information for a person or organization.";
11035      case CONTACTPOINT:
11036        return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
11037      case CONTRIBUTOR:
11038        return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
11039      case COUNT:
11040        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.";
11041      case DATAREQUIREMENT:
11042        return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.";
11043      case DISTANCE:
11044        return "A length - a value with a unit that is a physical distance.";
11045      case DOSAGE:
11046        return "Indicates how the medication is/was taken or should be taken by the patient.";
11047      case DURATION:
11048        return "A length of time.";
11049      case ELEMENT:
11050        return "Base definition for all elements in a resource.";
11051      case ELEMENTDEFINITION:
11052        return "Captures constraints on each element within the resource, profile, or extension.";
11053      case EXPRESSION:
11054        return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
11055      case EXTENSION:
11056        return "Optional Extension Element - found in all resources.";
11057      case HUMANNAME:
11058        return "A human's name with the ability to identify parts and usage.";
11059      case IDENTIFIER:
11060        return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
11061      case MARKETINGSTATUS:
11062        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
11063      case META:
11064        return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.";
11065      case MONEY:
11066        return "An amount of economic utility in some recognized currency.";
11067      case MONEYQUANTITY:
11068        return "";
11069      case NARRATIVE:
11070        return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
11071      case PARAMETERDEFINITION:
11072        return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse.";
11073      case PERIOD:
11074        return "A time period defined by a start and end date and optionally time.";
11075      case POPULATION:
11076        return "A populatioof people with some set of grouping criteria.";
11077      case PRODCHARACTERISTIC:
11078        return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available.";
11079      case PRODUCTSHELFLIFE:
11080        return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
11081      case QUANTITY:
11082        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.";
11083      case RANGE:
11084        return "A set of ordered Quantities defined by a low and high limit.";
11085      case RATIO:
11086        return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
11087      case REFERENCE:
11088        return "A reference from one resource to another.";
11089      case RELATEDARTIFACT:
11090        return "Related artifacts such as additional documentation, justification, or bibliographic references.";
11091      case SAMPLEDDATA:
11092        return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
11093      case SIGNATURE:
11094        return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities.";
11095      case SIMPLEQUANTITY:
11096        return "";
11097      case SUBSTANCEAMOUNT:
11098        return "Chemical substances are a single substance type whose primary defining element is the molecular structure. Chemical substances shall be defined on the basis of their complete covalent molecular structure; the presence of a salt (counter-ion) and/or solvates (water, alcohols) is also captured. Purity, grade, physical form or particle size are not taken into account in the definition of a chemical substance or in the assignment of a Substance ID.";
11099      case TIMING:
11100        return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, 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, and may be used for reporting the schedule to which past regular activities were carried out.";
11101      case TRIGGERDEFINITION:
11102        return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
11103      case USAGECONTEXT:
11104        return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care).";
11105      case BASE64BINARY:
11106        return "A stream of bytes";
11107      case BOOLEAN:
11108        return "Value of \"true\" or \"false\"";
11109      case CANONICAL:
11110        return "A URI that is a reference to a canonical URL on a FHIR resource";
11111      case CODE:
11112        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";
11113      case DATE:
11114        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.";
11115      case DATETIME:
11116        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.";
11117      case DECIMAL:
11118        return "A rational number with implicit precision";
11119      case ID:
11120        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.";
11121      case INSTANT:
11122        return "An instant in time - known at least to the second";
11123      case INTEGER:
11124        return "A whole number";
11125      case MARKDOWN:
11126        return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
11127      case OID:
11128        return "An OID represented as a URI";
11129      case POSITIVEINT:
11130        return "An integer with a value that is positive (e.g. >0)";
11131      case STRING:
11132        return "A sequence of Unicode characters";
11133      case TIME:
11134        return "A time during the day, with no date specified";
11135      case UNSIGNEDINT:
11136        return "An integer with a value that is not negative (e.g. >= 0)";
11137      case URI:
11138        return "String of characters used to identify a name or a resource";
11139      case URL:
11140        return "A URI that is a literal reference";
11141      case UUID:
11142        return "A UUID, represented as a URI";
11143      case XHTML:
11144        return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
11145      case ACCOUNT:
11146        return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
11147      case ACTIVITYDEFINITION:
11148        return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
11149      case ADVERSEEVENT:
11150        return "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.";
11151      case ALLERGYINTOLERANCE:
11152        return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
11153      case APPOINTMENT:
11154        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).";
11155      case APPOINTMENTRESPONSE:
11156        return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
11157      case AUDITEVENT:
11158        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.";
11159      case BASIC:
11160        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.";
11161      case BINARY:
11162        return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
11163      case BIOLOGICALLYDERIVEDPRODUCT:
11164        return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
11165      case BODYSTRUCTURE:
11166        return "Record details about an anatomical structure.  This resource may be used when a coded concept does not provide the necessary detail needed for the use case.";
11167      case BUNDLE:
11168        return "A container for a collection of resources.";
11169      case CAPABILITYSTATEMENT:
11170        return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
11171      case CAREPLAN:
11172        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.";
11173      case CARETEAM:
11174        return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
11175      case CATALOGENTRY:
11176        return "Catalog entries are wrappers that contextualize items included in a catalog.";
11177      case CHARGEITEM:
11178        return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.";
11179      case CHARGEITEMDEFINITION:
11180        return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
11181      case CLAIM:
11182        return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
11183      case CLAIMRESPONSE:
11184        return "This resource provides the adjudication details from the processing of a Claim resource.";
11185      case CLINICALIMPRESSION:
11186        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.";
11187      case CODESYSTEM:
11188        return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.";
11189      case COMMUNICATION:
11190        return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
11191      case COMMUNICATIONREQUEST:
11192        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.";
11193      case COMPARTMENTDEFINITION:
11194        return "A compartment definition that defines how resources are accessed on a server.";
11195      case COMPOSITION:
11196        return "A set of healthcare-related information that is assembled together into a single logical package 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. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).";
11197      case CONCEPTMAP:
11198        return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
11199      case CONDITION:
11200        return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
11201      case CONSENT:
11202        return "A record of a healthcare consumer?s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.";
11203      case CONTRACT:
11204        return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
11205      case COVERAGE:
11206        return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
11207      case COVERAGEELIGIBILITYREQUEST:
11208        return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
11209      case COVERAGEELIGIBILITYRESPONSE:
11210        return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
11211      case DETECTEDISSUE:
11212        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.";
11213      case DEVICE:
11214        return "A type 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.";
11215      case DEVICEDEFINITION:
11216        return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
11217      case DEVICEMETRIC:
11218        return "Describes a measurement, calculation or setting capability of a medical device.";
11219      case DEVICEREQUEST:
11220        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.";
11221      case DEVICEUSESTATEMENT:
11222        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.";
11223      case DIAGNOSTICREPORT:
11224        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.";
11225      case DOCUMENTMANIFEST:
11226        return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
11227      case DOCUMENTREFERENCE:
11228        return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
11229      case DOMAINRESOURCE:
11230        return "A resource that includes narrative, extensions, and contained resources.";
11231      case EFFECTEVIDENCESYNTHESIS:
11232        return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
11233      case ENCOUNTER:
11234        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.";
11235      case ENDPOINT:
11236        return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.";
11237      case ENROLLMENTREQUEST:
11238        return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
11239      case ENROLLMENTRESPONSE:
11240        return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
11241      case EPISODEOFCARE:
11242        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.";
11243      case EVENTDEFINITION:
11244        return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
11245      case EVIDENCE:
11246        return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
11247      case EVIDENCEVARIABLE:
11248        return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
11249      case EXAMPLESCENARIO:
11250        return "Example of workflow instance.";
11251      case EXPLANATIONOFBENEFIT:
11252        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.";
11253      case FAMILYMEMBERHISTORY:
11254        return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
11255      case FLAG:
11256        return "Prospective warnings of potential issues when providing care to the patient.";
11257      case GOAL:
11258        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.";
11259      case GRAPHDEFINITION:
11260        return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.";
11261      case GROUP:
11262        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.";
11263      case GUIDANCERESPONSE:
11264        return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.";
11265      case HEALTHCARESERVICE:
11266        return "The details of a healthcare service available at a location.";
11267      case IMAGINGSTUDY:
11268        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.";
11269      case IMMUNIZATION:
11270        return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.";
11271      case IMMUNIZATIONEVALUATION:
11272        return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
11273      case IMMUNIZATIONRECOMMENDATION:
11274        return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
11275      case IMPLEMENTATIONGUIDE:
11276        return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. 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.";
11277      case INSURANCEPLAN:
11278        return "Details of a Health Insurance product/plan provided by an organization.";
11279      case INVOICE:
11280        return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
11281      case LIBRARY:
11282        return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.";
11283      case LINKAGE:
11284        return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
11285      case LIST:
11286        return "A list is a curated collection of resources.";
11287      case LOCATION:
11288        return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
11289      case MEASURE:
11290        return "The Measure resource provides the definition of a quality measure.";
11291      case MEASUREREPORT:
11292        return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
11293      case MEDIA:
11294        return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
11295      case MEDICATION:
11296        return "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
11297      case MEDICATIONADMINISTRATION:
11298        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.";
11299      case MEDICATIONDISPENSE:
11300        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.";
11301      case MEDICATIONKNOWLEDGE:
11302        return "Information about a medication that is used to support knowledge.";
11303      case MEDICATIONREQUEST:
11304        return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.";
11305      case MEDICATIONSTATEMENT:
11306        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 sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe 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.";
11307      case MEDICINALPRODUCT:
11308        return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
11309      case MEDICINALPRODUCTAUTHORIZATION:
11310        return "The regulatory authorization of a medicinal product.";
11311      case MEDICINALPRODUCTCONTRAINDICATION:
11312        return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
11313      case MEDICINALPRODUCTINDICATION:
11314        return "Indication for the Medicinal Product.";
11315      case MEDICINALPRODUCTINGREDIENT:
11316        return "An ingredient of a manufactured item or pharmaceutical product.";
11317      case MEDICINALPRODUCTINTERACTION:
11318        return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
11319      case MEDICINALPRODUCTMANUFACTURED:
11320        return "The manufactured item as contained in the packaged medicinal product.";
11321      case MEDICINALPRODUCTPACKAGED:
11322        return "A medicinal product in a container or package.";
11323      case MEDICINALPRODUCTPHARMACEUTICAL:
11324        return "A pharmaceutical product described in terms of its composition and dose form.";
11325      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
11326        return "Describe the undesirable effects of the medicinal product.";
11327      case MESSAGEDEFINITION:
11328        return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.";
11329      case MESSAGEHEADER:
11330        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.";
11331      case MOLECULARSEQUENCE:
11332        return "Raw data describing a biological sequence.";
11333      case NAMINGSYSTEM:
11334        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.";
11335      case NUTRITIONORDER:
11336        return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
11337      case OBSERVATION:
11338        return "Measurements and simple assertions made about a patient, device or other subject.";
11339      case OBSERVATIONDEFINITION:
11340        return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
11341      case OPERATIONDEFINITION:
11342        return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
11343      case OPERATIONOUTCOME:
11344        return "A collection of error, warning, or information messages that result from a system action.";
11345      case ORGANIZATION:
11346        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, payer/insurer, etc.";
11347      case ORGANIZATIONAFFILIATION:
11348        return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
11349      case PARAMETERS:
11350        return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
11351      case PATIENT:
11352        return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
11353      case PAYMENTNOTICE:
11354        return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
11355      case PAYMENTRECONCILIATION:
11356        return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
11357      case PERSON:
11358        return "Demographics and administrative information about a person independent of a specific health-related context.";
11359      case PLANDEFINITION:
11360        return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.";
11361      case PRACTITIONER:
11362        return "A person who is directly or indirectly involved in the provisioning of healthcare.";
11363      case PRACTITIONERROLE:
11364        return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
11365      case PROCEDURE:
11366        return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
11367      case PROVENANCE:
11368        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.";
11369      case QUESTIONNAIRE:
11370        return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.";
11371      case QUESTIONNAIRERESPONSE:
11372        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 questionnaire being responded to.";
11373      case RELATEDPERSON:
11374        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.";
11375      case REQUESTGROUP:
11376        return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
11377      case RESEARCHDEFINITION:
11378        return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
11379      case RESEARCHELEMENTDEFINITION:
11380        return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
11381      case RESEARCHSTUDY:
11382        return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.";
11383      case RESEARCHSUBJECT:
11384        return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
11385      case RESOURCE:
11386        return "This is the base resource type for everything.";
11387      case RISKASSESSMENT:
11388        return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
11389      case RISKEVIDENCESYNTHESIS:
11390        return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
11391      case SCHEDULE:
11392        return "A container for slots of time that may be available for booking appointments.";
11393      case SEARCHPARAMETER:
11394        return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
11395      case SERVICEREQUEST:
11396        return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
11397      case SLOT:
11398        return "A slot of time on a schedule that may be available for booking appointments.";
11399      case SPECIMEN:
11400        return "A sample to be used for analysis.";
11401      case SPECIMENDEFINITION:
11402        return "A kind of specimen with associated set of requirements.";
11403      case STRUCTUREDEFINITION:
11404        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.";
11405      case STRUCTUREMAP:
11406        return "A Map of relationships between 2 structures that can be used to transform data.";
11407      case SUBSCRIPTION:
11408        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 can take an appropriate action.";
11409      case SUBSTANCE:
11410        return "A homogeneous material with a definite composition.";
11411      case SUBSTANCENUCLEICACID:
11412        return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5?-3? direction.";
11413      case SUBSTANCEPOLYMER:
11414        return "Todo.";
11415      case SUBSTANCEPROTEIN:
11416        return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
11417      case SUBSTANCEREFERENCEINFORMATION:
11418        return "Todo.";
11419      case SUBSTANCESOURCEMATERIAL:
11420        return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
11421      case SUBSTANCESPECIFICATION:
11422        return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
11423      case SUPPLYDELIVERY:
11424        return "Record of delivery of what is supplied.";
11425      case SUPPLYREQUEST:
11426        return "A record of a request for a medication, substance or device used in the healthcare setting.";
11427      case TASK:
11428        return "A task to be performed.";
11429      case TERMINOLOGYCAPABILITIES:
11430        return "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
11431      case TESTREPORT:
11432        return "A summary of information based on the results of executing a TestScript.";
11433      case TESTSCRIPT:
11434        return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
11435      case VALUESET:
11436        return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
11437      case VERIFICATIONRESULT:
11438        return "Describes validation requirements, source(s), status and dates for one or more elements.";
11439      case VISIONPRESCRIPTION:
11440        return "An authorization for the provision of glasses and/or contact lenses to a patient.";
11441      case NULL:
11442        return null;
11443      default:
11444        return "?";
11445      }
11446    }
11447
11448    public String getDisplay() {
11449      switch (this) {
11450      case ADDRESS:
11451        return "Address";
11452      case AGE:
11453        return "Age";
11454      case ANNOTATION:
11455        return "Annotation";
11456      case ATTACHMENT:
11457        return "Attachment";
11458      case BACKBONEELEMENT:
11459        return "BackboneElement";
11460      case CODEABLECONCEPT:
11461        return "CodeableConcept";
11462      case CODING:
11463        return "Coding";
11464      case CONTACTDETAIL:
11465        return "ContactDetail";
11466      case CONTACTPOINT:
11467        return "ContactPoint";
11468      case CONTRIBUTOR:
11469        return "Contributor";
11470      case COUNT:
11471        return "Count";
11472      case DATAREQUIREMENT:
11473        return "DataRequirement";
11474      case DISTANCE:
11475        return "Distance";
11476      case DOSAGE:
11477        return "Dosage";
11478      case DURATION:
11479        return "Duration";
11480      case ELEMENT:
11481        return "Element";
11482      case ELEMENTDEFINITION:
11483        return "ElementDefinition";
11484      case EXPRESSION:
11485        return "Expression";
11486      case EXTENSION:
11487        return "Extension";
11488      case HUMANNAME:
11489        return "HumanName";
11490      case IDENTIFIER:
11491        return "Identifier";
11492      case MARKETINGSTATUS:
11493        return "MarketingStatus";
11494      case META:
11495        return "Meta";
11496      case MONEY:
11497        return "Money";
11498      case MONEYQUANTITY:
11499        return "MoneyQuantity";
11500      case NARRATIVE:
11501        return "Narrative";
11502      case PARAMETERDEFINITION:
11503        return "ParameterDefinition";
11504      case PERIOD:
11505        return "Period";
11506      case POPULATION:
11507        return "Population";
11508      case PRODCHARACTERISTIC:
11509        return "ProdCharacteristic";
11510      case PRODUCTSHELFLIFE:
11511        return "ProductShelfLife";
11512      case QUANTITY:
11513        return "Quantity";
11514      case RANGE:
11515        return "Range";
11516      case RATIO:
11517        return "Ratio";
11518      case REFERENCE:
11519        return "Reference";
11520      case RELATEDARTIFACT:
11521        return "RelatedArtifact";
11522      case SAMPLEDDATA:
11523        return "SampledData";
11524      case SIGNATURE:
11525        return "Signature";
11526      case SIMPLEQUANTITY:
11527        return "SimpleQuantity";
11528      case SUBSTANCEAMOUNT:
11529        return "SubstanceAmount";
11530      case TIMING:
11531        return "Timing";
11532      case TRIGGERDEFINITION:
11533        return "TriggerDefinition";
11534      case USAGECONTEXT:
11535        return "UsageContext";
11536      case BASE64BINARY:
11537        return "base64Binary";
11538      case BOOLEAN:
11539        return "boolean";
11540      case CANONICAL:
11541        return "canonical";
11542      case CODE:
11543        return "code";
11544      case DATE:
11545        return "date";
11546      case DATETIME:
11547        return "dateTime";
11548      case DECIMAL:
11549        return "decimal";
11550      case ID:
11551        return "id";
11552      case INSTANT:
11553        return "instant";
11554      case INTEGER:
11555        return "integer";
11556      case MARKDOWN:
11557        return "markdown";
11558      case OID:
11559        return "oid";
11560      case POSITIVEINT:
11561        return "positiveInt";
11562      case STRING:
11563        return "string";
11564      case TIME:
11565        return "time";
11566      case UNSIGNEDINT:
11567        return "unsignedInt";
11568      case URI:
11569        return "uri";
11570      case URL:
11571        return "url";
11572      case UUID:
11573        return "uuid";
11574      case XHTML:
11575        return "XHTML";
11576      case ACCOUNT:
11577        return "Account";
11578      case ACTIVITYDEFINITION:
11579        return "ActivityDefinition";
11580      case ADVERSEEVENT:
11581        return "AdverseEvent";
11582      case ALLERGYINTOLERANCE:
11583        return "AllergyIntolerance";
11584      case APPOINTMENT:
11585        return "Appointment";
11586      case APPOINTMENTRESPONSE:
11587        return "AppointmentResponse";
11588      case AUDITEVENT:
11589        return "AuditEvent";
11590      case BASIC:
11591        return "Basic";
11592      case BINARY:
11593        return "Binary";
11594      case BIOLOGICALLYDERIVEDPRODUCT:
11595        return "BiologicallyDerivedProduct";
11596      case BODYSTRUCTURE:
11597        return "BodyStructure";
11598      case BUNDLE:
11599        return "Bundle";
11600      case CAPABILITYSTATEMENT:
11601        return "CapabilityStatement";
11602      case CAREPLAN:
11603        return "CarePlan";
11604      case CARETEAM:
11605        return "CareTeam";
11606      case CATALOGENTRY:
11607        return "CatalogEntry";
11608      case CHARGEITEM:
11609        return "ChargeItem";
11610      case CHARGEITEMDEFINITION:
11611        return "ChargeItemDefinition";
11612      case CLAIM:
11613        return "Claim";
11614      case CLAIMRESPONSE:
11615        return "ClaimResponse";
11616      case CLINICALIMPRESSION:
11617        return "ClinicalImpression";
11618      case CODESYSTEM:
11619        return "CodeSystem";
11620      case COMMUNICATION:
11621        return "Communication";
11622      case COMMUNICATIONREQUEST:
11623        return "CommunicationRequest";
11624      case COMPARTMENTDEFINITION:
11625        return "CompartmentDefinition";
11626      case COMPOSITION:
11627        return "Composition";
11628      case CONCEPTMAP:
11629        return "ConceptMap";
11630      case CONDITION:
11631        return "Condition";
11632      case CONSENT:
11633        return "Consent";
11634      case CONTRACT:
11635        return "Contract";
11636      case COVERAGE:
11637        return "Coverage";
11638      case COVERAGEELIGIBILITYREQUEST:
11639        return "CoverageEligibilityRequest";
11640      case COVERAGEELIGIBILITYRESPONSE:
11641        return "CoverageEligibilityResponse";
11642      case DETECTEDISSUE:
11643        return "DetectedIssue";
11644      case DEVICE:
11645        return "Device";
11646      case DEVICEDEFINITION:
11647        return "DeviceDefinition";
11648      case DEVICEMETRIC:
11649        return "DeviceMetric";
11650      case DEVICEREQUEST:
11651        return "DeviceRequest";
11652      case DEVICEUSESTATEMENT:
11653        return "DeviceUseStatement";
11654      case DIAGNOSTICREPORT:
11655        return "DiagnosticReport";
11656      case DOCUMENTMANIFEST:
11657        return "DocumentManifest";
11658      case DOCUMENTREFERENCE:
11659        return "DocumentReference";
11660      case DOMAINRESOURCE:
11661        return "DomainResource";
11662      case EFFECTEVIDENCESYNTHESIS:
11663        return "EffectEvidenceSynthesis";
11664      case ENCOUNTER:
11665        return "Encounter";
11666      case ENDPOINT:
11667        return "Endpoint";
11668      case ENROLLMENTREQUEST:
11669        return "EnrollmentRequest";
11670      case ENROLLMENTRESPONSE:
11671        return "EnrollmentResponse";
11672      case EPISODEOFCARE:
11673        return "EpisodeOfCare";
11674      case EVENTDEFINITION:
11675        return "EventDefinition";
11676      case EVIDENCE:
11677        return "Evidence";
11678      case EVIDENCEVARIABLE:
11679        return "EvidenceVariable";
11680      case EXAMPLESCENARIO:
11681        return "ExampleScenario";
11682      case EXPLANATIONOFBENEFIT:
11683        return "ExplanationOfBenefit";
11684      case FAMILYMEMBERHISTORY:
11685        return "FamilyMemberHistory";
11686      case FLAG:
11687        return "Flag";
11688      case GOAL:
11689        return "Goal";
11690      case GRAPHDEFINITION:
11691        return "GraphDefinition";
11692      case GROUP:
11693        return "Group";
11694      case GUIDANCERESPONSE:
11695        return "GuidanceResponse";
11696      case HEALTHCARESERVICE:
11697        return "HealthcareService";
11698      case IMAGINGSTUDY:
11699        return "ImagingStudy";
11700      case IMMUNIZATION:
11701        return "Immunization";
11702      case IMMUNIZATIONEVALUATION:
11703        return "ImmunizationEvaluation";
11704      case IMMUNIZATIONRECOMMENDATION:
11705        return "ImmunizationRecommendation";
11706      case IMPLEMENTATIONGUIDE:
11707        return "ImplementationGuide";
11708      case INSURANCEPLAN:
11709        return "InsurancePlan";
11710      case INVOICE:
11711        return "Invoice";
11712      case LIBRARY:
11713        return "Library";
11714      case LINKAGE:
11715        return "Linkage";
11716      case LIST:
11717        return "List";
11718      case LOCATION:
11719        return "Location";
11720      case MEASURE:
11721        return "Measure";
11722      case MEASUREREPORT:
11723        return "MeasureReport";
11724      case MEDIA:
11725        return "Media";
11726      case MEDICATION:
11727        return "Medication";
11728      case MEDICATIONADMINISTRATION:
11729        return "MedicationAdministration";
11730      case MEDICATIONDISPENSE:
11731        return "MedicationDispense";
11732      case MEDICATIONKNOWLEDGE:
11733        return "MedicationKnowledge";
11734      case MEDICATIONREQUEST:
11735        return "MedicationRequest";
11736      case MEDICATIONSTATEMENT:
11737        return "MedicationStatement";
11738      case MEDICINALPRODUCT:
11739        return "MedicinalProduct";
11740      case MEDICINALPRODUCTAUTHORIZATION:
11741        return "MedicinalProductAuthorization";
11742      case MEDICINALPRODUCTCONTRAINDICATION:
11743        return "MedicinalProductContraindication";
11744      case MEDICINALPRODUCTINDICATION:
11745        return "MedicinalProductIndication";
11746      case MEDICINALPRODUCTINGREDIENT:
11747        return "MedicinalProductIngredient";
11748      case MEDICINALPRODUCTINTERACTION:
11749        return "MedicinalProductInteraction";
11750      case MEDICINALPRODUCTMANUFACTURED:
11751        return "MedicinalProductManufactured";
11752      case MEDICINALPRODUCTPACKAGED:
11753        return "MedicinalProductPackaged";
11754      case MEDICINALPRODUCTPHARMACEUTICAL:
11755        return "MedicinalProductPharmaceutical";
11756      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
11757        return "MedicinalProductUndesirableEffect";
11758      case MESSAGEDEFINITION:
11759        return "MessageDefinition";
11760      case MESSAGEHEADER:
11761        return "MessageHeader";
11762      case MOLECULARSEQUENCE:
11763        return "MolecularSequence";
11764      case NAMINGSYSTEM:
11765        return "NamingSystem";
11766      case NUTRITIONORDER:
11767        return "NutritionOrder";
11768      case OBSERVATION:
11769        return "Observation";
11770      case OBSERVATIONDEFINITION:
11771        return "ObservationDefinition";
11772      case OPERATIONDEFINITION:
11773        return "OperationDefinition";
11774      case OPERATIONOUTCOME:
11775        return "OperationOutcome";
11776      case ORGANIZATION:
11777        return "Organization";
11778      case ORGANIZATIONAFFILIATION:
11779        return "OrganizationAffiliation";
11780      case PARAMETERS:
11781        return "Parameters";
11782      case PATIENT:
11783        return "Patient";
11784      case PAYMENTNOTICE:
11785        return "PaymentNotice";
11786      case PAYMENTRECONCILIATION:
11787        return "PaymentReconciliation";
11788      case PERSON:
11789        return "Person";
11790      case PLANDEFINITION:
11791        return "PlanDefinition";
11792      case PRACTITIONER:
11793        return "Practitioner";
11794      case PRACTITIONERROLE:
11795        return "PractitionerRole";
11796      case PROCEDURE:
11797        return "Procedure";
11798      case PROVENANCE:
11799        return "Provenance";
11800      case QUESTIONNAIRE:
11801        return "Questionnaire";
11802      case QUESTIONNAIRERESPONSE:
11803        return "QuestionnaireResponse";
11804      case RELATEDPERSON:
11805        return "RelatedPerson";
11806      case REQUESTGROUP:
11807        return "RequestGroup";
11808      case RESEARCHDEFINITION:
11809        return "ResearchDefinition";
11810      case RESEARCHELEMENTDEFINITION:
11811        return "ResearchElementDefinition";
11812      case RESEARCHSTUDY:
11813        return "ResearchStudy";
11814      case RESEARCHSUBJECT:
11815        return "ResearchSubject";
11816      case RESOURCE:
11817        return "Resource";
11818      case RISKASSESSMENT:
11819        return "RiskAssessment";
11820      case RISKEVIDENCESYNTHESIS:
11821        return "RiskEvidenceSynthesis";
11822      case SCHEDULE:
11823        return "Schedule";
11824      case SEARCHPARAMETER:
11825        return "SearchParameter";
11826      case SERVICEREQUEST:
11827        return "ServiceRequest";
11828      case SLOT:
11829        return "Slot";
11830      case SPECIMEN:
11831        return "Specimen";
11832      case SPECIMENDEFINITION:
11833        return "SpecimenDefinition";
11834      case STRUCTUREDEFINITION:
11835        return "StructureDefinition";
11836      case STRUCTUREMAP:
11837        return "StructureMap";
11838      case SUBSCRIPTION:
11839        return "Subscription";
11840      case SUBSTANCE:
11841        return "Substance";
11842      case SUBSTANCENUCLEICACID:
11843        return "SubstanceNucleicAcid";
11844      case SUBSTANCEPOLYMER:
11845        return "SubstancePolymer";
11846      case SUBSTANCEPROTEIN:
11847        return "SubstanceProtein";
11848      case SUBSTANCEREFERENCEINFORMATION:
11849        return "SubstanceReferenceInformation";
11850      case SUBSTANCESOURCEMATERIAL:
11851        return "SubstanceSourceMaterial";
11852      case SUBSTANCESPECIFICATION:
11853        return "SubstanceSpecification";
11854      case SUPPLYDELIVERY:
11855        return "SupplyDelivery";
11856      case SUPPLYREQUEST:
11857        return "SupplyRequest";
11858      case TASK:
11859        return "Task";
11860      case TERMINOLOGYCAPABILITIES:
11861        return "TerminologyCapabilities";
11862      case TESTREPORT:
11863        return "TestReport";
11864      case TESTSCRIPT:
11865        return "TestScript";
11866      case VALUESET:
11867        return "ValueSet";
11868      case VERIFICATIONRESULT:
11869        return "VerificationResult";
11870      case VISIONPRESCRIPTION:
11871        return "VisionPrescription";
11872      case NULL:
11873        return null;
11874      default:
11875        return "?";
11876      }
11877    }
11878  }
11879
11880  public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> {
11881    public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException {
11882      if (codeString == null || "".equals(codeString))
11883        if (codeString == null || "".equals(codeString))
11884          return null;
11885      if ("Address".equals(codeString))
11886        return FHIRDefinedType.ADDRESS;
11887      if ("Age".equals(codeString))
11888        return FHIRDefinedType.AGE;
11889      if ("Annotation".equals(codeString))
11890        return FHIRDefinedType.ANNOTATION;
11891      if ("Attachment".equals(codeString))
11892        return FHIRDefinedType.ATTACHMENT;
11893      if ("BackboneElement".equals(codeString))
11894        return FHIRDefinedType.BACKBONEELEMENT;
11895      if ("CodeableConcept".equals(codeString))
11896        return FHIRDefinedType.CODEABLECONCEPT;
11897      if ("Coding".equals(codeString))
11898        return FHIRDefinedType.CODING;
11899      if ("ContactDetail".equals(codeString))
11900        return FHIRDefinedType.CONTACTDETAIL;
11901      if ("ContactPoint".equals(codeString))
11902        return FHIRDefinedType.CONTACTPOINT;
11903      if ("Contributor".equals(codeString))
11904        return FHIRDefinedType.CONTRIBUTOR;
11905      if ("Count".equals(codeString))
11906        return FHIRDefinedType.COUNT;
11907      if ("DataRequirement".equals(codeString))
11908        return FHIRDefinedType.DATAREQUIREMENT;
11909      if ("Distance".equals(codeString))
11910        return FHIRDefinedType.DISTANCE;
11911      if ("Dosage".equals(codeString))
11912        return FHIRDefinedType.DOSAGE;
11913      if ("Duration".equals(codeString))
11914        return FHIRDefinedType.DURATION;
11915      if ("Element".equals(codeString))
11916        return FHIRDefinedType.ELEMENT;
11917      if ("ElementDefinition".equals(codeString))
11918        return FHIRDefinedType.ELEMENTDEFINITION;
11919      if ("Expression".equals(codeString))
11920        return FHIRDefinedType.EXPRESSION;
11921      if ("Extension".equals(codeString))
11922        return FHIRDefinedType.EXTENSION;
11923      if ("HumanName".equals(codeString))
11924        return FHIRDefinedType.HUMANNAME;
11925      if ("Identifier".equals(codeString))
11926        return FHIRDefinedType.IDENTIFIER;
11927      if ("MarketingStatus".equals(codeString))
11928        return FHIRDefinedType.MARKETINGSTATUS;
11929      if ("Meta".equals(codeString))
11930        return FHIRDefinedType.META;
11931      if ("Money".equals(codeString))
11932        return FHIRDefinedType.MONEY;
11933      if ("MoneyQuantity".equals(codeString))
11934        return FHIRDefinedType.MONEYQUANTITY;
11935      if ("Narrative".equals(codeString))
11936        return FHIRDefinedType.NARRATIVE;
11937      if ("ParameterDefinition".equals(codeString))
11938        return FHIRDefinedType.PARAMETERDEFINITION;
11939      if ("Period".equals(codeString))
11940        return FHIRDefinedType.PERIOD;
11941      if ("Population".equals(codeString))
11942        return FHIRDefinedType.POPULATION;
11943      if ("ProdCharacteristic".equals(codeString))
11944        return FHIRDefinedType.PRODCHARACTERISTIC;
11945      if ("ProductShelfLife".equals(codeString))
11946        return FHIRDefinedType.PRODUCTSHELFLIFE;
11947      if ("Quantity".equals(codeString))
11948        return FHIRDefinedType.QUANTITY;
11949      if ("Range".equals(codeString))
11950        return FHIRDefinedType.RANGE;
11951      if ("Ratio".equals(codeString))
11952        return FHIRDefinedType.RATIO;
11953      if ("Reference".equals(codeString))
11954        return FHIRDefinedType.REFERENCE;
11955      if ("RelatedArtifact".equals(codeString))
11956        return FHIRDefinedType.RELATEDARTIFACT;
11957      if ("SampledData".equals(codeString))
11958        return FHIRDefinedType.SAMPLEDDATA;
11959      if ("Signature".equals(codeString))
11960        return FHIRDefinedType.SIGNATURE;
11961      if ("SimpleQuantity".equals(codeString))
11962        return FHIRDefinedType.SIMPLEQUANTITY;
11963      if ("SubstanceAmount".equals(codeString))
11964        return FHIRDefinedType.SUBSTANCEAMOUNT;
11965      if ("Timing".equals(codeString))
11966        return FHIRDefinedType.TIMING;
11967      if ("TriggerDefinition".equals(codeString))
11968        return FHIRDefinedType.TRIGGERDEFINITION;
11969      if ("UsageContext".equals(codeString))
11970        return FHIRDefinedType.USAGECONTEXT;
11971      if ("base64Binary".equals(codeString))
11972        return FHIRDefinedType.BASE64BINARY;
11973      if ("boolean".equals(codeString))
11974        return FHIRDefinedType.BOOLEAN;
11975      if ("canonical".equals(codeString))
11976        return FHIRDefinedType.CANONICAL;
11977      if ("code".equals(codeString))
11978        return FHIRDefinedType.CODE;
11979      if ("date".equals(codeString))
11980        return FHIRDefinedType.DATE;
11981      if ("dateTime".equals(codeString))
11982        return FHIRDefinedType.DATETIME;
11983      if ("decimal".equals(codeString))
11984        return FHIRDefinedType.DECIMAL;
11985      if ("id".equals(codeString))
11986        return FHIRDefinedType.ID;
11987      if ("instant".equals(codeString))
11988        return FHIRDefinedType.INSTANT;
11989      if ("integer".equals(codeString))
11990        return FHIRDefinedType.INTEGER;
11991      if ("markdown".equals(codeString))
11992        return FHIRDefinedType.MARKDOWN;
11993      if ("oid".equals(codeString))
11994        return FHIRDefinedType.OID;
11995      if ("positiveInt".equals(codeString))
11996        return FHIRDefinedType.POSITIVEINT;
11997      if ("string".equals(codeString))
11998        return FHIRDefinedType.STRING;
11999      if ("time".equals(codeString))
12000        return FHIRDefinedType.TIME;
12001      if ("unsignedInt".equals(codeString))
12002        return FHIRDefinedType.UNSIGNEDINT;
12003      if ("uri".equals(codeString))
12004        return FHIRDefinedType.URI;
12005      if ("url".equals(codeString))
12006        return FHIRDefinedType.URL;
12007      if ("uuid".equals(codeString))
12008        return FHIRDefinedType.UUID;
12009      if ("xhtml".equals(codeString))
12010        return FHIRDefinedType.XHTML;
12011      if ("Account".equals(codeString))
12012        return FHIRDefinedType.ACCOUNT;
12013      if ("ActivityDefinition".equals(codeString))
12014        return FHIRDefinedType.ACTIVITYDEFINITION;
12015      if ("AdverseEvent".equals(codeString))
12016        return FHIRDefinedType.ADVERSEEVENT;
12017      if ("AllergyIntolerance".equals(codeString))
12018        return FHIRDefinedType.ALLERGYINTOLERANCE;
12019      if ("Appointment".equals(codeString))
12020        return FHIRDefinedType.APPOINTMENT;
12021      if ("AppointmentResponse".equals(codeString))
12022        return FHIRDefinedType.APPOINTMENTRESPONSE;
12023      if ("AuditEvent".equals(codeString))
12024        return FHIRDefinedType.AUDITEVENT;
12025      if ("Basic".equals(codeString))
12026        return FHIRDefinedType.BASIC;
12027      if ("Binary".equals(codeString))
12028        return FHIRDefinedType.BINARY;
12029      if ("BiologicallyDerivedProduct".equals(codeString))
12030        return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT;
12031      if ("BodyStructure".equals(codeString))
12032        return FHIRDefinedType.BODYSTRUCTURE;
12033      if ("Bundle".equals(codeString))
12034        return FHIRDefinedType.BUNDLE;
12035      if ("CapabilityStatement".equals(codeString))
12036        return FHIRDefinedType.CAPABILITYSTATEMENT;
12037      if ("CarePlan".equals(codeString))
12038        return FHIRDefinedType.CAREPLAN;
12039      if ("CareTeam".equals(codeString))
12040        return FHIRDefinedType.CARETEAM;
12041      if ("CatalogEntry".equals(codeString))
12042        return FHIRDefinedType.CATALOGENTRY;
12043      if ("ChargeItem".equals(codeString))
12044        return FHIRDefinedType.CHARGEITEM;
12045      if ("ChargeItemDefinition".equals(codeString))
12046        return FHIRDefinedType.CHARGEITEMDEFINITION;
12047      if ("Claim".equals(codeString))
12048        return FHIRDefinedType.CLAIM;
12049      if ("ClaimResponse".equals(codeString))
12050        return FHIRDefinedType.CLAIMRESPONSE;
12051      if ("ClinicalImpression".equals(codeString))
12052        return FHIRDefinedType.CLINICALIMPRESSION;
12053      if ("CodeSystem".equals(codeString))
12054        return FHIRDefinedType.CODESYSTEM;
12055      if ("Communication".equals(codeString))
12056        return FHIRDefinedType.COMMUNICATION;
12057      if ("CommunicationRequest".equals(codeString))
12058        return FHIRDefinedType.COMMUNICATIONREQUEST;
12059      if ("CompartmentDefinition".equals(codeString))
12060        return FHIRDefinedType.COMPARTMENTDEFINITION;
12061      if ("Composition".equals(codeString))
12062        return FHIRDefinedType.COMPOSITION;
12063      if ("ConceptMap".equals(codeString))
12064        return FHIRDefinedType.CONCEPTMAP;
12065      if ("Condition".equals(codeString))
12066        return FHIRDefinedType.CONDITION;
12067      if ("Consent".equals(codeString))
12068        return FHIRDefinedType.CONSENT;
12069      if ("Contract".equals(codeString))
12070        return FHIRDefinedType.CONTRACT;
12071      if ("Coverage".equals(codeString))
12072        return FHIRDefinedType.COVERAGE;
12073      if ("CoverageEligibilityRequest".equals(codeString))
12074        return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST;
12075      if ("CoverageEligibilityResponse".equals(codeString))
12076        return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE;
12077      if ("DetectedIssue".equals(codeString))
12078        return FHIRDefinedType.DETECTEDISSUE;
12079      if ("Device".equals(codeString))
12080        return FHIRDefinedType.DEVICE;
12081      if ("DeviceDefinition".equals(codeString))
12082        return FHIRDefinedType.DEVICEDEFINITION;
12083      if ("DeviceMetric".equals(codeString))
12084        return FHIRDefinedType.DEVICEMETRIC;
12085      if ("DeviceRequest".equals(codeString))
12086        return FHIRDefinedType.DEVICEREQUEST;
12087      if ("DeviceUseStatement".equals(codeString))
12088        return FHIRDefinedType.DEVICEUSESTATEMENT;
12089      if ("DiagnosticReport".equals(codeString))
12090        return FHIRDefinedType.DIAGNOSTICREPORT;
12091      if ("DocumentManifest".equals(codeString))
12092        return FHIRDefinedType.DOCUMENTMANIFEST;
12093      if ("DocumentReference".equals(codeString))
12094        return FHIRDefinedType.DOCUMENTREFERENCE;
12095      if ("DomainResource".equals(codeString))
12096        return FHIRDefinedType.DOMAINRESOURCE;
12097      if ("EffectEvidenceSynthesis".equals(codeString))
12098        return FHIRDefinedType.EFFECTEVIDENCESYNTHESIS;
12099      if ("Encounter".equals(codeString))
12100        return FHIRDefinedType.ENCOUNTER;
12101      if ("Endpoint".equals(codeString))
12102        return FHIRDefinedType.ENDPOINT;
12103      if ("EnrollmentRequest".equals(codeString))
12104        return FHIRDefinedType.ENROLLMENTREQUEST;
12105      if ("EnrollmentResponse".equals(codeString))
12106        return FHIRDefinedType.ENROLLMENTRESPONSE;
12107      if ("EpisodeOfCare".equals(codeString))
12108        return FHIRDefinedType.EPISODEOFCARE;
12109      if ("EventDefinition".equals(codeString))
12110        return FHIRDefinedType.EVENTDEFINITION;
12111      if ("Evidence".equals(codeString))
12112        return FHIRDefinedType.EVIDENCE;
12113      if ("EvidenceVariable".equals(codeString))
12114        return FHIRDefinedType.EVIDENCEVARIABLE;
12115      if ("ExampleScenario".equals(codeString))
12116        return FHIRDefinedType.EXAMPLESCENARIO;
12117      if ("ExplanationOfBenefit".equals(codeString))
12118        return FHIRDefinedType.EXPLANATIONOFBENEFIT;
12119      if ("FamilyMemberHistory".equals(codeString))
12120        return FHIRDefinedType.FAMILYMEMBERHISTORY;
12121      if ("Flag".equals(codeString))
12122        return FHIRDefinedType.FLAG;
12123      if ("Goal".equals(codeString))
12124        return FHIRDefinedType.GOAL;
12125      if ("GraphDefinition".equals(codeString))
12126        return FHIRDefinedType.GRAPHDEFINITION;
12127      if ("Group".equals(codeString))
12128        return FHIRDefinedType.GROUP;
12129      if ("GuidanceResponse".equals(codeString))
12130        return FHIRDefinedType.GUIDANCERESPONSE;
12131      if ("HealthcareService".equals(codeString))
12132        return FHIRDefinedType.HEALTHCARESERVICE;
12133      if ("ImagingStudy".equals(codeString))
12134        return FHIRDefinedType.IMAGINGSTUDY;
12135      if ("Immunization".equals(codeString))
12136        return FHIRDefinedType.IMMUNIZATION;
12137      if ("ImmunizationEvaluation".equals(codeString))
12138        return FHIRDefinedType.IMMUNIZATIONEVALUATION;
12139      if ("ImmunizationRecommendation".equals(codeString))
12140        return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION;
12141      if ("ImplementationGuide".equals(codeString))
12142        return FHIRDefinedType.IMPLEMENTATIONGUIDE;
12143      if ("InsurancePlan".equals(codeString))
12144        return FHIRDefinedType.INSURANCEPLAN;
12145      if ("Invoice".equals(codeString))
12146        return FHIRDefinedType.INVOICE;
12147      if ("Library".equals(codeString))
12148        return FHIRDefinedType.LIBRARY;
12149      if ("Linkage".equals(codeString))
12150        return FHIRDefinedType.LINKAGE;
12151      if ("List".equals(codeString))
12152        return FHIRDefinedType.LIST;
12153      if ("Location".equals(codeString))
12154        return FHIRDefinedType.LOCATION;
12155      if ("Measure".equals(codeString))
12156        return FHIRDefinedType.MEASURE;
12157      if ("MeasureReport".equals(codeString))
12158        return FHIRDefinedType.MEASUREREPORT;
12159      if ("Media".equals(codeString))
12160        return FHIRDefinedType.MEDIA;
12161      if ("Medication".equals(codeString))
12162        return FHIRDefinedType.MEDICATION;
12163      if ("MedicationAdministration".equals(codeString))
12164        return FHIRDefinedType.MEDICATIONADMINISTRATION;
12165      if ("MedicationDispense".equals(codeString))
12166        return FHIRDefinedType.MEDICATIONDISPENSE;
12167      if ("MedicationKnowledge".equals(codeString))
12168        return FHIRDefinedType.MEDICATIONKNOWLEDGE;
12169      if ("MedicationRequest".equals(codeString))
12170        return FHIRDefinedType.MEDICATIONREQUEST;
12171      if ("MedicationStatement".equals(codeString))
12172        return FHIRDefinedType.MEDICATIONSTATEMENT;
12173      if ("MedicinalProduct".equals(codeString))
12174        return FHIRDefinedType.MEDICINALPRODUCT;
12175      if ("MedicinalProductAuthorization".equals(codeString))
12176        return FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION;
12177      if ("MedicinalProductContraindication".equals(codeString))
12178        return FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION;
12179      if ("MedicinalProductIndication".equals(codeString))
12180        return FHIRDefinedType.MEDICINALPRODUCTINDICATION;
12181      if ("MedicinalProductIngredient".equals(codeString))
12182        return FHIRDefinedType.MEDICINALPRODUCTINGREDIENT;
12183      if ("MedicinalProductInteraction".equals(codeString))
12184        return FHIRDefinedType.MEDICINALPRODUCTINTERACTION;
12185      if ("MedicinalProductManufactured".equals(codeString))
12186        return FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED;
12187      if ("MedicinalProductPackaged".equals(codeString))
12188        return FHIRDefinedType.MEDICINALPRODUCTPACKAGED;
12189      if ("MedicinalProductPharmaceutical".equals(codeString))
12190        return FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL;
12191      if ("MedicinalProductUndesirableEffect".equals(codeString))
12192        return FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
12193      if ("MessageDefinition".equals(codeString))
12194        return FHIRDefinedType.MESSAGEDEFINITION;
12195      if ("MessageHeader".equals(codeString))
12196        return FHIRDefinedType.MESSAGEHEADER;
12197      if ("MolecularSequence".equals(codeString))
12198        return FHIRDefinedType.MOLECULARSEQUENCE;
12199      if ("NamingSystem".equals(codeString))
12200        return FHIRDefinedType.NAMINGSYSTEM;
12201      if ("NutritionOrder".equals(codeString))
12202        return FHIRDefinedType.NUTRITIONORDER;
12203      if ("Observation".equals(codeString))
12204        return FHIRDefinedType.OBSERVATION;
12205      if ("ObservationDefinition".equals(codeString))
12206        return FHIRDefinedType.OBSERVATIONDEFINITION;
12207      if ("OperationDefinition".equals(codeString))
12208        return FHIRDefinedType.OPERATIONDEFINITION;
12209      if ("OperationOutcome".equals(codeString))
12210        return FHIRDefinedType.OPERATIONOUTCOME;
12211      if ("Organization".equals(codeString))
12212        return FHIRDefinedType.ORGANIZATION;
12213      if ("OrganizationAffiliation".equals(codeString))
12214        return FHIRDefinedType.ORGANIZATIONAFFILIATION;
12215      if ("Parameters".equals(codeString))
12216        return FHIRDefinedType.PARAMETERS;
12217      if ("Patient".equals(codeString))
12218        return FHIRDefinedType.PATIENT;
12219      if ("PaymentNotice".equals(codeString))
12220        return FHIRDefinedType.PAYMENTNOTICE;
12221      if ("PaymentReconciliation".equals(codeString))
12222        return FHIRDefinedType.PAYMENTRECONCILIATION;
12223      if ("Person".equals(codeString))
12224        return FHIRDefinedType.PERSON;
12225      if ("PlanDefinition".equals(codeString))
12226        return FHIRDefinedType.PLANDEFINITION;
12227      if ("Practitioner".equals(codeString))
12228        return FHIRDefinedType.PRACTITIONER;
12229      if ("PractitionerRole".equals(codeString))
12230        return FHIRDefinedType.PRACTITIONERROLE;
12231      if ("Procedure".equals(codeString))
12232        return FHIRDefinedType.PROCEDURE;
12233      if ("Provenance".equals(codeString))
12234        return FHIRDefinedType.PROVENANCE;
12235      if ("Questionnaire".equals(codeString))
12236        return FHIRDefinedType.QUESTIONNAIRE;
12237      if ("QuestionnaireResponse".equals(codeString))
12238        return FHIRDefinedType.QUESTIONNAIRERESPONSE;
12239      if ("RelatedPerson".equals(codeString))
12240        return FHIRDefinedType.RELATEDPERSON;
12241      if ("RequestGroup".equals(codeString))
12242        return FHIRDefinedType.REQUESTGROUP;
12243      if ("ResearchDefinition".equals(codeString))
12244        return FHIRDefinedType.RESEARCHDEFINITION;
12245      if ("ResearchElementDefinition".equals(codeString))
12246        return FHIRDefinedType.RESEARCHELEMENTDEFINITION;
12247      if ("ResearchStudy".equals(codeString))
12248        return FHIRDefinedType.RESEARCHSTUDY;
12249      if ("ResearchSubject".equals(codeString))
12250        return FHIRDefinedType.RESEARCHSUBJECT;
12251      if ("Resource".equals(codeString))
12252        return FHIRDefinedType.RESOURCE;
12253      if ("RiskAssessment".equals(codeString))
12254        return FHIRDefinedType.RISKASSESSMENT;
12255      if ("RiskEvidenceSynthesis".equals(codeString))
12256        return FHIRDefinedType.RISKEVIDENCESYNTHESIS;
12257      if ("Schedule".equals(codeString))
12258        return FHIRDefinedType.SCHEDULE;
12259      if ("SearchParameter".equals(codeString))
12260        return FHIRDefinedType.SEARCHPARAMETER;
12261      if ("ServiceRequest".equals(codeString))
12262        return FHIRDefinedType.SERVICEREQUEST;
12263      if ("Slot".equals(codeString))
12264        return FHIRDefinedType.SLOT;
12265      if ("Specimen".equals(codeString))
12266        return FHIRDefinedType.SPECIMEN;
12267      if ("SpecimenDefinition".equals(codeString))
12268        return FHIRDefinedType.SPECIMENDEFINITION;
12269      if ("StructureDefinition".equals(codeString))
12270        return FHIRDefinedType.STRUCTUREDEFINITION;
12271      if ("StructureMap".equals(codeString))
12272        return FHIRDefinedType.STRUCTUREMAP;
12273      if ("Subscription".equals(codeString))
12274        return FHIRDefinedType.SUBSCRIPTION;
12275      if ("Substance".equals(codeString))
12276        return FHIRDefinedType.SUBSTANCE;
12277      if ("SubstanceNucleicAcid".equals(codeString))
12278        return FHIRDefinedType.SUBSTANCENUCLEICACID;
12279      if ("SubstancePolymer".equals(codeString))
12280        return FHIRDefinedType.SUBSTANCEPOLYMER;
12281      if ("SubstanceProtein".equals(codeString))
12282        return FHIRDefinedType.SUBSTANCEPROTEIN;
12283      if ("SubstanceReferenceInformation".equals(codeString))
12284        return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION;
12285      if ("SubstanceSourceMaterial".equals(codeString))
12286        return FHIRDefinedType.SUBSTANCESOURCEMATERIAL;
12287      if ("SubstanceSpecification".equals(codeString))
12288        return FHIRDefinedType.SUBSTANCESPECIFICATION;
12289      if ("SupplyDelivery".equals(codeString))
12290        return FHIRDefinedType.SUPPLYDELIVERY;
12291      if ("SupplyRequest".equals(codeString))
12292        return FHIRDefinedType.SUPPLYREQUEST;
12293      if ("Task".equals(codeString))
12294        return FHIRDefinedType.TASK;
12295      if ("TerminologyCapabilities".equals(codeString))
12296        return FHIRDefinedType.TERMINOLOGYCAPABILITIES;
12297      if ("TestReport".equals(codeString))
12298        return FHIRDefinedType.TESTREPORT;
12299      if ("TestScript".equals(codeString))
12300        return FHIRDefinedType.TESTSCRIPT;
12301      if ("ValueSet".equals(codeString))
12302        return FHIRDefinedType.VALUESET;
12303      if ("VerificationResult".equals(codeString))
12304        return FHIRDefinedType.VERIFICATIONRESULT;
12305      if ("VisionPrescription".equals(codeString))
12306        return FHIRDefinedType.VISIONPRESCRIPTION;
12307      throw new IllegalArgumentException("Unknown FHIRDefinedType code '" + codeString + "'");
12308    }
12309
12310    public Enumeration<FHIRDefinedType> fromType(PrimitiveType<?> code) throws FHIRException {
12311      if (code == null)
12312        return null;
12313      if (code.isEmpty())
12314        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NULL, code);
12315      String codeString = code.asStringValue();
12316      if (codeString == null || "".equals(codeString))
12317        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NULL, code);
12318      if ("Address".equals(codeString))
12319        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS, code);
12320      if ("Age".equals(codeString))
12321        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE, code);
12322      if ("Annotation".equals(codeString))
12323        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION, code);
12324      if ("Attachment".equals(codeString))
12325        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT, code);
12326      if ("BackboneElement".equals(codeString))
12327        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT, code);
12328      if ("CodeableConcept".equals(codeString))
12329        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT, code);
12330      if ("Coding".equals(codeString))
12331        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING, code);
12332      if ("ContactDetail".equals(codeString))
12333        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL, code);
12334      if ("ContactPoint".equals(codeString))
12335        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT, code);
12336      if ("Contributor".equals(codeString))
12337        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR, code);
12338      if ("Count".equals(codeString))
12339        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT, code);
12340      if ("DataRequirement".equals(codeString))
12341        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT, code);
12342      if ("Distance".equals(codeString))
12343        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE, code);
12344      if ("Dosage".equals(codeString))
12345        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE, code);
12346      if ("Duration".equals(codeString))
12347        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION, code);
12348      if ("Element".equals(codeString))
12349        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT, code);
12350      if ("ElementDefinition".equals(codeString))
12351        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION, code);
12352      if ("Expression".equals(codeString))
12353        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPRESSION, code);
12354      if ("Extension".equals(codeString))
12355        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION, code);
12356      if ("HumanName".equals(codeString))
12357        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME, code);
12358      if ("Identifier".equals(codeString))
12359        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER, code);
12360      if ("MarketingStatus".equals(codeString))
12361        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS, code);
12362      if ("Meta".equals(codeString))
12363        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META, code);
12364      if ("Money".equals(codeString))
12365        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY, code);
12366      if ("MoneyQuantity".equals(codeString))
12367        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEYQUANTITY, code);
12368      if ("Narrative".equals(codeString))
12369        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE, code);
12370      if ("ParameterDefinition".equals(codeString))
12371        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION, code);
12372      if ("Period".equals(codeString))
12373        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD, code);
12374      if ("Population".equals(codeString))
12375        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POPULATION, code);
12376      if ("ProdCharacteristic".equals(codeString))
12377        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC, code);
12378      if ("ProductShelfLife".equals(codeString))
12379        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE, code);
12380      if ("Quantity".equals(codeString))
12381        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY, code);
12382      if ("Range".equals(codeString))
12383        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE, code);
12384      if ("Ratio".equals(codeString))
12385        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO, code);
12386      if ("Reference".equals(codeString))
12387        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE, code);
12388      if ("RelatedArtifact".equals(codeString))
12389        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT, code);
12390      if ("SampledData".equals(codeString))
12391        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA, code);
12392      if ("Signature".equals(codeString))
12393        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE, code);
12394      if ("SimpleQuantity".equals(codeString))
12395        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY, code);
12396      if ("SubstanceAmount".equals(codeString))
12397        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEAMOUNT, code);
12398      if ("Timing".equals(codeString))
12399        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING, code);
12400      if ("TriggerDefinition".equals(codeString))
12401        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION, code);
12402      if ("UsageContext".equals(codeString))
12403        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT, code);
12404      if ("base64Binary".equals(codeString))
12405        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY, code);
12406      if ("boolean".equals(codeString))
12407        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN, code);
12408      if ("canonical".equals(codeString))
12409        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL, code);
12410      if ("code".equals(codeString))
12411        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE, code);
12412      if ("date".equals(codeString))
12413        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE, code);
12414      if ("dateTime".equals(codeString))
12415        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME, code);
12416      if ("decimal".equals(codeString))
12417        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL, code);
12418      if ("id".equals(codeString))
12419        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID, code);
12420      if ("instant".equals(codeString))
12421        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT, code);
12422      if ("integer".equals(codeString))
12423        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER, code);
12424      if ("markdown".equals(codeString))
12425        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN, code);
12426      if ("oid".equals(codeString))
12427        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID, code);
12428      if ("positiveInt".equals(codeString))
12429        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT, code);
12430      if ("string".equals(codeString))
12431        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING, code);
12432      if ("time".equals(codeString))
12433        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME, code);
12434      if ("unsignedInt".equals(codeString))
12435        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT, code);
12436      if ("uri".equals(codeString))
12437        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI, code);
12438      if ("url".equals(codeString))
12439        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL, code);
12440      if ("uuid".equals(codeString))
12441        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID, code);
12442      if ("xhtml".equals(codeString))
12443        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML, code);
12444      if ("Account".equals(codeString))
12445        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT, code);
12446      if ("ActivityDefinition".equals(codeString))
12447        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION, code);
12448      if ("AdverseEvent".equals(codeString))
12449        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT, code);
12450      if ("AllergyIntolerance".equals(codeString))
12451        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE, code);
12452      if ("Appointment".equals(codeString))
12453        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT, code);
12454      if ("AppointmentResponse".equals(codeString))
12455        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE, code);
12456      if ("AuditEvent".equals(codeString))
12457        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT, code);
12458      if ("Basic".equals(codeString))
12459        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC, code);
12460      if ("Binary".equals(codeString))
12461        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY, code);
12462      if ("BiologicallyDerivedProduct".equals(codeString))
12463        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT, code);
12464      if ("BodyStructure".equals(codeString))
12465        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE, code);
12466      if ("Bundle".equals(codeString))
12467        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE, code);
12468      if ("CapabilityStatement".equals(codeString))
12469        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT, code);
12470      if ("CarePlan".equals(codeString))
12471        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN, code);
12472      if ("CareTeam".equals(codeString))
12473        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM, code);
12474      if ("CatalogEntry".equals(codeString))
12475        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CATALOGENTRY, code);
12476      if ("ChargeItem".equals(codeString))
12477        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM, code);
12478      if ("ChargeItemDefinition".equals(codeString))
12479        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEMDEFINITION, code);
12480      if ("Claim".equals(codeString))
12481        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM, code);
12482      if ("ClaimResponse".equals(codeString))
12483        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE, code);
12484      if ("ClinicalImpression".equals(codeString))
12485        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION, code);
12486      if ("CodeSystem".equals(codeString))
12487        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM, code);
12488      if ("Communication".equals(codeString))
12489        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION, code);
12490      if ("CommunicationRequest".equals(codeString))
12491        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST, code);
12492      if ("CompartmentDefinition".equals(codeString))
12493        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION, code);
12494      if ("Composition".equals(codeString))
12495        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION, code);
12496      if ("ConceptMap".equals(codeString))
12497        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP, code);
12498      if ("Condition".equals(codeString))
12499        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION, code);
12500      if ("Consent".equals(codeString))
12501        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT, code);
12502      if ("Contract".equals(codeString))
12503        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT, code);
12504      if ("Coverage".equals(codeString))
12505        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE, code);
12506      if ("CoverageEligibilityRequest".equals(codeString))
12507        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST, code);
12508      if ("CoverageEligibilityResponse".equals(codeString))
12509        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE, code);
12510      if ("DetectedIssue".equals(codeString))
12511        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE, code);
12512      if ("Device".equals(codeString))
12513        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE, code);
12514      if ("DeviceDefinition".equals(codeString))
12515        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDEFINITION, code);
12516      if ("DeviceMetric".equals(codeString))
12517        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC, code);
12518      if ("DeviceRequest".equals(codeString))
12519        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST, code);
12520      if ("DeviceUseStatement".equals(codeString))
12521        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT, code);
12522      if ("DiagnosticReport".equals(codeString))
12523        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT, code);
12524      if ("DocumentManifest".equals(codeString))
12525        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST, code);
12526      if ("DocumentReference".equals(codeString))
12527        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE, code);
12528      if ("DomainResource".equals(codeString))
12529        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE, code);
12530      if ("EffectEvidenceSynthesis".equals(codeString))
12531        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EFFECTEVIDENCESYNTHESIS, code);
12532      if ("Encounter".equals(codeString))
12533        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER, code);
12534      if ("Endpoint".equals(codeString))
12535        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT, code);
12536      if ("EnrollmentRequest".equals(codeString))
12537        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST, code);
12538      if ("EnrollmentResponse".equals(codeString))
12539        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE, code);
12540      if ("EpisodeOfCare".equals(codeString))
12541        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE, code);
12542      if ("EventDefinition".equals(codeString))
12543        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION, code);
12544      if ("Evidence".equals(codeString))
12545        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCE, code);
12546      if ("EvidenceVariable".equals(codeString))
12547        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCEVARIABLE, code);
12548      if ("ExampleScenario".equals(codeString))
12549        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO, code);
12550      if ("ExplanationOfBenefit".equals(codeString))
12551        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT, code);
12552      if ("FamilyMemberHistory".equals(codeString))
12553        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY, code);
12554      if ("Flag".equals(codeString))
12555        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG, code);
12556      if ("Goal".equals(codeString))
12557        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL, code);
12558      if ("GraphDefinition".equals(codeString))
12559        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION, code);
12560      if ("Group".equals(codeString))
12561        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP, code);
12562      if ("GuidanceResponse".equals(codeString))
12563        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE, code);
12564      if ("HealthcareService".equals(codeString))
12565        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE, code);
12566      if ("ImagingStudy".equals(codeString))
12567        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY, code);
12568      if ("Immunization".equals(codeString))
12569        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION, code);
12570      if ("ImmunizationEvaluation".equals(codeString))
12571        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION, code);
12572      if ("ImmunizationRecommendation".equals(codeString))
12573        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION, code);
12574      if ("ImplementationGuide".equals(codeString))
12575        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE, code);
12576      if ("InsurancePlan".equals(codeString))
12577        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSURANCEPLAN, code);
12578      if ("Invoice".equals(codeString))
12579        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE, code);
12580      if ("Library".equals(codeString))
12581        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY, code);
12582      if ("Linkage".equals(codeString))
12583        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE, code);
12584      if ("List".equals(codeString))
12585        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST, code);
12586      if ("Location".equals(codeString))
12587        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION, code);
12588      if ("Measure".equals(codeString))
12589        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE, code);
12590      if ("MeasureReport".equals(codeString))
12591        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT, code);
12592      if ("Media".equals(codeString))
12593        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA, code);
12594      if ("Medication".equals(codeString))
12595        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION, code);
12596      if ("MedicationAdministration".equals(codeString))
12597        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION, code);
12598      if ("MedicationDispense".equals(codeString))
12599        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE, code);
12600      if ("MedicationKnowledge".equals(codeString))
12601        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE, code);
12602      if ("MedicationRequest".equals(codeString))
12603        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST, code);
12604      if ("MedicationStatement".equals(codeString))
12605        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT, code);
12606      if ("MedicinalProduct".equals(codeString))
12607        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCT, code);
12608      if ("MedicinalProductAuthorization".equals(codeString))
12609        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION, code);
12610      if ("MedicinalProductContraindication".equals(codeString))
12611        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION, code);
12612      if ("MedicinalProductIndication".equals(codeString))
12613        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINDICATION, code);
12614      if ("MedicinalProductIngredient".equals(codeString))
12615        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINGREDIENT, code);
12616      if ("MedicinalProductInteraction".equals(codeString))
12617        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINTERACTION, code);
12618      if ("MedicinalProductManufactured".equals(codeString))
12619        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED, code);
12620      if ("MedicinalProductPackaged".equals(codeString))
12621        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPACKAGED, code);
12622      if ("MedicinalProductPharmaceutical".equals(codeString))
12623        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL, code);
12624      if ("MedicinalProductUndesirableEffect".equals(codeString))
12625        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT, code);
12626      if ("MessageDefinition".equals(codeString))
12627        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION, code);
12628      if ("MessageHeader".equals(codeString))
12629        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER, code);
12630      if ("MolecularSequence".equals(codeString))
12631        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MOLECULARSEQUENCE, code);
12632      if ("NamingSystem".equals(codeString))
12633        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM, code);
12634      if ("NutritionOrder".equals(codeString))
12635        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER, code);
12636      if ("Observation".equals(codeString))
12637        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION, code);
12638      if ("ObservationDefinition".equals(codeString))
12639        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION, code);
12640      if ("OperationDefinition".equals(codeString))
12641        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION, code);
12642      if ("OperationOutcome".equals(codeString))
12643        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME, code);
12644      if ("Organization".equals(codeString))
12645        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION, code);
12646      if ("OrganizationAffiliation".equals(codeString))
12647        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONAFFILIATION, code);
12648      if ("Parameters".equals(codeString))
12649        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS, code);
12650      if ("Patient".equals(codeString))
12651        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT, code);
12652      if ("PaymentNotice".equals(codeString))
12653        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE, code);
12654      if ("PaymentReconciliation".equals(codeString))
12655        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION, code);
12656      if ("Person".equals(codeString))
12657        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON, code);
12658      if ("PlanDefinition".equals(codeString))
12659        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION, code);
12660      if ("Practitioner".equals(codeString))
12661        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER, code);
12662      if ("PractitionerRole".equals(codeString))
12663        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE, code);
12664      if ("Procedure".equals(codeString))
12665        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE, code);
12666      if ("Provenance".equals(codeString))
12667        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE, code);
12668      if ("Questionnaire".equals(codeString))
12669        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE, code);
12670      if ("QuestionnaireResponse".equals(codeString))
12671        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE, code);
12672      if ("RelatedPerson".equals(codeString))
12673        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON, code);
12674      if ("RequestGroup".equals(codeString))
12675        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP, code);
12676      if ("ResearchDefinition".equals(codeString))
12677        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHDEFINITION, code);
12678      if ("ResearchElementDefinition".equals(codeString))
12679        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHELEMENTDEFINITION, code);
12680      if ("ResearchStudy".equals(codeString))
12681        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY, code);
12682      if ("ResearchSubject".equals(codeString))
12683        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT, code);
12684      if ("Resource".equals(codeString))
12685        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE, code);
12686      if ("RiskAssessment".equals(codeString))
12687        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT, code);
12688      if ("RiskEvidenceSynthesis".equals(codeString))
12689        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKEVIDENCESYNTHESIS, code);
12690      if ("Schedule".equals(codeString))
12691        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE, code);
12692      if ("SearchParameter".equals(codeString))
12693        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER, code);
12694      if ("ServiceRequest".equals(codeString))
12695        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST, code);
12696      if ("Slot".equals(codeString))
12697        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT, code);
12698      if ("Specimen".equals(codeString))
12699        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN, code);
12700      if ("SpecimenDefinition".equals(codeString))
12701        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION, code);
12702      if ("StructureDefinition".equals(codeString))
12703        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION, code);
12704      if ("StructureMap".equals(codeString))
12705        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP, code);
12706      if ("Subscription".equals(codeString))
12707        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION, code);
12708      if ("Substance".equals(codeString))
12709        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE, code);
12710      if ("SubstanceNucleicAcid".equals(codeString))
12711        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCENUCLEICACID, code);
12712      if ("SubstancePolymer".equals(codeString))
12713        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER, code);
12714      if ("SubstanceProtein".equals(codeString))
12715        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPROTEIN, code);
12716      if ("SubstanceReferenceInformation".equals(codeString))
12717        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION, code);
12718      if ("SubstanceSourceMaterial".equals(codeString))
12719        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESOURCEMATERIAL, code);
12720      if ("SubstanceSpecification".equals(codeString))
12721        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESPECIFICATION, code);
12722      if ("SupplyDelivery".equals(codeString))
12723        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY, code);
12724      if ("SupplyRequest".equals(codeString))
12725        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST, code);
12726      if ("Task".equals(codeString))
12727        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK, code);
12728      if ("TerminologyCapabilities".equals(codeString))
12729        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES, code);
12730      if ("TestReport".equals(codeString))
12731        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT, code);
12732      if ("TestScript".equals(codeString))
12733        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT, code);
12734      if ("ValueSet".equals(codeString))
12735        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET, code);
12736      if ("VerificationResult".equals(codeString))
12737        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT, code);
12738      if ("VisionPrescription".equals(codeString))
12739        return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION, code);
12740      throw new FHIRException("Unknown FHIRDefinedType code '" + codeString + "'");
12741    }
12742
12743    public String toCode(FHIRDefinedType code) {
12744       if (code == FHIRDefinedType.NULL)
12745           return null;
12746       if (code == FHIRDefinedType.ADDRESS)
12747        return "Address";
12748      if (code == FHIRDefinedType.AGE)
12749        return "Age";
12750      if (code == FHIRDefinedType.ANNOTATION)
12751        return "Annotation";
12752      if (code == FHIRDefinedType.ATTACHMENT)
12753        return "Attachment";
12754      if (code == FHIRDefinedType.BACKBONEELEMENT)
12755        return "BackboneElement";
12756      if (code == FHIRDefinedType.CODEABLECONCEPT)
12757        return "CodeableConcept";
12758      if (code == FHIRDefinedType.CODING)
12759        return "Coding";
12760      if (code == FHIRDefinedType.CONTACTDETAIL)
12761        return "ContactDetail";
12762      if (code == FHIRDefinedType.CONTACTPOINT)
12763        return "ContactPoint";
12764      if (code == FHIRDefinedType.CONTRIBUTOR)
12765        return "Contributor";
12766      if (code == FHIRDefinedType.COUNT)
12767        return "Count";
12768      if (code == FHIRDefinedType.DATAREQUIREMENT)
12769        return "DataRequirement";
12770      if (code == FHIRDefinedType.DISTANCE)
12771        return "Distance";
12772      if (code == FHIRDefinedType.DOSAGE)
12773        return "Dosage";
12774      if (code == FHIRDefinedType.DURATION)
12775        return "Duration";
12776      if (code == FHIRDefinedType.ELEMENT)
12777        return "Element";
12778      if (code == FHIRDefinedType.ELEMENTDEFINITION)
12779        return "ElementDefinition";
12780      if (code == FHIRDefinedType.EXPRESSION)
12781        return "Expression";
12782      if (code == FHIRDefinedType.EXTENSION)
12783        return "Extension";
12784      if (code == FHIRDefinedType.HUMANNAME)
12785        return "HumanName";
12786      if (code == FHIRDefinedType.IDENTIFIER)
12787        return "Identifier";
12788      if (code == FHIRDefinedType.MARKETINGSTATUS)
12789        return "MarketingStatus";
12790      if (code == FHIRDefinedType.META)
12791        return "Meta";
12792      if (code == FHIRDefinedType.MONEY)
12793        return "Money";
12794      if (code == FHIRDefinedType.MONEYQUANTITY)
12795        return "MoneyQuantity";
12796      if (code == FHIRDefinedType.NARRATIVE)
12797        return "Narrative";
12798      if (code == FHIRDefinedType.PARAMETERDEFINITION)
12799        return "ParameterDefinition";
12800      if (code == FHIRDefinedType.PERIOD)
12801        return "Period";
12802      if (code == FHIRDefinedType.POPULATION)
12803        return "Population";
12804      if (code == FHIRDefinedType.PRODCHARACTERISTIC)
12805        return "ProdCharacteristic";
12806      if (code == FHIRDefinedType.PRODUCTSHELFLIFE)
12807        return "ProductShelfLife";
12808      if (code == FHIRDefinedType.QUANTITY)
12809        return "Quantity";
12810      if (code == FHIRDefinedType.RANGE)
12811        return "Range";
12812      if (code == FHIRDefinedType.RATIO)
12813        return "Ratio";
12814      if (code == FHIRDefinedType.REFERENCE)
12815        return "Reference";
12816      if (code == FHIRDefinedType.RELATEDARTIFACT)
12817        return "RelatedArtifact";
12818      if (code == FHIRDefinedType.SAMPLEDDATA)
12819        return "SampledData";
12820      if (code == FHIRDefinedType.SIGNATURE)
12821        return "Signature";
12822      if (code == FHIRDefinedType.SIMPLEQUANTITY)
12823        return "SimpleQuantity";
12824      if (code == FHIRDefinedType.SUBSTANCEAMOUNT)
12825        return "SubstanceAmount";
12826      if (code == FHIRDefinedType.TIMING)
12827        return "Timing";
12828      if (code == FHIRDefinedType.TRIGGERDEFINITION)
12829        return "TriggerDefinition";
12830      if (code == FHIRDefinedType.USAGECONTEXT)
12831        return "UsageContext";
12832      if (code == FHIRDefinedType.BASE64BINARY)
12833        return "base64Binary";
12834      if (code == FHIRDefinedType.BOOLEAN)
12835        return "boolean";
12836      if (code == FHIRDefinedType.CANONICAL)
12837        return "canonical";
12838      if (code == FHIRDefinedType.CODE)
12839        return "code";
12840      if (code == FHIRDefinedType.DATE)
12841        return "date";
12842      if (code == FHIRDefinedType.DATETIME)
12843        return "dateTime";
12844      if (code == FHIRDefinedType.DECIMAL)
12845        return "decimal";
12846      if (code == FHIRDefinedType.ID)
12847        return "id";
12848      if (code == FHIRDefinedType.INSTANT)
12849        return "instant";
12850      if (code == FHIRDefinedType.INTEGER)
12851        return "integer";
12852      if (code == FHIRDefinedType.MARKDOWN)
12853        return "markdown";
12854      if (code == FHIRDefinedType.OID)
12855        return "oid";
12856      if (code == FHIRDefinedType.POSITIVEINT)
12857        return "positiveInt";
12858      if (code == FHIRDefinedType.STRING)
12859        return "string";
12860      if (code == FHIRDefinedType.TIME)
12861        return "time";
12862      if (code == FHIRDefinedType.UNSIGNEDINT)
12863        return "unsignedInt";
12864      if (code == FHIRDefinedType.URI)
12865        return "uri";
12866      if (code == FHIRDefinedType.URL)
12867        return "url";
12868      if (code == FHIRDefinedType.UUID)
12869        return "uuid";
12870      if (code == FHIRDefinedType.XHTML)
12871        return "xhtml";
12872      if (code == FHIRDefinedType.ACCOUNT)
12873        return "Account";
12874      if (code == FHIRDefinedType.ACTIVITYDEFINITION)
12875        return "ActivityDefinition";
12876      if (code == FHIRDefinedType.ADVERSEEVENT)
12877        return "AdverseEvent";
12878      if (code == FHIRDefinedType.ALLERGYINTOLERANCE)
12879        return "AllergyIntolerance";
12880      if (code == FHIRDefinedType.APPOINTMENT)
12881        return "Appointment";
12882      if (code == FHIRDefinedType.APPOINTMENTRESPONSE)
12883        return "AppointmentResponse";
12884      if (code == FHIRDefinedType.AUDITEVENT)
12885        return "AuditEvent";
12886      if (code == FHIRDefinedType.BASIC)
12887        return "Basic";
12888      if (code == FHIRDefinedType.BINARY)
12889        return "Binary";
12890      if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT)
12891        return "BiologicallyDerivedProduct";
12892      if (code == FHIRDefinedType.BODYSTRUCTURE)
12893        return "BodyStructure";
12894      if (code == FHIRDefinedType.BUNDLE)
12895        return "Bundle";
12896      if (code == FHIRDefinedType.CAPABILITYSTATEMENT)
12897        return "CapabilityStatement";
12898      if (code == FHIRDefinedType.CAREPLAN)
12899        return "CarePlan";
12900      if (code == FHIRDefinedType.CARETEAM)
12901        return "CareTeam";
12902      if (code == FHIRDefinedType.CATALOGENTRY)
12903        return "CatalogEntry";
12904      if (code == FHIRDefinedType.CHARGEITEM)
12905        return "ChargeItem";
12906      if (code == FHIRDefinedType.CHARGEITEMDEFINITION)
12907        return "ChargeItemDefinition";
12908      if (code == FHIRDefinedType.CLAIM)
12909        return "Claim";
12910      if (code == FHIRDefinedType.CLAIMRESPONSE)
12911        return "ClaimResponse";
12912      if (code == FHIRDefinedType.CLINICALIMPRESSION)
12913        return "ClinicalImpression";
12914      if (code == FHIRDefinedType.CODESYSTEM)
12915        return "CodeSystem";
12916      if (code == FHIRDefinedType.COMMUNICATION)
12917        return "Communication";
12918      if (code == FHIRDefinedType.COMMUNICATIONREQUEST)
12919        return "CommunicationRequest";
12920      if (code == FHIRDefinedType.COMPARTMENTDEFINITION)
12921        return "CompartmentDefinition";
12922      if (code == FHIRDefinedType.COMPOSITION)
12923        return "Composition";
12924      if (code == FHIRDefinedType.CONCEPTMAP)
12925        return "ConceptMap";
12926      if (code == FHIRDefinedType.CONDITION)
12927        return "Condition";
12928      if (code == FHIRDefinedType.CONSENT)
12929        return "Consent";
12930      if (code == FHIRDefinedType.CONTRACT)
12931        return "Contract";
12932      if (code == FHIRDefinedType.COVERAGE)
12933        return "Coverage";
12934      if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST)
12935        return "CoverageEligibilityRequest";
12936      if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE)
12937        return "CoverageEligibilityResponse";
12938      if (code == FHIRDefinedType.DETECTEDISSUE)
12939        return "DetectedIssue";
12940      if (code == FHIRDefinedType.DEVICE)
12941        return "Device";
12942      if (code == FHIRDefinedType.DEVICEDEFINITION)
12943        return "DeviceDefinition";
12944      if (code == FHIRDefinedType.DEVICEMETRIC)
12945        return "DeviceMetric";
12946      if (code == FHIRDefinedType.DEVICEREQUEST)
12947        return "DeviceRequest";
12948      if (code == FHIRDefinedType.DEVICEUSESTATEMENT)
12949        return "DeviceUseStatement";
12950      if (code == FHIRDefinedType.DIAGNOSTICREPORT)
12951        return "DiagnosticReport";
12952      if (code == FHIRDefinedType.DOCUMENTMANIFEST)
12953        return "DocumentManifest";
12954      if (code == FHIRDefinedType.DOCUMENTREFERENCE)
12955        return "DocumentReference";
12956      if (code == FHIRDefinedType.DOMAINRESOURCE)
12957        return "DomainResource";
12958      if (code == FHIRDefinedType.EFFECTEVIDENCESYNTHESIS)
12959        return "EffectEvidenceSynthesis";
12960      if (code == FHIRDefinedType.ENCOUNTER)
12961        return "Encounter";
12962      if (code == FHIRDefinedType.ENDPOINT)
12963        return "Endpoint";
12964      if (code == FHIRDefinedType.ENROLLMENTREQUEST)
12965        return "EnrollmentRequest";
12966      if (code == FHIRDefinedType.ENROLLMENTRESPONSE)
12967        return "EnrollmentResponse";
12968      if (code == FHIRDefinedType.EPISODEOFCARE)
12969        return "EpisodeOfCare";
12970      if (code == FHIRDefinedType.EVENTDEFINITION)
12971        return "EventDefinition";
12972      if (code == FHIRDefinedType.EVIDENCE)
12973        return "Evidence";
12974      if (code == FHIRDefinedType.EVIDENCEVARIABLE)
12975        return "EvidenceVariable";
12976      if (code == FHIRDefinedType.EXAMPLESCENARIO)
12977        return "ExampleScenario";
12978      if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT)
12979        return "ExplanationOfBenefit";
12980      if (code == FHIRDefinedType.FAMILYMEMBERHISTORY)
12981        return "FamilyMemberHistory";
12982      if (code == FHIRDefinedType.FLAG)
12983        return "Flag";
12984      if (code == FHIRDefinedType.GOAL)
12985        return "Goal";
12986      if (code == FHIRDefinedType.GRAPHDEFINITION)
12987        return "GraphDefinition";
12988      if (code == FHIRDefinedType.GROUP)
12989        return "Group";
12990      if (code == FHIRDefinedType.GUIDANCERESPONSE)
12991        return "GuidanceResponse";
12992      if (code == FHIRDefinedType.HEALTHCARESERVICE)
12993        return "HealthcareService";
12994      if (code == FHIRDefinedType.IMAGINGSTUDY)
12995        return "ImagingStudy";
12996      if (code == FHIRDefinedType.IMMUNIZATION)
12997        return "Immunization";
12998      if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION)
12999        return "ImmunizationEvaluation";
13000      if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION)
13001        return "ImmunizationRecommendation";
13002      if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE)
13003        return "ImplementationGuide";
13004      if (code == FHIRDefinedType.INSURANCEPLAN)
13005        return "InsurancePlan";
13006      if (code == FHIRDefinedType.INVOICE)
13007        return "Invoice";
13008      if (code == FHIRDefinedType.LIBRARY)
13009        return "Library";
13010      if (code == FHIRDefinedType.LINKAGE)
13011        return "Linkage";
13012      if (code == FHIRDefinedType.LIST)
13013        return "List";
13014      if (code == FHIRDefinedType.LOCATION)
13015        return "Location";
13016      if (code == FHIRDefinedType.MEASURE)
13017        return "Measure";
13018      if (code == FHIRDefinedType.MEASUREREPORT)
13019        return "MeasureReport";
13020      if (code == FHIRDefinedType.MEDIA)
13021        return "Media";
13022      if (code == FHIRDefinedType.MEDICATION)
13023        return "Medication";
13024      if (code == FHIRDefinedType.MEDICATIONADMINISTRATION)
13025        return "MedicationAdministration";
13026      if (code == FHIRDefinedType.MEDICATIONDISPENSE)
13027        return "MedicationDispense";
13028      if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE)
13029        return "MedicationKnowledge";
13030      if (code == FHIRDefinedType.MEDICATIONREQUEST)
13031        return "MedicationRequest";
13032      if (code == FHIRDefinedType.MEDICATIONSTATEMENT)
13033        return "MedicationStatement";
13034      if (code == FHIRDefinedType.MEDICINALPRODUCT)
13035        return "MedicinalProduct";
13036      if (code == FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION)
13037        return "MedicinalProductAuthorization";
13038      if (code == FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION)
13039        return "MedicinalProductContraindication";
13040      if (code == FHIRDefinedType.MEDICINALPRODUCTINDICATION)
13041        return "MedicinalProductIndication";
13042      if (code == FHIRDefinedType.MEDICINALPRODUCTINGREDIENT)
13043        return "MedicinalProductIngredient";
13044      if (code == FHIRDefinedType.MEDICINALPRODUCTINTERACTION)
13045        return "MedicinalProductInteraction";
13046      if (code == FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED)
13047        return "MedicinalProductManufactured";
13048      if (code == FHIRDefinedType.MEDICINALPRODUCTPACKAGED)
13049        return "MedicinalProductPackaged";
13050      if (code == FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL)
13051        return "MedicinalProductPharmaceutical";
13052      if (code == FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
13053        return "MedicinalProductUndesirableEffect";
13054      if (code == FHIRDefinedType.MESSAGEDEFINITION)
13055        return "MessageDefinition";
13056      if (code == FHIRDefinedType.MESSAGEHEADER)
13057        return "MessageHeader";
13058      if (code == FHIRDefinedType.MOLECULARSEQUENCE)
13059        return "MolecularSequence";
13060      if (code == FHIRDefinedType.NAMINGSYSTEM)
13061        return "NamingSystem";
13062      if (code == FHIRDefinedType.NUTRITIONORDER)
13063        return "NutritionOrder";
13064      if (code == FHIRDefinedType.OBSERVATION)
13065        return "Observation";
13066      if (code == FHIRDefinedType.OBSERVATIONDEFINITION)
13067        return "ObservationDefinition";
13068      if (code == FHIRDefinedType.OPERATIONDEFINITION)
13069        return "OperationDefinition";
13070      if (code == FHIRDefinedType.OPERATIONOUTCOME)
13071        return "OperationOutcome";
13072      if (code == FHIRDefinedType.ORGANIZATION)
13073        return "Organization";
13074      if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION)
13075        return "OrganizationAffiliation";
13076      if (code == FHIRDefinedType.PARAMETERS)
13077        return "Parameters";
13078      if (code == FHIRDefinedType.PATIENT)
13079        return "Patient";
13080      if (code == FHIRDefinedType.PAYMENTNOTICE)
13081        return "PaymentNotice";
13082      if (code == FHIRDefinedType.PAYMENTRECONCILIATION)
13083        return "PaymentReconciliation";
13084      if (code == FHIRDefinedType.PERSON)
13085        return "Person";
13086      if (code == FHIRDefinedType.PLANDEFINITION)
13087        return "PlanDefinition";
13088      if (code == FHIRDefinedType.PRACTITIONER)
13089        return "Practitioner";
13090      if (code == FHIRDefinedType.PRACTITIONERROLE)
13091        return "PractitionerRole";
13092      if (code == FHIRDefinedType.PROCEDURE)
13093        return "Procedure";
13094      if (code == FHIRDefinedType.PROVENANCE)
13095        return "Provenance";
13096      if (code == FHIRDefinedType.QUESTIONNAIRE)
13097        return "Questionnaire";
13098      if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE)
13099        return "QuestionnaireResponse";
13100      if (code == FHIRDefinedType.RELATEDPERSON)
13101        return "RelatedPerson";
13102      if (code == FHIRDefinedType.REQUESTGROUP)
13103        return "RequestGroup";
13104      if (code == FHIRDefinedType.RESEARCHDEFINITION)
13105        return "ResearchDefinition";
13106      if (code == FHIRDefinedType.RESEARCHELEMENTDEFINITION)
13107        return "ResearchElementDefinition";
13108      if (code == FHIRDefinedType.RESEARCHSTUDY)
13109        return "ResearchStudy";
13110      if (code == FHIRDefinedType.RESEARCHSUBJECT)
13111        return "ResearchSubject";
13112      if (code == FHIRDefinedType.RESOURCE)
13113        return "Resource";
13114      if (code == FHIRDefinedType.RISKASSESSMENT)
13115        return "RiskAssessment";
13116      if (code == FHIRDefinedType.RISKEVIDENCESYNTHESIS)
13117        return "RiskEvidenceSynthesis";
13118      if (code == FHIRDefinedType.SCHEDULE)
13119        return "Schedule";
13120      if (code == FHIRDefinedType.SEARCHPARAMETER)
13121        return "SearchParameter";
13122      if (code == FHIRDefinedType.SERVICEREQUEST)
13123        return "ServiceRequest";
13124      if (code == FHIRDefinedType.SLOT)
13125        return "Slot";
13126      if (code == FHIRDefinedType.SPECIMEN)
13127        return "Specimen";
13128      if (code == FHIRDefinedType.SPECIMENDEFINITION)
13129        return "SpecimenDefinition";
13130      if (code == FHIRDefinedType.STRUCTUREDEFINITION)
13131        return "StructureDefinition";
13132      if (code == FHIRDefinedType.STRUCTUREMAP)
13133        return "StructureMap";
13134      if (code == FHIRDefinedType.SUBSCRIPTION)
13135        return "Subscription";
13136      if (code == FHIRDefinedType.SUBSTANCE)
13137        return "Substance";
13138      if (code == FHIRDefinedType.SUBSTANCENUCLEICACID)
13139        return "SubstanceNucleicAcid";
13140      if (code == FHIRDefinedType.SUBSTANCEPOLYMER)
13141        return "SubstancePolymer";
13142      if (code == FHIRDefinedType.SUBSTANCEPROTEIN)
13143        return "SubstanceProtein";
13144      if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION)
13145        return "SubstanceReferenceInformation";
13146      if (code == FHIRDefinedType.SUBSTANCESOURCEMATERIAL)
13147        return "SubstanceSourceMaterial";
13148      if (code == FHIRDefinedType.SUBSTANCESPECIFICATION)
13149        return "SubstanceSpecification";
13150      if (code == FHIRDefinedType.SUPPLYDELIVERY)
13151        return "SupplyDelivery";
13152      if (code == FHIRDefinedType.SUPPLYREQUEST)
13153        return "SupplyRequest";
13154      if (code == FHIRDefinedType.TASK)
13155        return "Task";
13156      if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES)
13157        return "TerminologyCapabilities";
13158      if (code == FHIRDefinedType.TESTREPORT)
13159        return "TestReport";
13160      if (code == FHIRDefinedType.TESTSCRIPT)
13161        return "TestScript";
13162      if (code == FHIRDefinedType.VALUESET)
13163        return "ValueSet";
13164      if (code == FHIRDefinedType.VERIFICATIONRESULT)
13165        return "VerificationResult";
13166      if (code == FHIRDefinedType.VISIONPRESCRIPTION)
13167        return "VisionPrescription";
13168      return "?";
13169   }
13170
13171    public String toSystem(FHIRDefinedType code) {
13172      return code.getSystem();
13173    }
13174  }
13175
13176  public enum FHIRVersion {
13177    /**
13178     * Oldest archived version of FHIR.
13179     */
13180    _0_01,
13181    /**
13182     * 1st Draft for Comment (Sept 2012 Ballot).
13183     */
13184    _0_05,
13185    /**
13186     * 2nd Draft for Comment (January 2013 Ballot).
13187     */
13188    _0_06,
13189    /**
13190     * DSTU 1 Ballot version.
13191     */
13192    _0_11,
13193    /**
13194     * DSTU 1 version.
13195     */
13196    _0_0,
13197    /**
13198     * DSTU 1 Official version.
13199     */
13200    _0_0_80,
13201    /**
13202     * DSTU 1 Official version Technical Errata #1.
13203     */
13204    _0_0_81,
13205    /**
13206     * DSTU 1 Official version Technical Errata #2.
13207     */
13208    _0_0_82,
13209    /**
13210     * January 2015 Ballot.
13211     */
13212    _0_4,
13213    /**
13214     * Draft For Comment (January 2015 Ballot).
13215     */
13216    _0_4_0,
13217    /**
13218     * May 2015 Ballot.
13219     */
13220    _0_5,
13221    /**
13222     * DSTU 2 Ballot version (May 2015 Ballot).
13223     */
13224    _0_5_0,
13225    /**
13226     * DSTU 2 version.
13227     */
13228    _1_0,
13229    /**
13230     * DSTU 2 QA Preview + CQIF Ballot (Sep 2015).
13231     */
13232    _1_0_0,
13233    /**
13234     * DSTU 2 (Official version).
13235     */
13236    _1_0_1,
13237    /**
13238     * DSTU 2 (Official version) with 1 technical errata.
13239     */
13240    _1_0_2,
13241    /**
13242     * GAO Ballot version.
13243     */
13244    _1_1,
13245    /**
13246     * GAO Ballot + draft changes to main FHIR standard.
13247     */
13248    _1_1_0,
13249    /**
13250     * Connectathon 12 (Montreal) version.
13251     */
13252    _1_4,
13253    /**
13254     * CQF on FHIR Ballot + Connectathon 12 (Montreal).
13255     */
13256    _1_4_0,
13257    /**
13258     * Connectathon 13 (Baltimore) version.
13259     */
13260    _1_6,
13261    /**
13262     * FHIR STU3 Ballot + Connectathon 13 (Baltimore).
13263     */
13264    _1_6_0,
13265    /**
13266     * Connectathon 14 (San Antonio) version.
13267     */
13268    _1_8,
13269    /**
13270     * FHIR STU3 Candidate + Connectathon 14 (San Antonio).
13271     */
13272    _1_8_0,
13273    /**
13274     * STU3 version.
13275     */
13276    _3_0,
13277    /**
13278     * FHIR Release 3 (STU).
13279     */
13280    _3_0_0,
13281    /**
13282     * FHIR Release 3 (STU) with 1 technical errata.
13283     */
13284    _3_0_1,
13285    /**
13286     * FHIR Release 3 (STU) with 2 technical errata.
13287     */
13288    _3_0_2,
13289    /**
13290     * R4 Ballot #1 version.
13291     */
13292    _3_3,
13293    /**
13294     * R4 Ballot #1 + Connectaton 18 (Cologne).
13295     */
13296    _3_3_0,
13297    /**
13298     * R4 Ballot #2 version.
13299     */
13300    _3_5,
13301    /**
13302     * R4 Ballot #2 + Connectathon 19 (Baltimore).
13303     */
13304    _3_5_0,
13305    /**
13306     * R4 version.
13307     */
13308    _4_0,
13309    /**
13310     * FHIR Release 4 (Normative + STU).
13311     */
13312    _4_0_0,
13313    /**
13314     * FHIR Release 4 (Normative + STU) with 1 technical errata.
13315     */
13316    _4_0_1,
13317    /**
13318     * R4B Ballot #1 version.
13319     */
13320    _4_1,
13321    /**
13322     * R4B Ballot #1 + Connectathon 27 (Virtual).
13323     */
13324    _4_1_0, _4_3_0_SNAPSHOT1, _4_3_0_CIBUILD,
13325    /**
13326     * R5 Preview #1 version.
13327     */
13328    _4_2,
13329    /**
13330     * R5 Preview #1 + Connectathon 23 (Sydney).
13331     */
13332    _4_2_0,
13333    /**
13334     * R4B version.
13335     */
13336    _4_3,
13337    /**
13338     * FHIR Release 4B (Normative + STU).
13339     */
13340    _4_3_0,
13341    /**
13342     * R5 Preview #2 version.
13343     */
13344    _4_4,
13345    /**
13346     * R5 Preview #2 + Connectathon 24 (Virtual).
13347     */
13348    _4_4_0,
13349    /**
13350     * R5 Preview #3 version.
13351     */
13352    _4_5,
13353    /**
13354     * R5 Preview #3 + Connectathon 25 (Virtual).
13355     */
13356    _4_5_0,
13357    /**
13358     * R5 Draft Ballot version.
13359     */
13360    _4_6,
13361    /**
13362     * R5 Draft Ballot + Connectathon 27 (Virtual).
13363     */
13364    _4_6_0,
13365    /**
13366     * R5 Versions.
13367     */
13368    _5_0,
13369    /**
13370     * R5 Final Version.
13371     */
13372    _5_0_0,
13373    /**
13374     * R5 Rolling ci-build.
13375     */
13376    _5_0_0CIBUILD,
13377    /**
13378     * R5 Preview #2.
13379     */
13380    _5_0_0SNAPSHOT1,
13381    /**
13382     * R5 Interim tooling stage.
13383     */
13384    _5_0_0SNAPSHOT2,
13385    /**
13386     * R5 Ballot.
13387     */
13388    _5_0_0BALLOT,
13389    /**
13390     * R5Connectathon 32 release.
13391     */
13392    _5_0_0SNAPSHOT3, _5_0_0DRAFTFINAL,
13393    /**
13394     * added to help the parsers
13395     */
13396    NULL;
13397
13398    public static FHIRVersion fromCode(String codeString) throws FHIRException {
13399      if (codeString == null || "".equals(codeString))
13400        return null;
13401      if ("0.01".equals(codeString))
13402        return _0_01;
13403      if ("0.05".equals(codeString))
13404        return _0_05;
13405      if ("0.06".equals(codeString))
13406        return _0_06;
13407      if ("0.11".equals(codeString))
13408        return _0_11;
13409      if ("0.0".equals(codeString))
13410        return _0_0;
13411      if ("0.0.80".equals(codeString))
13412        return _0_0_80;
13413      if ("0.0.81".equals(codeString))
13414        return _0_0_81;
13415      if ("0.0.82".equals(codeString))
13416        return _0_0_82;
13417      if ("0.4".equals(codeString))
13418        return _0_4;
13419      if ("0.4.0".equals(codeString))
13420        return _0_4_0;
13421      if ("0.5".equals(codeString))
13422        return _0_5;
13423      if ("0.5.0".equals(codeString))
13424        return _0_5_0;
13425      if ("1.0".equals(codeString))
13426        return _1_0;
13427      if ("1.0.0".equals(codeString))
13428        return _1_0_0;
13429      if ("1.0.1".equals(codeString))
13430        return _1_0_1;
13431      if ("1.0.2".equals(codeString))
13432        return _1_0_2;
13433      if ("1.1".equals(codeString))
13434        return _1_1;
13435      if ("1.1.0".equals(codeString))
13436        return _1_1_0;
13437      if ("1.4".equals(codeString))
13438        return _1_4;
13439      if ("1.4.0".equals(codeString))
13440        return _1_4_0;
13441      if ("1.6".equals(codeString))
13442        return _1_6;
13443      if ("1.6.0".equals(codeString))
13444        return _1_6_0;
13445      if ("1.8".equals(codeString))
13446        return _1_8;
13447      if ("1.8.0".equals(codeString))
13448        return _1_8_0;
13449      if ("3.0".equals(codeString))
13450        return _3_0;
13451      if ("3.0.0".equals(codeString))
13452        return _3_0_0;
13453      if ("3.0.1".equals(codeString))
13454        return _3_0_1;
13455      if ("3.0.2".equals(codeString))
13456        return _3_0_2;
13457      if ("3.3".equals(codeString))
13458        return _3_3;
13459      if ("3.3.0".equals(codeString))
13460        return _3_3_0;
13461      if ("3.5".equals(codeString))
13462        return _3_5;
13463      if ("3.5.0".equals(codeString))
13464        return _3_5_0;
13465      if ("4.0".equals(codeString))
13466        return _4_0;
13467      if ("4.0.0".equals(codeString))
13468        return _4_0_0;
13469      if ("4.0.1".equals(codeString))
13470        return _4_0_1;
13471      if ("4.1".equals(codeString))
13472        return _4_1;
13473      if ("4.1.0".equals(codeString))
13474        return _4_1_0;
13475      if ("4.3.0-snapshot1".equals(codeString))
13476        return _4_3_0_SNAPSHOT1;
13477      if ("4.3.0-cibuild".equals(codeString))
13478        return _4_3_0_CIBUILD;
13479      if ("4.2".equals(codeString))
13480        return _4_2;
13481      if ("4.2.0".equals(codeString))
13482        return _4_2_0;
13483      if ("4.3".equals(codeString))
13484        return _4_3;
13485      if ("4.3.0".equals(codeString))
13486        return _4_3_0;
13487      if ("4.4".equals(codeString))
13488        return _4_4;
13489      if ("4.4.0".equals(codeString))
13490        return _4_4_0;
13491      if ("4.5".equals(codeString))
13492        return _4_5;
13493      if ("4.5.0".equals(codeString))
13494        return _4_5_0;
13495      if ("4.6".equals(codeString))
13496        return _4_6;
13497      if ("4.6.0".equals(codeString))
13498        return _4_6_0;
13499      if ("5.0".equals(codeString))
13500        return _5_0;
13501      if ("5.0.0".equals(codeString))
13502        return _5_0_0;
13503      if ("5.0.0-cibuild".equals(codeString))
13504        return _5_0_0CIBUILD;
13505      if ("5.0.0-snapshot1".equals(codeString))
13506        return _5_0_0SNAPSHOT1;
13507      if ("5.0.0-snapshot2".equals(codeString))
13508        return _5_0_0SNAPSHOT2;
13509      if ("5.0.0-ballot".equals(codeString))
13510        return _5_0_0BALLOT;
13511      if ("5.0.0-snapshot3".equals(codeString))
13512        return _5_0_0SNAPSHOT3;
13513      if ("5.0.0-draft-final".equals(codeString))
13514        return _5_0_0DRAFTFINAL;
13515      throw new FHIRException("Unknown FHIRVersion code '" + codeString + "'");
13516    }
13517
13518    public static boolean isValidCode(String codeString) {
13519      if (codeString == null || "".equals(codeString))
13520        return false;
13521      if ("0.01".equals(codeString))
13522        return true;
13523      if ("0.05".equals(codeString))
13524        return true;
13525      if ("0.06".equals(codeString))
13526        return true;
13527      if ("0.11".equals(codeString))
13528        return true;
13529      if ("0.0".equals(codeString))
13530        return true;
13531      if ("0.0.80".equals(codeString))
13532        return true;
13533      if ("0.0.81".equals(codeString))
13534        return true;
13535      if ("0.0.82".equals(codeString))
13536        return true;
13537      if ("0.4".equals(codeString))
13538        return true;
13539      if ("0.4.0".equals(codeString))
13540        return true;
13541      if ("0.5".equals(codeString))
13542        return true;
13543      if ("0.5.0".equals(codeString))
13544        return true;
13545      if ("1.0".equals(codeString))
13546        return true;
13547      if ("1.0.0".equals(codeString))
13548        return true;
13549      if ("1.0.1".equals(codeString))
13550        return true;
13551      if ("1.0.2".equals(codeString))
13552        return true;
13553      if ("1.1".equals(codeString))
13554        return true;
13555      if ("1.1.0".equals(codeString))
13556        return true;
13557      if ("1.4".equals(codeString))
13558        return true;
13559      if ("1.4.0".equals(codeString))
13560        return true;
13561      if ("1.6".equals(codeString))
13562        return true;
13563      if ("1.6.0".equals(codeString))
13564        return true;
13565      if ("1.8".equals(codeString))
13566        return true;
13567      if ("1.8.0".equals(codeString))
13568        return true;
13569      if ("3.0".equals(codeString))
13570        return true;
13571      if ("3.0.0".equals(codeString))
13572        return true;
13573      if ("3.0.1".equals(codeString))
13574        return true;
13575      if ("3.0.2".equals(codeString))
13576        return true;
13577      if ("3.3".equals(codeString))
13578        return true;
13579      if ("3.3.0".equals(codeString))
13580        return true;
13581      if ("3.5".equals(codeString))
13582        return true;
13583      if ("3.5.0".equals(codeString))
13584        return true;
13585      if ("4.0".equals(codeString))
13586        return true;
13587      if ("4.0.0".equals(codeString))
13588        return true;
13589      if ("4.0.1".equals(codeString))
13590        return true;
13591      if ("4.1".equals(codeString))
13592        return true;
13593      if ("4.1.0".equals(codeString))
13594        return true;
13595      if ("4.2".equals(codeString))
13596        return true;
13597      if ("4.2.0".equals(codeString))
13598        return true;
13599      if ("4.3".equals(codeString))
13600        return true;
13601      if ("4.3.0".equals(codeString))
13602        return true;
13603      if ("4.4".equals(codeString))
13604        return true;
13605      if ("4.4.0".equals(codeString))
13606        return true;
13607      if ("4.5".equals(codeString))
13608        return true;
13609      if ("4.5.0".equals(codeString))
13610        return true;
13611      if ("4.6".equals(codeString))
13612        return true;
13613      if ("4.6.0".equals(codeString))
13614        return true;
13615      if ("5.0".equals(codeString))
13616        return true;
13617      if ("5.0.0".equals(codeString))
13618        return true;
13619      if ("5.0.0-cibuild".equals(codeString))
13620        return true;
13621      if ("5.0.0-snapshot1".equals(codeString))
13622        return true;
13623      if ("5.0.0-snapshot2".equals(codeString))
13624        return true;
13625      if ("5.0.0-ballot".equals(codeString))
13626        return true;
13627      return false;
13628    }
13629
13630    public String toCode() {
13631      switch (this) {
13632      case _0_01:
13633        return "0.01";
13634      case _0_05:
13635        return "0.05";
13636      case _0_06:
13637        return "0.06";
13638      case _0_11:
13639        return "0.11";
13640      case _0_0:
13641        return "0.0";
13642      case _0_0_80:
13643        return "0.0.80";
13644      case _0_0_81:
13645        return "0.0.81";
13646      case _0_0_82:
13647        return "0.0.82";
13648      case _0_4:
13649        return "0.4";
13650      case _0_4_0:
13651        return "0.4.0";
13652      case _0_5:
13653        return "0.5";
13654      case _0_5_0:
13655        return "0.5.0";
13656      case _1_0:
13657        return "1.0";
13658      case _1_0_0:
13659        return "1.0.0";
13660      case _1_0_1:
13661        return "1.0.1";
13662      case _1_0_2:
13663        return "1.0.2";
13664      case _1_1:
13665        return "1.1";
13666      case _1_1_0:
13667        return "1.1.0";
13668      case _1_4:
13669        return "1.4";
13670      case _1_4_0:
13671        return "1.4.0";
13672      case _1_6:
13673        return "1.6";
13674      case _1_6_0:
13675        return "1.6.0";
13676      case _1_8:
13677        return "1.8";
13678      case _1_8_0:
13679        return "1.8.0";
13680      case _3_0:
13681        return "3.0";
13682      case _3_0_0:
13683        return "3.0.0";
13684      case _3_0_1:
13685        return "3.0.1";
13686      case _3_0_2:
13687        return "3.0.2";
13688      case _3_3:
13689        return "3.3";
13690      case _3_3_0:
13691        return "3.3.0";
13692      case _3_5:
13693        return "3.5";
13694      case _3_5_0:
13695        return "3.5.0";
13696      case _4_0:
13697        return "4.0";
13698      case _4_0_0:
13699        return "4.0.0";
13700      case _4_0_1:
13701        return "4.0.1";
13702      case _4_1:
13703        return "4.1";
13704      case _4_1_0:
13705        return "4.1.0";
13706      case _4_2:
13707        return "4.2";
13708      case _4_2_0:
13709        return "4.2.0";
13710      case _4_3:
13711        return "4.3";
13712      case _4_3_0:
13713        return "4.3.0";
13714      case _4_3_0_SNAPSHOT1:
13715        return "4.3.0-snapshot1";
13716      case _4_3_0_CIBUILD:
13717        return "4.3.0-cibuild";
13718      case _4_4:
13719        return "4.4";
13720      case _4_4_0:
13721        return "4.4.0";
13722      case _4_5:
13723        return "4.5";
13724      case _4_5_0:
13725        return "4.5.0";
13726      case _4_6:
13727        return "4.6";
13728      case _4_6_0:
13729        return "4.6.0";
13730      case _5_0:
13731        return "5.0";
13732      case _5_0_0:
13733        return "5.0.0";
13734      case _5_0_0CIBUILD:
13735        return "5.0.0-cibuild";
13736      case _5_0_0SNAPSHOT1:
13737        return "5.0.0-snapshot1";
13738      case _5_0_0SNAPSHOT2:
13739        return "5.0.0-snapshot2";
13740      case _5_0_0BALLOT:
13741        return "5.0.0-ballot";
13742      case _5_0_0SNAPSHOT3:
13743        return "5.0.0-snapshot3";
13744      case _5_0_0DRAFTFINAL:
13745        return "5.0.0-draft-final";
13746      case NULL:
13747        return null;
13748      default:
13749        return "?";
13750      }
13751    }
13752
13753    public String getSystem() {
13754      switch (this) {
13755      case _0_01:
13756        return "http://hl7.org/fhir/FHIR-version";
13757      case _0_05:
13758        return "http://hl7.org/fhir/FHIR-version";
13759      case _0_06:
13760        return "http://hl7.org/fhir/FHIR-version";
13761      case _0_11:
13762        return "http://hl7.org/fhir/FHIR-version";
13763      case _0_0:
13764        return "http://hl7.org/fhir/FHIR-version";
13765      case _0_0_80:
13766        return "http://hl7.org/fhir/FHIR-version";
13767      case _0_0_81:
13768        return "http://hl7.org/fhir/FHIR-version";
13769      case _0_0_82:
13770        return "http://hl7.org/fhir/FHIR-version";
13771      case _0_4:
13772        return "http://hl7.org/fhir/FHIR-version";
13773      case _0_4_0:
13774        return "http://hl7.org/fhir/FHIR-version";
13775      case _0_5:
13776        return "http://hl7.org/fhir/FHIR-version";
13777      case _0_5_0:
13778        return "http://hl7.org/fhir/FHIR-version";
13779      case _1_0:
13780        return "http://hl7.org/fhir/FHIR-version";
13781      case _1_0_0:
13782        return "http://hl7.org/fhir/FHIR-version";
13783      case _1_0_1:
13784        return "http://hl7.org/fhir/FHIR-version";
13785      case _1_0_2:
13786        return "http://hl7.org/fhir/FHIR-version";
13787      case _1_1:
13788        return "http://hl7.org/fhir/FHIR-version";
13789      case _1_1_0:
13790        return "http://hl7.org/fhir/FHIR-version";
13791      case _1_4:
13792        return "http://hl7.org/fhir/FHIR-version";
13793      case _1_4_0:
13794        return "http://hl7.org/fhir/FHIR-version";
13795      case _1_6:
13796        return "http://hl7.org/fhir/FHIR-version";
13797      case _1_6_0:
13798        return "http://hl7.org/fhir/FHIR-version";
13799      case _1_8:
13800        return "http://hl7.org/fhir/FHIR-version";
13801      case _1_8_0:
13802        return "http://hl7.org/fhir/FHIR-version";
13803      case _3_0:
13804        return "http://hl7.org/fhir/FHIR-version";
13805      case _3_0_0:
13806        return "http://hl7.org/fhir/FHIR-version";
13807      case _3_0_1:
13808        return "http://hl7.org/fhir/FHIR-version";
13809      case _3_0_2:
13810        return "http://hl7.org/fhir/FHIR-version";
13811      case _3_3:
13812        return "http://hl7.org/fhir/FHIR-version";
13813      case _3_3_0:
13814        return "http://hl7.org/fhir/FHIR-version";
13815      case _3_5:
13816        return "http://hl7.org/fhir/FHIR-version";
13817      case _3_5_0:
13818        return "http://hl7.org/fhir/FHIR-version";
13819      case _4_0:
13820        return "http://hl7.org/fhir/FHIR-version";
13821      case _4_0_0:
13822        return "http://hl7.org/fhir/FHIR-version";
13823      case _4_0_1:
13824        return "http://hl7.org/fhir/FHIR-version";
13825      case _4_1:
13826        return "http://hl7.org/fhir/FHIR-version";
13827      case _4_1_0:
13828        return "http://hl7.org/fhir/FHIR-version";
13829      case _4_2:
13830        return "http://hl7.org/fhir/FHIR-version";
13831      case _4_2_0:
13832        return "http://hl7.org/fhir/FHIR-version";
13833      case _4_3:
13834        return "http://hl7.org/fhir/FHIR-version";
13835      case _4_3_0:
13836        return "http://hl7.org/fhir/FHIR-version";
13837      case _4_3_0_SNAPSHOT1:
13838        return "http://hl7.org/fhir/FHIR-version";
13839      case _4_3_0_CIBUILD:
13840        return "http://hl7.org/fhir/FHIR-version";
13841      case _4_4:
13842        return "http://hl7.org/fhir/FHIR-version";
13843      case _4_4_0:
13844        return "http://hl7.org/fhir/FHIR-version";
13845      case _4_5:
13846        return "http://hl7.org/fhir/FHIR-version";
13847      case _4_5_0:
13848        return "http://hl7.org/fhir/FHIR-version";
13849      case _4_6:
13850        return "http://hl7.org/fhir/FHIR-version";
13851      case _4_6_0:
13852        return "http://hl7.org/fhir/FHIR-version";
13853      case _5_0:
13854        return "http://hl7.org/fhir/FHIR-version";
13855      case _5_0_0:
13856        return "http://hl7.org/fhir/FHIR-version";
13857      case _5_0_0CIBUILD:
13858        return "http://hl7.org/fhir/FHIR-version";
13859      case _5_0_0SNAPSHOT1:
13860        return "http://hl7.org/fhir/FHIR-version";
13861      case _5_0_0SNAPSHOT2:
13862        return "http://hl7.org/fhir/FHIR-version";
13863      case _5_0_0BALLOT:
13864        return "http://hl7.org/fhir/FHIR-version";
13865      case _5_0_0SNAPSHOT3:
13866        return "http://hl7.org/fhir/FHIR-version";
13867      case _5_0_0DRAFTFINAL:
13868        return "http://hl7.org/fhir/FHIR-version";
13869      case NULL:
13870        return null;
13871      default:
13872        return "?";
13873      }
13874    }
13875
13876    public String getDefinition() {
13877      switch (this) {
13878      case _0_01:
13879        return "Oldest archived version of FHIR.";
13880      case _0_05:
13881        return "1st Draft for Comment (Sept 2012 Ballot).";
13882      case _0_06:
13883        return "2nd Draft for Comment (January 2013 Ballot).";
13884      case _0_11:
13885        return "DSTU 1 Ballot version.";
13886      case _0_0:
13887        return "DSTU 1 version.";
13888      case _0_0_80:
13889        return "DSTU 1 Official version.";
13890      case _0_0_81:
13891        return "DSTU 1 Official version Technical Errata #1.";
13892      case _0_0_82:
13893        return "DSTU 1 Official version Technical Errata #2.";
13894      case _0_4:
13895        return "January 2015 Ballot.";
13896      case _0_4_0:
13897        return "Draft For Comment (January 2015 Ballot).";
13898      case _0_5:
13899        return "May 2015 Ballot.";
13900      case _0_5_0:
13901        return "DSTU 2 Ballot version (May 2015 Ballot).";
13902      case _1_0:
13903        return "DSTU 2 version.";
13904      case _1_0_0:
13905        return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015).";
13906      case _1_0_1:
13907        return "DSTU 2 (Official version).";
13908      case _1_0_2:
13909        return "DSTU 2 (Official version) with 1 technical errata.";
13910      case _1_1:
13911        return "GAO Ballot version.";
13912      case _1_1_0:
13913        return "GAO Ballot + draft changes to main FHIR standard.";
13914      case _1_4:
13915        return "Connectathon 12 (Montreal) version.";
13916      case _1_4_0:
13917        return "CQF on FHIR Ballot + Connectathon 12 (Montreal).";
13918      case _1_6:
13919        return "Connectathon 13 (Baltimore) version.";
13920      case _1_6_0:
13921        return "FHIR STU3 Ballot + Connectathon 13 (Baltimore).";
13922      case _1_8:
13923        return "Connectathon 14 (San Antonio) version.";
13924      case _1_8_0:
13925        return "FHIR STU3 Candidate + Connectathon 14 (San Antonio).";
13926      case _3_0:
13927        return "STU3 version.";
13928      case _3_0_0:
13929        return "FHIR Release 3 (STU).";
13930      case _3_0_1:
13931        return "FHIR Release 3 (STU) with 1 technical errata.";
13932      case _3_0_2:
13933        return "FHIR Release 3 (STU) with 2 technical errata.";
13934      case _3_3:
13935        return "R4 Ballot #1 version.";
13936      case _3_3_0:
13937        return "R4 Ballot #1 + Connectaton 18 (Cologne).";
13938      case _3_5:
13939        return "R4 Ballot #2 version.";
13940      case _3_5_0:
13941        return "R4 Ballot #2 + Connectathon 19 (Baltimore).";
13942      case _4_0:
13943        return "R4 version.";
13944      case _4_0_0:
13945        return "FHIR Release 4 (Normative + STU).";
13946      case _4_0_1:
13947        return "FHIR Release 4 (Normative + STU) with 1 technical errata.";
13948      case _4_1:
13949        return "R4B Ballot #1 version.";
13950      case _4_1_0:
13951        return "R4B Ballot #1 + Connectathon 27 (Virtual).";
13952      case _4_2:
13953        return "R5 Preview #1 version.";
13954      case _4_2_0:
13955        return "R5 Preview #1 + Connectathon 23 (Sydney).";
13956      case _4_3_0_SNAPSHOT1:
13957        return "FHIR Release 4B Snapshot #1";
13958      case _4_3_0_CIBUILD:
13959        return "FHIR Release 4B CI-Builld";
13960      case _4_3:
13961        return "R4B version.";
13962      case _4_3_0:
13963        return "FHIR Release 4B (Normative + STU).";
13964      case _4_4:
13965        return "R5 Preview #2 version.";
13966      case _4_4_0:
13967        return "R5 Preview #2 + Connectathon 24 (Virtual).";
13968      case _4_5:
13969        return "R5 Preview #3 version.";
13970      case _4_5_0:
13971        return "R5 Preview #3 + Connectathon 25 (Virtual).";
13972      case _4_6:
13973        return "R5 Draft Ballot version.";
13974      case _4_6_0:
13975        return "R5 Draft Ballot + Connectathon 27 (Virtual).";
13976      case _5_0:
13977        return "R5 Versions.";
13978      case _5_0_0:
13979        return "R5 Final Version.";
13980      case _5_0_0CIBUILD:
13981        return "R5 Rolling ci-build.";
13982      case _5_0_0SNAPSHOT1:
13983        return "R5 Preview #2.";
13984      case _5_0_0SNAPSHOT2:
13985        return "R5 Interim tooling stage.";
13986      case _5_0_0BALLOT:
13987        return "R5 Ballot.";
13988      case _5_0_0SNAPSHOT3:
13989        return "R5 Connectathon 32 release.";
13990      case _5_0_0DRAFTFINAL:
13991        return "R5 Final QA.";
13992      case NULL:
13993        return null;
13994      default:
13995        return "?";
13996      }
13997    }
13998
13999    public String getDisplay() {
14000      switch (this) {
14001      case _0_01:
14002        return "0.01";
14003      case _0_05:
14004        return "0.05";
14005      case _0_06:
14006        return "0.06";
14007      case _0_11:
14008        return "0.11";
14009      case _0_0:
14010        return "0.0";
14011      case _0_0_80:
14012        return "0.0.80";
14013      case _0_0_81:
14014        return "0.0.81";
14015      case _0_0_82:
14016        return "0.0.82";
14017      case _0_4:
14018        return "0.4";
14019      case _0_4_0:
14020        return "0.4.0";
14021      case _0_5:
14022        return "0.5";
14023      case _0_5_0:
14024        return "0.5.0";
14025      case _1_0:
14026        return "1.0";
14027      case _1_0_0:
14028        return "1.0.0";
14029      case _1_0_1:
14030        return "1.0.1";
14031      case _1_0_2:
14032        return "1.0.2";
14033      case _1_1:
14034        return "1.1";
14035      case _1_1_0:
14036        return "1.1.0";
14037      case _1_4:
14038        return "1.4";
14039      case _1_4_0:
14040        return "1.4.0";
14041      case _1_6:
14042        return "1.6";
14043      case _1_6_0:
14044        return "1.6.0";
14045      case _1_8:
14046        return "1.8";
14047      case _1_8_0:
14048        return "1.8.0";
14049      case _3_0:
14050        return "3.0";
14051      case _3_0_0:
14052        return "3.0.0";
14053      case _3_0_1:
14054        return "3.0.1";
14055      case _3_0_2:
14056        return "3.0.2";
14057      case _3_3:
14058        return "3.3";
14059      case _3_3_0:
14060        return "3.3.0";
14061      case _3_5:
14062        return "3.5";
14063      case _3_5_0:
14064        return "3.5.0";
14065      case _4_0:
14066        return "4.0";
14067      case _4_0_0:
14068        return "4.0.0";
14069      case _4_0_1:
14070        return "4.0.1";
14071      case _4_1:
14072        return "4.1";
14073      case _4_1_0:
14074        return "4.1.0";
14075      case _4_2:
14076        return "4.2";
14077      case _4_2_0:
14078        return "4.2.0";
14079      case _4_3:
14080        return "4.3";
14081      case _4_3_0:
14082        return "4.3.0";
14083      case _4_3_0_SNAPSHOT1:
14084        return "4.3.0-snapshot";
14085      case _4_3_0_CIBUILD:
14086        return "4.3.0-cibuild";
14087      case _4_4:
14088        return "4.4";
14089      case _4_4_0:
14090        return "4.4.0";
14091      case _4_5:
14092        return "4.5";
14093      case _4_5_0:
14094        return "4.5.0";
14095      case _4_6:
14096        return "4.6";
14097      case _4_6_0:
14098        return "4.6.0";
14099      case _5_0:
14100        return "5.0";
14101      case _5_0_0:
14102        return "5.0.0";
14103      case _5_0_0CIBUILD:
14104        return "5.0.0-cibuild";
14105      case _5_0_0SNAPSHOT1:
14106        return "5.0.0-snapshot1";
14107      case _5_0_0SNAPSHOT2:
14108        return "5.0.0-snapshot2";
14109      case _5_0_0BALLOT:
14110        return "5.0.0-ballot";
14111      case _5_0_0SNAPSHOT3:
14112        return "5.0.0-snapshot3";
14113      case _5_0_0DRAFTFINAL:
14114        return "5.0.0-draft-final";
14115      case NULL:
14116        return null;
14117      default:
14118        return "?";
14119      }
14120    }
14121  }
14122
14123  public static class FHIRVersionEnumFactory implements EnumFactory<FHIRVersion> {
14124    public FHIRVersion fromCode(String codeString) throws IllegalArgumentException {
14125      if (codeString == null || "".equals(codeString))
14126        if (codeString == null || "".equals(codeString))
14127          return null;
14128      if ("0.01".equals(codeString))
14129        return FHIRVersion._0_01;
14130      if ("0.05".equals(codeString))
14131        return FHIRVersion._0_05;
14132      if ("0.06".equals(codeString))
14133        return FHIRVersion._0_06;
14134      if ("0.11".equals(codeString))
14135        return FHIRVersion._0_11;
14136      if ("0.0.80".equals(codeString))
14137        return FHIRVersion._0_0_80;
14138      if ("0.0.81".equals(codeString))
14139        return FHIRVersion._0_0_81;
14140      if ("0.0.82".equals(codeString))
14141        return FHIRVersion._0_0_82;
14142      if ("0.4.0".equals(codeString))
14143        return FHIRVersion._0_4_0;
14144      if ("0.5".equals(codeString))
14145        return FHIRVersion._0_5;
14146      if ("0.5.0".equals(codeString))
14147        return FHIRVersion._0_5_0;
14148      if ("1.0".equals(codeString))
14149        return FHIRVersion._1_0;
14150      if ("1.0.0".equals(codeString))
14151        return FHIRVersion._1_0_0;
14152      if ("1.0.1".equals(codeString))
14153        return FHIRVersion._1_0_1;
14154      if ("1.0.2".equals(codeString))
14155        return FHIRVersion._1_0_2;
14156      if ("1.1".equals(codeString))
14157        return FHIRVersion._1_1;
14158      if ("1.1.0".equals(codeString))
14159        return FHIRVersion._1_1_0;
14160      if ("1.4".equals(codeString))
14161        return FHIRVersion._1_4;
14162      if ("1.4.0".equals(codeString))
14163        return FHIRVersion._1_4_0;
14164      if ("1.6".equals(codeString))
14165        return FHIRVersion._1_6;
14166      if ("1.6.0".equals(codeString))
14167        return FHIRVersion._1_6_0;
14168      if ("1.8".equals(codeString))
14169        return FHIRVersion._1_8;
14170      if ("1.8.0".equals(codeString))
14171        return FHIRVersion._1_8_0;
14172      if ("3.0".equals(codeString))
14173        return FHIRVersion._3_0;
14174      if ("3.0.0".equals(codeString))
14175        return FHIRVersion._3_0_0;
14176      if ("3.0.1".equals(codeString))
14177        return FHIRVersion._3_0_1;
14178      if ("3.0.2".equals(codeString))
14179        return FHIRVersion._3_0_2;
14180      if ("3.3".equals(codeString))
14181        return FHIRVersion._3_3;
14182      if ("3.3.0".equals(codeString))
14183        return FHIRVersion._3_3_0;
14184      if ("3.5".equals(codeString))
14185        return FHIRVersion._3_5;
14186      if ("3.5.0".equals(codeString))
14187        return FHIRVersion._3_5_0;
14188      if ("4.0".equals(codeString))
14189        return FHIRVersion._4_0;
14190      if ("4.0.0".equals(codeString))
14191        return FHIRVersion._4_0_0;
14192      if ("4.0.1".equals(codeString))
14193        return FHIRVersion._4_0_1;
14194      if ("4.1".equals(codeString))
14195        return FHIRVersion._4_1;
14196      if ("4.1.0".equals(codeString))
14197        return FHIRVersion._4_1_0;
14198      if ("4.2".equals(codeString))
14199        return FHIRVersion._4_2;
14200      if ("4.2.0".equals(codeString))
14201        return FHIRVersion._4_2_0;
14202      if ("4.3".equals(codeString))
14203        return FHIRVersion._4_3;
14204      if ("4.3.0".equals(codeString))
14205        return FHIRVersion._4_3_0;
14206      if ("4.3.0-snapshot1".equalsIgnoreCase(codeString))
14207        return FHIRVersion._4_3_0_SNAPSHOT1;
14208      if ("4.3.0-cibuild".equalsIgnoreCase(codeString))
14209        return FHIRVersion._4_3_0_CIBUILD;
14210      if ("4.4".equals(codeString))
14211        return FHIRVersion._4_4;
14212      if ("4.4.0".equals(codeString))
14213        return FHIRVersion._4_4_0;
14214      if ("4.5".equals(codeString))
14215        return FHIRVersion._4_5;
14216      if ("4.5.0".equals(codeString))
14217        return FHIRVersion._4_5_0;
14218      if ("4.6".equals(codeString))
14219        return FHIRVersion._4_6;
14220      if ("4.6.0".equals(codeString))
14221        return FHIRVersion._4_6_0;
14222      if ("5.0".equals(codeString))
14223        return FHIRVersion._5_0;
14224      if ("5.0.0".equals(codeString))
14225        return FHIRVersion._5_0_0;
14226      if ("5.0.0-cibuild".equals(codeString))
14227        return FHIRVersion._5_0_0CIBUILD;
14228      if ("5.0.0-snapshot1".equals(codeString))
14229        return FHIRVersion._5_0_0SNAPSHOT1;
14230      if ("5.0.0-snapshot2".equals(codeString))
14231        return FHIRVersion._5_0_0SNAPSHOT2;
14232      if ("5.0.0-ballot".equals(codeString))
14233        return FHIRVersion._5_0_0BALLOT;
14234      if ("5.0.0-snapshot3".equals(codeString))
14235        return FHIRVersion._5_0_0SNAPSHOT3;
14236      if ("5.0.0-draft-final".equals(codeString))
14237        return FHIRVersion._5_0_0DRAFTFINAL;
14238      throw new IllegalArgumentException("Unknown FHIRVersion code '" + codeString + "'");
14239    }
14240
14241    public Enumeration<FHIRVersion> fromType(PrimitiveType<?> code) throws FHIRException {
14242      if (code == null)
14243        return null;
14244      if (code.isEmpty())
14245        return new Enumeration<FHIRVersion>(this, FHIRVersion.NULL, code);
14246      String codeString = code.asStringValue();
14247      if (codeString == null || "".equals(codeString))
14248        return new Enumeration<FHIRVersion>(this, FHIRVersion.NULL, code);
14249      if ("0.01".equals(codeString))
14250        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_01, code);
14251      if ("0.05".equals(codeString))
14252        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_05, code);
14253      if ("0.06".equals(codeString))
14254        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_06, code);
14255      if ("0.11".equals(codeString))
14256        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_11, code);
14257      if ("0.0".equals(codeString))
14258        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0, code);
14259      if ("0.0.80".equals(codeString))
14260        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_80, code);
14261      if ("0.0.81".equals(codeString))
14262        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_81, code);
14263      if ("0.0.82".equals(codeString))
14264        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_82, code);
14265      if ("0.4".equals(codeString))
14266        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4, code);
14267      if ("0.4.0".equals(codeString))
14268        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4_0, code);
14269      if ("0.5".equals(codeString))
14270        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5, code);
14271      if ("0.5.0".equals(codeString))
14272        return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5_0, code);
14273      if ("1.0".equals(codeString))
14274        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0, code);
14275      if ("1.0.0".equals(codeString))
14276        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_0, code);
14277      if ("1.0.1".equals(codeString))
14278        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_1, code);
14279      if ("1.0.2".equals(codeString))
14280        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_2, code);
14281      if ("1.1".equals(codeString))
14282        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1, code);
14283      if ("1.1.0".equals(codeString))
14284        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1_0, code);
14285      if ("1.4".equals(codeString))
14286        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4, code);
14287      if ("1.4.0".equals(codeString))
14288        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4_0, code);
14289      if ("1.6".equals(codeString))
14290        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6, code);
14291      if ("1.6.0".equals(codeString))
14292        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6_0, code);
14293      if ("1.8".equals(codeString))
14294        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8, code);
14295      if ("1.8.0".equals(codeString))
14296        return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8_0, code);
14297      if ("3.0".equals(codeString))
14298        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0, code);
14299      if ("3.0.0".equals(codeString))
14300        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_0, code);
14301      if ("3.0.1".equals(codeString))
14302        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_1, code);
14303      if ("3.0.2".equals(codeString))
14304        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_2, code);
14305      if ("3.3".equals(codeString))
14306        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3, code);
14307      if ("3.3.0".equals(codeString))
14308        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3_0, code);
14309      if ("3.5".equals(codeString))
14310        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5, code);
14311      if ("3.5.0".equals(codeString))
14312        return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5_0, code);
14313      if ("4.0".equals(codeString))
14314        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0, code);
14315      if ("4.0.0".equals(codeString))
14316        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_0, code);
14317      if ("4.0.1".equals(codeString))
14318        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_1, code);
14319      if ("4.1".equals(codeString))
14320        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1, code);
14321      if ("4.1.0".equals(codeString))
14322        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_1_0, code);
14323      if ("4.2".equals(codeString))
14324        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2, code);
14325      if ("4.2.0".equals(codeString))
14326        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_2_0, code);
14327      if ("4.3".equals(codeString))
14328        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3, code);
14329      if ("4.3.0".equals(codeString))
14330        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0, code);
14331      if ("4.3.0-snapshot1".equals(codeString))
14332        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_SNAPSHOT1, code);
14333      if ("4.3.0-cibuild".equals(codeString))
14334        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_3_0_CIBUILD, code);
14335      if ("4.4".equals(codeString))
14336        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_4, code);
14337      if ("4.4.0".equals(codeString))
14338        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_4_0, code);
14339      if ("4.5".equals(codeString))
14340        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_5, code);
14341      if ("4.5.0".equals(codeString))
14342        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_5_0, code);
14343      if ("4.6".equals(codeString))
14344        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_6, code);
14345      if ("4.6.0".equals(codeString))
14346        return new Enumeration<FHIRVersion>(this, FHIRVersion._4_6_0, code);
14347      if ("5.0".equals(codeString))
14348        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0, code);
14349      if ("5.0.0".equals(codeString))
14350        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0, code);
14351      if ("5.0.0-cibuild".equals(codeString))
14352        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0CIBUILD, code);
14353      if ("5.0.0-snapshot1".equals(codeString))
14354        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT1, code);
14355      if ("5.0.0-snapshot2".equals(codeString))
14356        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT2, code);
14357      if ("5.0.0-ballot".equals(codeString))
14358        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0BALLOT, code);
14359      if ("5.0.0-snapshot3".equals(codeString))
14360        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0SNAPSHOT3, code);
14361      if ("5.0.0-draft-final".equals(codeString))
14362        return new Enumeration<FHIRVersion>(this, FHIRVersion._5_0_0DRAFTFINAL, code);
14363      throw new FHIRException("Unknown FHIRVersion code '" + codeString + "'");
14364    }
14365
14366    public String toCode(FHIRVersion code) {
14367       if (code == FHIRVersion.NULL)
14368           return null;
14369       if (code == FHIRVersion._0_01)
14370        return "0.01";
14371      if (code == FHIRVersion._0_05)
14372        return "0.05";
14373      if (code == FHIRVersion._0_06)
14374        return "0.06";
14375      if (code == FHIRVersion._0_11)
14376        return "0.11";
14377      if (code == FHIRVersion._0_0)
14378        return "0.0";
14379      if (code == FHIRVersion._0_0_80)
14380        return "0.0.80";
14381      if (code == FHIRVersion._0_0_81)
14382        return "0.0.81";
14383      if (code == FHIRVersion._0_0_82)
14384        return "0.0.82";
14385      if (code == FHIRVersion._0_4)
14386        return "0.4";
14387      if (code == FHIRVersion._0_4_0)
14388        return "0.4.0";
14389      if (code == FHIRVersion._0_5)
14390        return "0.5";
14391      if (code == FHIRVersion._0_5_0)
14392        return "0.5.0";
14393      if (code == FHIRVersion._1_0)
14394        return "1.0";
14395      if (code == FHIRVersion._1_0_0)
14396        return "1.0.0";
14397      if (code == FHIRVersion._1_0_1)
14398        return "1.0.1";
14399      if (code == FHIRVersion._1_0_2)
14400        return "1.0.2";
14401      if (code == FHIRVersion._1_1)
14402        return "1.1";
14403      if (code == FHIRVersion._1_1_0)
14404        return "1.1.0";
14405      if (code == FHIRVersion._1_4)
14406        return "1.4";
14407      if (code == FHIRVersion._1_4_0)
14408        return "1.4.0";
14409      if (code == FHIRVersion._1_6)
14410        return "1.6";
14411      if (code == FHIRVersion._1_6_0)
14412        return "1.6.0";
14413      if (code == FHIRVersion._1_8)
14414        return "1.8";
14415      if (code == FHIRVersion._1_8_0)
14416        return "1.8.0";
14417      if (code == FHIRVersion._3_0)
14418        return "3.0";
14419      if (code == FHIRVersion._3_0_0)
14420        return "3.0.0";
14421      if (code == FHIRVersion._3_0_1)
14422        return "3.0.1";
14423      if (code == FHIRVersion._3_0_2)
14424        return "3.0.2";
14425      if (code == FHIRVersion._3_3)
14426        return "3.3";
14427      if (code == FHIRVersion._3_3_0)
14428        return "3.3.0";
14429      if (code == FHIRVersion._3_5)
14430        return "3.5";
14431      if (code == FHIRVersion._3_5_0)
14432        return "3.5.0";
14433      if (code == FHIRVersion._4_0)
14434        return "4.0";
14435      if (code == FHIRVersion._4_0_0)
14436        return "4.0.0";
14437      if (code == FHIRVersion._4_0_1)
14438        return "4.0.1";
14439      if (code == FHIRVersion._4_1)
14440        return "4.1";
14441      if (code == FHIRVersion._4_1_0)
14442        return "4.1.0";
14443      if (code == FHIRVersion._4_2)
14444        return "4.2";
14445      if (code == FHIRVersion._4_2_0)
14446        return "4.2.0";
14447      if (code == FHIRVersion._4_3)
14448        return "4.3";
14449      if (code == FHIRVersion._4_3_0)
14450        return "4.3.0";
14451      if (code == FHIRVersion._4_3_0_SNAPSHOT1)
14452        return "4.3.0-snapshot1";
14453      if (code == FHIRVersion._4_3_0_CIBUILD)
14454        return "4.3.0-cibuild";
14455      if (code == FHIRVersion._4_4)
14456        return "4.4";
14457      if (code == FHIRVersion._4_4_0)
14458        return "4.4.0";
14459      if (code == FHIRVersion._4_5)
14460        return "4.5";
14461      if (code == FHIRVersion._4_5_0)
14462        return "4.5.0";
14463      if (code == FHIRVersion._4_6)
14464        return "4.6";
14465      if (code == FHIRVersion._4_6_0)
14466        return "4.6.0";
14467      if (code == FHIRVersion._5_0)
14468        return "5.0";
14469      if (code == FHIRVersion._5_0_0)
14470        return "5.0.0";
14471      if (code == FHIRVersion._5_0_0CIBUILD)
14472        return "5.0.0-cibuild";
14473      if (code == FHIRVersion._5_0_0SNAPSHOT1)
14474        return "5.0.0-snapshot1";
14475      if (code == FHIRVersion._5_0_0SNAPSHOT2)
14476        return "5.0.0-snapshot2";
14477      if (code == FHIRVersion._5_0_0BALLOT)
14478        return "5.0.0-ballot";
14479      if (code == FHIRVersion._5_0_0SNAPSHOT3)
14480        return "5.0.0-snapshot3";
14481      if (code == FHIRVersion._5_0_0DRAFTFINAL)
14482        return "5.0.0-draft-final";
14483      return "?";
14484   }
14485
14486    public String toSystem(FHIRVersion code) {
14487      return code.getSystem();
14488    }
14489  }
14490
14491  public enum KnowledgeResourceType {
14492    /**
14493     * The definition of a specific activity to be taken, independent of any
14494     * particular patient or context.
14495     */
14496    ACTIVITYDEFINITION,
14497    /**
14498     * A set of codes drawn from one or more code systems.
14499     */
14500    CODESYSTEM,
14501    /**
14502     * A map from one set of concepts to one or more other concepts.
14503     */
14504    CONCEPTMAP,
14505    /**
14506     * Represents a library of quality improvement components.
14507     */
14508    LIBRARY,
14509    /**
14510     * A quality measure definition.
14511     */
14512    MEASURE,
14513    /**
14514     * The definition of a plan for a series of actions, independent of any specific
14515     * patient or context.
14516     */
14517    PLANDEFINITION,
14518    /**
14519     * Structural Definition.
14520     */
14521    STRUCTUREDEFINITION,
14522    /**
14523     * A Map of relationships between 2 structures that can be used to transform
14524     * data.
14525     */
14526    STRUCTUREMAP,
14527    /**
14528     * A set of codes drawn from one or more code systems.
14529     */
14530    VALUESET,
14531    /**
14532     * added to help the parsers
14533     */
14534    NULL;
14535
14536    public static KnowledgeResourceType fromCode(String codeString) throws FHIRException {
14537      if (codeString == null || "".equals(codeString))
14538        return null;
14539      if ("ActivityDefinition".equals(codeString))
14540        return ACTIVITYDEFINITION;
14541      if ("CodeSystem".equals(codeString))
14542        return CODESYSTEM;
14543      if ("ConceptMap".equals(codeString))
14544        return CONCEPTMAP;
14545      if ("Library".equals(codeString))
14546        return LIBRARY;
14547      if ("Measure".equals(codeString))
14548        return MEASURE;
14549      if ("PlanDefinition".equals(codeString))
14550        return PLANDEFINITION;
14551      if ("StructureDefinition".equals(codeString))
14552        return STRUCTUREDEFINITION;
14553      if ("StructureMap".equals(codeString))
14554        return STRUCTUREMAP;
14555      if ("ValueSet".equals(codeString))
14556        return VALUESET;
14557      throw new FHIRException("Unknown KnowledgeResourceType code '" + codeString + "'");
14558    }
14559
14560    public String toCode() {
14561      switch (this) {
14562      case ACTIVITYDEFINITION:
14563        return "ActivityDefinition";
14564      case CODESYSTEM:
14565        return "CodeSystem";
14566      case CONCEPTMAP:
14567        return "ConceptMap";
14568      case LIBRARY:
14569        return "Library";
14570      case MEASURE:
14571        return "Measure";
14572      case PLANDEFINITION:
14573        return "PlanDefinition";
14574      case STRUCTUREDEFINITION:
14575        return "StructureDefinition";
14576      case STRUCTUREMAP:
14577        return "StructureMap";
14578      case VALUESET:
14579        return "ValueSet";
14580      case NULL:
14581        return null;
14582      default:
14583        return "?";
14584      }
14585    }
14586
14587    public String getSystem() {
14588      switch (this) {
14589      case ACTIVITYDEFINITION:
14590        return "http://hl7.org/fhir/knowledge-resource-types";
14591      case CODESYSTEM:
14592        return "http://hl7.org/fhir/knowledge-resource-types";
14593      case CONCEPTMAP:
14594        return "http://hl7.org/fhir/knowledge-resource-types";
14595      case LIBRARY:
14596        return "http://hl7.org/fhir/knowledge-resource-types";
14597      case MEASURE:
14598        return "http://hl7.org/fhir/knowledge-resource-types";
14599      case PLANDEFINITION:
14600        return "http://hl7.org/fhir/knowledge-resource-types";
14601      case STRUCTUREDEFINITION:
14602        return "http://hl7.org/fhir/knowledge-resource-types";
14603      case STRUCTUREMAP:
14604        return "http://hl7.org/fhir/knowledge-resource-types";
14605      case VALUESET:
14606        return "http://hl7.org/fhir/knowledge-resource-types";
14607      case NULL:
14608        return null;
14609      default:
14610        return "?";
14611      }
14612    }
14613
14614    public String getDefinition() {
14615      switch (this) {
14616      case ACTIVITYDEFINITION:
14617        return "The definition of a specific activity to be taken, independent of any particular patient or context.";
14618      case CODESYSTEM:
14619        return "A set of codes drawn from one or more code systems.";
14620      case CONCEPTMAP:
14621        return "A map from one set of concepts to one or more other concepts.";
14622      case LIBRARY:
14623        return "Represents a library of quality improvement components.";
14624      case MEASURE:
14625        return "A quality measure definition.";
14626      case PLANDEFINITION:
14627        return "The definition of a plan for a series of actions, independent of any specific patient or context.";
14628      case STRUCTUREDEFINITION:
14629        return "Structural Definition.";
14630      case STRUCTUREMAP:
14631        return "A Map of relationships between 2 structures that can be used to transform data.";
14632      case VALUESET:
14633        return "A set of codes drawn from one or more code systems.";
14634      case NULL:
14635        return null;
14636      default:
14637        return "?";
14638      }
14639    }
14640
14641    public String getDisplay() {
14642      switch (this) {
14643      case ACTIVITYDEFINITION:
14644        return "ActivityDefinition";
14645      case CODESYSTEM:
14646        return "CodeSystem";
14647      case CONCEPTMAP:
14648        return "ConceptMap";
14649      case LIBRARY:
14650        return "Library";
14651      case MEASURE:
14652        return "Measure";
14653      case PLANDEFINITION:
14654        return "PlanDefinition";
14655      case STRUCTUREDEFINITION:
14656        return "StructureDefinition";
14657      case STRUCTUREMAP:
14658        return "StructureMap";
14659      case VALUESET:
14660        return "ValueSet";
14661      case NULL:
14662        return null;
14663      default:
14664        return "?";
14665      }
14666    }
14667  }
14668
14669  public static class KnowledgeResourceTypeEnumFactory implements EnumFactory<KnowledgeResourceType> {
14670    public KnowledgeResourceType fromCode(String codeString) throws IllegalArgumentException {
14671      if (codeString == null || "".equals(codeString))
14672        if (codeString == null || "".equals(codeString))
14673          return null;
14674      if ("ActivityDefinition".equals(codeString))
14675        return KnowledgeResourceType.ACTIVITYDEFINITION;
14676      if ("CodeSystem".equals(codeString))
14677        return KnowledgeResourceType.CODESYSTEM;
14678      if ("ConceptMap".equals(codeString))
14679        return KnowledgeResourceType.CONCEPTMAP;
14680      if ("Library".equals(codeString))
14681        return KnowledgeResourceType.LIBRARY;
14682      if ("Measure".equals(codeString))
14683        return KnowledgeResourceType.MEASURE;
14684      if ("PlanDefinition".equals(codeString))
14685        return KnowledgeResourceType.PLANDEFINITION;
14686      if ("StructureDefinition".equals(codeString))
14687        return KnowledgeResourceType.STRUCTUREDEFINITION;
14688      if ("StructureMap".equals(codeString))
14689        return KnowledgeResourceType.STRUCTUREMAP;
14690      if ("ValueSet".equals(codeString))
14691        return KnowledgeResourceType.VALUESET;
14692      throw new IllegalArgumentException("Unknown KnowledgeResourceType code '" + codeString + "'");
14693    }
14694
14695    public Enumeration<KnowledgeResourceType> fromType(PrimitiveType<?> code) throws FHIRException {
14696      if (code == null)
14697        return null;
14698      if (code.isEmpty())
14699        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.NULL, code);
14700      String codeString = code.asStringValue();
14701      if (codeString == null || "".equals(codeString))
14702        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.NULL, code);
14703      if ("ActivityDefinition".equals(codeString))
14704        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.ACTIVITYDEFINITION, code);
14705      if ("CodeSystem".equals(codeString))
14706        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CODESYSTEM, code);
14707      if ("ConceptMap".equals(codeString))
14708        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CONCEPTMAP, code);
14709      if ("Library".equals(codeString))
14710        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.LIBRARY, code);
14711      if ("Measure".equals(codeString))
14712        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.MEASURE, code);
14713      if ("PlanDefinition".equals(codeString))
14714        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.PLANDEFINITION, code);
14715      if ("StructureDefinition".equals(codeString))
14716        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREDEFINITION, code);
14717      if ("StructureMap".equals(codeString))
14718        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREMAP, code);
14719      if ("ValueSet".equals(codeString))
14720        return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.VALUESET, code);
14721      throw new FHIRException("Unknown KnowledgeResourceType code '" + codeString + "'");
14722    }
14723
14724    public String toCode(KnowledgeResourceType code) {
14725       if (code == KnowledgeResourceType.NULL)
14726           return null;
14727       if (code == KnowledgeResourceType.ACTIVITYDEFINITION)
14728        return "ActivityDefinition";
14729      if (code == KnowledgeResourceType.CODESYSTEM)
14730        return "CodeSystem";
14731      if (code == KnowledgeResourceType.CONCEPTMAP)
14732        return "ConceptMap";
14733      if (code == KnowledgeResourceType.LIBRARY)
14734        return "Library";
14735      if (code == KnowledgeResourceType.MEASURE)
14736        return "Measure";
14737      if (code == KnowledgeResourceType.PLANDEFINITION)
14738        return "PlanDefinition";
14739      if (code == KnowledgeResourceType.STRUCTUREDEFINITION)
14740        return "StructureDefinition";
14741      if (code == KnowledgeResourceType.STRUCTUREMAP)
14742        return "StructureMap";
14743      if (code == KnowledgeResourceType.VALUESET)
14744        return "ValueSet";
14745      return "?";
14746   }
14747
14748    public String toSystem(KnowledgeResourceType code) {
14749      return code.getSystem();
14750    }
14751  }
14752
14753  public enum MessageEvent {
14754    /**
14755     * added to help the parsers
14756     */
14757    NULL;
14758
14759    public static MessageEvent fromCode(String codeString) throws FHIRException {
14760      if (codeString == null || "".equals(codeString))
14761        return null;
14762      throw new FHIRException("Unknown MessageEvent code '" + codeString + "'");
14763    }
14764
14765    public String toCode() {
14766      switch (this) {
14767      case NULL:
14768        return null;
14769      default:
14770        return "?";
14771      }
14772    }
14773
14774    public String getSystem() {
14775      switch (this) {
14776      case NULL:
14777        return null;
14778      default:
14779        return "?";
14780      }
14781    }
14782
14783    public String getDefinition() {
14784      switch (this) {
14785      case NULL:
14786        return null;
14787      default:
14788        return "?";
14789      }
14790    }
14791
14792    public String getDisplay() {
14793      switch (this) {
14794      case NULL:
14795        return null;
14796      default:
14797        return "?";
14798      }
14799    }
14800  }
14801
14802  public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> {
14803    public MessageEvent fromCode(String codeString) throws IllegalArgumentException {
14804      if (codeString == null || "".equals(codeString))
14805        if (codeString == null || "".equals(codeString))
14806          return null;
14807      throw new IllegalArgumentException("Unknown MessageEvent code '" + codeString + "'");
14808    }
14809
14810    public Enumeration<MessageEvent> fromType(PrimitiveType<?> code) throws FHIRException {
14811      if (code == null)
14812        return null;
14813      if (code.isEmpty())
14814        return new Enumeration<MessageEvent>(this, MessageEvent.NULL, code);
14815      String codeString = code.asStringValue();
14816      if (codeString == null || "".equals(codeString))
14817        return new Enumeration<MessageEvent>(this, MessageEvent.NULL, code);
14818      throw new FHIRException("Unknown MessageEvent code '" + codeString + "'");
14819    }
14820
14821    public String toCode(MessageEvent code) {
14822       if (code == MessageEvent.NULL)
14823           return null;
14824       return "?";
14825   }
14826
14827    public String toSystem(MessageEvent code) {
14828      return code.getSystem();
14829    }
14830  }
14831
14832  public enum NoteType {
14833    /**
14834     * Display the note.
14835     */
14836    DISPLAY,
14837    /**
14838     * Print the note on the form.
14839     */
14840    PRINT,
14841    /**
14842     * Print the note for the operator.
14843     */
14844    PRINTOPER,
14845    /**
14846     * added to help the parsers
14847     */
14848    NULL;
14849
14850    public static NoteType fromCode(String codeString) throws FHIRException {
14851      if (codeString == null || "".equals(codeString))
14852        return null;
14853      if ("display".equals(codeString))
14854        return DISPLAY;
14855      if ("print".equals(codeString))
14856        return PRINT;
14857      if ("printoper".equals(codeString))
14858        return PRINTOPER;
14859      throw new FHIRException("Unknown NoteType code '" + codeString + "'");
14860    }
14861
14862    public String toCode() {
14863      switch (this) {
14864      case DISPLAY:
14865        return "display";
14866      case PRINT:
14867        return "print";
14868      case PRINTOPER:
14869        return "printoper";
14870      case NULL:
14871        return null;
14872      default:
14873        return "?";
14874      }
14875    }
14876
14877    public String getSystem() {
14878      switch (this) {
14879      case DISPLAY:
14880        return "http://hl7.org/fhir/note-type";
14881      case PRINT:
14882        return "http://hl7.org/fhir/note-type";
14883      case PRINTOPER:
14884        return "http://hl7.org/fhir/note-type";
14885      case NULL:
14886        return null;
14887      default:
14888        return "?";
14889      }
14890    }
14891
14892    public String getDefinition() {
14893      switch (this) {
14894      case DISPLAY:
14895        return "Display the note.";
14896      case PRINT:
14897        return "Print the note on the form.";
14898      case PRINTOPER:
14899        return "Print the note for the operator.";
14900      case NULL:
14901        return null;
14902      default:
14903        return "?";
14904      }
14905    }
14906
14907    public String getDisplay() {
14908      switch (this) {
14909      case DISPLAY:
14910        return "Display";
14911      case PRINT:
14912        return "Print (Form)";
14913      case PRINTOPER:
14914        return "Print (Operator)";
14915      case NULL:
14916        return null;
14917      default:
14918        return "?";
14919      }
14920    }
14921  }
14922
14923  public static class NoteTypeEnumFactory implements EnumFactory<NoteType> {
14924    public NoteType fromCode(String codeString) throws IllegalArgumentException {
14925      if (codeString == null || "".equals(codeString))
14926        if (codeString == null || "".equals(codeString))
14927          return null;
14928      if ("display".equals(codeString))
14929        return NoteType.DISPLAY;
14930      if ("print".equals(codeString))
14931        return NoteType.PRINT;
14932      if ("printoper".equals(codeString))
14933        return NoteType.PRINTOPER;
14934      throw new IllegalArgumentException("Unknown NoteType code '" + codeString + "'");
14935    }
14936
14937    public Enumeration<NoteType> fromType(PrimitiveType<?> code) throws FHIRException {
14938      if (code == null)
14939        return null;
14940      if (code.isEmpty())
14941        return new Enumeration<NoteType>(this, NoteType.NULL, code);
14942      String codeString = code.asStringValue();
14943      if (codeString == null || "".equals(codeString))
14944        return new Enumeration<NoteType>(this, NoteType.NULL, code);
14945      if ("display".equals(codeString))
14946        return new Enumeration<NoteType>(this, NoteType.DISPLAY, code);
14947      if ("print".equals(codeString))
14948        return new Enumeration<NoteType>(this, NoteType.PRINT, code);
14949      if ("printoper".equals(codeString))
14950        return new Enumeration<NoteType>(this, NoteType.PRINTOPER, code);
14951      throw new FHIRException("Unknown NoteType code '" + codeString + "'");
14952    }
14953
14954    public String toCode(NoteType code) {
14955       if (code == NoteType.NULL)
14956           return null;
14957       if (code == NoteType.DISPLAY)
14958        return "display";
14959      if (code == NoteType.PRINT)
14960        return "print";
14961      if (code == NoteType.PRINTOPER)
14962        return "printoper";
14963      return "?";
14964   }
14965
14966    public String toSystem(NoteType code) {
14967      return code.getSystem();
14968    }
14969  }
14970
14971  public enum PublicationStatus {
14972    /**
14973     * This resource is still under development and is not yet considered to be
14974     * ready for normal use.
14975     */
14976    DRAFT,
14977    /**
14978     * This resource is ready for normal use.
14979     */
14980    ACTIVE,
14981    /**
14982     * This resource has been withdrawn or superseded and should no longer be used.
14983     */
14984    RETIRED,
14985    /**
14986     * The authoring system does not know which of the status values currently
14987     * applies for this resource. Note: This concept is not to be used for "other" -
14988     * one of the listed statuses is presumed to apply, it's just not known which
14989     * one.
14990     */
14991    UNKNOWN,
14992    /**
14993     * added to help the parsers
14994     */
14995    NULL;
14996
14997    public static PublicationStatus fromCode(String codeString) throws FHIRException {
14998      if (codeString == null || "".equals(codeString))
14999        return null;
15000      if ("draft".equals(codeString))
15001        return DRAFT;
15002      if ("active".equals(codeString))
15003        return ACTIVE;
15004      if ("retired".equals(codeString))
15005        return RETIRED;
15006      if ("unknown".equals(codeString))
15007        return UNKNOWN;
15008      throw new FHIRException("Unknown PublicationStatus code '" + codeString + "'");
15009    }
15010
15011    public String toCode() {
15012      switch (this) {
15013      case DRAFT:
15014        return "draft";
15015      case ACTIVE:
15016        return "active";
15017      case RETIRED:
15018        return "retired";
15019      case UNKNOWN:
15020        return "unknown";
15021      case NULL:
15022        return null;
15023      default:
15024        return "?";
15025      }
15026    }
15027
15028    public String getSystem() {
15029      switch (this) {
15030      case DRAFT:
15031        return "http://hl7.org/fhir/publication-status";
15032      case ACTIVE:
15033        return "http://hl7.org/fhir/publication-status";
15034      case RETIRED:
15035        return "http://hl7.org/fhir/publication-status";
15036      case UNKNOWN:
15037        return "http://hl7.org/fhir/publication-status";
15038      case NULL:
15039        return null;
15040      default:
15041        return "?";
15042      }
15043    }
15044
15045    public String getDefinition() {
15046      switch (this) {
15047      case DRAFT:
15048        return "This resource is still under development and is not yet considered to be ready for normal use.";
15049      case ACTIVE:
15050        return "This resource is ready for normal use.";
15051      case RETIRED:
15052        return "This resource has been withdrawn or superseded and should no longer be used.";
15053      case UNKNOWN:
15054        return "The authoring system does not know which of the status values currently applies for this resource.  Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, it's just not known which one.";
15055      case NULL:
15056        return null;
15057      default:
15058        return "?";
15059      }
15060    }
15061
15062    public String getDisplay() {
15063      switch (this) {
15064      case DRAFT:
15065        return "Draft";
15066      case ACTIVE:
15067        return "Active";
15068      case RETIRED:
15069        return "Retired";
15070      case UNKNOWN:
15071        return "Unknown";
15072      case NULL:
15073        return null;
15074      default:
15075        return "?";
15076      }
15077    }
15078  }
15079
15080  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
15081    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
15082      if (codeString == null || "".equals(codeString))
15083        if (codeString == null || "".equals(codeString))
15084          return null;
15085      if ("draft".equals(codeString))
15086        return PublicationStatus.DRAFT;
15087      if ("active".equals(codeString))
15088        return PublicationStatus.ACTIVE;
15089      if ("retired".equals(codeString))
15090        return PublicationStatus.RETIRED;
15091      if ("unknown".equals(codeString))
15092        return PublicationStatus.UNKNOWN;
15093      throw new IllegalArgumentException("Unknown PublicationStatus code '" + codeString + "'");
15094    }
15095
15096    public Enumeration<PublicationStatus> fromType(PrimitiveType<?> code) throws FHIRException {
15097      if (code == null)
15098        return null;
15099      if (code.isEmpty())
15100        return new Enumeration<PublicationStatus>(this, PublicationStatus.NULL, code);
15101      String codeString = code.asStringValue();
15102      if (codeString == null || "".equals(codeString))
15103        return new Enumeration<PublicationStatus>(this, PublicationStatus.NULL, code);
15104      if ("draft".equals(codeString))
15105        return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT, code);
15106      if ("active".equals(codeString))
15107        return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE, code);
15108      if ("retired".equals(codeString))
15109        return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED, code);
15110      if ("unknown".equals(codeString))
15111        return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN, code);
15112      throw new FHIRException("Unknown PublicationStatus code '" + codeString + "'");
15113    }
15114
15115    public String toCode(PublicationStatus code) {
15116       if (code == PublicationStatus.NULL)
15117           return null;
15118       if (code == PublicationStatus.DRAFT)
15119        return "draft";
15120      if (code == PublicationStatus.ACTIVE)
15121        return "active";
15122      if (code == PublicationStatus.RETIRED)
15123        return "retired";
15124      if (code == PublicationStatus.UNKNOWN)
15125        return "unknown";
15126      return "?";
15127   }
15128
15129    public String toSystem(PublicationStatus code) {
15130      return code.getSystem();
15131    }
15132  }
15133
15134  public enum RemittanceOutcome {
15135    /**
15136     * The Claim/Pre-authorization/Pre-determination has been received but
15137     * processing has not begun.
15138     */
15139    QUEUED,
15140    /**
15141     * The processing has completed without errors
15142     */
15143    COMPLETE,
15144    /**
15145     * One or more errors have been detected in the Claim
15146     */
15147    ERROR,
15148    /**
15149     * No errors have been detected in the Claim and some of the adjudication has
15150     * been performed.
15151     */
15152    PARTIAL,
15153    /**
15154     * added to help the parsers
15155     */
15156    NULL;
15157
15158    public static RemittanceOutcome fromCode(String codeString) throws FHIRException {
15159      if (codeString == null || "".equals(codeString))
15160        return null;
15161      if ("queued".equals(codeString))
15162        return QUEUED;
15163      if ("complete".equals(codeString))
15164        return COMPLETE;
15165      if ("error".equals(codeString))
15166        return ERROR;
15167      if ("partial".equals(codeString))
15168        return PARTIAL;
15169      throw new FHIRException("Unknown RemittanceOutcome code '" + codeString + "'");
15170    }
15171
15172    public String toCode() {
15173      switch (this) {
15174      case QUEUED:
15175        return "queued";
15176      case COMPLETE:
15177        return "complete";
15178      case ERROR:
15179        return "error";
15180      case PARTIAL:
15181        return "partial";
15182      case NULL:
15183        return null;
15184      default:
15185        return "?";
15186      }
15187    }
15188
15189    public String getSystem() {
15190      switch (this) {
15191      case QUEUED:
15192        return "http://hl7.org/fhir/remittance-outcome";
15193      case COMPLETE:
15194        return "http://hl7.org/fhir/remittance-outcome";
15195      case ERROR:
15196        return "http://hl7.org/fhir/remittance-outcome";
15197      case PARTIAL:
15198        return "http://hl7.org/fhir/remittance-outcome";
15199      case NULL:
15200        return null;
15201      default:
15202        return "?";
15203      }
15204    }
15205
15206    public String getDefinition() {
15207      switch (this) {
15208      case QUEUED:
15209        return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
15210      case COMPLETE:
15211        return "The processing has completed without errors";
15212      case ERROR:
15213        return "One or more errors have been detected in the Claim";
15214      case PARTIAL:
15215        return "No errors have been detected in the Claim and some of the adjudication has been performed.";
15216      case NULL:
15217        return null;
15218      default:
15219        return "?";
15220      }
15221    }
15222
15223    public String getDisplay() {
15224      switch (this) {
15225      case QUEUED:
15226        return "Queued";
15227      case COMPLETE:
15228        return "Processing Complete";
15229      case ERROR:
15230        return "Error";
15231      case PARTIAL:
15232        return "Partial Processing";
15233      case NULL:
15234        return null;
15235      default:
15236        return "?";
15237      }
15238    }
15239  }
15240
15241  public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> {
15242    public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException {
15243      if (codeString == null || "".equals(codeString))
15244        if (codeString == null || "".equals(codeString))
15245          return null;
15246      if ("queued".equals(codeString))
15247        return RemittanceOutcome.QUEUED;
15248      if ("complete".equals(codeString))
15249        return RemittanceOutcome.COMPLETE;
15250      if ("error".equals(codeString))
15251        return RemittanceOutcome.ERROR;
15252      if ("partial".equals(codeString))
15253        return RemittanceOutcome.PARTIAL;
15254      throw new IllegalArgumentException("Unknown RemittanceOutcome code '" + codeString + "'");
15255    }
15256
15257    public Enumeration<RemittanceOutcome> fromType(PrimitiveType<?> code) throws FHIRException {
15258      if (code == null)
15259        return null;
15260      if (code.isEmpty())
15261        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.NULL, code);
15262      String codeString = code.asStringValue();
15263      if (codeString == null || "".equals(codeString))
15264        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.NULL, code);
15265      if ("queued".equals(codeString))
15266        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.QUEUED, code);
15267      if ("complete".equals(codeString))
15268        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE, code);
15269      if ("error".equals(codeString))
15270        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR, code);
15271      if ("partial".equals(codeString))
15272        return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.PARTIAL, code);
15273      throw new FHIRException("Unknown RemittanceOutcome code '" + codeString + "'");
15274    }
15275
15276    public String toCode(RemittanceOutcome code) {
15277       if (code == RemittanceOutcome.NULL)
15278           return null;
15279       if (code == RemittanceOutcome.QUEUED)
15280        return "queued";
15281      if (code == RemittanceOutcome.COMPLETE)
15282        return "complete";
15283      if (code == RemittanceOutcome.ERROR)
15284        return "error";
15285      if (code == RemittanceOutcome.PARTIAL)
15286        return "partial";
15287      return "?";
15288   }
15289
15290    public String toSystem(RemittanceOutcome code) {
15291      return code.getSystem();
15292    }
15293  }
15294
15295  public enum RequestResourceType {
15296    /**
15297     * A booking of a healthcare event among patient(s), practitioner(s), related
15298     * person(s) and/or device(s) for a specific date/time. This may result in one
15299     * or more Encounter(s).
15300     */
15301    APPOINTMENT,
15302    /**
15303     * A reply to an appointment request for a patient and/or practitioner(s), such
15304     * as a confirmation or rejection.
15305     */
15306    APPOINTMENTRESPONSE,
15307    /**
15308     * Healthcare plan for patient or group.
15309     */
15310    CAREPLAN,
15311    /**
15312     * Claim, Pre-determination or Pre-authorization.
15313     */
15314    CLAIM,
15315    /**
15316     * A request for information to be sent to a receiver.
15317     */
15318    COMMUNICATIONREQUEST,
15319    /**
15320     * Legal Agreement.
15321     */
15322    CONTRACT,
15323    /**
15324     * Medical device request.
15325     */
15326    DEVICEREQUEST,
15327    /**
15328     * Enrollment request.
15329     */
15330    ENROLLMENTREQUEST,
15331    /**
15332     * Guidance or advice relating to an immunization.
15333     */
15334    IMMUNIZATIONRECOMMENDATION,
15335    /**
15336     * Ordering of medication for patient or group.
15337     */
15338    MEDICATIONREQUEST,
15339    /**
15340     * Diet, formula or nutritional supplement request.
15341     */
15342    NUTRITIONORDER,
15343    /**
15344     * A record of a request for service such as diagnostic investigations,
15345     * treatments, or operations to be performed.
15346     */
15347    SERVICEREQUEST,
15348    /**
15349     * Request for a medication, substance or device.
15350     */
15351    SUPPLYREQUEST,
15352    /**
15353     * A task to be performed.
15354     */
15355    TASK,
15356    /**
15357     * Prescription for vision correction products for a patient.
15358     */
15359    VISIONPRESCRIPTION,
15360    /**
15361     * added to help the parsers
15362     */
15363    NULL;
15364
15365    public static RequestResourceType fromCode(String codeString) throws FHIRException {
15366      if (codeString == null || "".equals(codeString))
15367        return null;
15368      if ("Appointment".equals(codeString))
15369        return APPOINTMENT;
15370      if ("AppointmentResponse".equals(codeString))
15371        return APPOINTMENTRESPONSE;
15372      if ("CarePlan".equals(codeString))
15373        return CAREPLAN;
15374      if ("Claim".equals(codeString))
15375        return CLAIM;
15376      if ("CommunicationRequest".equals(codeString))
15377        return COMMUNICATIONREQUEST;
15378      if ("Contract".equals(codeString))
15379        return CONTRACT;
15380      if ("DeviceRequest".equals(codeString))
15381        return DEVICEREQUEST;
15382      if ("EnrollmentRequest".equals(codeString))
15383        return ENROLLMENTREQUEST;
15384      if ("ImmunizationRecommendation".equals(codeString))
15385        return IMMUNIZATIONRECOMMENDATION;
15386      if ("MedicationRequest".equals(codeString))
15387        return MEDICATIONREQUEST;
15388      if ("NutritionOrder".equals(codeString))
15389        return NUTRITIONORDER;
15390      if ("ServiceRequest".equals(codeString))
15391        return SERVICEREQUEST;
15392      if ("SupplyRequest".equals(codeString))
15393        return SUPPLYREQUEST;
15394      if ("Task".equals(codeString))
15395        return TASK;
15396      if ("VisionPrescription".equals(codeString))
15397        return VISIONPRESCRIPTION;
15398      throw new FHIRException("Unknown RequestResourceType code '" + codeString + "'");
15399    }
15400
15401    public String toCode() {
15402      switch (this) {
15403      case APPOINTMENT:
15404        return "Appointment";
15405      case APPOINTMENTRESPONSE:
15406        return "AppointmentResponse";
15407      case CAREPLAN:
15408        return "CarePlan";
15409      case CLAIM:
15410        return "Claim";
15411      case COMMUNICATIONREQUEST:
15412        return "CommunicationRequest";
15413      case CONTRACT:
15414        return "Contract";
15415      case DEVICEREQUEST:
15416        return "DeviceRequest";
15417      case ENROLLMENTREQUEST:
15418        return "EnrollmentRequest";
15419      case IMMUNIZATIONRECOMMENDATION:
15420        return "ImmunizationRecommendation";
15421      case MEDICATIONREQUEST:
15422        return "MedicationRequest";
15423      case NUTRITIONORDER:
15424        return "NutritionOrder";
15425      case SERVICEREQUEST:
15426        return "ServiceRequest";
15427      case SUPPLYREQUEST:
15428        return "SupplyRequest";
15429      case TASK:
15430        return "Task";
15431      case VISIONPRESCRIPTION:
15432        return "VisionPrescription";
15433      case NULL:
15434        return null;
15435      default:
15436        return "?";
15437      }
15438    }
15439
15440    public String getSystem() {
15441      switch (this) {
15442      case APPOINTMENT:
15443        return "http://hl7.org/fhir/request-resource-types";
15444      case APPOINTMENTRESPONSE:
15445        return "http://hl7.org/fhir/request-resource-types";
15446      case CAREPLAN:
15447        return "http://hl7.org/fhir/request-resource-types";
15448      case CLAIM:
15449        return "http://hl7.org/fhir/request-resource-types";
15450      case COMMUNICATIONREQUEST:
15451        return "http://hl7.org/fhir/request-resource-types";
15452      case CONTRACT:
15453        return "http://hl7.org/fhir/request-resource-types";
15454      case DEVICEREQUEST:
15455        return "http://hl7.org/fhir/request-resource-types";
15456      case ENROLLMENTREQUEST:
15457        return "http://hl7.org/fhir/request-resource-types";
15458      case IMMUNIZATIONRECOMMENDATION:
15459        return "http://hl7.org/fhir/request-resource-types";
15460      case MEDICATIONREQUEST:
15461        return "http://hl7.org/fhir/request-resource-types";
15462      case NUTRITIONORDER:
15463        return "http://hl7.org/fhir/request-resource-types";
15464      case SERVICEREQUEST:
15465        return "http://hl7.org/fhir/request-resource-types";
15466      case SUPPLYREQUEST:
15467        return "http://hl7.org/fhir/request-resource-types";
15468      case TASK:
15469        return "http://hl7.org/fhir/request-resource-types";
15470      case VISIONPRESCRIPTION:
15471        return "http://hl7.org/fhir/request-resource-types";
15472      case NULL:
15473        return null;
15474      default:
15475        return "?";
15476      }
15477    }
15478
15479    public String getDefinition() {
15480      switch (this) {
15481      case APPOINTMENT:
15482        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).";
15483      case APPOINTMENTRESPONSE:
15484        return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
15485      case CAREPLAN:
15486        return "Healthcare plan for patient or group.";
15487      case CLAIM:
15488        return "Claim, Pre-determination or Pre-authorization.";
15489      case COMMUNICATIONREQUEST:
15490        return "A request for information to be sent to a receiver.";
15491      case CONTRACT:
15492        return "Legal Agreement.";
15493      case DEVICEREQUEST:
15494        return "Medical device request.";
15495      case ENROLLMENTREQUEST:
15496        return "Enrollment request.";
15497      case IMMUNIZATIONRECOMMENDATION:
15498        return "Guidance or advice relating to an immunization.";
15499      case MEDICATIONREQUEST:
15500        return "Ordering of medication for patient or group.";
15501      case NUTRITIONORDER:
15502        return "Diet, formula or nutritional supplement request.";
15503      case SERVICEREQUEST:
15504        return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
15505      case SUPPLYREQUEST:
15506        return "Request for a medication, substance or device.";
15507      case TASK:
15508        return "A task to be performed.";
15509      case VISIONPRESCRIPTION:
15510        return "Prescription for vision correction products for a patient.";
15511      case NULL:
15512        return null;
15513      default:
15514        return "?";
15515      }
15516    }
15517
15518    public String getDisplay() {
15519      switch (this) {
15520      case APPOINTMENT:
15521        return "Appointment";
15522      case APPOINTMENTRESPONSE:
15523        return "AppointmentResponse";
15524      case CAREPLAN:
15525        return "CarePlan";
15526      case CLAIM:
15527        return "Claim";
15528      case COMMUNICATIONREQUEST:
15529        return "CommunicationRequest";
15530      case CONTRACT:
15531        return "Contract";
15532      case DEVICEREQUEST:
15533        return "DeviceRequest";
15534      case ENROLLMENTREQUEST:
15535        return "EnrollmentRequest";
15536      case IMMUNIZATIONRECOMMENDATION:
15537        return "ImmunizationRecommendation";
15538      case MEDICATIONREQUEST:
15539        return "MedicationRequest";
15540      case NUTRITIONORDER:
15541        return "NutritionOrder";
15542      case SERVICEREQUEST:
15543        return "ServiceRequest";
15544      case SUPPLYREQUEST:
15545        return "SupplyRequest";
15546      case TASK:
15547        return "Task";
15548      case VISIONPRESCRIPTION:
15549        return "VisionPrescription";
15550      case NULL:
15551        return null;
15552      default:
15553        return "?";
15554      }
15555    }
15556  }
15557
15558  public static class RequestResourceTypeEnumFactory implements EnumFactory<RequestResourceType> {
15559    public RequestResourceType fromCode(String codeString) throws IllegalArgumentException {
15560      if (codeString == null || "".equals(codeString))
15561        if (codeString == null || "".equals(codeString))
15562          return null;
15563      if ("Appointment".equals(codeString))
15564        return RequestResourceType.APPOINTMENT;
15565      if ("AppointmentResponse".equals(codeString))
15566        return RequestResourceType.APPOINTMENTRESPONSE;
15567      if ("CarePlan".equals(codeString))
15568        return RequestResourceType.CAREPLAN;
15569      if ("Claim".equals(codeString))
15570        return RequestResourceType.CLAIM;
15571      if ("CommunicationRequest".equals(codeString))
15572        return RequestResourceType.COMMUNICATIONREQUEST;
15573      if ("Contract".equals(codeString))
15574        return RequestResourceType.CONTRACT;
15575      if ("DeviceRequest".equals(codeString))
15576        return RequestResourceType.DEVICEREQUEST;
15577      if ("EnrollmentRequest".equals(codeString))
15578        return RequestResourceType.ENROLLMENTREQUEST;
15579      if ("ImmunizationRecommendation".equals(codeString))
15580        return RequestResourceType.IMMUNIZATIONRECOMMENDATION;
15581      if ("MedicationRequest".equals(codeString))
15582        return RequestResourceType.MEDICATIONREQUEST;
15583      if ("NutritionOrder".equals(codeString))
15584        return RequestResourceType.NUTRITIONORDER;
15585      if ("ServiceRequest".equals(codeString))
15586        return RequestResourceType.SERVICEREQUEST;
15587      if ("SupplyRequest".equals(codeString))
15588        return RequestResourceType.SUPPLYREQUEST;
15589      if ("Task".equals(codeString))
15590        return RequestResourceType.TASK;
15591      if ("VisionPrescription".equals(codeString))
15592        return RequestResourceType.VISIONPRESCRIPTION;
15593      throw new IllegalArgumentException("Unknown RequestResourceType code '" + codeString + "'");
15594    }
15595
15596    public Enumeration<RequestResourceType> fromType(PrimitiveType<?> code) throws FHIRException {
15597      if (code == null)
15598        return null;
15599      if (code.isEmpty())
15600        return new Enumeration<RequestResourceType>(this, RequestResourceType.NULL, code);
15601      String codeString = code.asStringValue();
15602      if (codeString == null || "".equals(codeString))
15603        return new Enumeration<RequestResourceType>(this, RequestResourceType.NULL, code);
15604      if ("Appointment".equals(codeString))
15605        return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENT, code);
15606      if ("AppointmentResponse".equals(codeString))
15607        return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENTRESPONSE, code);
15608      if ("CarePlan".equals(codeString))
15609        return new Enumeration<RequestResourceType>(this, RequestResourceType.CAREPLAN, code);
15610      if ("Claim".equals(codeString))
15611        return new Enumeration<RequestResourceType>(this, RequestResourceType.CLAIM, code);
15612      if ("CommunicationRequest".equals(codeString))
15613        return new Enumeration<RequestResourceType>(this, RequestResourceType.COMMUNICATIONREQUEST, code);
15614      if ("Contract".equals(codeString))
15615        return new Enumeration<RequestResourceType>(this, RequestResourceType.CONTRACT, code);
15616      if ("DeviceRequest".equals(codeString))
15617        return new Enumeration<RequestResourceType>(this, RequestResourceType.DEVICEREQUEST, code);
15618      if ("EnrollmentRequest".equals(codeString))
15619        return new Enumeration<RequestResourceType>(this, RequestResourceType.ENROLLMENTREQUEST, code);
15620      if ("ImmunizationRecommendation".equals(codeString))
15621        return new Enumeration<RequestResourceType>(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION, code);
15622      if ("MedicationRequest".equals(codeString))
15623        return new Enumeration<RequestResourceType>(this, RequestResourceType.MEDICATIONREQUEST, code);
15624      if ("NutritionOrder".equals(codeString))
15625        return new Enumeration<RequestResourceType>(this, RequestResourceType.NUTRITIONORDER, code);
15626      if ("ServiceRequest".equals(codeString))
15627        return new Enumeration<RequestResourceType>(this, RequestResourceType.SERVICEREQUEST, code);
15628      if ("SupplyRequest".equals(codeString))
15629        return new Enumeration<RequestResourceType>(this, RequestResourceType.SUPPLYREQUEST, code);
15630      if ("Task".equals(codeString))
15631        return new Enumeration<RequestResourceType>(this, RequestResourceType.TASK, code);
15632      if ("VisionPrescription".equals(codeString))
15633        return new Enumeration<RequestResourceType>(this, RequestResourceType.VISIONPRESCRIPTION, code);
15634      throw new FHIRException("Unknown RequestResourceType code '" + codeString + "'");
15635    }
15636
15637    public String toCode(RequestResourceType code) {
15638       if (code == RequestResourceType.NULL)
15639           return null;
15640       if (code == RequestResourceType.APPOINTMENT)
15641        return "Appointment";
15642      if (code == RequestResourceType.APPOINTMENTRESPONSE)
15643        return "AppointmentResponse";
15644      if (code == RequestResourceType.CAREPLAN)
15645        return "CarePlan";
15646      if (code == RequestResourceType.CLAIM)
15647        return "Claim";
15648      if (code == RequestResourceType.COMMUNICATIONREQUEST)
15649        return "CommunicationRequest";
15650      if (code == RequestResourceType.CONTRACT)
15651        return "Contract";
15652      if (code == RequestResourceType.DEVICEREQUEST)
15653        return "DeviceRequest";
15654      if (code == RequestResourceType.ENROLLMENTREQUEST)
15655        return "EnrollmentRequest";
15656      if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION)
15657        return "ImmunizationRecommendation";
15658      if (code == RequestResourceType.MEDICATIONREQUEST)
15659        return "MedicationRequest";
15660      if (code == RequestResourceType.NUTRITIONORDER)
15661        return "NutritionOrder";
15662      if (code == RequestResourceType.SERVICEREQUEST)
15663        return "ServiceRequest";
15664      if (code == RequestResourceType.SUPPLYREQUEST)
15665        return "SupplyRequest";
15666      if (code == RequestResourceType.TASK)
15667        return "Task";
15668      if (code == RequestResourceType.VISIONPRESCRIPTION)
15669        return "VisionPrescription";
15670      return "?";
15671   }
15672
15673    public String toSystem(RequestResourceType code) {
15674      return code.getSystem();
15675    }
15676  }
15677
15678  public enum ResourceType {
15679    /**
15680     * A financial tool for tracking value accrued for a particular purpose. In the
15681     * healthcare field, used to track charges for a patient, cost centers, etc.
15682     */
15683    ACCOUNT,
15684    /**
15685     * This resource allows for the definition of some activity to be performed,
15686     * independent of a particular patient, practitioner, or other performance
15687     * context.
15688     */
15689    ACTIVITYDEFINITION,
15690    /**
15691     * Actual or potential/avoided event causing unintended physical injury
15692     * resulting from or contributed to by medical care, a research study or other
15693     * healthcare setting factors that requires additional monitoring, treatment, or
15694     * hospitalization, or that results in death.
15695     */
15696    ADVERSEEVENT,
15697    /**
15698     * Risk of harmful or undesirable, physiological response which is unique to an
15699     * individual and associated with exposure to a substance.
15700     */
15701    ALLERGYINTOLERANCE,
15702    /**
15703     * A booking of a healthcare event among patient(s), practitioner(s), related
15704     * person(s) and/or device(s) for a specific date/time. This may result in one
15705     * or more Encounter(s).
15706     */
15707    APPOINTMENT,
15708    /**
15709     * A reply to an appointment request for a patient and/or practitioner(s), such
15710     * as a confirmation or rejection.
15711     */
15712    APPOINTMENTRESPONSE,
15713    /**
15714     * A record of an event made for purposes of maintaining a security log. Typical
15715     * uses include detection of intrusion attempts and monitoring for inappropriate
15716     * usage.
15717     */
15718    AUDITEVENT,
15719    /**
15720     * Basic is used for handling concepts not yet defined in FHIR, narrative-only
15721     * resources that don't map to an existing resource, and custom resources not
15722     * appropriate for inclusion in the FHIR specification.
15723     */
15724    BASIC,
15725    /**
15726     * A resource that represents the data of a single raw artifact as digital
15727     * content accessible in its native format. A Binary resource can contain any
15728     * content, whether text, image, pdf, zip archive, etc.
15729     */
15730    BINARY,
15731    /**
15732     * A material substance originating from a biological entity intended to be
15733     * transplanted or infused into another (possibly the same) biological entity.
15734     */
15735    BIOLOGICALLYDERIVEDPRODUCT,
15736    /**
15737     * Record details about an anatomical structure. This resource may be used when
15738     * a coded concept does not provide the necessary detail needed for the use
15739     * case.
15740     */
15741    BODYSTRUCTURE,
15742    /**
15743     * A container for a collection of resources.
15744     */
15745    BUNDLE,
15746    /**
15747     * A Capability Statement documents a set of capabilities (behaviors) of a FHIR
15748     * Server for a particular version of FHIR that may be used as a statement of
15749     * actual server functionality or a statement of required or desired server
15750     * implementation.
15751     */
15752    CAPABILITYSTATEMENT,
15753    /**
15754     * Describes the intention of how one or more practitioners intend to deliver
15755     * care for a particular patient, group or community for a period of time,
15756     * possibly limited to care for a specific condition or set of conditions.
15757     */
15758    CAREPLAN,
15759    /**
15760     * The Care Team includes all the people and organizations who plan to
15761     * participate in the coordination and delivery of care for a patient.
15762     */
15763    CARETEAM,
15764    /**
15765     * Catalog entries are wrappers that contextualize items included in a catalog.
15766     */
15767    CATALOGENTRY,
15768    /**
15769     * The resource ChargeItem describes the provision of healthcare provider
15770     * products for a certain patient, therefore referring not only to the product,
15771     * but containing in addition details of the provision, like date, time, amounts
15772     * and participating organizations and persons. Main Usage of the ChargeItem is
15773     * to enable the billing process and internal cost allocation.
15774     */
15775    CHARGEITEM,
15776    /**
15777     * The ChargeItemDefinition resource provides the properties that apply to the
15778     * (billing) codes necessary to calculate costs and prices. The properties may
15779     * differ largely depending on type and realm, therefore this resource gives
15780     * only a rough structure and requires profiling for each type of billing code
15781     * system.
15782     */
15783    CHARGEITEMDEFINITION,
15784    /**
15785     * A provider issued list of professional services and products which have been
15786     * provided, or are to be provided, to a patient which is sent to an insurer for
15787     * reimbursement.
15788     */
15789    CLAIM,
15790    /**
15791     * This resource provides the adjudication details from the processing of a
15792     * Claim resource.
15793     */
15794    CLAIMRESPONSE,
15795    /**
15796     * A record of a clinical assessment performed to determine what problem(s) may
15797     * affect the patient and before planning the treatments or management
15798     * strategies that are best to manage a patient's condition. Assessments are
15799     * often 1:1 with a clinical consultation / encounter, but this varies greatly
15800     * depending on the clinical workflow. This resource is called
15801     * "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with
15802     * the recording of assessment tools such as Apgar score.
15803     */
15804    CLINICALIMPRESSION,
15805    /**
15806     * The CodeSystem resource is used to declare the existence of and describe a
15807     * code system or code system supplement and its key properties, and optionally
15808     * define a part or all of its content.
15809     */
15810    CODESYSTEM,
15811    /**
15812     * An occurrence of information being transmitted; e.g. an alert that was sent
15813     * to a responsible provider, a public health agency that was notified about a
15814     * reportable condition.
15815     */
15816    COMMUNICATION,
15817    /**
15818     * A request to convey information; e.g. the CDS system proposes that an alert
15819     * be sent to a responsible provider, the CDS system proposes that the public
15820     * health agency be notified about a reportable condition.
15821     */
15822    COMMUNICATIONREQUEST,
15823    /**
15824     * A compartment definition that defines how resources are accessed on a server.
15825     */
15826    COMPARTMENTDEFINITION,
15827    /**
15828     * A set of healthcare-related information that is assembled together into a
15829     * single logical package that provides a single coherent statement of meaning,
15830     * establishes its own context and that has clinical attestation with regard to
15831     * who is making the statement. A Composition defines the structure and
15832     * narrative content necessary for a document. However, a Composition alone does
15833     * not constitute a document. Rather, the Composition must be the first entry in
15834     * a Bundle where Bundle.type=document, and any other resources referenced from
15835     * Composition must be included as subsequent entries in the Bundle (for example
15836     * Patient, Practitioner, Encounter, etc.).
15837     */
15838    COMPOSITION,
15839    /**
15840     * A statement of relationships from one set of concepts to one or more other
15841     * concepts - either concepts in code systems, or data element/data element
15842     * concepts, or classes in class models.
15843     */
15844    CONCEPTMAP,
15845    /**
15846     * A clinical condition, problem, diagnosis, or other event, situation, issue,
15847     * or clinical concept that has risen to a level of concern.
15848     */
15849    CONDITION,
15850    /**
15851     * A record of a healthcare consumer?s choices, which permits or denies
15852     * identified recipient(s) or recipient role(s) to perform one or more actions
15853     * within a given policy context, for specific purposes and periods of time.
15854     */
15855    CONSENT,
15856    /**
15857     * Legally enforceable, formally recorded unilateral or bilateral directive
15858     * i.e., a policy or agreement.
15859     */
15860    CONTRACT,
15861    /**
15862     * Financial instrument which may be used to reimburse or pay for health care
15863     * products and services. Includes both insurance and self-payment.
15864     */
15865    COVERAGE,
15866    /**
15867     * The CoverageEligibilityRequest provides patient and insurance coverage
15868     * information to an insurer for them to respond, in the form of an
15869     * CoverageEligibilityResponse, with information regarding whether the stated
15870     * coverage is valid and in-force and optionally to provide the insurance
15871     * details of the policy.
15872     */
15873    COVERAGEELIGIBILITYREQUEST,
15874    /**
15875     * This resource provides eligibility and plan details from the processing of an
15876     * CoverageEligibilityRequest resource.
15877     */
15878    COVERAGEELIGIBILITYRESPONSE,
15879    /**
15880     * Indicates an actual or potential clinical issue with or between one or more
15881     * active or proposed clinical actions for a patient; e.g. Drug-drug
15882     * interaction, Ineffective treatment frequency, Procedure-condition conflict,
15883     * etc.
15884     */
15885    DETECTEDISSUE,
15886    /**
15887     * A type of a manufactured item that is used in the provision of healthcare
15888     * without being substantially changed through that activity. The device may be
15889     * a medical or non-medical device.
15890     */
15891    DEVICE,
15892    /**
15893     * The characteristics, operational status and capabilities of a medical-related
15894     * component of a medical device.
15895     */
15896    DEVICEDEFINITION,
15897    /**
15898     * Describes a measurement, calculation or setting capability of a medical
15899     * device.
15900     */
15901    DEVICEMETRIC,
15902    /**
15903     * Represents a request for a patient to employ a medical device. The device may
15904     * be an implantable device, or an external assistive device, such as a walker.
15905     */
15906    DEVICEREQUEST,
15907    /**
15908     * A record of a device being used by a patient where the record is the result
15909     * of a report from the patient or another clinician.
15910     */
15911    DEVICEUSESTATEMENT,
15912    /**
15913     * The findings and interpretation of diagnostic tests performed on patients,
15914     * groups of patients, devices, and locations, and/or specimens derived from
15915     * these. The report includes clinical context such as requesting and provider
15916     * information, and some mix of atomic results, images, textual and coded
15917     * interpretations, and formatted representation of diagnostic reports.
15918     */
15919    DIAGNOSTICREPORT,
15920    /**
15921     * A collection of documents compiled for a purpose together with metadata that
15922     * applies to the collection.
15923     */
15924    DOCUMENTMANIFEST,
15925    /**
15926     * A reference to a document of any kind for any purpose. Provides metadata
15927     * about the document so that the document can be discovered and managed. The
15928     * scope of a document is any seralized object with a mime-type, so includes
15929     * formal patient centric documents (CDA), cliical notes, scanned paper, and
15930     * non-patient specific documents like policy text.
15931     */
15932    DOCUMENTREFERENCE,
15933    /**
15934     * A resource that includes narrative, extensions, and contained resources.
15935     */
15936    DOMAINRESOURCE,
15937    /**
15938     * The EffectEvidenceSynthesis resource describes the difference in an outcome
15939     * between exposures states in a population where the effect estimate is derived
15940     * from a combination of research studies.
15941     */
15942    EFFECTEVIDENCESYNTHESIS,
15943    /**
15944     * An interaction between a patient and healthcare provider(s) for the purpose
15945     * of providing healthcare service(s) or assessing the health status of a
15946     * patient.
15947     */
15948    ENCOUNTER,
15949    /**
15950     * The technical details of an endpoint that can be used for electronic
15951     * services, such as for web services providing XDS.b or a REST endpoint for
15952     * another FHIR server. This may include any security context information.
15953     */
15954    ENDPOINT,
15955    /**
15956     * This resource provides the insurance enrollment details to the insurer
15957     * regarding a specified coverage.
15958     */
15959    ENROLLMENTREQUEST,
15960    /**
15961     * This resource provides enrollment and plan details from the processing of an
15962     * EnrollmentRequest resource.
15963     */
15964    ENROLLMENTRESPONSE,
15965    /**
15966     * An association between a patient and an organization / healthcare provider(s)
15967     * during which time encounters may occur. The managing organization assumes a
15968     * level of responsibility for the patient during this time.
15969     */
15970    EPISODEOFCARE,
15971    /**
15972     * The EventDefinition resource provides a reusable description of when a
15973     * particular event can occur.
15974     */
15975    EVENTDEFINITION,
15976    /**
15977     * The Evidence resource describes the conditional state (population and any
15978     * exposures being compared within the population) and outcome (if specified)
15979     * that the knowledge (evidence, assertion, recommendation) is about.
15980     */
15981    EVIDENCE,
15982    /**
15983     * The EvidenceVariable resource describes a "PICO" element that knowledge
15984     * (evidence, assertion, recommendation) is about.
15985     */
15986    EVIDENCEVARIABLE,
15987    /**
15988     * Example of workflow instance.
15989     */
15990    EXAMPLESCENARIO,
15991    /**
15992     * This resource provides: the claim details; adjudication details from the
15993     * processing of a Claim; and optionally account balance information, for
15994     * informing the subscriber of the benefits provided.
15995     */
15996    EXPLANATIONOFBENEFIT,
15997    /**
15998     * Significant health conditions for a person related to the patient relevant in
15999     * the context of care for the patient.
16000     */
16001    FAMILYMEMBERHISTORY,
16002    /**
16003     * Prospective warnings of potential issues when providing care to the patient.
16004     */
16005    FLAG,
16006    /**
16007     * Describes the intended objective(s) for a patient, group or organization
16008     * care, for example, weight loss, restoring an activity of daily living,
16009     * obtaining herd immunity via immunization, meeting a process improvement
16010     * objective, etc.
16011     */
16012    GOAL,
16013    /**
16014     * A formal computable definition of a graph of resources - that is, a coherent
16015     * set of resources that form a graph by following references. The Graph
16016     * Definition resource defines a set and makes rules about the set.
16017     */
16018    GRAPHDEFINITION,
16019    /**
16020     * Represents a defined collection of entities that may be discussed or acted
16021     * upon collectively but which are not expected to act collectively, and are not
16022     * formally or legally recognized; i.e. a collection of entities that isn't an
16023     * Organization.
16024     */
16025    GROUP,
16026    /**
16027     * A guidance response is the formal response to a guidance request, including
16028     * any output parameters returned by the evaluation, as well as the description
16029     * of any proposed actions to be taken.
16030     */
16031    GUIDANCERESPONSE,
16032    /**
16033     * The details of a healthcare service available at a location.
16034     */
16035    HEALTHCARESERVICE,
16036    /**
16037     * Representation of the content produced in a DICOM imaging study. A study
16038     * comprises a set of series, each of which includes a set of Service-Object
16039     * Pair Instances (SOP Instances - images or other data) acquired or produced in
16040     * a common context. A series is of only one modality (e.g. X-ray, CT, MR,
16041     * ultrasound), but a study may have multiple series of different modalities.
16042     */
16043    IMAGINGSTUDY,
16044    /**
16045     * Describes the event of a patient being administered a vaccine or a record of
16046     * an immunization as reported by a patient, a clinician or another party.
16047     */
16048    IMMUNIZATION,
16049    /**
16050     * Describes a comparison of an immunization event against published
16051     * recommendations to determine if the administration is "valid" in relation to
16052     * those recommendations.
16053     */
16054    IMMUNIZATIONEVALUATION,
16055    /**
16056     * A patient's point-in-time set of recommendations (i.e. forecasting) according
16057     * to a published schedule with optional supporting justification.
16058     */
16059    IMMUNIZATIONRECOMMENDATION,
16060    /**
16061     * A set of rules of how a particular interoperability or standards problem is
16062     * solved - typically through the use of FHIR resources. This resource is used
16063     * to gather all the parts of an implementation guide into a logical whole and
16064     * to publish a computable definition of all the parts.
16065     */
16066    IMPLEMENTATIONGUIDE,
16067    /**
16068     * Details of a Health Insurance product/plan provided by an organization.
16069     */
16070    INSURANCEPLAN,
16071    /**
16072     * Invoice containing collected ChargeItems from an Account with calculated
16073     * individual and total price for Billing purpose.
16074     */
16075    INVOICE,
16076    /**
16077     * The Library resource is a general-purpose container for knowledge asset
16078     * definitions. It can be used to describe and expose existing knowledge assets
16079     * such as logic libraries and information model descriptions, as well as to
16080     * describe a collection of knowledge assets.
16081     */
16082    LIBRARY,
16083    /**
16084     * Identifies two or more records (resource instances) that refer to the same
16085     * real-world "occurrence".
16086     */
16087    LINKAGE,
16088    /**
16089     * A list is a curated collection of resources.
16090     */
16091    LIST,
16092    /**
16093     * Details and position information for a physical place where services are
16094     * provided and resources and participants may be stored, found, contained, or
16095     * accommodated.
16096     */
16097    LOCATION,
16098    /**
16099     * The Measure resource provides the definition of a quality measure.
16100     */
16101    MEASURE,
16102    /**
16103     * The MeasureReport resource contains the results of the calculation of a
16104     * measure; and optionally a reference to the resources involved in that
16105     * calculation.
16106     */
16107    MEASUREREPORT,
16108    /**
16109     * A photo, video, or audio recording acquired or used in healthcare. The actual
16110     * content may be inline or provided by direct reference.
16111     */
16112    MEDIA,
16113    /**
16114     * This resource is primarily used for the identification and definition of a
16115     * medication for the purposes of prescribing, dispensing, and administering a
16116     * medication as well as for making statements about medication use.
16117     */
16118    MEDICATION,
16119    /**
16120     * Describes the event of a patient consuming or otherwise being administered a
16121     * medication. This may be as simple as swallowing a tablet or it may be a long
16122     * running infusion. Related resources tie this event to the authorizing
16123     * prescription, and the specific encounter between patient and health care
16124     * practitioner.
16125     */
16126    MEDICATIONADMINISTRATION,
16127    /**
16128     * Indicates that a medication product is to be or has been dispensed for a
16129     * named person/patient. This includes a description of the medication product
16130     * (supply) provided and the instructions for administering the medication. The
16131     * medication dispense is the result of a pharmacy system responding to a
16132     * medication order.
16133     */
16134    MEDICATIONDISPENSE,
16135    /**
16136     * Information about a medication that is used to support knowledge.
16137     */
16138    MEDICATIONKNOWLEDGE,
16139    /**
16140     * An order or request for both supply of the medication and the instructions
16141     * for administration of the medication to a patient. The resource is called
16142     * "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder"
16143     * to generalize the use across inpatient and outpatient settings, including
16144     * care plans, etc., and to harmonize with workflow patterns.
16145     */
16146    MEDICATIONREQUEST,
16147    /**
16148     * A record of a medication that is being consumed by a patient. A
16149     * MedicationStatement may indicate that the patient may be taking the
16150     * medication now or has taken the medication in the past or will be taking the
16151     * medication in the future. The source of this information can be the patient,
16152     * significant other (such as a family member or spouse), or a clinician. A
16153     * common scenario where this information is captured is during the history
16154     * taking process during a patient visit or stay. The medication information may
16155     * come from sources such as the patient's memory, from a prescription bottle,
16156     * or from a list of medications the patient, clinician or other party
16157     * maintains.
16158     * 
16159     * The primary difference between a medication statement and a medication
16160     * administration is that the medication administration has complete
16161     * administration information and is based on actual administration information
16162     * from the person who administered the medication. A medication statement is
16163     * often, if not always, less specific. There is no required date/time when the
16164     * medication was administered, in fact we only know that a source has reported
16165     * the patient is taking this medication, where details such as time, quantity,
16166     * or rate or even medication product may be incomplete or missing or less
16167     * precise. As stated earlier, the medication statement information may come
16168     * from the patient's memory, from a prescription bottle or from a list of
16169     * medications the patient, clinician or other party maintains. Medication
16170     * administration is more formal and is not missing detailed information.
16171     */
16172    MEDICATIONSTATEMENT,
16173    /**
16174     * Detailed definition of a medicinal product, typically for uses other than
16175     * direct patient care (e.g. regulatory use).
16176     */
16177    MEDICINALPRODUCT,
16178    /**
16179     * The regulatory authorization of a medicinal product.
16180     */
16181    MEDICINALPRODUCTAUTHORIZATION,
16182    /**
16183     * The clinical particulars - indications, contraindications etc. of a medicinal
16184     * product, including for regulatory purposes.
16185     */
16186    MEDICINALPRODUCTCONTRAINDICATION,
16187    /**
16188     * Indication for the Medicinal Product.
16189     */
16190    MEDICINALPRODUCTINDICATION,
16191    /**
16192     * An ingredient of a manufactured item or pharmaceutical product.
16193     */
16194    MEDICINALPRODUCTINGREDIENT,
16195    /**
16196     * The interactions of the medicinal product with other medicinal products, or
16197     * other forms of interactions.
16198     */
16199    MEDICINALPRODUCTINTERACTION,
16200    /**
16201     * The manufactured item as contained in the packaged medicinal product.
16202     */
16203    MEDICINALPRODUCTMANUFACTURED,
16204    /**
16205     * A medicinal product in a container or package.
16206     */
16207    MEDICINALPRODUCTPACKAGED,
16208    /**
16209     * A pharmaceutical product described in terms of its composition and dose form.
16210     */
16211    MEDICINALPRODUCTPHARMACEUTICAL,
16212    /**
16213     * Describe the undesirable effects of the medicinal product.
16214     */
16215    MEDICINALPRODUCTUNDESIRABLEEFFECT,
16216    /**
16217     * Defines the characteristics of a message that can be shared between systems,
16218     * including the type of event that initiates the message, the content to be
16219     * transmitted and what response(s), if any, are permitted.
16220     */
16221    MESSAGEDEFINITION,
16222    /**
16223     * The header for a message exchange that is either requesting or responding to
16224     * an action. The reference(s) that are the subject of the action as well as
16225     * other information related to the action are typically transmitted in a bundle
16226     * in which the MessageHeader resource instance is the first resource in the
16227     * bundle.
16228     */
16229    MESSAGEHEADER,
16230    /**
16231     * Raw data describing a biological sequence.
16232     */
16233    MOLECULARSEQUENCE,
16234    /**
16235     * A curated namespace that issues unique symbols within that namespace for the
16236     * identification of concepts, people, devices, etc. Represents a "System" used
16237     * within the Identifier and Coding data types.
16238     */
16239    NAMINGSYSTEM,
16240    /**
16241     * A request to supply a diet, formula feeding (enteral) or oral nutritional
16242     * supplement to a patient/resident.
16243     */
16244    NUTRITIONORDER,
16245    /**
16246     * Measurements and simple assertions made about a patient, device or other
16247     * subject.
16248     */
16249    OBSERVATION,
16250    /**
16251     * Set of definitional characteristics for a kind of observation or measurement
16252     * produced or consumed by an orderable health care service.
16253     */
16254    OBSERVATIONDEFINITION,
16255    /**
16256     * A formal computable definition of an operation (on the RESTful interface) or
16257     * a named query (using the search interaction).
16258     */
16259    OPERATIONDEFINITION,
16260    /**
16261     * A collection of error, warning, or information messages that result from a
16262     * system action.
16263     */
16264    OPERATIONOUTCOME,
16265    /**
16266     * A formally or informally recognized grouping of people or organizations
16267     * formed for the purpose of achieving some form of collective action. Includes
16268     * companies, institutions, corporations, departments, community groups,
16269     * healthcare practice groups, payer/insurer, etc.
16270     */
16271    ORGANIZATION,
16272    /**
16273     * Defines an affiliation/assotiation/relationship between 2 distinct
16274     * oganizations, that is not a part-of relationship/sub-division relationship.
16275     */
16276    ORGANIZATIONAFFILIATION,
16277    /**
16278     * This resource is a non-persisted resource used to pass information into and
16279     * back from an [operation](operations.html). It has no other use, and there is
16280     * no RESTful endpoint associated with it.
16281     */
16282    PARAMETERS,
16283    /**
16284     * Demographics and other administrative information about an individual or
16285     * animal receiving care or other health-related services.
16286     */
16287    PATIENT,
16288    /**
16289     * This resource provides the status of the payment for goods and services
16290     * rendered, and the request and response resource references.
16291     */
16292    PAYMENTNOTICE,
16293    /**
16294     * This resource provides the details including amount of a payment and
16295     * allocates the payment items being paid.
16296     */
16297    PAYMENTRECONCILIATION,
16298    /**
16299     * Demographics and administrative information about a person independent of a
16300     * specific health-related context.
16301     */
16302    PERSON,
16303    /**
16304     * This resource allows for the definition of various types of plans as a
16305     * sharable, consumable, and executable artifact. The resource is general enough
16306     * to support the description of a broad range of clinical artifacts such as
16307     * clinical decision support rules, order sets and protocols.
16308     */
16309    PLANDEFINITION,
16310    /**
16311     * A person who is directly or indirectly involved in the provisioning of
16312     * healthcare.
16313     */
16314    PRACTITIONER,
16315    /**
16316     * A specific set of Roles/Locations/specialties/services that a practitioner
16317     * may perform at an organization for a period of time.
16318     */
16319    PRACTITIONERROLE,
16320    /**
16321     * An action that is or was performed on or for a patient. This can be a
16322     * physical intervention like an operation, or less invasive like long term
16323     * services, counseling, or hypnotherapy.
16324     */
16325    PROCEDURE,
16326    /**
16327     * Provenance of a resource is a record that describes entities and processes
16328     * involved in producing and delivering or otherwise influencing that resource.
16329     * Provenance provides a critical foundation for assessing authenticity,
16330     * enabling trust, and allowing reproducibility. Provenance assertions are a
16331     * form of contextual metadata and can themselves become important records with
16332     * their own provenance. Provenance statement indicates clinical significance in
16333     * terms of confidence in authenticity, reliability, and trustworthiness,
16334     * integrity, and stage in lifecycle (e.g. Document Completion - has the
16335     * artifact been legally authenticated), all of which may impact security,
16336     * privacy, and trust policies.
16337     */
16338    PROVENANCE,
16339    /**
16340     * A structured set of questions intended to guide the collection of answers
16341     * from end-users. Questionnaires provide detailed control over order,
16342     * presentation, phraseology and grouping to allow coherent, consistent data
16343     * collection.
16344     */
16345    QUESTIONNAIRE,
16346    /**
16347     * A structured set of questions and their answers. The questions are ordered
16348     * and grouped into coherent subsets, corresponding to the structure of the
16349     * grouping of the questionnaire being responded to.
16350     */
16351    QUESTIONNAIRERESPONSE,
16352    /**
16353     * Information about a person that is involved in the care for a patient, but
16354     * who is not the target of healthcare, nor has a formal responsibility in the
16355     * care process.
16356     */
16357    RELATEDPERSON,
16358    /**
16359     * A group of related requests that can be used to capture intended activities
16360     * that have inter-dependencies such as "give this medication after that one".
16361     */
16362    REQUESTGROUP,
16363    /**
16364     * The ResearchDefinition resource describes the conditional state (population
16365     * and any exposures being compared within the population) and outcome (if
16366     * specified) that the knowledge (evidence, assertion, recommendation) is about.
16367     */
16368    RESEARCHDEFINITION,
16369    /**
16370     * The ResearchElementDefinition resource describes a "PICO" element that
16371     * knowledge (evidence, assertion, recommendation) is about.
16372     */
16373    RESEARCHELEMENTDEFINITION,
16374    /**
16375     * A process where a researcher or organization plans and then executes a series
16376     * of steps intended to increase the field of healthcare-related knowledge. This
16377     * includes studies of safety, efficacy, comparative effectiveness and other
16378     * information about medications, devices, therapies and other interventional
16379     * and investigative techniques. A ResearchStudy involves the gathering of
16380     * information about human or animal subjects.
16381     */
16382    RESEARCHSTUDY,
16383    /**
16384     * A physical entity which is the primary unit of operational and/or
16385     * administrative interest in a study.
16386     */
16387    RESEARCHSUBJECT,
16388    /**
16389     * This is the base resource type for everything.
16390     */
16391    RESOURCE,
16392    /**
16393     * An assessment of the likely outcome(s) for a patient or other subject as well
16394     * as the likelihood of each outcome.
16395     */
16396    RISKASSESSMENT,
16397    /**
16398     * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in
16399     * a population plus exposure state where the risk estimate is derived from a
16400     * combination of research studies.
16401     */
16402    RISKEVIDENCESYNTHESIS,
16403    /**
16404     * A container for slots of time that may be available for booking appointments.
16405     */
16406    SCHEDULE,
16407    /**
16408     * A search parameter that defines a named search item that can be used to
16409     * search/filter on a resource.
16410     */
16411    SEARCHPARAMETER,
16412    /**
16413     * A record of a request for service such as diagnostic investigations,
16414     * treatments, or operations to be performed.
16415     */
16416    SERVICEREQUEST,
16417    /**
16418     * A slot of time on a schedule that may be available for booking appointments.
16419     */
16420    SLOT,
16421    /**
16422     * A sample to be used for analysis.
16423     */
16424    SPECIMEN,
16425    /**
16426     * A kind of specimen with associated set of requirements.
16427     */
16428    SPECIMENDEFINITION,
16429    /**
16430     * A definition of a FHIR structure. This resource is used to describe the
16431     * underlying resources, data types defined in FHIR, and also for describing
16432     * extensions and constraints on resources and data types.
16433     */
16434    STRUCTUREDEFINITION,
16435    /**
16436     * A Map of relationships between 2 structures that can be used to transform
16437     * data.
16438     */
16439    STRUCTUREMAP,
16440    /**
16441     * The subscription resource is used to define a push-based subscription from a
16442     * server to another system. Once a subscription is registered with the server,
16443     * the server checks every resource that is created or updated, and if the
16444     * resource matches the given criteria, it sends a message on the defined
16445     * "channel" so that another system can take an appropriate action.
16446     */
16447    SUBSCRIPTION,
16448    /**
16449     * A homogeneous material with a definite composition.
16450     */
16451    SUBSTANCE,
16452    /**
16453     * Nucleic acids are defined by three distinct elements: the base, sugar and
16454     * linkage. Individual substance/moiety IDs will be created for each of these
16455     * elements. The nucleotide sequence will be always entered in the 5?-3?
16456     * direction.
16457     */
16458    SUBSTANCENUCLEICACID,
16459    /**
16460     * Todo.
16461     */
16462    SUBSTANCEPOLYMER,
16463    /**
16464     * A SubstanceProtein is defined as a single unit of a linear amino acid
16465     * sequence, or a combination of subunits that are either covalently linked or
16466     * have a defined invariant stoichiometric relationship. This includes all
16467     * synthetic, recombinant and purified SubstanceProteins of defined sequence,
16468     * whether the use is therapeutic or prophylactic. This set of elements will be
16469     * used to describe albumins, coagulation factors, cytokines, growth factors,
16470     * peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant
16471     * vaccines, and immunomodulators.
16472     */
16473    SUBSTANCEPROTEIN,
16474    /**
16475     * Todo.
16476     */
16477    SUBSTANCEREFERENCEINFORMATION,
16478    /**
16479     * Source material shall capture information on the taxonomic and anatomical
16480     * origins as well as the fraction of a material that can result in or can be
16481     * modified to form a substance. This set of data elements shall be used to
16482     * define polymer substances isolated from biological matrices. Taxonomic and
16483     * anatomical origins shall be described using a controlled vocabulary as
16484     * required. This information is captured for naturally derived polymers ( .
16485     * starch) and structurally diverse substances. For Organisms belonging to the
16486     * Kingdom Plantae the Substance level defines the fresh material of a single
16487     * species or infraspecies, the Herbal Drug and the Herbal preparation. For
16488     * Herbal preparations, the fraction information will be captured at the
16489     * Substance information level and additional information for herbal extracts
16490     * will be captured at the Specified Substance Group 1 information level. See
16491     * for further explanation the Substance Class: Structurally Diverse and the
16492     * herbal annex.
16493     */
16494    SUBSTANCESOURCEMATERIAL,
16495    /**
16496     * The detailed description of a substance, typically at a level beyond what is
16497     * used for prescribing.
16498     */
16499    SUBSTANCESPECIFICATION,
16500    /**
16501     * Record of delivery of what is supplied.
16502     */
16503    SUPPLYDELIVERY,
16504    /**
16505     * A record of a request for a medication, substance or device used in the
16506     * healthcare setting.
16507     */
16508    SUPPLYREQUEST,
16509    /**
16510     * A task to be performed.
16511     */
16512    TASK,
16513    /**
16514     * A Terminology Capabilities documents a set of capabilities (behaviors) of a
16515     * FHIR Server that may be used as a statement of actual server functionality or
16516     * a statement of required or desired server implementation.
16517     */
16518    TERMINOLOGYCAPABILITIES,
16519    /**
16520     * A summary of information based on the results of executing a TestScript.
16521     */
16522    TESTREPORT,
16523    /**
16524     * A structured set of tests against a FHIR server or client implementation to
16525     * determine compliance against the FHIR specification.
16526     */
16527    TESTSCRIPT,
16528    /**
16529     * A ValueSet resource instance specifies a set of codes drawn from one or more
16530     * code systems, intended for use in a particular context. Value sets link
16531     * between [[[CodeSystem]]] definitions and their use in [coded
16532     * elements](terminologies.html).
16533     */
16534    VALUESET,
16535    /**
16536     * Describes validation requirements, source(s), status and dates for one or
16537     * more elements.
16538     */
16539    VERIFICATIONRESULT,
16540    /**
16541     * An authorization for the provision of glasses and/or contact lenses to a
16542     * patient.
16543     */
16544    VISIONPRESCRIPTION,
16545    /**
16546     * added to help the parsers
16547     */
16548    NULL;
16549
16550    public static ResourceType fromCode(String codeString) throws FHIRException {
16551      if (codeString == null || "".equals(codeString))
16552        return null;
16553      if ("Account".equals(codeString))
16554        return ACCOUNT;
16555      if ("ActivityDefinition".equals(codeString))
16556        return ACTIVITYDEFINITION;
16557      if ("AdverseEvent".equals(codeString))
16558        return ADVERSEEVENT;
16559      if ("AllergyIntolerance".equals(codeString))
16560        return ALLERGYINTOLERANCE;
16561      if ("Appointment".equals(codeString))
16562        return APPOINTMENT;
16563      if ("AppointmentResponse".equals(codeString))
16564        return APPOINTMENTRESPONSE;
16565      if ("AuditEvent".equals(codeString))
16566        return AUDITEVENT;
16567      if ("Basic".equals(codeString))
16568        return BASIC;
16569      if ("Binary".equals(codeString))
16570        return BINARY;
16571      if ("BiologicallyDerivedProduct".equals(codeString))
16572        return BIOLOGICALLYDERIVEDPRODUCT;
16573      if ("BodyStructure".equals(codeString))
16574        return BODYSTRUCTURE;
16575      if ("Bundle".equals(codeString))
16576        return BUNDLE;
16577      if ("CapabilityStatement".equals(codeString))
16578        return CAPABILITYSTATEMENT;
16579      if ("CarePlan".equals(codeString))
16580        return CAREPLAN;
16581      if ("CareTeam".equals(codeString))
16582        return CARETEAM;
16583      if ("CatalogEntry".equals(codeString))
16584        return CATALOGENTRY;
16585      if ("ChargeItem".equals(codeString))
16586        return CHARGEITEM;
16587      if ("ChargeItemDefinition".equals(codeString))
16588        return CHARGEITEMDEFINITION;
16589      if ("Claim".equals(codeString))
16590        return CLAIM;
16591      if ("ClaimResponse".equals(codeString))
16592        return CLAIMRESPONSE;
16593      if ("ClinicalImpression".equals(codeString))
16594        return CLINICALIMPRESSION;
16595      if ("CodeSystem".equals(codeString))
16596        return CODESYSTEM;
16597      if ("Communication".equals(codeString))
16598        return COMMUNICATION;
16599      if ("CommunicationRequest".equals(codeString))
16600        return COMMUNICATIONREQUEST;
16601      if ("CompartmentDefinition".equals(codeString))
16602        return COMPARTMENTDEFINITION;
16603      if ("Composition".equals(codeString))
16604        return COMPOSITION;
16605      if ("ConceptMap".equals(codeString))
16606        return CONCEPTMAP;
16607      if ("Condition".equals(codeString))
16608        return CONDITION;
16609      if ("Consent".equals(codeString))
16610        return CONSENT;
16611      if ("Contract".equals(codeString))
16612        return CONTRACT;
16613      if ("Coverage".equals(codeString))
16614        return COVERAGE;
16615      if ("CoverageEligibilityRequest".equals(codeString))
16616        return COVERAGEELIGIBILITYREQUEST;
16617      if ("CoverageEligibilityResponse".equals(codeString))
16618        return COVERAGEELIGIBILITYRESPONSE;
16619      if ("DetectedIssue".equals(codeString))
16620        return DETECTEDISSUE;
16621      if ("Device".equals(codeString))
16622        return DEVICE;
16623      if ("DeviceDefinition".equals(codeString))
16624        return DEVICEDEFINITION;
16625      if ("DeviceMetric".equals(codeString))
16626        return DEVICEMETRIC;
16627      if ("DeviceRequest".equals(codeString))
16628        return DEVICEREQUEST;
16629      if ("DeviceUseStatement".equals(codeString))
16630        return DEVICEUSESTATEMENT;
16631      if ("DiagnosticReport".equals(codeString))
16632        return DIAGNOSTICREPORT;
16633      if ("DocumentManifest".equals(codeString))
16634        return DOCUMENTMANIFEST;
16635      if ("DocumentReference".equals(codeString))
16636        return DOCUMENTREFERENCE;
16637      if ("DomainResource".equals(codeString))
16638        return DOMAINRESOURCE;
16639      if ("EffectEvidenceSynthesis".equals(codeString))
16640        return EFFECTEVIDENCESYNTHESIS;
16641      if ("Encounter".equals(codeString))
16642        return ENCOUNTER;
16643      if ("Endpoint".equals(codeString))
16644        return ENDPOINT;
16645      if ("EnrollmentRequest".equals(codeString))
16646        return ENROLLMENTREQUEST;
16647      if ("EnrollmentResponse".equals(codeString))
16648        return ENROLLMENTRESPONSE;
16649      if ("EpisodeOfCare".equals(codeString))
16650        return EPISODEOFCARE;
16651      if ("EventDefinition".equals(codeString))
16652        return EVENTDEFINITION;
16653      if ("Evidence".equals(codeString))
16654        return EVIDENCE;
16655      if ("EvidenceVariable".equals(codeString))
16656        return EVIDENCEVARIABLE;
16657      if ("ExampleScenario".equals(codeString))
16658        return EXAMPLESCENARIO;
16659      if ("ExplanationOfBenefit".equals(codeString))
16660        return EXPLANATIONOFBENEFIT;
16661      if ("FamilyMemberHistory".equals(codeString))
16662        return FAMILYMEMBERHISTORY;
16663      if ("Flag".equals(codeString))
16664        return FLAG;
16665      if ("Goal".equals(codeString))
16666        return GOAL;
16667      if ("GraphDefinition".equals(codeString))
16668        return GRAPHDEFINITION;
16669      if ("Group".equals(codeString))
16670        return GROUP;
16671      if ("GuidanceResponse".equals(codeString))
16672        return GUIDANCERESPONSE;
16673      if ("HealthcareService".equals(codeString))
16674        return HEALTHCARESERVICE;
16675      if ("ImagingStudy".equals(codeString))
16676        return IMAGINGSTUDY;
16677      if ("Immunization".equals(codeString))
16678        return IMMUNIZATION;
16679      if ("ImmunizationEvaluation".equals(codeString))
16680        return IMMUNIZATIONEVALUATION;
16681      if ("ImmunizationRecommendation".equals(codeString))
16682        return IMMUNIZATIONRECOMMENDATION;
16683      if ("ImplementationGuide".equals(codeString))
16684        return IMPLEMENTATIONGUIDE;
16685      if ("InsurancePlan".equals(codeString))
16686        return INSURANCEPLAN;
16687      if ("Invoice".equals(codeString))
16688        return INVOICE;
16689      if ("Library".equals(codeString))
16690        return LIBRARY;
16691      if ("Linkage".equals(codeString))
16692        return LINKAGE;
16693      if ("List".equals(codeString))
16694        return LIST;
16695      if ("Location".equals(codeString))
16696        return LOCATION;
16697      if ("Measure".equals(codeString))
16698        return MEASURE;
16699      if ("MeasureReport".equals(codeString))
16700        return MEASUREREPORT;
16701      if ("Media".equals(codeString))
16702        return MEDIA;
16703      if ("Medication".equals(codeString))
16704        return MEDICATION;
16705      if ("MedicationAdministration".equals(codeString))
16706        return MEDICATIONADMINISTRATION;
16707      if ("MedicationDispense".equals(codeString))
16708        return MEDICATIONDISPENSE;
16709      if ("MedicationKnowledge".equals(codeString))
16710        return MEDICATIONKNOWLEDGE;
16711      if ("MedicationRequest".equals(codeString))
16712        return MEDICATIONREQUEST;
16713      if ("MedicationStatement".equals(codeString))
16714        return MEDICATIONSTATEMENT;
16715      if ("MedicinalProduct".equals(codeString))
16716        return MEDICINALPRODUCT;
16717      if ("MedicinalProductAuthorization".equals(codeString))
16718        return MEDICINALPRODUCTAUTHORIZATION;
16719      if ("MedicinalProductContraindication".equals(codeString))
16720        return MEDICINALPRODUCTCONTRAINDICATION;
16721      if ("MedicinalProductIndication".equals(codeString))
16722        return MEDICINALPRODUCTINDICATION;
16723      if ("MedicinalProductIngredient".equals(codeString))
16724        return MEDICINALPRODUCTINGREDIENT;
16725      if ("MedicinalProductInteraction".equals(codeString))
16726        return MEDICINALPRODUCTINTERACTION;
16727      if ("MedicinalProductManufactured".equals(codeString))
16728        return MEDICINALPRODUCTMANUFACTURED;
16729      if ("MedicinalProductPackaged".equals(codeString))
16730        return MEDICINALPRODUCTPACKAGED;
16731      if ("MedicinalProductPharmaceutical".equals(codeString))
16732        return MEDICINALPRODUCTPHARMACEUTICAL;
16733      if ("MedicinalProductUndesirableEffect".equals(codeString))
16734        return MEDICINALPRODUCTUNDESIRABLEEFFECT;
16735      if ("MessageDefinition".equals(codeString))
16736        return MESSAGEDEFINITION;
16737      if ("MessageHeader".equals(codeString))
16738        return MESSAGEHEADER;
16739      if ("MolecularSequence".equals(codeString))
16740        return MOLECULARSEQUENCE;
16741      if ("NamingSystem".equals(codeString))
16742        return NAMINGSYSTEM;
16743      if ("NutritionOrder".equals(codeString))
16744        return NUTRITIONORDER;
16745      if ("Observation".equals(codeString))
16746        return OBSERVATION;
16747      if ("ObservationDefinition".equals(codeString))
16748        return OBSERVATIONDEFINITION;
16749      if ("OperationDefinition".equals(codeString))
16750        return OPERATIONDEFINITION;
16751      if ("OperationOutcome".equals(codeString))
16752        return OPERATIONOUTCOME;
16753      if ("Organization".equals(codeString))
16754        return ORGANIZATION;
16755      if ("OrganizationAffiliation".equals(codeString))
16756        return ORGANIZATIONAFFILIATION;
16757      if ("Parameters".equals(codeString))
16758        return PARAMETERS;
16759      if ("Patient".equals(codeString))
16760        return PATIENT;
16761      if ("PaymentNotice".equals(codeString))
16762        return PAYMENTNOTICE;
16763      if ("PaymentReconciliation".equals(codeString))
16764        return PAYMENTRECONCILIATION;
16765      if ("Person".equals(codeString))
16766        return PERSON;
16767      if ("PlanDefinition".equals(codeString))
16768        return PLANDEFINITION;
16769      if ("Practitioner".equals(codeString))
16770        return PRACTITIONER;
16771      if ("PractitionerRole".equals(codeString))
16772        return PRACTITIONERROLE;
16773      if ("Procedure".equals(codeString))
16774        return PROCEDURE;
16775      if ("Provenance".equals(codeString))
16776        return PROVENANCE;
16777      if ("Questionnaire".equals(codeString))
16778        return QUESTIONNAIRE;
16779      if ("QuestionnaireResponse".equals(codeString))
16780        return QUESTIONNAIRERESPONSE;
16781      if ("RelatedPerson".equals(codeString))
16782        return RELATEDPERSON;
16783      if ("RequestGroup".equals(codeString))
16784        return REQUESTGROUP;
16785      if ("ResearchDefinition".equals(codeString))
16786        return RESEARCHDEFINITION;
16787      if ("ResearchElementDefinition".equals(codeString))
16788        return RESEARCHELEMENTDEFINITION;
16789      if ("ResearchStudy".equals(codeString))
16790        return RESEARCHSTUDY;
16791      if ("ResearchSubject".equals(codeString))
16792        return RESEARCHSUBJECT;
16793      if ("Resource".equals(codeString))
16794        return RESOURCE;
16795      if ("RiskAssessment".equals(codeString))
16796        return RISKASSESSMENT;
16797      if ("RiskEvidenceSynthesis".equals(codeString))
16798        return RISKEVIDENCESYNTHESIS;
16799      if ("Schedule".equals(codeString))
16800        return SCHEDULE;
16801      if ("SearchParameter".equals(codeString))
16802        return SEARCHPARAMETER;
16803      if ("ServiceRequest".equals(codeString))
16804        return SERVICEREQUEST;
16805      if ("Slot".equals(codeString))
16806        return SLOT;
16807      if ("Specimen".equals(codeString))
16808        return SPECIMEN;
16809      if ("SpecimenDefinition".equals(codeString))
16810        return SPECIMENDEFINITION;
16811      if ("StructureDefinition".equals(codeString))
16812        return STRUCTUREDEFINITION;
16813      if ("StructureMap".equals(codeString))
16814        return STRUCTUREMAP;
16815      if ("Subscription".equals(codeString))
16816        return SUBSCRIPTION;
16817      if ("Substance".equals(codeString))
16818        return SUBSTANCE;
16819      if ("SubstanceNucleicAcid".equals(codeString))
16820        return SUBSTANCENUCLEICACID;
16821      if ("SubstancePolymer".equals(codeString))
16822        return SUBSTANCEPOLYMER;
16823      if ("SubstanceProtein".equals(codeString))
16824        return SUBSTANCEPROTEIN;
16825      if ("SubstanceReferenceInformation".equals(codeString))
16826        return SUBSTANCEREFERENCEINFORMATION;
16827      if ("SubstanceSourceMaterial".equals(codeString))
16828        return SUBSTANCESOURCEMATERIAL;
16829      if ("SubstanceSpecification".equals(codeString))
16830        return SUBSTANCESPECIFICATION;
16831      if ("SupplyDelivery".equals(codeString))
16832        return SUPPLYDELIVERY;
16833      if ("SupplyRequest".equals(codeString))
16834        return SUPPLYREQUEST;
16835      if ("Task".equals(codeString))
16836        return TASK;
16837      if ("TerminologyCapabilities".equals(codeString))
16838        return TERMINOLOGYCAPABILITIES;
16839      if ("TestReport".equals(codeString))
16840        return TESTREPORT;
16841      if ("TestScript".equals(codeString))
16842        return TESTSCRIPT;
16843      if ("ValueSet".equals(codeString))
16844        return VALUESET;
16845      if ("VerificationResult".equals(codeString))
16846        return VERIFICATIONRESULT;
16847      if ("VisionPrescription".equals(codeString))
16848        return VISIONPRESCRIPTION;
16849      throw new FHIRException("Unknown ResourceType code '" + codeString + "'");
16850    }
16851
16852    public String toCode() {
16853      switch (this) {
16854      case ACCOUNT:
16855        return "Account";
16856      case ACTIVITYDEFINITION:
16857        return "ActivityDefinition";
16858      case ADVERSEEVENT:
16859        return "AdverseEvent";
16860      case ALLERGYINTOLERANCE:
16861        return "AllergyIntolerance";
16862      case APPOINTMENT:
16863        return "Appointment";
16864      case APPOINTMENTRESPONSE:
16865        return "AppointmentResponse";
16866      case AUDITEVENT:
16867        return "AuditEvent";
16868      case BASIC:
16869        return "Basic";
16870      case BINARY:
16871        return "Binary";
16872      case BIOLOGICALLYDERIVEDPRODUCT:
16873        return "BiologicallyDerivedProduct";
16874      case BODYSTRUCTURE:
16875        return "BodyStructure";
16876      case BUNDLE:
16877        return "Bundle";
16878      case CAPABILITYSTATEMENT:
16879        return "CapabilityStatement";
16880      case CAREPLAN:
16881        return "CarePlan";
16882      case CARETEAM:
16883        return "CareTeam";
16884      case CATALOGENTRY:
16885        return "CatalogEntry";
16886      case CHARGEITEM:
16887        return "ChargeItem";
16888      case CHARGEITEMDEFINITION:
16889        return "ChargeItemDefinition";
16890      case CLAIM:
16891        return "Claim";
16892      case CLAIMRESPONSE:
16893        return "ClaimResponse";
16894      case CLINICALIMPRESSION:
16895        return "ClinicalImpression";
16896      case CODESYSTEM:
16897        return "CodeSystem";
16898      case COMMUNICATION:
16899        return "Communication";
16900      case COMMUNICATIONREQUEST:
16901        return "CommunicationRequest";
16902      case COMPARTMENTDEFINITION:
16903        return "CompartmentDefinition";
16904      case COMPOSITION:
16905        return "Composition";
16906      case CONCEPTMAP:
16907        return "ConceptMap";
16908      case CONDITION:
16909        return "Condition";
16910      case CONSENT:
16911        return "Consent";
16912      case CONTRACT:
16913        return "Contract";
16914      case COVERAGE:
16915        return "Coverage";
16916      case COVERAGEELIGIBILITYREQUEST:
16917        return "CoverageEligibilityRequest";
16918      case COVERAGEELIGIBILITYRESPONSE:
16919        return "CoverageEligibilityResponse";
16920      case DETECTEDISSUE:
16921        return "DetectedIssue";
16922      case DEVICE:
16923        return "Device";
16924      case DEVICEDEFINITION:
16925        return "DeviceDefinition";
16926      case DEVICEMETRIC:
16927        return "DeviceMetric";
16928      case DEVICEREQUEST:
16929        return "DeviceRequest";
16930      case DEVICEUSESTATEMENT:
16931        return "DeviceUseStatement";
16932      case DIAGNOSTICREPORT:
16933        return "DiagnosticReport";
16934      case DOCUMENTMANIFEST:
16935        return "DocumentManifest";
16936      case DOCUMENTREFERENCE:
16937        return "DocumentReference";
16938      case DOMAINRESOURCE:
16939        return "DomainResource";
16940      case EFFECTEVIDENCESYNTHESIS:
16941        return "EffectEvidenceSynthesis";
16942      case ENCOUNTER:
16943        return "Encounter";
16944      case ENDPOINT:
16945        return "Endpoint";
16946      case ENROLLMENTREQUEST:
16947        return "EnrollmentRequest";
16948      case ENROLLMENTRESPONSE:
16949        return "EnrollmentResponse";
16950      case EPISODEOFCARE:
16951        return "EpisodeOfCare";
16952      case EVENTDEFINITION:
16953        return "EventDefinition";
16954      case EVIDENCE:
16955        return "Evidence";
16956      case EVIDENCEVARIABLE:
16957        return "EvidenceVariable";
16958      case EXAMPLESCENARIO:
16959        return "ExampleScenario";
16960      case EXPLANATIONOFBENEFIT:
16961        return "ExplanationOfBenefit";
16962      case FAMILYMEMBERHISTORY:
16963        return "FamilyMemberHistory";
16964      case FLAG:
16965        return "Flag";
16966      case GOAL:
16967        return "Goal";
16968      case GRAPHDEFINITION:
16969        return "GraphDefinition";
16970      case GROUP:
16971        return "Group";
16972      case GUIDANCERESPONSE:
16973        return "GuidanceResponse";
16974      case HEALTHCARESERVICE:
16975        return "HealthcareService";
16976      case IMAGINGSTUDY:
16977        return "ImagingStudy";
16978      case IMMUNIZATION:
16979        return "Immunization";
16980      case IMMUNIZATIONEVALUATION:
16981        return "ImmunizationEvaluation";
16982      case IMMUNIZATIONRECOMMENDATION:
16983        return "ImmunizationRecommendation";
16984      case IMPLEMENTATIONGUIDE:
16985        return "ImplementationGuide";
16986      case INSURANCEPLAN:
16987        return "InsurancePlan";
16988      case INVOICE:
16989        return "Invoice";
16990      case LIBRARY:
16991        return "Library";
16992      case LINKAGE:
16993        return "Linkage";
16994      case LIST:
16995        return "List";
16996      case LOCATION:
16997        return "Location";
16998      case MEASURE:
16999        return "Measure";
17000      case MEASUREREPORT:
17001        return "MeasureReport";
17002      case MEDIA:
17003        return "Media";
17004      case MEDICATION:
17005        return "Medication";
17006      case MEDICATIONADMINISTRATION:
17007        return "MedicationAdministration";
17008      case MEDICATIONDISPENSE:
17009        return "MedicationDispense";
17010      case MEDICATIONKNOWLEDGE:
17011        return "MedicationKnowledge";
17012      case MEDICATIONREQUEST:
17013        return "MedicationRequest";
17014      case MEDICATIONSTATEMENT:
17015        return "MedicationStatement";
17016      case MEDICINALPRODUCT:
17017        return "MedicinalProduct";
17018      case MEDICINALPRODUCTAUTHORIZATION:
17019        return "MedicinalProductAuthorization";
17020      case MEDICINALPRODUCTCONTRAINDICATION:
17021        return "MedicinalProductContraindication";
17022      case MEDICINALPRODUCTINDICATION:
17023        return "MedicinalProductIndication";
17024      case MEDICINALPRODUCTINGREDIENT:
17025        return "MedicinalProductIngredient";
17026      case MEDICINALPRODUCTINTERACTION:
17027        return "MedicinalProductInteraction";
17028      case MEDICINALPRODUCTMANUFACTURED:
17029        return "MedicinalProductManufactured";
17030      case MEDICINALPRODUCTPACKAGED:
17031        return "MedicinalProductPackaged";
17032      case MEDICINALPRODUCTPHARMACEUTICAL:
17033        return "MedicinalProductPharmaceutical";
17034      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
17035        return "MedicinalProductUndesirableEffect";
17036      case MESSAGEDEFINITION:
17037        return "MessageDefinition";
17038      case MESSAGEHEADER:
17039        return "MessageHeader";
17040      case MOLECULARSEQUENCE:
17041        return "MolecularSequence";
17042      case NAMINGSYSTEM:
17043        return "NamingSystem";
17044      case NUTRITIONORDER:
17045        return "NutritionOrder";
17046      case OBSERVATION:
17047        return "Observation";
17048      case OBSERVATIONDEFINITION:
17049        return "ObservationDefinition";
17050      case OPERATIONDEFINITION:
17051        return "OperationDefinition";
17052      case OPERATIONOUTCOME:
17053        return "OperationOutcome";
17054      case ORGANIZATION:
17055        return "Organization";
17056      case ORGANIZATIONAFFILIATION:
17057        return "OrganizationAffiliation";
17058      case PARAMETERS:
17059        return "Parameters";
17060      case PATIENT:
17061        return "Patient";
17062      case PAYMENTNOTICE:
17063        return "PaymentNotice";
17064      case PAYMENTRECONCILIATION:
17065        return "PaymentReconciliation";
17066      case PERSON:
17067        return "Person";
17068      case PLANDEFINITION:
17069        return "PlanDefinition";
17070      case PRACTITIONER:
17071        return "Practitioner";
17072      case PRACTITIONERROLE:
17073        return "PractitionerRole";
17074      case PROCEDURE:
17075        return "Procedure";
17076      case PROVENANCE:
17077        return "Provenance";
17078      case QUESTIONNAIRE:
17079        return "Questionnaire";
17080      case QUESTIONNAIRERESPONSE:
17081        return "QuestionnaireResponse";
17082      case RELATEDPERSON:
17083        return "RelatedPerson";
17084      case REQUESTGROUP:
17085        return "RequestGroup";
17086      case RESEARCHDEFINITION:
17087        return "ResearchDefinition";
17088      case RESEARCHELEMENTDEFINITION:
17089        return "ResearchElementDefinition";
17090      case RESEARCHSTUDY:
17091        return "ResearchStudy";
17092      case RESEARCHSUBJECT:
17093        return "ResearchSubject";
17094      case RESOURCE:
17095        return "Resource";
17096      case RISKASSESSMENT:
17097        return "RiskAssessment";
17098      case RISKEVIDENCESYNTHESIS:
17099        return "RiskEvidenceSynthesis";
17100      case SCHEDULE:
17101        return "Schedule";
17102      case SEARCHPARAMETER:
17103        return "SearchParameter";
17104      case SERVICEREQUEST:
17105        return "ServiceRequest";
17106      case SLOT:
17107        return "Slot";
17108      case SPECIMEN:
17109        return "Specimen";
17110      case SPECIMENDEFINITION:
17111        return "SpecimenDefinition";
17112      case STRUCTUREDEFINITION:
17113        return "StructureDefinition";
17114      case STRUCTUREMAP:
17115        return "StructureMap";
17116      case SUBSCRIPTION:
17117        return "Subscription";
17118      case SUBSTANCE:
17119        return "Substance";
17120      case SUBSTANCENUCLEICACID:
17121        return "SubstanceNucleicAcid";
17122      case SUBSTANCEPOLYMER:
17123        return "SubstancePolymer";
17124      case SUBSTANCEPROTEIN:
17125        return "SubstanceProtein";
17126      case SUBSTANCEREFERENCEINFORMATION:
17127        return "SubstanceReferenceInformation";
17128      case SUBSTANCESOURCEMATERIAL:
17129        return "SubstanceSourceMaterial";
17130      case SUBSTANCESPECIFICATION:
17131        return "SubstanceSpecification";
17132      case SUPPLYDELIVERY:
17133        return "SupplyDelivery";
17134      case SUPPLYREQUEST:
17135        return "SupplyRequest";
17136      case TASK:
17137        return "Task";
17138      case TERMINOLOGYCAPABILITIES:
17139        return "TerminologyCapabilities";
17140      case TESTREPORT:
17141        return "TestReport";
17142      case TESTSCRIPT:
17143        return "TestScript";
17144      case VALUESET:
17145        return "ValueSet";
17146      case VERIFICATIONRESULT:
17147        return "VerificationResult";
17148      case VISIONPRESCRIPTION:
17149        return "VisionPrescription";
17150      case NULL:
17151        return null;
17152      default:
17153        return "?";
17154      }
17155    }
17156
17157    public String getSystem() {
17158      switch (this) {
17159      case ACCOUNT:
17160        return "http://hl7.org/fhir/resource-types";
17161      case ACTIVITYDEFINITION:
17162        return "http://hl7.org/fhir/resource-types";
17163      case ADVERSEEVENT:
17164        return "http://hl7.org/fhir/resource-types";
17165      case ALLERGYINTOLERANCE:
17166        return "http://hl7.org/fhir/resource-types";
17167      case APPOINTMENT:
17168        return "http://hl7.org/fhir/resource-types";
17169      case APPOINTMENTRESPONSE:
17170        return "http://hl7.org/fhir/resource-types";
17171      case AUDITEVENT:
17172        return "http://hl7.org/fhir/resource-types";
17173      case BASIC:
17174        return "http://hl7.org/fhir/resource-types";
17175      case BINARY:
17176        return "http://hl7.org/fhir/resource-types";
17177      case BIOLOGICALLYDERIVEDPRODUCT:
17178        return "http://hl7.org/fhir/resource-types";
17179      case BODYSTRUCTURE:
17180        return "http://hl7.org/fhir/resource-types";
17181      case BUNDLE:
17182        return "http://hl7.org/fhir/resource-types";
17183      case CAPABILITYSTATEMENT:
17184        return "http://hl7.org/fhir/resource-types";
17185      case CAREPLAN:
17186        return "http://hl7.org/fhir/resource-types";
17187      case CARETEAM:
17188        return "http://hl7.org/fhir/resource-types";
17189      case CATALOGENTRY:
17190        return "http://hl7.org/fhir/resource-types";
17191      case CHARGEITEM:
17192        return "http://hl7.org/fhir/resource-types";
17193      case CHARGEITEMDEFINITION:
17194        return "http://hl7.org/fhir/resource-types";
17195      case CLAIM:
17196        return "http://hl7.org/fhir/resource-types";
17197      case CLAIMRESPONSE:
17198        return "http://hl7.org/fhir/resource-types";
17199      case CLINICALIMPRESSION:
17200        return "http://hl7.org/fhir/resource-types";
17201      case CODESYSTEM:
17202        return "http://hl7.org/fhir/resource-types";
17203      case COMMUNICATION:
17204        return "http://hl7.org/fhir/resource-types";
17205      case COMMUNICATIONREQUEST:
17206        return "http://hl7.org/fhir/resource-types";
17207      case COMPARTMENTDEFINITION:
17208        return "http://hl7.org/fhir/resource-types";
17209      case COMPOSITION:
17210        return "http://hl7.org/fhir/resource-types";
17211      case CONCEPTMAP:
17212        return "http://hl7.org/fhir/resource-types";
17213      case CONDITION:
17214        return "http://hl7.org/fhir/resource-types";
17215      case CONSENT:
17216        return "http://hl7.org/fhir/resource-types";
17217      case CONTRACT:
17218        return "http://hl7.org/fhir/resource-types";
17219      case COVERAGE:
17220        return "http://hl7.org/fhir/resource-types";
17221      case COVERAGEELIGIBILITYREQUEST:
17222        return "http://hl7.org/fhir/resource-types";
17223      case COVERAGEELIGIBILITYRESPONSE:
17224        return "http://hl7.org/fhir/resource-types";
17225      case DETECTEDISSUE:
17226        return "http://hl7.org/fhir/resource-types";
17227      case DEVICE:
17228        return "http://hl7.org/fhir/resource-types";
17229      case DEVICEDEFINITION:
17230        return "http://hl7.org/fhir/resource-types";
17231      case DEVICEMETRIC:
17232        return "http://hl7.org/fhir/resource-types";
17233      case DEVICEREQUEST:
17234        return "http://hl7.org/fhir/resource-types";
17235      case DEVICEUSESTATEMENT:
17236        return "http://hl7.org/fhir/resource-types";
17237      case DIAGNOSTICREPORT:
17238        return "http://hl7.org/fhir/resource-types";
17239      case DOCUMENTMANIFEST:
17240        return "http://hl7.org/fhir/resource-types";
17241      case DOCUMENTREFERENCE:
17242        return "http://hl7.org/fhir/resource-types";
17243      case DOMAINRESOURCE:
17244        return "http://hl7.org/fhir/resource-types";
17245      case EFFECTEVIDENCESYNTHESIS:
17246        return "http://hl7.org/fhir/resource-types";
17247      case ENCOUNTER:
17248        return "http://hl7.org/fhir/resource-types";
17249      case ENDPOINT:
17250        return "http://hl7.org/fhir/resource-types";
17251      case ENROLLMENTREQUEST:
17252        return "http://hl7.org/fhir/resource-types";
17253      case ENROLLMENTRESPONSE:
17254        return "http://hl7.org/fhir/resource-types";
17255      case EPISODEOFCARE:
17256        return "http://hl7.org/fhir/resource-types";
17257      case EVENTDEFINITION:
17258        return "http://hl7.org/fhir/resource-types";
17259      case EVIDENCE:
17260        return "http://hl7.org/fhir/resource-types";
17261      case EVIDENCEVARIABLE:
17262        return "http://hl7.org/fhir/resource-types";
17263      case EXAMPLESCENARIO:
17264        return "http://hl7.org/fhir/resource-types";
17265      case EXPLANATIONOFBENEFIT:
17266        return "http://hl7.org/fhir/resource-types";
17267      case FAMILYMEMBERHISTORY:
17268        return "http://hl7.org/fhir/resource-types";
17269      case FLAG:
17270        return "http://hl7.org/fhir/resource-types";
17271      case GOAL:
17272        return "http://hl7.org/fhir/resource-types";
17273      case GRAPHDEFINITION:
17274        return "http://hl7.org/fhir/resource-types";
17275      case GROUP:
17276        return "http://hl7.org/fhir/resource-types";
17277      case GUIDANCERESPONSE:
17278        return "http://hl7.org/fhir/resource-types";
17279      case HEALTHCARESERVICE:
17280        return "http://hl7.org/fhir/resource-types";
17281      case IMAGINGSTUDY:
17282        return "http://hl7.org/fhir/resource-types";
17283      case IMMUNIZATION:
17284        return "http://hl7.org/fhir/resource-types";
17285      case IMMUNIZATIONEVALUATION:
17286        return "http://hl7.org/fhir/resource-types";
17287      case IMMUNIZATIONRECOMMENDATION:
17288        return "http://hl7.org/fhir/resource-types";
17289      case IMPLEMENTATIONGUIDE:
17290        return "http://hl7.org/fhir/resource-types";
17291      case INSURANCEPLAN:
17292        return "http://hl7.org/fhir/resource-types";
17293      case INVOICE:
17294        return "http://hl7.org/fhir/resource-types";
17295      case LIBRARY:
17296        return "http://hl7.org/fhir/resource-types";
17297      case LINKAGE:
17298        return "http://hl7.org/fhir/resource-types";
17299      case LIST:
17300        return "http://hl7.org/fhir/resource-types";
17301      case LOCATION:
17302        return "http://hl7.org/fhir/resource-types";
17303      case MEASURE:
17304        return "http://hl7.org/fhir/resource-types";
17305      case MEASUREREPORT:
17306        return "http://hl7.org/fhir/resource-types";
17307      case MEDIA:
17308        return "http://hl7.org/fhir/resource-types";
17309      case MEDICATION:
17310        return "http://hl7.org/fhir/resource-types";
17311      case MEDICATIONADMINISTRATION:
17312        return "http://hl7.org/fhir/resource-types";
17313      case MEDICATIONDISPENSE:
17314        return "http://hl7.org/fhir/resource-types";
17315      case MEDICATIONKNOWLEDGE:
17316        return "http://hl7.org/fhir/resource-types";
17317      case MEDICATIONREQUEST:
17318        return "http://hl7.org/fhir/resource-types";
17319      case MEDICATIONSTATEMENT:
17320        return "http://hl7.org/fhir/resource-types";
17321      case MEDICINALPRODUCT:
17322        return "http://hl7.org/fhir/resource-types";
17323      case MEDICINALPRODUCTAUTHORIZATION:
17324        return "http://hl7.org/fhir/resource-types";
17325      case MEDICINALPRODUCTCONTRAINDICATION:
17326        return "http://hl7.org/fhir/resource-types";
17327      case MEDICINALPRODUCTINDICATION:
17328        return "http://hl7.org/fhir/resource-types";
17329      case MEDICINALPRODUCTINGREDIENT:
17330        return "http://hl7.org/fhir/resource-types";
17331      case MEDICINALPRODUCTINTERACTION:
17332        return "http://hl7.org/fhir/resource-types";
17333      case MEDICINALPRODUCTMANUFACTURED:
17334        return "http://hl7.org/fhir/resource-types";
17335      case MEDICINALPRODUCTPACKAGED:
17336        return "http://hl7.org/fhir/resource-types";
17337      case MEDICINALPRODUCTPHARMACEUTICAL:
17338        return "http://hl7.org/fhir/resource-types";
17339      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
17340        return "http://hl7.org/fhir/resource-types";
17341      case MESSAGEDEFINITION:
17342        return "http://hl7.org/fhir/resource-types";
17343      case MESSAGEHEADER:
17344        return "http://hl7.org/fhir/resource-types";
17345      case MOLECULARSEQUENCE:
17346        return "http://hl7.org/fhir/resource-types";
17347      case NAMINGSYSTEM:
17348        return "http://hl7.org/fhir/resource-types";
17349      case NUTRITIONORDER:
17350        return "http://hl7.org/fhir/resource-types";
17351      case OBSERVATION:
17352        return "http://hl7.org/fhir/resource-types";
17353      case OBSERVATIONDEFINITION:
17354        return "http://hl7.org/fhir/resource-types";
17355      case OPERATIONDEFINITION:
17356        return "http://hl7.org/fhir/resource-types";
17357      case OPERATIONOUTCOME:
17358        return "http://hl7.org/fhir/resource-types";
17359      case ORGANIZATION:
17360        return "http://hl7.org/fhir/resource-types";
17361      case ORGANIZATIONAFFILIATION:
17362        return "http://hl7.org/fhir/resource-types";
17363      case PARAMETERS:
17364        return "http://hl7.org/fhir/resource-types";
17365      case PATIENT:
17366        return "http://hl7.org/fhir/resource-types";
17367      case PAYMENTNOTICE:
17368        return "http://hl7.org/fhir/resource-types";
17369      case PAYMENTRECONCILIATION:
17370        return "http://hl7.org/fhir/resource-types";
17371      case PERSON:
17372        return "http://hl7.org/fhir/resource-types";
17373      case PLANDEFINITION:
17374        return "http://hl7.org/fhir/resource-types";
17375      case PRACTITIONER:
17376        return "http://hl7.org/fhir/resource-types";
17377      case PRACTITIONERROLE:
17378        return "http://hl7.org/fhir/resource-types";
17379      case PROCEDURE:
17380        return "http://hl7.org/fhir/resource-types";
17381      case PROVENANCE:
17382        return "http://hl7.org/fhir/resource-types";
17383      case QUESTIONNAIRE:
17384        return "http://hl7.org/fhir/resource-types";
17385      case QUESTIONNAIRERESPONSE:
17386        return "http://hl7.org/fhir/resource-types";
17387      case RELATEDPERSON:
17388        return "http://hl7.org/fhir/resource-types";
17389      case REQUESTGROUP:
17390        return "http://hl7.org/fhir/resource-types";
17391      case RESEARCHDEFINITION:
17392        return "http://hl7.org/fhir/resource-types";
17393      case RESEARCHELEMENTDEFINITION:
17394        return "http://hl7.org/fhir/resource-types";
17395      case RESEARCHSTUDY:
17396        return "http://hl7.org/fhir/resource-types";
17397      case RESEARCHSUBJECT:
17398        return "http://hl7.org/fhir/resource-types";
17399      case RESOURCE:
17400        return "http://hl7.org/fhir/resource-types";
17401      case RISKASSESSMENT:
17402        return "http://hl7.org/fhir/resource-types";
17403      case RISKEVIDENCESYNTHESIS:
17404        return "http://hl7.org/fhir/resource-types";
17405      case SCHEDULE:
17406        return "http://hl7.org/fhir/resource-types";
17407      case SEARCHPARAMETER:
17408        return "http://hl7.org/fhir/resource-types";
17409      case SERVICEREQUEST:
17410        return "http://hl7.org/fhir/resource-types";
17411      case SLOT:
17412        return "http://hl7.org/fhir/resource-types";
17413      case SPECIMEN:
17414        return "http://hl7.org/fhir/resource-types";
17415      case SPECIMENDEFINITION:
17416        return "http://hl7.org/fhir/resource-types";
17417      case STRUCTUREDEFINITION:
17418        return "http://hl7.org/fhir/resource-types";
17419      case STRUCTUREMAP:
17420        return "http://hl7.org/fhir/resource-types";
17421      case SUBSCRIPTION:
17422        return "http://hl7.org/fhir/resource-types";
17423      case SUBSTANCE:
17424        return "http://hl7.org/fhir/resource-types";
17425      case SUBSTANCENUCLEICACID:
17426        return "http://hl7.org/fhir/resource-types";
17427      case SUBSTANCEPOLYMER:
17428        return "http://hl7.org/fhir/resource-types";
17429      case SUBSTANCEPROTEIN:
17430        return "http://hl7.org/fhir/resource-types";
17431      case SUBSTANCEREFERENCEINFORMATION:
17432        return "http://hl7.org/fhir/resource-types";
17433      case SUBSTANCESOURCEMATERIAL:
17434        return "http://hl7.org/fhir/resource-types";
17435      case SUBSTANCESPECIFICATION:
17436        return "http://hl7.org/fhir/resource-types";
17437      case SUPPLYDELIVERY:
17438        return "http://hl7.org/fhir/resource-types";
17439      case SUPPLYREQUEST:
17440        return "http://hl7.org/fhir/resource-types";
17441      case TASK:
17442        return "http://hl7.org/fhir/resource-types";
17443      case TERMINOLOGYCAPABILITIES:
17444        return "http://hl7.org/fhir/resource-types";
17445      case TESTREPORT:
17446        return "http://hl7.org/fhir/resource-types";
17447      case TESTSCRIPT:
17448        return "http://hl7.org/fhir/resource-types";
17449      case VALUESET:
17450        return "http://hl7.org/fhir/resource-types";
17451      case VERIFICATIONRESULT:
17452        return "http://hl7.org/fhir/resource-types";
17453      case VISIONPRESCRIPTION:
17454        return "http://hl7.org/fhir/resource-types";
17455      case NULL:
17456        return null;
17457      default:
17458        return "?";
17459      }
17460    }
17461
17462    public String getDefinition() {
17463      switch (this) {
17464      case ACCOUNT:
17465        return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
17466      case ACTIVITYDEFINITION:
17467        return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
17468      case ADVERSEEVENT:
17469        return "Actual or  potential/avoided event causing unintended physical injury resulting from or contributed to by medical care, a research study or other healthcare setting factors that requires additional monitoring, treatment, or hospitalization, or that results in death.";
17470      case ALLERGYINTOLERANCE:
17471        return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
17472      case APPOINTMENT:
17473        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).";
17474      case APPOINTMENTRESPONSE:
17475        return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
17476      case AUDITEVENT:
17477        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.";
17478      case BASIC:
17479        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.";
17480      case BINARY:
17481        return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
17482      case BIOLOGICALLYDERIVEDPRODUCT:
17483        return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
17484      case BODYSTRUCTURE:
17485        return "Record details about an anatomical structure.  This resource may be used when a coded concept does not provide the necessary detail needed for the use case.";
17486      case BUNDLE:
17487        return "A container for a collection of resources.";
17488      case CAPABILITYSTATEMENT:
17489        return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
17490      case CAREPLAN:
17491        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.";
17492      case CARETEAM:
17493        return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
17494      case CATALOGENTRY:
17495        return "Catalog entries are wrappers that contextualize items included in a catalog.";
17496      case CHARGEITEM:
17497        return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation.";
17498      case CHARGEITEMDEFINITION:
17499        return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
17500      case CLAIM:
17501        return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
17502      case CLAIMRESPONSE:
17503        return "This resource provides the adjudication details from the processing of a Claim resource.";
17504      case CLINICALIMPRESSION:
17505        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.";
17506      case CODESYSTEM:
17507        return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content.";
17508      case COMMUNICATION:
17509        return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
17510      case COMMUNICATIONREQUEST:
17511        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.";
17512      case COMPARTMENTDEFINITION:
17513        return "A compartment definition that defines how resources are accessed on a server.";
17514      case COMPOSITION:
17515        return "A set of healthcare-related information that is assembled together into a single logical package 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. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.).";
17516      case CONCEPTMAP:
17517        return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
17518      case CONDITION:
17519        return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
17520      case CONSENT:
17521        return "A record of a healthcare consumer?s  choices, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time.";
17522      case CONTRACT:
17523        return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
17524      case COVERAGE:
17525        return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
17526      case COVERAGEELIGIBILITYREQUEST:
17527        return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
17528      case COVERAGEELIGIBILITYRESPONSE:
17529        return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
17530      case DETECTEDISSUE:
17531        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.";
17532      case DEVICE:
17533        return "A type 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.";
17534      case DEVICEDEFINITION:
17535        return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
17536      case DEVICEMETRIC:
17537        return "Describes a measurement, calculation or setting capability of a medical device.";
17538      case DEVICEREQUEST:
17539        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.";
17540      case DEVICEUSESTATEMENT:
17541        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.";
17542      case DIAGNOSTICREPORT:
17543        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.";
17544      case DOCUMENTMANIFEST:
17545        return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
17546      case DOCUMENTREFERENCE:
17547        return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
17548      case DOMAINRESOURCE:
17549        return "A resource that includes narrative, extensions, and contained resources.";
17550      case EFFECTEVIDENCESYNTHESIS:
17551        return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
17552      case ENCOUNTER:
17553        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.";
17554      case ENDPOINT:
17555        return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b or a REST endpoint for another FHIR server. This may include any security context information.";
17556      case ENROLLMENTREQUEST:
17557        return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
17558      case ENROLLMENTRESPONSE:
17559        return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
17560      case EPISODEOFCARE:
17561        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.";
17562      case EVENTDEFINITION:
17563        return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
17564      case EVIDENCE:
17565        return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
17566      case EVIDENCEVARIABLE:
17567        return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
17568      case EXAMPLESCENARIO:
17569        return "Example of workflow instance.";
17570      case EXPLANATIONOFBENEFIT:
17571        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.";
17572      case FAMILYMEMBERHISTORY:
17573        return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
17574      case FLAG:
17575        return "Prospective warnings of potential issues when providing care to the patient.";
17576      case GOAL:
17577        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.";
17578      case GRAPHDEFINITION:
17579        return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.";
17580      case GROUP:
17581        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.";
17582      case GUIDANCERESPONSE:
17583        return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.";
17584      case HEALTHCARESERVICE:
17585        return "The details of a healthcare service available at a location.";
17586      case IMAGINGSTUDY:
17587        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.";
17588      case IMMUNIZATION:
17589        return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.";
17590      case IMMUNIZATIONEVALUATION:
17591        return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
17592      case IMMUNIZATIONRECOMMENDATION:
17593        return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
17594      case IMPLEMENTATIONGUIDE:
17595        return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. 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.";
17596      case INSURANCEPLAN:
17597        return "Details of a Health Insurance product/plan provided by an organization.";
17598      case INVOICE:
17599        return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
17600      case LIBRARY:
17601        return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets.";
17602      case LINKAGE:
17603        return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
17604      case LIST:
17605        return "A list is a curated collection of resources.";
17606      case LOCATION:
17607        return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
17608      case MEASURE:
17609        return "The Measure resource provides the definition of a quality measure.";
17610      case MEASUREREPORT:
17611        return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
17612      case MEDIA:
17613        return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
17614      case MEDICATION:
17615        return "This resource is primarily used for the identification and definition of a medication for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use.";
17616      case MEDICATIONADMINISTRATION:
17617        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.";
17618      case MEDICATIONDISPENSE:
17619        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.";
17620      case MEDICATIONKNOWLEDGE:
17621        return "Information about a medication that is used to support knowledge.";
17622      case MEDICATIONREQUEST:
17623        return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.";
17624      case MEDICATIONSTATEMENT:
17625        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 sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe 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.";
17626      case MEDICINALPRODUCT:
17627        return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
17628      case MEDICINALPRODUCTAUTHORIZATION:
17629        return "The regulatory authorization of a medicinal product.";
17630      case MEDICINALPRODUCTCONTRAINDICATION:
17631        return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
17632      case MEDICINALPRODUCTINDICATION:
17633        return "Indication for the Medicinal Product.";
17634      case MEDICINALPRODUCTINGREDIENT:
17635        return "An ingredient of a manufactured item or pharmaceutical product.";
17636      case MEDICINALPRODUCTINTERACTION:
17637        return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
17638      case MEDICINALPRODUCTMANUFACTURED:
17639        return "The manufactured item as contained in the packaged medicinal product.";
17640      case MEDICINALPRODUCTPACKAGED:
17641        return "A medicinal product in a container or package.";
17642      case MEDICINALPRODUCTPHARMACEUTICAL:
17643        return "A pharmaceutical product described in terms of its composition and dose form.";
17644      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
17645        return "Describe the undesirable effects of the medicinal product.";
17646      case MESSAGEDEFINITION:
17647        return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted.";
17648      case MESSAGEHEADER:
17649        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.";
17650      case MOLECULARSEQUENCE:
17651        return "Raw data describing a biological sequence.";
17652      case NAMINGSYSTEM:
17653        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.";
17654      case NUTRITIONORDER:
17655        return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
17656      case OBSERVATION:
17657        return "Measurements and simple assertions made about a patient, device or other subject.";
17658      case OBSERVATIONDEFINITION:
17659        return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
17660      case OPERATIONDEFINITION:
17661        return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
17662      case OPERATIONOUTCOME:
17663        return "A collection of error, warning, or information messages that result from a system action.";
17664      case ORGANIZATION:
17665        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, payer/insurer, etc.";
17666      case ORGANIZATIONAFFILIATION:
17667        return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
17668      case PARAMETERS:
17669        return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
17670      case PATIENT:
17671        return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
17672      case PAYMENTNOTICE:
17673        return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
17674      case PAYMENTRECONCILIATION:
17675        return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
17676      case PERSON:
17677        return "Demographics and administrative information about a person independent of a specific health-related context.";
17678      case PLANDEFINITION:
17679        return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.";
17680      case PRACTITIONER:
17681        return "A person who is directly or indirectly involved in the provisioning of healthcare.";
17682      case PRACTITIONERROLE:
17683        return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
17684      case PROCEDURE:
17685        return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
17686      case PROVENANCE:
17687        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.";
17688      case QUESTIONNAIRE:
17689        return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection.";
17690      case QUESTIONNAIRERESPONSE:
17691        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 questionnaire being responded to.";
17692      case RELATEDPERSON:
17693        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.";
17694      case REQUESTGROUP:
17695        return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\".";
17696      case RESEARCHDEFINITION:
17697        return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
17698      case RESEARCHELEMENTDEFINITION:
17699        return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
17700      case RESEARCHSTUDY:
17701        return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge.  This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques.  A ResearchStudy involves the gathering of information about human or animal subjects.";
17702      case RESEARCHSUBJECT:
17703        return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
17704      case RESOURCE:
17705        return "This is the base resource type for everything.";
17706      case RISKASSESSMENT:
17707        return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
17708      case RISKEVIDENCESYNTHESIS:
17709        return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
17710      case SCHEDULE:
17711        return "A container for slots of time that may be available for booking appointments.";
17712      case SEARCHPARAMETER:
17713        return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
17714      case SERVICEREQUEST:
17715        return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
17716      case SLOT:
17717        return "A slot of time on a schedule that may be available for booking appointments.";
17718      case SPECIMEN:
17719        return "A sample to be used for analysis.";
17720      case SPECIMENDEFINITION:
17721        return "A kind of specimen with associated set of requirements.";
17722      case STRUCTUREDEFINITION:
17723        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.";
17724      case STRUCTUREMAP:
17725        return "A Map of relationships between 2 structures that can be used to transform data.";
17726      case SUBSCRIPTION:
17727        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 can take an appropriate action.";
17728      case SUBSTANCE:
17729        return "A homogeneous material with a definite composition.";
17730      case SUBSTANCENUCLEICACID:
17731        return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5?-3? direction.";
17732      case SUBSTANCEPOLYMER:
17733        return "Todo.";
17734      case SUBSTANCEPROTEIN:
17735        return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
17736      case SUBSTANCEREFERENCEINFORMATION:
17737        return "Todo.";
17738      case SUBSTANCESOURCEMATERIAL:
17739        return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
17740      case SUBSTANCESPECIFICATION:
17741        return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
17742      case SUPPLYDELIVERY:
17743        return "Record of delivery of what is supplied.";
17744      case SUPPLYREQUEST:
17745        return "A record of a request for a medication, substance or device used in the healthcare setting.";
17746      case TASK:
17747        return "A task to be performed.";
17748      case TERMINOLOGYCAPABILITIES:
17749        return "A Terminology Capabilities documents a set of capabilities (behaviors) of a FHIR Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
17750      case TESTREPORT:
17751        return "A summary of information based on the results of executing a TestScript.";
17752      case TESTSCRIPT:
17753        return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
17754      case VALUESET:
17755        return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
17756      case VERIFICATIONRESULT:
17757        return "Describes validation requirements, source(s), status and dates for one or more elements.";
17758      case VISIONPRESCRIPTION:
17759        return "An authorization for the provision of glasses and/or contact lenses to a patient.";
17760      case NULL:
17761        return null;
17762      default:
17763        return "?";
17764      }
17765    }
17766
17767    public String getDisplay() {
17768      switch (this) {
17769      case ACCOUNT:
17770        return "Account";
17771      case ACTIVITYDEFINITION:
17772        return "ActivityDefinition";
17773      case ADVERSEEVENT:
17774        return "AdverseEvent";
17775      case ALLERGYINTOLERANCE:
17776        return "AllergyIntolerance";
17777      case APPOINTMENT:
17778        return "Appointment";
17779      case APPOINTMENTRESPONSE:
17780        return "AppointmentResponse";
17781      case AUDITEVENT:
17782        return "AuditEvent";
17783      case BASIC:
17784        return "Basic";
17785      case BINARY:
17786        return "Binary";
17787      case BIOLOGICALLYDERIVEDPRODUCT:
17788        return "BiologicallyDerivedProduct";
17789      case BODYSTRUCTURE:
17790        return "BodyStructure";
17791      case BUNDLE:
17792        return "Bundle";
17793      case CAPABILITYSTATEMENT:
17794        return "CapabilityStatement";
17795      case CAREPLAN:
17796        return "CarePlan";
17797      case CARETEAM:
17798        return "CareTeam";
17799      case CATALOGENTRY:
17800        return "CatalogEntry";
17801      case CHARGEITEM:
17802        return "ChargeItem";
17803      case CHARGEITEMDEFINITION:
17804        return "ChargeItemDefinition";
17805      case CLAIM:
17806        return "Claim";
17807      case CLAIMRESPONSE:
17808        return "ClaimResponse";
17809      case CLINICALIMPRESSION:
17810        return "ClinicalImpression";
17811      case CODESYSTEM:
17812        return "CodeSystem";
17813      case COMMUNICATION:
17814        return "Communication";
17815      case COMMUNICATIONREQUEST:
17816        return "CommunicationRequest";
17817      case COMPARTMENTDEFINITION:
17818        return "CompartmentDefinition";
17819      case COMPOSITION:
17820        return "Composition";
17821      case CONCEPTMAP:
17822        return "ConceptMap";
17823      case CONDITION:
17824        return "Condition";
17825      case CONSENT:
17826        return "Consent";
17827      case CONTRACT:
17828        return "Contract";
17829      case COVERAGE:
17830        return "Coverage";
17831      case COVERAGEELIGIBILITYREQUEST:
17832        return "CoverageEligibilityRequest";
17833      case COVERAGEELIGIBILITYRESPONSE:
17834        return "CoverageEligibilityResponse";
17835      case DETECTEDISSUE:
17836        return "DetectedIssue";
17837      case DEVICE:
17838        return "Device";
17839      case DEVICEDEFINITION:
17840        return "DeviceDefinition";
17841      case DEVICEMETRIC:
17842        return "DeviceMetric";
17843      case DEVICEREQUEST:
17844        return "DeviceRequest";
17845      case DEVICEUSESTATEMENT:
17846        return "DeviceUseStatement";
17847      case DIAGNOSTICREPORT:
17848        return "DiagnosticReport";
17849      case DOCUMENTMANIFEST:
17850        return "DocumentManifest";
17851      case DOCUMENTREFERENCE:
17852        return "DocumentReference";
17853      case DOMAINRESOURCE:
17854        return "DomainResource";
17855      case EFFECTEVIDENCESYNTHESIS:
17856        return "EffectEvidenceSynthesis";
17857      case ENCOUNTER:
17858        return "Encounter";
17859      case ENDPOINT:
17860        return "Endpoint";
17861      case ENROLLMENTREQUEST:
17862        return "EnrollmentRequest";
17863      case ENROLLMENTRESPONSE:
17864        return "EnrollmentResponse";
17865      case EPISODEOFCARE:
17866        return "EpisodeOfCare";
17867      case EVENTDEFINITION:
17868        return "EventDefinition";
17869      case EVIDENCE:
17870        return "Evidence";
17871      case EVIDENCEVARIABLE:
17872        return "EvidenceVariable";
17873      case EXAMPLESCENARIO:
17874        return "ExampleScenario";
17875      case EXPLANATIONOFBENEFIT:
17876        return "ExplanationOfBenefit";
17877      case FAMILYMEMBERHISTORY:
17878        return "FamilyMemberHistory";
17879      case FLAG:
17880        return "Flag";
17881      case GOAL:
17882        return "Goal";
17883      case GRAPHDEFINITION:
17884        return "GraphDefinition";
17885      case GROUP:
17886        return "Group";
17887      case GUIDANCERESPONSE:
17888        return "GuidanceResponse";
17889      case HEALTHCARESERVICE:
17890        return "HealthcareService";
17891      case IMAGINGSTUDY:
17892        return "ImagingStudy";
17893      case IMMUNIZATION:
17894        return "Immunization";
17895      case IMMUNIZATIONEVALUATION:
17896        return "ImmunizationEvaluation";
17897      case IMMUNIZATIONRECOMMENDATION:
17898        return "ImmunizationRecommendation";
17899      case IMPLEMENTATIONGUIDE:
17900        return "ImplementationGuide";
17901      case INSURANCEPLAN:
17902        return "InsurancePlan";
17903      case INVOICE:
17904        return "Invoice";
17905      case LIBRARY:
17906        return "Library";
17907      case LINKAGE:
17908        return "Linkage";
17909      case LIST:
17910        return "List";
17911      case LOCATION:
17912        return "Location";
17913      case MEASURE:
17914        return "Measure";
17915      case MEASUREREPORT:
17916        return "MeasureReport";
17917      case MEDIA:
17918        return "Media";
17919      case MEDICATION:
17920        return "Medication";
17921      case MEDICATIONADMINISTRATION:
17922        return "MedicationAdministration";
17923      case MEDICATIONDISPENSE:
17924        return "MedicationDispense";
17925      case MEDICATIONKNOWLEDGE:
17926        return "MedicationKnowledge";
17927      case MEDICATIONREQUEST:
17928        return "MedicationRequest";
17929      case MEDICATIONSTATEMENT:
17930        return "MedicationStatement";
17931      case MEDICINALPRODUCT:
17932        return "MedicinalProduct";
17933      case MEDICINALPRODUCTAUTHORIZATION:
17934        return "MedicinalProductAuthorization";
17935      case MEDICINALPRODUCTCONTRAINDICATION:
17936        return "MedicinalProductContraindication";
17937      case MEDICINALPRODUCTINDICATION:
17938        return "MedicinalProductIndication";
17939      case MEDICINALPRODUCTINGREDIENT:
17940        return "MedicinalProductIngredient";
17941      case MEDICINALPRODUCTINTERACTION:
17942        return "MedicinalProductInteraction";
17943      case MEDICINALPRODUCTMANUFACTURED:
17944        return "MedicinalProductManufactured";
17945      case MEDICINALPRODUCTPACKAGED:
17946        return "MedicinalProductPackaged";
17947      case MEDICINALPRODUCTPHARMACEUTICAL:
17948        return "MedicinalProductPharmaceutical";
17949      case MEDICINALPRODUCTUNDESIRABLEEFFECT:
17950        return "MedicinalProductUndesirableEffect";
17951      case MESSAGEDEFINITION:
17952        return "MessageDefinition";
17953      case MESSAGEHEADER:
17954        return "MessageHeader";
17955      case MOLECULARSEQUENCE:
17956        return "MolecularSequence";
17957      case NAMINGSYSTEM:
17958        return "NamingSystem";
17959      case NUTRITIONORDER:
17960        return "NutritionOrder";
17961      case OBSERVATION:
17962        return "Observation";
17963      case OBSERVATIONDEFINITION:
17964        return "ObservationDefinition";
17965      case OPERATIONDEFINITION:
17966        return "OperationDefinition";
17967      case OPERATIONOUTCOME:
17968        return "OperationOutcome";
17969      case ORGANIZATION:
17970        return "Organization";
17971      case ORGANIZATIONAFFILIATION:
17972        return "OrganizationAffiliation";
17973      case PARAMETERS:
17974        return "Parameters";
17975      case PATIENT:
17976        return "Patient";
17977      case PAYMENTNOTICE:
17978        return "PaymentNotice";
17979      case PAYMENTRECONCILIATION:
17980        return "PaymentReconciliation";
17981      case PERSON:
17982        return "Person";
17983      case PLANDEFINITION:
17984        return "PlanDefinition";
17985      case PRACTITIONER:
17986        return "Practitioner";
17987      case PRACTITIONERROLE:
17988        return "PractitionerRole";
17989      case PROCEDURE:
17990        return "Procedure";
17991      case PROVENANCE:
17992        return "Provenance";
17993      case QUESTIONNAIRE:
17994        return "Questionnaire";
17995      case QUESTIONNAIRERESPONSE:
17996        return "QuestionnaireResponse";
17997      case RELATEDPERSON:
17998        return "RelatedPerson";
17999      case REQUESTGROUP:
18000        return "RequestGroup";
18001      case RESEARCHDEFINITION:
18002        return "ResearchDefinition";
18003      case RESEARCHELEMENTDEFINITION:
18004        return "ResearchElementDefinition";
18005      case RESEARCHSTUDY:
18006        return "ResearchStudy";
18007      case RESEARCHSUBJECT:
18008        return "ResearchSubject";
18009      case RESOURCE:
18010        return "Resource";
18011      case RISKASSESSMENT:
18012        return "RiskAssessment";
18013      case RISKEVIDENCESYNTHESIS:
18014        return "RiskEvidenceSynthesis";
18015      case SCHEDULE:
18016        return "Schedule";
18017      case SEARCHPARAMETER:
18018        return "SearchParameter";
18019      case SERVICEREQUEST:
18020        return "ServiceRequest";
18021      case SLOT:
18022        return "Slot";
18023      case SPECIMEN:
18024        return "Specimen";
18025      case SPECIMENDEFINITION:
18026        return "SpecimenDefinition";
18027      case STRUCTUREDEFINITION:
18028        return "StructureDefinition";
18029      case STRUCTUREMAP:
18030        return "StructureMap";
18031      case SUBSCRIPTION:
18032        return "Subscription";
18033      case SUBSTANCE:
18034        return "Substance";
18035      case SUBSTANCENUCLEICACID:
18036        return "SubstanceNucleicAcid";
18037      case SUBSTANCEPOLYMER:
18038        return "SubstancePolymer";
18039      case SUBSTANCEPROTEIN:
18040        return "SubstanceProtein";
18041      case SUBSTANCEREFERENCEINFORMATION:
18042        return "SubstanceReferenceInformation";
18043      case SUBSTANCESOURCEMATERIAL:
18044        return "SubstanceSourceMaterial";
18045      case SUBSTANCESPECIFICATION:
18046        return "SubstanceSpecification";
18047      case SUPPLYDELIVERY:
18048        return "SupplyDelivery";
18049      case SUPPLYREQUEST:
18050        return "SupplyRequest";
18051      case TASK:
18052        return "Task";
18053      case TERMINOLOGYCAPABILITIES:
18054        return "TerminologyCapabilities";
18055      case TESTREPORT:
18056        return "TestReport";
18057      case TESTSCRIPT:
18058        return "TestScript";
18059      case VALUESET:
18060        return "ValueSet";
18061      case VERIFICATIONRESULT:
18062        return "VerificationResult";
18063      case VISIONPRESCRIPTION:
18064        return "VisionPrescription";
18065      case NULL:
18066        return null;
18067      default:
18068        return "?";
18069      }
18070    }
18071  }
18072
18073  public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> {
18074    public ResourceType fromCode(String codeString) throws IllegalArgumentException {
18075      if (codeString == null || "".equals(codeString))
18076        if (codeString == null || "".equals(codeString))
18077          return null;
18078      if ("Account".equals(codeString))
18079        return ResourceType.ACCOUNT;
18080      if ("ActivityDefinition".equals(codeString))
18081        return ResourceType.ACTIVITYDEFINITION;
18082      if ("AdverseEvent".equals(codeString))
18083        return ResourceType.ADVERSEEVENT;
18084      if ("AllergyIntolerance".equals(codeString))
18085        return ResourceType.ALLERGYINTOLERANCE;
18086      if ("Appointment".equals(codeString))
18087        return ResourceType.APPOINTMENT;
18088      if ("AppointmentResponse".equals(codeString))
18089        return ResourceType.APPOINTMENTRESPONSE;
18090      if ("AuditEvent".equals(codeString))
18091        return ResourceType.AUDITEVENT;
18092      if ("Basic".equals(codeString))
18093        return ResourceType.BASIC;
18094      if ("Binary".equals(codeString))
18095        return ResourceType.BINARY;
18096      if ("BiologicallyDerivedProduct".equals(codeString))
18097        return ResourceType.BIOLOGICALLYDERIVEDPRODUCT;
18098      if ("BodyStructure".equals(codeString))
18099        return ResourceType.BODYSTRUCTURE;
18100      if ("Bundle".equals(codeString))
18101        return ResourceType.BUNDLE;
18102      if ("CapabilityStatement".equals(codeString))
18103        return ResourceType.CAPABILITYSTATEMENT;
18104      if ("CarePlan".equals(codeString))
18105        return ResourceType.CAREPLAN;
18106      if ("CareTeam".equals(codeString))
18107        return ResourceType.CARETEAM;
18108      if ("CatalogEntry".equals(codeString))
18109        return ResourceType.CATALOGENTRY;
18110      if ("ChargeItem".equals(codeString))
18111        return ResourceType.CHARGEITEM;
18112      if ("ChargeItemDefinition".equals(codeString))
18113        return ResourceType.CHARGEITEMDEFINITION;
18114      if ("Claim".equals(codeString))
18115        return ResourceType.CLAIM;
18116      if ("ClaimResponse".equals(codeString))
18117        return ResourceType.CLAIMRESPONSE;
18118      if ("ClinicalImpression".equals(codeString))
18119        return ResourceType.CLINICALIMPRESSION;
18120      if ("CodeSystem".equals(codeString))
18121        return ResourceType.CODESYSTEM;
18122      if ("Communication".equals(codeString))
18123        return ResourceType.COMMUNICATION;
18124      if ("CommunicationRequest".equals(codeString))
18125        return ResourceType.COMMUNICATIONREQUEST;
18126      if ("CompartmentDefinition".equals(codeString))
18127        return ResourceType.COMPARTMENTDEFINITION;
18128      if ("Composition".equals(codeString))
18129        return ResourceType.COMPOSITION;
18130      if ("ConceptMap".equals(codeString))
18131        return ResourceType.CONCEPTMAP;
18132      if ("Condition".equals(codeString))
18133        return ResourceType.CONDITION;
18134      if ("Consent".equals(codeString))
18135        return ResourceType.CONSENT;
18136      if ("Contract".equals(codeString))
18137        return ResourceType.CONTRACT;
18138      if ("Coverage".equals(codeString))
18139        return ResourceType.COVERAGE;
18140      if ("CoverageEligibilityRequest".equals(codeString))
18141        return ResourceType.COVERAGEELIGIBILITYREQUEST;
18142      if ("CoverageEligibilityResponse".equals(codeString))
18143        return ResourceType.COVERAGEELIGIBILITYRESPONSE;
18144      if ("DetectedIssue".equals(codeString))
18145        return ResourceType.DETECTEDISSUE;
18146      if ("Device".equals(codeString))
18147        return ResourceType.DEVICE;
18148      if ("DeviceDefinition".equals(codeString))
18149        return ResourceType.DEVICEDEFINITION;
18150      if ("DeviceMetric".equals(codeString))
18151        return ResourceType.DEVICEMETRIC;
18152      if ("DeviceRequest".equals(codeString))
18153        return ResourceType.DEVICEREQUEST;
18154      if ("DeviceUseStatement".equals(codeString))
18155        return ResourceType.DEVICEUSESTATEMENT;
18156      if ("DiagnosticReport".equals(codeString))
18157        return ResourceType.DIAGNOSTICREPORT;
18158      if ("DocumentManifest".equals(codeString))
18159        return ResourceType.DOCUMENTMANIFEST;
18160      if ("DocumentReference".equals(codeString))
18161        return ResourceType.DOCUMENTREFERENCE;
18162      if ("DomainResource".equals(codeString))
18163        return ResourceType.DOMAINRESOURCE;
18164      if ("EffectEvidenceSynthesis".equals(codeString))
18165        return ResourceType.EFFECTEVIDENCESYNTHESIS;
18166      if ("Encounter".equals(codeString))
18167        return ResourceType.ENCOUNTER;
18168      if ("Endpoint".equals(codeString))
18169        return ResourceType.ENDPOINT;
18170      if ("EnrollmentRequest".equals(codeString))
18171        return ResourceType.ENROLLMENTREQUEST;
18172      if ("EnrollmentResponse".equals(codeString))
18173        return ResourceType.ENROLLMENTRESPONSE;
18174      if ("EpisodeOfCare".equals(codeString))
18175        return ResourceType.EPISODEOFCARE;
18176      if ("EventDefinition".equals(codeString))
18177        return ResourceType.EVENTDEFINITION;
18178      if ("Evidence".equals(codeString))
18179        return ResourceType.EVIDENCE;
18180      if ("EvidenceVariable".equals(codeString))
18181        return ResourceType.EVIDENCEVARIABLE;
18182      if ("ExampleScenario".equals(codeString))
18183        return ResourceType.EXAMPLESCENARIO;
18184      if ("ExplanationOfBenefit".equals(codeString))
18185        return ResourceType.EXPLANATIONOFBENEFIT;
18186      if ("FamilyMemberHistory".equals(codeString))
18187        return ResourceType.FAMILYMEMBERHISTORY;
18188      if ("Flag".equals(codeString))
18189        return ResourceType.FLAG;
18190      if ("Goal".equals(codeString))
18191        return ResourceType.GOAL;
18192      if ("GraphDefinition".equals(codeString))
18193        return ResourceType.GRAPHDEFINITION;
18194      if ("Group".equals(codeString))
18195        return ResourceType.GROUP;
18196      if ("GuidanceResponse".equals(codeString))
18197        return ResourceType.GUIDANCERESPONSE;
18198      if ("HealthcareService".equals(codeString))
18199        return ResourceType.HEALTHCARESERVICE;
18200      if ("ImagingStudy".equals(codeString))
18201        return ResourceType.IMAGINGSTUDY;
18202      if ("Immunization".equals(codeString))
18203        return ResourceType.IMMUNIZATION;
18204      if ("ImmunizationEvaluation".equals(codeString))
18205        return ResourceType.IMMUNIZATIONEVALUATION;
18206      if ("ImmunizationRecommendation".equals(codeString))
18207        return ResourceType.IMMUNIZATIONRECOMMENDATION;
18208      if ("ImplementationGuide".equals(codeString))
18209        return ResourceType.IMPLEMENTATIONGUIDE;
18210      if ("InsurancePlan".equals(codeString))
18211        return ResourceType.INSURANCEPLAN;
18212      if ("Invoice".equals(codeString))
18213        return ResourceType.INVOICE;
18214      if ("Library".equals(codeString))
18215        return ResourceType.LIBRARY;
18216      if ("Linkage".equals(codeString))
18217        return ResourceType.LINKAGE;
18218      if ("List".equals(codeString))
18219        return ResourceType.LIST;
18220      if ("Location".equals(codeString))
18221        return ResourceType.LOCATION;
18222      if ("Measure".equals(codeString))
18223        return ResourceType.MEASURE;
18224      if ("MeasureReport".equals(codeString))
18225        return ResourceType.MEASUREREPORT;
18226      if ("Media".equals(codeString))
18227        return ResourceType.MEDIA;
18228      if ("Medication".equals(codeString))
18229        return ResourceType.MEDICATION;
18230      if ("MedicationAdministration".equals(codeString))
18231        return ResourceType.MEDICATIONADMINISTRATION;
18232      if ("MedicationDispense".equals(codeString))
18233        return ResourceType.MEDICATIONDISPENSE;
18234      if ("MedicationKnowledge".equals(codeString))
18235        return ResourceType.MEDICATIONKNOWLEDGE;
18236      if ("MedicationRequest".equals(codeString))
18237        return ResourceType.MEDICATIONREQUEST;
18238      if ("MedicationStatement".equals(codeString))
18239        return ResourceType.MEDICATIONSTATEMENT;
18240      if ("MedicinalProduct".equals(codeString))
18241        return ResourceType.MEDICINALPRODUCT;
18242      if ("MedicinalProductAuthorization".equals(codeString))
18243        return ResourceType.MEDICINALPRODUCTAUTHORIZATION;
18244      if ("MedicinalProductContraindication".equals(codeString))
18245        return ResourceType.MEDICINALPRODUCTCONTRAINDICATION;
18246      if ("MedicinalProductIndication".equals(codeString))
18247        return ResourceType.MEDICINALPRODUCTINDICATION;
18248      if ("MedicinalProductIngredient".equals(codeString))
18249        return ResourceType.MEDICINALPRODUCTINGREDIENT;
18250      if ("MedicinalProductInteraction".equals(codeString))
18251        return ResourceType.MEDICINALPRODUCTINTERACTION;
18252      if ("MedicinalProductManufactured".equals(codeString))
18253        return ResourceType.MEDICINALPRODUCTMANUFACTURED;
18254      if ("MedicinalProductPackaged".equals(codeString))
18255        return ResourceType.MEDICINALPRODUCTPACKAGED;
18256      if ("MedicinalProductPharmaceutical".equals(codeString))
18257        return ResourceType.MEDICINALPRODUCTPHARMACEUTICAL;
18258      if ("MedicinalProductUndesirableEffect".equals(codeString))
18259        return ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
18260      if ("MessageDefinition".equals(codeString))
18261        return ResourceType.MESSAGEDEFINITION;
18262      if ("MessageHeader".equals(codeString))
18263        return ResourceType.MESSAGEHEADER;
18264      if ("MolecularSequence".equals(codeString))
18265        return ResourceType.MOLECULARSEQUENCE;
18266      if ("NamingSystem".equals(codeString))
18267        return ResourceType.NAMINGSYSTEM;
18268      if ("NutritionOrder".equals(codeString))
18269        return ResourceType.NUTRITIONORDER;
18270      if ("Observation".equals(codeString))
18271        return ResourceType.OBSERVATION;
18272      if ("ObservationDefinition".equals(codeString))
18273        return ResourceType.OBSERVATIONDEFINITION;
18274      if ("OperationDefinition".equals(codeString))
18275        return ResourceType.OPERATIONDEFINITION;
18276      if ("OperationOutcome".equals(codeString))
18277        return ResourceType.OPERATIONOUTCOME;
18278      if ("Organization".equals(codeString))
18279        return ResourceType.ORGANIZATION;
18280      if ("OrganizationAffiliation".equals(codeString))
18281        return ResourceType.ORGANIZATIONAFFILIATION;
18282      if ("Parameters".equals(codeString))
18283        return ResourceType.PARAMETERS;
18284      if ("Patient".equals(codeString))
18285        return ResourceType.PATIENT;
18286      if ("PaymentNotice".equals(codeString))
18287        return ResourceType.PAYMENTNOTICE;
18288      if ("PaymentReconciliation".equals(codeString))
18289        return ResourceType.PAYMENTRECONCILIATION;
18290      if ("Person".equals(codeString))
18291        return ResourceType.PERSON;
18292      if ("PlanDefinition".equals(codeString))
18293        return ResourceType.PLANDEFINITION;
18294      if ("Practitioner".equals(codeString))
18295        return ResourceType.PRACTITIONER;
18296      if ("PractitionerRole".equals(codeString))
18297        return ResourceType.PRACTITIONERROLE;
18298      if ("Procedure".equals(codeString))
18299        return ResourceType.PROCEDURE;
18300      if ("Provenance".equals(codeString))
18301        return ResourceType.PROVENANCE;
18302      if ("Questionnaire".equals(codeString))
18303        return ResourceType.QUESTIONNAIRE;
18304      if ("QuestionnaireResponse".equals(codeString))
18305        return ResourceType.QUESTIONNAIRERESPONSE;
18306      if ("RelatedPerson".equals(codeString))
18307        return ResourceType.RELATEDPERSON;
18308      if ("RequestGroup".equals(codeString))
18309        return ResourceType.REQUESTGROUP;
18310      if ("ResearchDefinition".equals(codeString))
18311        return ResourceType.RESEARCHDEFINITION;
18312      if ("ResearchElementDefinition".equals(codeString))
18313        return ResourceType.RESEARCHELEMENTDEFINITION;
18314      if ("ResearchStudy".equals(codeString))
18315        return ResourceType.RESEARCHSTUDY;
18316      if ("ResearchSubject".equals(codeString))
18317        return ResourceType.RESEARCHSUBJECT;
18318      if ("Resource".equals(codeString))
18319        return ResourceType.RESOURCE;
18320      if ("RiskAssessment".equals(codeString))
18321        return ResourceType.RISKASSESSMENT;
18322      if ("RiskEvidenceSynthesis".equals(codeString))
18323        return ResourceType.RISKEVIDENCESYNTHESIS;
18324      if ("Schedule".equals(codeString))
18325        return ResourceType.SCHEDULE;
18326      if ("SearchParameter".equals(codeString))
18327        return ResourceType.SEARCHPARAMETER;
18328      if ("ServiceRequest".equals(codeString))
18329        return ResourceType.SERVICEREQUEST;
18330      if ("Slot".equals(codeString))
18331        return ResourceType.SLOT;
18332      if ("Specimen".equals(codeString))
18333        return ResourceType.SPECIMEN;
18334      if ("SpecimenDefinition".equals(codeString))
18335        return ResourceType.SPECIMENDEFINITION;
18336      if ("StructureDefinition".equals(codeString))
18337        return ResourceType.STRUCTUREDEFINITION;
18338      if ("StructureMap".equals(codeString))
18339        return ResourceType.STRUCTUREMAP;
18340      if ("Subscription".equals(codeString))
18341        return ResourceType.SUBSCRIPTION;
18342      if ("Substance".equals(codeString))
18343        return ResourceType.SUBSTANCE;
18344      if ("SubstanceNucleicAcid".equals(codeString))
18345        return ResourceType.SUBSTANCENUCLEICACID;
18346      if ("SubstancePolymer".equals(codeString))
18347        return ResourceType.SUBSTANCEPOLYMER;
18348      if ("SubstanceProtein".equals(codeString))
18349        return ResourceType.SUBSTANCEPROTEIN;
18350      if ("SubstanceReferenceInformation".equals(codeString))
18351        return ResourceType.SUBSTANCEREFERENCEINFORMATION;
18352      if ("SubstanceSourceMaterial".equals(codeString))
18353        return ResourceType.SUBSTANCESOURCEMATERIAL;
18354      if ("SubstanceSpecification".equals(codeString))
18355        return ResourceType.SUBSTANCESPECIFICATION;
18356      if ("SupplyDelivery".equals(codeString))
18357        return ResourceType.SUPPLYDELIVERY;
18358      if ("SupplyRequest".equals(codeString))
18359        return ResourceType.SUPPLYREQUEST;
18360      if ("Task".equals(codeString))
18361        return ResourceType.TASK;
18362      if ("TerminologyCapabilities".equals(codeString))
18363        return ResourceType.TERMINOLOGYCAPABILITIES;
18364      if ("TestReport".equals(codeString))
18365        return ResourceType.TESTREPORT;
18366      if ("TestScript".equals(codeString))
18367        return ResourceType.TESTSCRIPT;
18368      if ("ValueSet".equals(codeString))
18369        return ResourceType.VALUESET;
18370      if ("VerificationResult".equals(codeString))
18371        return ResourceType.VERIFICATIONRESULT;
18372      if ("VisionPrescription".equals(codeString))
18373        return ResourceType.VISIONPRESCRIPTION;
18374      throw new IllegalArgumentException("Unknown ResourceType code '" + codeString + "'");
18375    }
18376
18377    public Enumeration<ResourceType> fromType(PrimitiveType<?> code) throws FHIRException {
18378      if (code == null)
18379        return null;
18380      if (code.isEmpty())
18381        return new Enumeration<ResourceType>(this, ResourceType.NULL, code);
18382      String codeString = code.asStringValue();
18383      if (codeString == null || "".equals(codeString))
18384        return new Enumeration<ResourceType>(this, ResourceType.NULL, code);
18385      if ("Account".equals(codeString))
18386        return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT, code);
18387      if ("ActivityDefinition".equals(codeString))
18388        return new Enumeration<ResourceType>(this, ResourceType.ACTIVITYDEFINITION, code);
18389      if ("AdverseEvent".equals(codeString))
18390        return new Enumeration<ResourceType>(this, ResourceType.ADVERSEEVENT, code);
18391      if ("AllergyIntolerance".equals(codeString))
18392        return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE, code);
18393      if ("Appointment".equals(codeString))
18394        return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT, code);
18395      if ("AppointmentResponse".equals(codeString))
18396        return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE, code);
18397      if ("AuditEvent".equals(codeString))
18398        return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT, code);
18399      if ("Basic".equals(codeString))
18400        return new Enumeration<ResourceType>(this, ResourceType.BASIC, code);
18401      if ("Binary".equals(codeString))
18402        return new Enumeration<ResourceType>(this, ResourceType.BINARY, code);
18403      if ("BiologicallyDerivedProduct".equals(codeString))
18404        return new Enumeration<ResourceType>(this, ResourceType.BIOLOGICALLYDERIVEDPRODUCT, code);
18405      if ("BodyStructure".equals(codeString))
18406        return new Enumeration<ResourceType>(this, ResourceType.BODYSTRUCTURE, code);
18407      if ("Bundle".equals(codeString))
18408        return new Enumeration<ResourceType>(this, ResourceType.BUNDLE, code);
18409      if ("CapabilityStatement".equals(codeString))
18410        return new Enumeration<ResourceType>(this, ResourceType.CAPABILITYSTATEMENT, code);
18411      if ("CarePlan".equals(codeString))
18412        return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN, code);
18413      if ("CareTeam".equals(codeString))
18414        return new Enumeration<ResourceType>(this, ResourceType.CARETEAM, code);
18415      if ("CatalogEntry".equals(codeString))
18416        return new Enumeration<ResourceType>(this, ResourceType.CATALOGENTRY, code);
18417      if ("ChargeItem".equals(codeString))
18418        return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEM, code);
18419      if ("ChargeItemDefinition".equals(codeString))
18420        return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEMDEFINITION, code);
18421      if ("Claim".equals(codeString))
18422        return new Enumeration<ResourceType>(this, ResourceType.CLAIM, code);
18423      if ("ClaimResponse".equals(codeString))
18424        return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE, code);
18425      if ("ClinicalImpression".equals(codeString))
18426        return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION, code);
18427      if ("CodeSystem".equals(codeString))
18428        return new Enumeration<ResourceType>(this, ResourceType.CODESYSTEM, code);
18429      if ("Communication".equals(codeString))
18430        return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION, code);
18431      if ("CommunicationRequest".equals(codeString))
18432        return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST, code);
18433      if ("CompartmentDefinition".equals(codeString))
18434        return new Enumeration<ResourceType>(this, ResourceType.COMPARTMENTDEFINITION, code);
18435      if ("Composition".equals(codeString))
18436        return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION, code);
18437      if ("ConceptMap".equals(codeString))
18438        return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP, code);
18439      if ("Condition".equals(codeString))
18440        return new Enumeration<ResourceType>(this, ResourceType.CONDITION, code);
18441      if ("Consent".equals(codeString))
18442        return new Enumeration<ResourceType>(this, ResourceType.CONSENT, code);
18443      if ("Contract".equals(codeString))
18444        return new Enumeration<ResourceType>(this, ResourceType.CONTRACT, code);
18445      if ("Coverage".equals(codeString))
18446        return new Enumeration<ResourceType>(this, ResourceType.COVERAGE, code);
18447      if ("CoverageEligibilityRequest".equals(codeString))
18448        return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYREQUEST, code);
18449      if ("CoverageEligibilityResponse".equals(codeString))
18450        return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYRESPONSE, code);
18451      if ("DetectedIssue".equals(codeString))
18452        return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE, code);
18453      if ("Device".equals(codeString))
18454        return new Enumeration<ResourceType>(this, ResourceType.DEVICE, code);
18455      if ("DeviceDefinition".equals(codeString))
18456        return new Enumeration<ResourceType>(this, ResourceType.DEVICEDEFINITION, code);
18457      if ("DeviceMetric".equals(codeString))
18458        return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC, code);
18459      if ("DeviceRequest".equals(codeString))
18460        return new Enumeration<ResourceType>(this, ResourceType.DEVICEREQUEST, code);
18461      if ("DeviceUseStatement".equals(codeString))
18462        return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT, code);
18463      if ("DiagnosticReport".equals(codeString))
18464        return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT, code);
18465      if ("DocumentManifest".equals(codeString))
18466        return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST, code);
18467      if ("DocumentReference".equals(codeString))
18468        return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE, code);
18469      if ("DomainResource".equals(codeString))
18470        return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE, code);
18471      if ("EffectEvidenceSynthesis".equals(codeString))
18472        return new Enumeration<ResourceType>(this, ResourceType.EFFECTEVIDENCESYNTHESIS, code);
18473      if ("Encounter".equals(codeString))
18474        return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER, code);
18475      if ("Endpoint".equals(codeString))
18476        return new Enumeration<ResourceType>(this, ResourceType.ENDPOINT, code);
18477      if ("EnrollmentRequest".equals(codeString))
18478        return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST, code);
18479      if ("EnrollmentResponse".equals(codeString))
18480        return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE, code);
18481      if ("EpisodeOfCare".equals(codeString))
18482        return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE, code);
18483      if ("EventDefinition".equals(codeString))
18484        return new Enumeration<ResourceType>(this, ResourceType.EVENTDEFINITION, code);
18485      if ("Evidence".equals(codeString))
18486        return new Enumeration<ResourceType>(this, ResourceType.EVIDENCE, code);
18487      if ("EvidenceVariable".equals(codeString))
18488        return new Enumeration<ResourceType>(this, ResourceType.EVIDENCEVARIABLE, code);
18489      if ("ExampleScenario".equals(codeString))
18490        return new Enumeration<ResourceType>(this, ResourceType.EXAMPLESCENARIO, code);
18491      if ("ExplanationOfBenefit".equals(codeString))
18492        return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT, code);
18493      if ("FamilyMemberHistory".equals(codeString))
18494        return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY, code);
18495      if ("Flag".equals(codeString))
18496        return new Enumeration<ResourceType>(this, ResourceType.FLAG, code);
18497      if ("Goal".equals(codeString))
18498        return new Enumeration<ResourceType>(this, ResourceType.GOAL, code);
18499      if ("GraphDefinition".equals(codeString))
18500        return new Enumeration<ResourceType>(this, ResourceType.GRAPHDEFINITION, code);
18501      if ("Group".equals(codeString))
18502        return new Enumeration<ResourceType>(this, ResourceType.GROUP, code);
18503      if ("GuidanceResponse".equals(codeString))
18504        return new Enumeration<ResourceType>(this, ResourceType.GUIDANCERESPONSE, code);
18505      if ("HealthcareService".equals(codeString))
18506        return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE, code);
18507      if ("ImagingStudy".equals(codeString))
18508        return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY, code);
18509      if ("Immunization".equals(codeString))
18510        return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION, code);
18511      if ("ImmunizationEvaluation".equals(codeString))
18512        return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONEVALUATION, code);
18513      if ("ImmunizationRecommendation".equals(codeString))
18514        return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION, code);
18515      if ("ImplementationGuide".equals(codeString))
18516        return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE, code);
18517      if ("InsurancePlan".equals(codeString))
18518        return new Enumeration<ResourceType>(this, ResourceType.INSURANCEPLAN, code);
18519      if ("Invoice".equals(codeString))
18520        return new Enumeration<ResourceType>(this, ResourceType.INVOICE, code);
18521      if ("Library".equals(codeString))
18522        return new Enumeration<ResourceType>(this, ResourceType.LIBRARY, code);
18523      if ("Linkage".equals(codeString))
18524        return new Enumeration<ResourceType>(this, ResourceType.LINKAGE, code);
18525      if ("List".equals(codeString))
18526        return new Enumeration<ResourceType>(this, ResourceType.LIST, code);
18527      if ("Location".equals(codeString))
18528        return new Enumeration<ResourceType>(this, ResourceType.LOCATION, code);
18529      if ("Measure".equals(codeString))
18530        return new Enumeration<ResourceType>(this, ResourceType.MEASURE, code);
18531      if ("MeasureReport".equals(codeString))
18532        return new Enumeration<ResourceType>(this, ResourceType.MEASUREREPORT, code);
18533      if ("Media".equals(codeString))
18534        return new Enumeration<ResourceType>(this, ResourceType.MEDIA, code);
18535      if ("Medication".equals(codeString))
18536        return new Enumeration<ResourceType>(this, ResourceType.MEDICATION, code);
18537      if ("MedicationAdministration".equals(codeString))
18538        return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION, code);
18539      if ("MedicationDispense".equals(codeString))
18540        return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE, code);
18541      if ("MedicationKnowledge".equals(codeString))
18542        return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONKNOWLEDGE, code);
18543      if ("MedicationRequest".equals(codeString))
18544        return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONREQUEST, code);
18545      if ("MedicationStatement".equals(codeString))
18546        return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT, code);
18547      if ("MedicinalProduct".equals(codeString))
18548        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCT, code);
18549      if ("MedicinalProductAuthorization".equals(codeString))
18550        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTAUTHORIZATION, code);
18551      if ("MedicinalProductContraindication".equals(codeString))
18552        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCONTRAINDICATION, code);
18553      if ("MedicinalProductIndication".equals(codeString))
18554        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINDICATION, code);
18555      if ("MedicinalProductIngredient".equals(codeString))
18556        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINGREDIENT, code);
18557      if ("MedicinalProductInteraction".equals(codeString))
18558        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINTERACTION, code);
18559      if ("MedicinalProductManufactured".equals(codeString))
18560        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTMANUFACTURED, code);
18561      if ("MedicinalProductPackaged".equals(codeString))
18562        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPACKAGED, code);
18563      if ("MedicinalProductPharmaceutical".equals(codeString))
18564        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPHARMACEUTICAL, code);
18565      if ("MedicinalProductUndesirableEffect".equals(codeString))
18566        return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT, code);
18567      if ("MessageDefinition".equals(codeString))
18568        return new Enumeration<ResourceType>(this, ResourceType.MESSAGEDEFINITION, code);
18569      if ("MessageHeader".equals(codeString))
18570        return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER, code);
18571      if ("MolecularSequence".equals(codeString))
18572        return new Enumeration<ResourceType>(this, ResourceType.MOLECULARSEQUENCE, code);
18573      if ("NamingSystem".equals(codeString))
18574        return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM, code);
18575      if ("NutritionOrder".equals(codeString))
18576        return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER, code);
18577      if ("Observation".equals(codeString))
18578        return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION, code);
18579      if ("ObservationDefinition".equals(codeString))
18580        return new Enumeration<ResourceType>(this, ResourceType.OBSERVATIONDEFINITION, code);
18581      if ("OperationDefinition".equals(codeString))
18582        return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION, code);
18583      if ("OperationOutcome".equals(codeString))
18584        return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME, code);
18585      if ("Organization".equals(codeString))
18586        return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION, code);
18587      if ("OrganizationAffiliation".equals(codeString))
18588        return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATIONAFFILIATION, code);
18589      if ("Parameters".equals(codeString))
18590        return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS, code);
18591      if ("Patient".equals(codeString))
18592        return new Enumeration<ResourceType>(this, ResourceType.PATIENT, code);
18593      if ("PaymentNotice".equals(codeString))
18594        return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE, code);
18595      if ("PaymentReconciliation".equals(codeString))
18596        return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION, code);
18597      if ("Person".equals(codeString))
18598        return new Enumeration<ResourceType>(this, ResourceType.PERSON, code);
18599      if ("PlanDefinition".equals(codeString))
18600        return new Enumeration<ResourceType>(this, ResourceType.PLANDEFINITION, code);
18601      if ("Practitioner".equals(codeString))
18602        return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER, code);
18603      if ("PractitionerRole".equals(codeString))
18604        return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONERROLE, code);
18605      if ("Procedure".equals(codeString))
18606        return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE, code);
18607      if ("Provenance".equals(codeString))
18608        return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE, code);
18609      if ("Questionnaire".equals(codeString))
18610        return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE, code);
18611      if ("QuestionnaireResponse".equals(codeString))
18612        return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE, code);
18613      if ("RelatedPerson".equals(codeString))
18614        return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON, code);
18615      if ("RequestGroup".equals(codeString))
18616        return new Enumeration<ResourceType>(this, ResourceType.REQUESTGROUP, code);
18617      if ("ResearchDefinition".equals(codeString))
18618        return new Enumeration<ResourceType>(this, ResourceType.RESEARCHDEFINITION, code);
18619      if ("ResearchElementDefinition".equals(codeString))
18620        return new Enumeration<ResourceType>(this, ResourceType.RESEARCHELEMENTDEFINITION, code);
18621      if ("ResearchStudy".equals(codeString))
18622        return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSTUDY, code);
18623      if ("ResearchSubject".equals(codeString))
18624        return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSUBJECT, code);
18625      if ("Resource".equals(codeString))
18626        return new Enumeration<ResourceType>(this, ResourceType.RESOURCE, code);
18627      if ("RiskAssessment".equals(codeString))
18628        return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT, code);
18629      if ("RiskEvidenceSynthesis".equals(codeString))
18630        return new Enumeration<ResourceType>(this, ResourceType.RISKEVIDENCESYNTHESIS, code);
18631      if ("Schedule".equals(codeString))
18632        return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE, code);
18633      if ("SearchParameter".equals(codeString))
18634        return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER, code);
18635      if ("ServiceRequest".equals(codeString))
18636        return new Enumeration<ResourceType>(this, ResourceType.SERVICEREQUEST, code);
18637      if ("Slot".equals(codeString))
18638        return new Enumeration<ResourceType>(this, ResourceType.SLOT, code);
18639      if ("Specimen".equals(codeString))
18640        return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN, code);
18641      if ("SpecimenDefinition".equals(codeString))
18642        return new Enumeration<ResourceType>(this, ResourceType.SPECIMENDEFINITION, code);
18643      if ("StructureDefinition".equals(codeString))
18644        return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION, code);
18645      if ("StructureMap".equals(codeString))
18646        return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREMAP, code);
18647      if ("Subscription".equals(codeString))
18648        return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION, code);
18649      if ("Substance".equals(codeString))
18650        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE, code);
18651      if ("SubstanceNucleicAcid".equals(codeString))
18652        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCENUCLEICACID, code);
18653      if ("SubstancePolymer".equals(codeString))
18654        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPOLYMER, code);
18655      if ("SubstanceProtein".equals(codeString))
18656        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPROTEIN, code);
18657      if ("SubstanceReferenceInformation".equals(codeString))
18658        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEREFERENCEINFORMATION, code);
18659      if ("SubstanceSourceMaterial".equals(codeString))
18660        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESOURCEMATERIAL, code);
18661      if ("SubstanceSpecification".equals(codeString))
18662        return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESPECIFICATION, code);
18663      if ("SupplyDelivery".equals(codeString))
18664        return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY, code);
18665      if ("SupplyRequest".equals(codeString))
18666        return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST, code);
18667      if ("Task".equals(codeString))
18668        return new Enumeration<ResourceType>(this, ResourceType.TASK, code);
18669      if ("TerminologyCapabilities".equals(codeString))
18670        return new Enumeration<ResourceType>(this, ResourceType.TERMINOLOGYCAPABILITIES, code);
18671      if ("TestReport".equals(codeString))
18672        return new Enumeration<ResourceType>(this, ResourceType.TESTREPORT, code);
18673      if ("TestScript".equals(codeString))
18674        return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT, code);
18675      if ("ValueSet".equals(codeString))
18676        return new Enumeration<ResourceType>(this, ResourceType.VALUESET, code);
18677      if ("VerificationResult".equals(codeString))
18678        return new Enumeration<ResourceType>(this, ResourceType.VERIFICATIONRESULT, code);
18679      if ("VisionPrescription".equals(codeString))
18680        return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION, code);
18681      throw new FHIRException("Unknown ResourceType code '" + codeString + "'");
18682    }
18683
18684    public String toCode(ResourceType code) {
18685       if (code == ResourceType.NULL)
18686           return null;
18687       if (code == ResourceType.ACCOUNT)
18688        return "Account";
18689      if (code == ResourceType.ACTIVITYDEFINITION)
18690        return "ActivityDefinition";
18691      if (code == ResourceType.ADVERSEEVENT)
18692        return "AdverseEvent";
18693      if (code == ResourceType.ALLERGYINTOLERANCE)
18694        return "AllergyIntolerance";
18695      if (code == ResourceType.APPOINTMENT)
18696        return "Appointment";
18697      if (code == ResourceType.APPOINTMENTRESPONSE)
18698        return "AppointmentResponse";
18699      if (code == ResourceType.AUDITEVENT)
18700        return "AuditEvent";
18701      if (code == ResourceType.BASIC)
18702        return "Basic";
18703      if (code == ResourceType.BINARY)
18704        return "Binary";
18705      if (code == ResourceType.BIOLOGICALLYDERIVEDPRODUCT)
18706        return "BiologicallyDerivedProduct";
18707      if (code == ResourceType.BODYSTRUCTURE)
18708        return "BodyStructure";
18709      if (code == ResourceType.BUNDLE)
18710        return "Bundle";
18711      if (code == ResourceType.CAPABILITYSTATEMENT)
18712        return "CapabilityStatement";
18713      if (code == ResourceType.CAREPLAN)
18714        return "CarePlan";
18715      if (code == ResourceType.CARETEAM)
18716        return "CareTeam";
18717      if (code == ResourceType.CATALOGENTRY)
18718        return "CatalogEntry";
18719      if (code == ResourceType.CHARGEITEM)
18720        return "ChargeItem";
18721      if (code == ResourceType.CHARGEITEMDEFINITION)
18722        return "ChargeItemDefinition";
18723      if (code == ResourceType.CLAIM)
18724        return "Claim";
18725      if (code == ResourceType.CLAIMRESPONSE)
18726        return "ClaimResponse";
18727      if (code == ResourceType.CLINICALIMPRESSION)
18728        return "ClinicalImpression";
18729      if (code == ResourceType.CODESYSTEM)
18730        return "CodeSystem";
18731      if (code == ResourceType.COMMUNICATION)
18732        return "Communication";
18733      if (code == ResourceType.COMMUNICATIONREQUEST)
18734        return "CommunicationRequest";
18735      if (code == ResourceType.COMPARTMENTDEFINITION)
18736        return "CompartmentDefinition";
18737      if (code == ResourceType.COMPOSITION)
18738        return "Composition";
18739      if (code == ResourceType.CONCEPTMAP)
18740        return "ConceptMap";
18741      if (code == ResourceType.CONDITION)
18742        return "Condition";
18743      if (code == ResourceType.CONSENT)
18744        return "Consent";
18745      if (code == ResourceType.CONTRACT)
18746        return "Contract";
18747      if (code == ResourceType.COVERAGE)
18748        return "Coverage";
18749      if (code == ResourceType.COVERAGEELIGIBILITYREQUEST)
18750        return "CoverageEligibilityRequest";
18751      if (code == ResourceType.COVERAGEELIGIBILITYRESPONSE)
18752        return "CoverageEligibilityResponse";
18753      if (code == ResourceType.DETECTEDISSUE)
18754        return "DetectedIssue";
18755      if (code == ResourceType.DEVICE)
18756        return "Device";
18757      if (code == ResourceType.DEVICEDEFINITION)
18758        return "DeviceDefinition";
18759      if (code == ResourceType.DEVICEMETRIC)
18760        return "DeviceMetric";
18761      if (code == ResourceType.DEVICEREQUEST)
18762        return "DeviceRequest";
18763      if (code == ResourceType.DEVICEUSESTATEMENT)
18764        return "DeviceUseStatement";
18765      if (code == ResourceType.DIAGNOSTICREPORT)
18766        return "DiagnosticReport";
18767      if (code == ResourceType.DOCUMENTMANIFEST)
18768        return "DocumentManifest";
18769      if (code == ResourceType.DOCUMENTREFERENCE)
18770        return "DocumentReference";
18771      if (code == ResourceType.DOMAINRESOURCE)
18772        return "DomainResource";
18773      if (code == ResourceType.EFFECTEVIDENCESYNTHESIS)
18774        return "EffectEvidenceSynthesis";
18775      if (code == ResourceType.ENCOUNTER)
18776        return "Encounter";
18777      if (code == ResourceType.ENDPOINT)
18778        return "Endpoint";
18779      if (code == ResourceType.ENROLLMENTREQUEST)
18780        return "EnrollmentRequest";
18781      if (code == ResourceType.ENROLLMENTRESPONSE)
18782        return "EnrollmentResponse";
18783      if (code == ResourceType.EPISODEOFCARE)
18784        return "EpisodeOfCare";
18785      if (code == ResourceType.EVENTDEFINITION)
18786        return "EventDefinition";
18787      if (code == ResourceType.EVIDENCE)
18788        return "Evidence";
18789      if (code == ResourceType.EVIDENCEVARIABLE)
18790        return "EvidenceVariable";
18791      if (code == ResourceType.EXAMPLESCENARIO)
18792        return "ExampleScenario";
18793      if (code == ResourceType.EXPLANATIONOFBENEFIT)
18794        return "ExplanationOfBenefit";
18795      if (code == ResourceType.FAMILYMEMBERHISTORY)
18796        return "FamilyMemberHistory";
18797      if (code == ResourceType.FLAG)
18798        return "Flag";
18799      if (code == ResourceType.GOAL)
18800        return "Goal";
18801      if (code == ResourceType.GRAPHDEFINITION)
18802        return "GraphDefinition";
18803      if (code == ResourceType.GROUP)
18804        return "Group";
18805      if (code == ResourceType.GUIDANCERESPONSE)
18806        return "GuidanceResponse";
18807      if (code == ResourceType.HEALTHCARESERVICE)
18808        return "HealthcareService";
18809      if (code == ResourceType.IMAGINGSTUDY)
18810        return "ImagingStudy";
18811      if (code == ResourceType.IMMUNIZATION)
18812        return "Immunization";
18813      if (code == ResourceType.IMMUNIZATIONEVALUATION)
18814        return "ImmunizationEvaluation";
18815      if (code == ResourceType.IMMUNIZATIONRECOMMENDATION)
18816        return "ImmunizationRecommendation";
18817      if (code == ResourceType.IMPLEMENTATIONGUIDE)
18818        return "ImplementationGuide";
18819      if (code == ResourceType.INSURANCEPLAN)
18820        return "InsurancePlan";
18821      if (code == ResourceType.INVOICE)
18822        return "Invoice";
18823      if (code == ResourceType.LIBRARY)
18824        return "Library";
18825      if (code == ResourceType.LINKAGE)
18826        return "Linkage";
18827      if (code == ResourceType.LIST)
18828        return "List";
18829      if (code == ResourceType.LOCATION)
18830        return "Location";
18831      if (code == ResourceType.MEASURE)
18832        return "Measure";
18833      if (code == ResourceType.MEASUREREPORT)
18834        return "MeasureReport";
18835      if (code == ResourceType.MEDIA)
18836        return "Media";
18837      if (code == ResourceType.MEDICATION)
18838        return "Medication";
18839      if (code == ResourceType.MEDICATIONADMINISTRATION)
18840        return "MedicationAdministration";
18841      if (code == ResourceType.MEDICATIONDISPENSE)
18842        return "MedicationDispense";
18843      if (code == ResourceType.MEDICATIONKNOWLEDGE)
18844        return "MedicationKnowledge";
18845      if (code == ResourceType.MEDICATIONREQUEST)
18846        return "MedicationRequest";
18847      if (code == ResourceType.MEDICATIONSTATEMENT)
18848        return "MedicationStatement";
18849      if (code == ResourceType.MEDICINALPRODUCT)
18850        return "MedicinalProduct";
18851      if (code == ResourceType.MEDICINALPRODUCTAUTHORIZATION)
18852        return "MedicinalProductAuthorization";
18853      if (code == ResourceType.MEDICINALPRODUCTCONTRAINDICATION)
18854        return "MedicinalProductContraindication";
18855      if (code == ResourceType.MEDICINALPRODUCTINDICATION)
18856        return "MedicinalProductIndication";
18857      if (code == ResourceType.MEDICINALPRODUCTINGREDIENT)
18858        return "MedicinalProductIngredient";
18859      if (code == ResourceType.MEDICINALPRODUCTINTERACTION)
18860        return "MedicinalProductInteraction";
18861      if (code == ResourceType.MEDICINALPRODUCTMANUFACTURED)
18862        return "MedicinalProductManufactured";
18863      if (code == ResourceType.MEDICINALPRODUCTPACKAGED)
18864        return "MedicinalProductPackaged";
18865      if (code == ResourceType.MEDICINALPRODUCTPHARMACEUTICAL)
18866        return "MedicinalProductPharmaceutical";
18867      if (code == ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
18868        return "MedicinalProductUndesirableEffect";
18869      if (code == ResourceType.MESSAGEDEFINITION)
18870        return "MessageDefinition";
18871      if (code == ResourceType.MESSAGEHEADER)
18872        return "MessageHeader";
18873      if (code == ResourceType.MOLECULARSEQUENCE)
18874        return "MolecularSequence";
18875      if (code == ResourceType.NAMINGSYSTEM)
18876        return "NamingSystem";
18877      if (code == ResourceType.NUTRITIONORDER)
18878        return "NutritionOrder";
18879      if (code == ResourceType.OBSERVATION)
18880        return "Observation";
18881      if (code == ResourceType.OBSERVATIONDEFINITION)
18882        return "ObservationDefinition";
18883      if (code == ResourceType.OPERATIONDEFINITION)
18884        return "OperationDefinition";
18885      if (code == ResourceType.OPERATIONOUTCOME)
18886        return "OperationOutcome";
18887      if (code == ResourceType.ORGANIZATION)
18888        return "Organization";
18889      if (code == ResourceType.ORGANIZATIONAFFILIATION)
18890        return "OrganizationAffiliation";
18891      if (code == ResourceType.PARAMETERS)
18892        return "Parameters";
18893      if (code == ResourceType.PATIENT)
18894        return "Patient";
18895      if (code == ResourceType.PAYMENTNOTICE)
18896        return "PaymentNotice";
18897      if (code == ResourceType.PAYMENTRECONCILIATION)
18898        return "PaymentReconciliation";
18899      if (code == ResourceType.PERSON)
18900        return "Person";
18901      if (code == ResourceType.PLANDEFINITION)
18902        return "PlanDefinition";
18903      if (code == ResourceType.PRACTITIONER)
18904        return "Practitioner";
18905      if (code == ResourceType.PRACTITIONERROLE)
18906        return "PractitionerRole";
18907      if (code == ResourceType.PROCEDURE)
18908        return "Procedure";
18909      if (code == ResourceType.PROVENANCE)
18910        return "Provenance";
18911      if (code == ResourceType.QUESTIONNAIRE)
18912        return "Questionnaire";
18913      if (code == ResourceType.QUESTIONNAIRERESPONSE)
18914        return "QuestionnaireResponse";
18915      if (code == ResourceType.RELATEDPERSON)
18916        return "RelatedPerson";
18917      if (code == ResourceType.REQUESTGROUP)
18918        return "RequestGroup";
18919      if (code == ResourceType.RESEARCHDEFINITION)
18920        return "ResearchDefinition";
18921      if (code == ResourceType.RESEARCHELEMENTDEFINITION)
18922        return "ResearchElementDefinition";
18923      if (code == ResourceType.RESEARCHSTUDY)
18924        return "ResearchStudy";
18925      if (code == ResourceType.RESEARCHSUBJECT)
18926        return "ResearchSubject";
18927      if (code == ResourceType.RESOURCE)
18928        return "Resource";
18929      if (code == ResourceType.RISKASSESSMENT)
18930        return "RiskAssessment";
18931      if (code == ResourceType.RISKEVIDENCESYNTHESIS)
18932        return "RiskEvidenceSynthesis";
18933      if (code == ResourceType.SCHEDULE)
18934        return "Schedule";
18935      if (code == ResourceType.SEARCHPARAMETER)
18936        return "SearchParameter";
18937      if (code == ResourceType.SERVICEREQUEST)
18938        return "ServiceRequest";
18939      if (code == ResourceType.SLOT)
18940        return "Slot";
18941      if (code == ResourceType.SPECIMEN)
18942        return "Specimen";
18943      if (code == ResourceType.SPECIMENDEFINITION)
18944        return "SpecimenDefinition";
18945      if (code == ResourceType.STRUCTUREDEFINITION)
18946        return "StructureDefinition";
18947      if (code == ResourceType.STRUCTUREMAP)
18948        return "StructureMap";
18949      if (code == ResourceType.SUBSCRIPTION)
18950        return "Subscription";
18951      if (code == ResourceType.SUBSTANCE)
18952        return "Substance";
18953      if (code == ResourceType.SUBSTANCENUCLEICACID)
18954        return "SubstanceNucleicAcid";
18955      if (code == ResourceType.SUBSTANCEPOLYMER)
18956        return "SubstancePolymer";
18957      if (code == ResourceType.SUBSTANCEPROTEIN)
18958        return "SubstanceProtein";
18959      if (code == ResourceType.SUBSTANCEREFERENCEINFORMATION)
18960        return "SubstanceReferenceInformation";
18961      if (code == ResourceType.SUBSTANCESOURCEMATERIAL)
18962        return "SubstanceSourceMaterial";
18963      if (code == ResourceType.SUBSTANCESPECIFICATION)
18964        return "SubstanceSpecification";
18965      if (code == ResourceType.SUPPLYDELIVERY)
18966        return "SupplyDelivery";
18967      if (code == ResourceType.SUPPLYREQUEST)
18968        return "SupplyRequest";
18969      if (code == ResourceType.TASK)
18970        return "Task";
18971      if (code == ResourceType.TERMINOLOGYCAPABILITIES)
18972        return "TerminologyCapabilities";
18973      if (code == ResourceType.TESTREPORT)
18974        return "TestReport";
18975      if (code == ResourceType.TESTSCRIPT)
18976        return "TestScript";
18977      if (code == ResourceType.VALUESET)
18978        return "ValueSet";
18979      if (code == ResourceType.VERIFICATIONRESULT)
18980        return "VerificationResult";
18981      if (code == ResourceType.VISIONPRESCRIPTION)
18982        return "VisionPrescription";
18983      return "?";
18984   }
18985
18986    public String toSystem(ResourceType code) {
18987      return code.getSystem();
18988    }
18989  }
18990
18991  public enum SearchParamType {
18992    /**
18993     * Search parameter SHALL be a number (a whole number, or a decimal).
18994     */
18995    NUMBER,
18996    /**
18997     * Search parameter is on a date/time. The date format is the standard XML
18998     * format, though other formats may be supported.
18999     */
19000    DATE,
19001    /**
19002     * Search parameter is a simple string, like a name part. Search is
19003     * case-insensitive and accent-insensitive. May match just the start of a
19004     * string. String parameters may contain spaces.
19005     */
19006    STRING,
19007    /**
19008     * Search parameter on a coded element or identifier. May be used to search
19009     * through the text, display, code and code/codesystem (for codes) and label,
19010     * system and key (for identifier). Its value is either a string or a pair of
19011     * namespace and value, separated by a "|", depending on the modifier used.
19012     */
19013    TOKEN,
19014    /**
19015     * A reference to another resource (Reference or canonical).
19016     */
19017    REFERENCE,
19018    /**
19019     * A composite search parameter that combines a search on two values together.
19020     */
19021    COMPOSITE,
19022    /**
19023     * A search parameter that searches on a quantity.
19024     */
19025    QUANTITY,
19026    /**
19027     * A search parameter that searches on a URI (RFC 3986).
19028     */
19029    URI,
19030    /**
19031     * Special logic applies to this parameter per the description of the search
19032     * parameter.
19033     */
19034    SPECIAL,
19035    /**
19036     * added to help the parsers
19037     */
19038    NULL;
19039
19040    public static SearchParamType fromCode(String codeString) throws FHIRException {
19041      if (codeString == null || "".equals(codeString))
19042        return null;
19043      if ("number".equals(codeString))
19044        return NUMBER;
19045      if ("date".equals(codeString))
19046        return DATE;
19047      if ("string".equals(codeString))
19048        return STRING;
19049      if ("token".equals(codeString))
19050        return TOKEN;
19051      if ("reference".equals(codeString))
19052        return REFERENCE;
19053      if ("composite".equals(codeString))
19054        return COMPOSITE;
19055      if ("quantity".equals(codeString))
19056        return QUANTITY;
19057      if ("uri".equals(codeString))
19058        return URI;
19059      if ("special".equals(codeString))
19060        return SPECIAL;
19061      throw new FHIRException("Unknown SearchParamType code '" + codeString + "'");
19062    }
19063
19064    public String toCode() {
19065      switch (this) {
19066      case NUMBER:
19067        return "number";
19068      case DATE:
19069        return "date";
19070      case STRING:
19071        return "string";
19072      case TOKEN:
19073        return "token";
19074      case REFERENCE:
19075        return "reference";
19076      case COMPOSITE:
19077        return "composite";
19078      case QUANTITY:
19079        return "quantity";
19080      case URI:
19081        return "uri";
19082      case SPECIAL:
19083        return "special";
19084      case NULL:
19085        return null;
19086      default:
19087        return "?";
19088      }
19089    }
19090
19091    public String getSystem() {
19092      switch (this) {
19093      case NUMBER:
19094        return "http://hl7.org/fhir/search-param-type";
19095      case DATE:
19096        return "http://hl7.org/fhir/search-param-type";
19097      case STRING:
19098        return "http://hl7.org/fhir/search-param-type";
19099      case TOKEN:
19100        return "http://hl7.org/fhir/search-param-type";
19101      case REFERENCE:
19102        return "http://hl7.org/fhir/search-param-type";
19103      case COMPOSITE:
19104        return "http://hl7.org/fhir/search-param-type";
19105      case QUANTITY:
19106        return "http://hl7.org/fhir/search-param-type";
19107      case URI:
19108        return "http://hl7.org/fhir/search-param-type";
19109      case SPECIAL:
19110        return "http://hl7.org/fhir/search-param-type";
19111      case NULL:
19112        return null;
19113      default:
19114        return "?";
19115      }
19116    }
19117
19118    public String getDefinition() {
19119      switch (this) {
19120      case NUMBER:
19121        return "Search parameter SHALL be a number (a whole number, or a decimal).";
19122      case DATE:
19123        return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
19124      case STRING:
19125        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.";
19126      case TOKEN:
19127        return "Search parameter on a coded element or identifier. May be used to search through the text, display, 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.";
19128      case REFERENCE:
19129        return "A reference to another resource (Reference or canonical).";
19130      case COMPOSITE:
19131        return "A composite search parameter that combines a search on two values together.";
19132      case QUANTITY:
19133        return "A search parameter that searches on a quantity.";
19134      case URI:
19135        return "A search parameter that searches on a URI (RFC 3986).";
19136      case SPECIAL:
19137        return "Special logic applies to this parameter per the description of the search parameter.";
19138      case NULL:
19139        return null;
19140      default:
19141        return "?";
19142      }
19143    }
19144
19145    public String getDisplay() {
19146      switch (this) {
19147      case NUMBER:
19148        return "Number";
19149      case DATE:
19150        return "Date/DateTime";
19151      case STRING:
19152        return "String";
19153      case TOKEN:
19154        return "Token";
19155      case REFERENCE:
19156        return "Reference";
19157      case COMPOSITE:
19158        return "Composite";
19159      case QUANTITY:
19160        return "Quantity";
19161      case URI:
19162        return "URI";
19163      case SPECIAL:
19164        return "Special";
19165      case NULL:
19166        return null;
19167      default:
19168        return "?";
19169      }
19170    }
19171  }
19172
19173  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
19174    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
19175      if (codeString == null || "".equals(codeString))
19176        if (codeString == null || "".equals(codeString))
19177          return null;
19178      if ("number".equals(codeString))
19179        return SearchParamType.NUMBER;
19180      if ("date".equals(codeString))
19181        return SearchParamType.DATE;
19182      if ("string".equals(codeString))
19183        return SearchParamType.STRING;
19184      if ("token".equals(codeString))
19185        return SearchParamType.TOKEN;
19186      if ("reference".equals(codeString))
19187        return SearchParamType.REFERENCE;
19188      if ("composite".equals(codeString))
19189        return SearchParamType.COMPOSITE;
19190      if ("quantity".equals(codeString))
19191        return SearchParamType.QUANTITY;
19192      if ("uri".equals(codeString))
19193        return SearchParamType.URI;
19194      if ("special".equals(codeString))
19195        return SearchParamType.SPECIAL;
19196      throw new IllegalArgumentException("Unknown SearchParamType code '" + codeString + "'");
19197    }
19198
19199    public Enumeration<SearchParamType> fromType(PrimitiveType<?> code) throws FHIRException {
19200      if (code == null)
19201        return null;
19202      if (code.isEmpty())
19203        return new Enumeration<SearchParamType>(this, SearchParamType.NULL, code);
19204      String codeString = code.asStringValue();
19205      if (codeString == null || "".equals(codeString))
19206        return new Enumeration<SearchParamType>(this, SearchParamType.NULL, code);
19207      if ("number".equals(codeString))
19208        return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER, code);
19209      if ("date".equals(codeString))
19210        return new Enumeration<SearchParamType>(this, SearchParamType.DATE, code);
19211      if ("string".equals(codeString))
19212        return new Enumeration<SearchParamType>(this, SearchParamType.STRING, code);
19213      if ("token".equals(codeString))
19214        return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN, code);
19215      if ("reference".equals(codeString))
19216        return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE, code);
19217      if ("composite".equals(codeString))
19218        return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE, code);
19219      if ("quantity".equals(codeString))
19220        return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY, code);
19221      if ("uri".equals(codeString))
19222        return new Enumeration<SearchParamType>(this, SearchParamType.URI, code);
19223      if ("special".equals(codeString))
19224        return new Enumeration<SearchParamType>(this, SearchParamType.SPECIAL, code);
19225      throw new FHIRException("Unknown SearchParamType code '" + codeString + "'");
19226    }
19227
19228    public String toCode(SearchParamType code) {
19229       if (code == SearchParamType.NULL)
19230           return null;
19231       if (code == SearchParamType.NUMBER)
19232        return "number";
19233      if (code == SearchParamType.DATE)
19234        return "date";
19235      if (code == SearchParamType.STRING)
19236        return "string";
19237      if (code == SearchParamType.TOKEN)
19238        return "token";
19239      if (code == SearchParamType.REFERENCE)
19240        return "reference";
19241      if (code == SearchParamType.COMPOSITE)
19242        return "composite";
19243      if (code == SearchParamType.QUANTITY)
19244        return "quantity";
19245      if (code == SearchParamType.URI)
19246        return "uri";
19247      if (code == SearchParamType.SPECIAL)
19248        return "special";
19249      return "?";
19250   }
19251
19252    public String toSystem(SearchParamType code) {
19253      return code.getSystem();
19254    }
19255  }
19256
19257  public enum SpecialValues {
19258    /**
19259     * Boolean true.
19260     */
19261    TRUE,
19262    /**
19263     * Boolean false.
19264     */
19265    FALSE,
19266    /**
19267     * The content is greater than zero, but too small to be quantified.
19268     */
19269    TRACE,
19270    /**
19271     * The specific quantity is not known, but is known to be non-zero and is not
19272     * specified because it makes up the bulk of the material.
19273     */
19274    SUFFICIENT,
19275    /**
19276     * The value is no longer available.
19277     */
19278    WITHDRAWN,
19279    /**
19280     * The are no known applicable values in this context.
19281     */
19282    NILKNOWN,
19283    /**
19284     * added to help the parsers
19285     */
19286    NULL;
19287
19288    public static SpecialValues fromCode(String codeString) throws FHIRException {
19289      if (codeString == null || "".equals(codeString))
19290        return null;
19291      if ("true".equals(codeString))
19292        return TRUE;
19293      if ("false".equals(codeString))
19294        return FALSE;
19295      if ("trace".equals(codeString))
19296        return TRACE;
19297      if ("sufficient".equals(codeString))
19298        return SUFFICIENT;
19299      if ("withdrawn".equals(codeString))
19300        return WITHDRAWN;
19301      if ("nil-known".equals(codeString))
19302        return NILKNOWN;
19303      throw new FHIRException("Unknown SpecialValues code '" + codeString + "'");
19304    }
19305
19306    public String toCode() {
19307      switch (this) {
19308      case TRUE:
19309        return "true";
19310      case FALSE:
19311        return "false";
19312      case TRACE:
19313        return "trace";
19314      case SUFFICIENT:
19315        return "sufficient";
19316      case WITHDRAWN:
19317        return "withdrawn";
19318      case NILKNOWN:
19319        return "nil-known";
19320      case NULL:
19321        return null;
19322      default:
19323        return "?";
19324      }
19325    }
19326
19327    public String getSystem() {
19328      switch (this) {
19329      case TRUE:
19330        return "http://terminology.hl7.org/CodeSystem/special-values";
19331      case FALSE:
19332        return "http://terminology.hl7.org/CodeSystem/special-values";
19333      case TRACE:
19334        return "http://terminology.hl7.org/CodeSystem/special-values";
19335      case SUFFICIENT:
19336        return "http://terminology.hl7.org/CodeSystem/special-values";
19337      case WITHDRAWN:
19338        return "http://terminology.hl7.org/CodeSystem/special-values";
19339      case NILKNOWN:
19340        return "http://terminology.hl7.org/CodeSystem/special-values";
19341      case NULL:
19342        return null;
19343      default:
19344        return "?";
19345      }
19346    }
19347
19348    public String getDefinition() {
19349      switch (this) {
19350      case TRUE:
19351        return "Boolean true.";
19352      case FALSE:
19353        return "Boolean false.";
19354      case TRACE:
19355        return "The content is greater than zero, but too small to be quantified.";
19356      case SUFFICIENT:
19357        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.";
19358      case WITHDRAWN:
19359        return "The value is no longer available.";
19360      case NILKNOWN:
19361        return "The are no known applicable values in this context.";
19362      case NULL:
19363        return null;
19364      default:
19365        return "?";
19366      }
19367    }
19368
19369    public String getDisplay() {
19370      switch (this) {
19371      case TRUE:
19372        return "true";
19373      case FALSE:
19374        return "false";
19375      case TRACE:
19376        return "Trace Amount Detected";
19377      case SUFFICIENT:
19378        return "Sufficient Quantity";
19379      case WITHDRAWN:
19380        return "Value Withdrawn";
19381      case NILKNOWN:
19382        return "Nil Known";
19383      case NULL:
19384        return null;
19385      default:
19386        return "?";
19387      }
19388    }
19389  }
19390
19391  public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> {
19392    public SpecialValues fromCode(String codeString) throws IllegalArgumentException {
19393      if (codeString == null || "".equals(codeString))
19394        if (codeString == null || "".equals(codeString))
19395          return null;
19396      if ("true".equals(codeString))
19397        return SpecialValues.TRUE;
19398      if ("false".equals(codeString))
19399        return SpecialValues.FALSE;
19400      if ("trace".equals(codeString))
19401        return SpecialValues.TRACE;
19402      if ("sufficient".equals(codeString))
19403        return SpecialValues.SUFFICIENT;
19404      if ("withdrawn".equals(codeString))
19405        return SpecialValues.WITHDRAWN;
19406      if ("nil-known".equals(codeString))
19407        return SpecialValues.NILKNOWN;
19408      throw new IllegalArgumentException("Unknown SpecialValues code '" + codeString + "'");
19409    }
19410
19411    public Enumeration<SpecialValues> fromType(PrimitiveType<?> code) throws FHIRException {
19412      if (code == null)
19413        return null;
19414      if (code.isEmpty())
19415        return new Enumeration<SpecialValues>(this, SpecialValues.NULL, code);
19416      String codeString = code.asStringValue();
19417      if (codeString == null || "".equals(codeString))
19418        return new Enumeration<SpecialValues>(this, SpecialValues.NULL, code);
19419      if ("true".equals(codeString))
19420        return new Enumeration<SpecialValues>(this, SpecialValues.TRUE, code);
19421      if ("false".equals(codeString))
19422        return new Enumeration<SpecialValues>(this, SpecialValues.FALSE, code);
19423      if ("trace".equals(codeString))
19424        return new Enumeration<SpecialValues>(this, SpecialValues.TRACE, code);
19425      if ("sufficient".equals(codeString))
19426        return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT, code);
19427      if ("withdrawn".equals(codeString))
19428        return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN, code);
19429      if ("nil-known".equals(codeString))
19430        return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN, code);
19431      throw new FHIRException("Unknown SpecialValues code '" + codeString + "'");
19432    }
19433
19434    public String toCode(SpecialValues code) {
19435       if (code == SpecialValues.NULL)
19436           return null;
19437       if (code == SpecialValues.TRUE)
19438        return "true";
19439      if (code == SpecialValues.FALSE)
19440        return "false";
19441      if (code == SpecialValues.TRACE)
19442        return "trace";
19443      if (code == SpecialValues.SUFFICIENT)
19444        return "sufficient";
19445      if (code == SpecialValues.WITHDRAWN)
19446        return "withdrawn";
19447      if (code == SpecialValues.NILKNOWN)
19448        return "nil-known";
19449      return "?";
19450   }
19451
19452    public String toSystem(SpecialValues code) {
19453      return code.getSystem();
19454    }
19455  }
19456
19457}