001package org.hl7.fhir.r4.model;
002
003
004
005/*
006  Copyright (c) 2011+, HL7, Inc.
007  All rights reserved.
008  
009  Redistribution and use in source and binary forms, with or without modification, 
010  are permitted provided that the following conditions are met:
011  
012   * Redistributions of source code must retain the above copyright notice, this 
013     list of conditions and the following disclaimer.
014   * Redistributions in binary form must reproduce the above copyright notice, 
015     this list of conditions and the following disclaimer in the documentation 
016     and/or other materials provided with the distribution.
017   * Neither the name of HL7 nor the names of its contributors may be used to 
018     endorse or promote products derived from this software without specific 
019     prior written permission.
020  
021  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
022  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
023  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
024  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
025  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
026  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
027  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
028  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
029  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
030  POSSIBILITY OF SUCH DAMAGE.
031  
032*/
033
034
035// Generated on Tue, May 12, 2020 07:26+1000 for FHIR v4.0.1
036
037
038import org.hl7.fhir.instance.model.api.*;
039import org.hl7.fhir.exceptions.FHIRException;
040
041public class Enumerations {
042
043// In here: 
044//   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.
045//   AdministrativeGender: The gender of a person used for administrative purposes.
046//   AgeUnits: A valueSet of UCUM codes for representing age value units.
047//   BindingStrength: Indication of the degree of conformance expectations associated with a binding.
048//   ConceptMapEquivalence: The degree of equivalence between concepts.
049//   DataAbsentReason: Used to specify why the normally expected content of the data element is missing.
050//   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).
051//   DefinitionResourceType: A list of all the definition resource types defined in this version of the FHIR specification.
052//   DocumentReferenceStatus: The status of the document reference.
053//   EventResourceType: A list of all the event resource types defined in this version of the FHIR specification.
054//   FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
055//   FHIRDefinedType: A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
056//   FHIRVersion: All published FHIR Versions.
057//   KnowledgeResourceType: A list of all the knowledge resource types defined in this version of the FHIR specification.
058//   MessageEvent: One of the message events defined as part of this version of FHIR.
059//   NoteType: The presentation types of notes.
060//   PublicationStatus: The lifecycle status of an artifact.
061//   RemittanceOutcome: The outcome of the processing.
062//   RequestResourceType: A list of all the request resource types defined in this version of the FHIR specification.
063//   ResourceType: One of the resource types defined as part of this version of FHIR.
064//   SearchParamType: Data types allowed to be used for search parameters.
065//   SpecialValues: A set of generally useful codes defined so they can be included in value sets.
066
067
068    public enum AbstractType {
069        /**
070         * A place holder that means any kind of data type
071         */
072        TYPE, 
073        /**
074         * A place holder that means any kind of resource
075         */
076        ANY, 
077        /**
078         * added to help the parsers
079         */
080        NULL;
081        public static AbstractType fromCode(String codeString) throws FHIRException {
082            if (codeString == null || "".equals(codeString))
083                return null;
084        if ("Type".equals(codeString))
085          return TYPE;
086        if ("Any".equals(codeString))
087          return ANY;
088        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
089        }
090        public String toCode() {
091          switch (this) {
092            case TYPE: return "Type";
093            case ANY: return "Any";
094            default: return "?";
095          }
096        }
097        public String getSystem() {
098          switch (this) {
099            case TYPE: return "http://hl7.org/fhir/abstract-types";
100            case ANY: return "http://hl7.org/fhir/abstract-types";
101            default: return "?";
102          }
103        }
104        public String getDefinition() {
105          switch (this) {
106            case TYPE: return "A place holder that means any kind of data type";
107            case ANY: return "A place holder that means any kind of resource";
108            default: return "?";
109          }
110        }
111        public String getDisplay() {
112          switch (this) {
113            case TYPE: return "Type";
114            case ANY: return "Any";
115            default: return "?";
116          }
117        }
118    }
119
120  public static class AbstractTypeEnumFactory implements EnumFactory<AbstractType> {
121    public AbstractType fromCode(String codeString) throws IllegalArgumentException {
122      if (codeString == null || "".equals(codeString))
123            if (codeString == null || "".equals(codeString))
124                return null;
125        if ("Type".equals(codeString))
126          return AbstractType.TYPE;
127        if ("Any".equals(codeString))
128          return AbstractType.ANY;
129        throw new IllegalArgumentException("Unknown AbstractType code '"+codeString+"'");
130        }
131        public Enumeration<AbstractType> fromType(Base code) throws FHIRException {
132          if (code == null)
133            return null;
134          if (code.isEmpty())
135            return new Enumeration<AbstractType>(this);
136          String codeString = ((PrimitiveType) code).asStringValue();
137          if (codeString == null || "".equals(codeString))
138            return null;
139        if ("Type".equals(codeString))
140          return new Enumeration<AbstractType>(this, AbstractType.TYPE);
141        if ("Any".equals(codeString))
142          return new Enumeration<AbstractType>(this, AbstractType.ANY);
143        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
144        }
145    public String toCode(AbstractType code) {
146      if (code == AbstractType.TYPE)
147        return "Type";
148      if (code == AbstractType.ANY)
149        return "Any";
150      return "?";
151      }
152    public String toSystem(AbstractType code) {
153      return code.getSystem();
154      }
155    }
156
157    public enum AdministrativeGender {
158        /**
159         * Male.
160         */
161        MALE, 
162        /**
163         * Female.
164         */
165        FEMALE, 
166        /**
167         * Other.
168         */
169        OTHER, 
170        /**
171         * Unknown.
172         */
173        UNKNOWN, 
174        /**
175         * added to help the parsers
176         */
177        NULL;
178        public static AdministrativeGender fromCode(String codeString) throws FHIRException {
179            if (codeString == null || "".equals(codeString))
180                return null;
181        if ("male".equals(codeString))
182          return MALE;
183        if ("female".equals(codeString))
184          return FEMALE;
185        if ("other".equals(codeString))
186          return OTHER;
187        if ("unknown".equals(codeString))
188          return UNKNOWN;
189        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
190        }
191        public String toCode() {
192          switch (this) {
193            case MALE: return "male";
194            case FEMALE: return "female";
195            case OTHER: return "other";
196            case UNKNOWN: return "unknown";
197            default: return "?";
198          }
199        }
200        public String getSystem() {
201          switch (this) {
202            case MALE: return "http://hl7.org/fhir/administrative-gender";
203            case FEMALE: return "http://hl7.org/fhir/administrative-gender";
204            case OTHER: return "http://hl7.org/fhir/administrative-gender";
205            case UNKNOWN: return "http://hl7.org/fhir/administrative-gender";
206            default: return "?";
207          }
208        }
209        public String getDefinition() {
210          switch (this) {
211            case MALE: return "Male.";
212            case FEMALE: return "Female.";
213            case OTHER: return "Other.";
214            case UNKNOWN: return "Unknown.";
215            default: return "?";
216          }
217        }
218        public String getDisplay() {
219          switch (this) {
220            case MALE: return "Male";
221            case FEMALE: return "Female";
222            case OTHER: return "Other";
223            case UNKNOWN: return "Unknown";
224            default: return "?";
225          }
226        }
227    }
228
229  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
230    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
231      if (codeString == null || "".equals(codeString))
232            if (codeString == null || "".equals(codeString))
233                return null;
234        if ("male".equals(codeString))
235          return AdministrativeGender.MALE;
236        if ("female".equals(codeString))
237          return AdministrativeGender.FEMALE;
238        if ("other".equals(codeString))
239          return AdministrativeGender.OTHER;
240        if ("unknown".equals(codeString))
241          return AdministrativeGender.UNKNOWN;
242        throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'");
243        }
244        public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException {
245          if (code == null)
246            return null;
247          if (code.isEmpty())
248            return new Enumeration<AdministrativeGender>(this);
249          String codeString = ((PrimitiveType) code).asStringValue();
250          if (codeString == null || "".equals(codeString))
251            return null;
252        if ("male".equals(codeString))
253          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE);
254        if ("female".equals(codeString))
255          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE);
256        if ("other".equals(codeString))
257          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER);
258        if ("unknown".equals(codeString))
259          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN);
260        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
261        }
262    public String toCode(AdministrativeGender code) {
263      if (code == AdministrativeGender.MALE)
264        return "male";
265      if (code == AdministrativeGender.FEMALE)
266        return "female";
267      if (code == AdministrativeGender.OTHER)
268        return "other";
269      if (code == AdministrativeGender.UNKNOWN)
270        return "unknown";
271      return "?";
272      }
273    public String toSystem(AdministrativeGender code) {
274      return code.getSystem();
275      }
276    }
277
278    public enum AgeUnits {
279        /**
280         * null
281         */
282        MIN, 
283        /**
284         * null
285         */
286        H, 
287        /**
288         * null
289         */
290        D, 
291        /**
292         * null
293         */
294        WK, 
295        /**
296         * null
297         */
298        MO, 
299        /**
300         * null
301         */
302        A, 
303        /**
304         * added to help the parsers
305         */
306        NULL;
307        public static AgeUnits fromCode(String codeString) throws FHIRException {
308            if (codeString == null || "".equals(codeString))
309                return null;
310        if ("min".equals(codeString))
311          return MIN;
312        if ("h".equals(codeString))
313          return H;
314        if ("d".equals(codeString))
315          return D;
316        if ("wk".equals(codeString))
317          return WK;
318        if ("mo".equals(codeString))
319          return MO;
320        if ("a".equals(codeString))
321          return A;
322        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
323        }
324        public String toCode() {
325          switch (this) {
326            case MIN: return "min";
327            case H: return "h";
328            case D: return "d";
329            case WK: return "wk";
330            case MO: return "mo";
331            case A: return "a";
332            default: return "?";
333          }
334        }
335        public String getSystem() {
336          switch (this) {
337            case MIN: return "http://unitsofmeasure.org";
338            case H: return "http://unitsofmeasure.org";
339            case D: return "http://unitsofmeasure.org";
340            case WK: return "http://unitsofmeasure.org";
341            case MO: return "http://unitsofmeasure.org";
342            case A: return "http://unitsofmeasure.org";
343            default: return "?";
344          }
345        }
346        public String getDefinition() {
347          switch (this) {
348            case MIN: return "";
349            case H: return "";
350            case D: return "";
351            case WK: return "";
352            case MO: return "";
353            case A: return "";
354            default: return "?";
355          }
356        }
357        public String getDisplay() {
358          switch (this) {
359            case MIN: return "Minute";
360            case H: return "Hour";
361            case D: return "Day";
362            case WK: return "Week";
363            case MO: return "Month";
364            case A: return "Year";
365            default: return "?";
366          }
367        }
368    }
369
370  public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> {
371    public AgeUnits fromCode(String codeString) throws IllegalArgumentException {
372      if (codeString == null || "".equals(codeString))
373            if (codeString == null || "".equals(codeString))
374                return null;
375        if ("min".equals(codeString))
376          return AgeUnits.MIN;
377        if ("h".equals(codeString))
378          return AgeUnits.H;
379        if ("d".equals(codeString))
380          return AgeUnits.D;
381        if ("wk".equals(codeString))
382          return AgeUnits.WK;
383        if ("mo".equals(codeString))
384          return AgeUnits.MO;
385        if ("a".equals(codeString))
386          return AgeUnits.A;
387        throw new IllegalArgumentException("Unknown AgeUnits code '"+codeString+"'");
388        }
389        public Enumeration<AgeUnits> fromType(Base code) throws FHIRException {
390          if (code == null)
391            return null;
392          if (code.isEmpty())
393            return new Enumeration<AgeUnits>(this);
394          String codeString = ((PrimitiveType) code).asStringValue();
395          if (codeString == null || "".equals(codeString))
396            return null;
397        if ("min".equals(codeString))
398          return new Enumeration<AgeUnits>(this, AgeUnits.MIN);
399        if ("h".equals(codeString))
400          return new Enumeration<AgeUnits>(this, AgeUnits.H);
401        if ("d".equals(codeString))
402          return new Enumeration<AgeUnits>(this, AgeUnits.D);
403        if ("wk".equals(codeString))
404          return new Enumeration<AgeUnits>(this, AgeUnits.WK);
405        if ("mo".equals(codeString))
406          return new Enumeration<AgeUnits>(this, AgeUnits.MO);
407        if ("a".equals(codeString))
408          return new Enumeration<AgeUnits>(this, AgeUnits.A);
409        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
410        }
411    public String toCode(AgeUnits code) {
412      if (code == AgeUnits.MIN)
413        return "min";
414      if (code == AgeUnits.H)
415        return "h";
416      if (code == AgeUnits.D)
417        return "d";
418      if (code == AgeUnits.WK)
419        return "wk";
420      if (code == AgeUnits.MO)
421        return "mo";
422      if (code == AgeUnits.A)
423        return "a";
424      return "?";
425      }
426    public String toSystem(AgeUnits code) {
427      return code.getSystem();
428      }
429    }
430
431    public enum BindingStrength {
432        /**
433         * To be conformant, the concept in this element SHALL be from the specified value set.
434         */
435        REQUIRED, 
436        /**
437         * 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.
438         */
439        EXTENSIBLE, 
440        /**
441         * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.
442         */
443        PREFERRED, 
444        /**
445         * 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.
446         */
447        EXAMPLE, 
448        /**
449         * added to help the parsers
450         */
451        NULL;
452        public static BindingStrength fromCode(String codeString) throws FHIRException {
453            if (codeString == null || "".equals(codeString))
454                return null;
455        if ("required".equals(codeString))
456          return REQUIRED;
457        if ("extensible".equals(codeString))
458          return EXTENSIBLE;
459        if ("preferred".equals(codeString))
460          return PREFERRED;
461        if ("example".equals(codeString))
462          return EXAMPLE;
463        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
464        }
465        public String toCode() {
466          switch (this) {
467            case REQUIRED: return "required";
468            case EXTENSIBLE: return "extensible";
469            case PREFERRED: return "preferred";
470            case EXAMPLE: return "example";
471            default: return "?";
472          }
473        }
474        public String getSystem() {
475          switch (this) {
476            case REQUIRED: return "http://hl7.org/fhir/binding-strength";
477            case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength";
478            case PREFERRED: return "http://hl7.org/fhir/binding-strength";
479            case EXAMPLE: return "http://hl7.org/fhir/binding-strength";
480            default: return "?";
481          }
482        }
483        public String getDefinition() {
484          switch (this) {
485            case REQUIRED: return "To be conformant, the concept in this element SHALL be from the specified value set.";
486            case EXTENSIBLE: 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.";
487            case PREFERRED: return "Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.";
488            case EXAMPLE: return "Instances are not expected or even encouraged to draw from the specified value set.  The value set merely provides examples of the types of concepts intended to be included.";
489            default: return "?";
490          }
491        }
492        public String getDisplay() {
493          switch (this) {
494            case REQUIRED: return "Required";
495            case EXTENSIBLE: return "Extensible";
496            case PREFERRED: return "Preferred";
497            case EXAMPLE: return "Example";
498            default: return "?";
499          }
500        }
501    }
502
503  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
504    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
505      if (codeString == null || "".equals(codeString))
506            if (codeString == null || "".equals(codeString))
507                return null;
508        if ("required".equals(codeString))
509          return BindingStrength.REQUIRED;
510        if ("extensible".equals(codeString))
511          return BindingStrength.EXTENSIBLE;
512        if ("preferred".equals(codeString))
513          return BindingStrength.PREFERRED;
514        if ("example".equals(codeString))
515          return BindingStrength.EXAMPLE;
516        throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'");
517        }
518        public Enumeration<BindingStrength> fromType(Base code) throws FHIRException {
519          if (code == null)
520            return null;
521          if (code.isEmpty())
522            return new Enumeration<BindingStrength>(this);
523          String codeString = ((PrimitiveType) code).asStringValue();
524          if (codeString == null || "".equals(codeString))
525            return null;
526        if ("required".equals(codeString))
527          return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED);
528        if ("extensible".equals(codeString))
529          return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE);
530        if ("preferred".equals(codeString))
531          return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED);
532        if ("example".equals(codeString))
533          return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE);
534        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
535        }
536    public String toCode(BindingStrength code) {
537      if (code == BindingStrength.REQUIRED)
538        return "required";
539      if (code == BindingStrength.EXTENSIBLE)
540        return "extensible";
541      if (code == BindingStrength.PREFERRED)
542        return "preferred";
543      if (code == BindingStrength.EXAMPLE)
544        return "example";
545      return "?";
546      }
547    public String toSystem(BindingStrength code) {
548      return code.getSystem();
549      }
550    }
551
552    public enum ConceptMapEquivalence {
553        /**
554         * The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known.
555         */
556        RELATEDTO, 
557        /**
558         * The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).
559         */
560        EQUIVALENT, 
561        /**
562         * 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).
563         */
564        EQUAL, 
565        /**
566         * The target mapping is wider in meaning than the source concept.
567         */
568        WIDER, 
569        /**
570         * The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).
571         */
572        SUBSUMES, 
573        /**
574         * 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.
575         */
576        NARROWER, 
577        /**
578         * The target mapping specializes the meaning of the source concept (e.g. the target is-a source).
579         */
580        SPECIALIZES, 
581        /**
582         * 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.
583         */
584        INEXACT, 
585        /**
586         * There is no match for this concept in the target code system.
587         */
588        UNMATCHED, 
589        /**
590         * This is an explicit assertion that there is no mapping between the source and target concept.
591         */
592        DISJOINT, 
593        /**
594         * added to help the parsers
595         */
596        NULL;
597        public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException {
598            if (codeString == null || "".equals(codeString))
599                return null;
600        if ("relatedto".equals(codeString))
601          return RELATEDTO;
602        if ("equivalent".equals(codeString))
603          return EQUIVALENT;
604        if ("equal".equals(codeString))
605          return EQUAL;
606        if ("wider".equals(codeString))
607          return WIDER;
608        if ("subsumes".equals(codeString))
609          return SUBSUMES;
610        if ("narrower".equals(codeString))
611          return NARROWER;
612        if ("specializes".equals(codeString))
613          return SPECIALIZES;
614        if ("inexact".equals(codeString))
615          return INEXACT;
616        if ("unmatched".equals(codeString))
617          return UNMATCHED;
618        if ("disjoint".equals(codeString))
619          return DISJOINT;
620        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
621        }
622        public String toCode() {
623          switch (this) {
624            case RELATEDTO: return "relatedto";
625            case EQUIVALENT: return "equivalent";
626            case EQUAL: return "equal";
627            case WIDER: return "wider";
628            case SUBSUMES: return "subsumes";
629            case NARROWER: return "narrower";
630            case SPECIALIZES: return "specializes";
631            case INEXACT: return "inexact";
632            case UNMATCHED: return "unmatched";
633            case DISJOINT: return "disjoint";
634            default: return "?";
635          }
636        }
637        public String getSystem() {
638          switch (this) {
639            case RELATEDTO: return "http://hl7.org/fhir/concept-map-equivalence";
640            case EQUIVALENT: return "http://hl7.org/fhir/concept-map-equivalence";
641            case EQUAL: return "http://hl7.org/fhir/concept-map-equivalence";
642            case WIDER: return "http://hl7.org/fhir/concept-map-equivalence";
643            case SUBSUMES: return "http://hl7.org/fhir/concept-map-equivalence";
644            case NARROWER: return "http://hl7.org/fhir/concept-map-equivalence";
645            case SPECIALIZES: return "http://hl7.org/fhir/concept-map-equivalence";
646            case INEXACT: return "http://hl7.org/fhir/concept-map-equivalence";
647            case UNMATCHED: return "http://hl7.org/fhir/concept-map-equivalence";
648            case DISJOINT: return "http://hl7.org/fhir/concept-map-equivalence";
649            default: return "?";
650          }
651        }
652        public String getDefinition() {
653          switch (this) {
654            case RELATEDTO: return "The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known.";
655            case EQUIVALENT: return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).";
656            case EQUAL: return "The definitions of the concepts are exactly the same (i.e. only grammatical differences) and structural implications of meaning are identical or irrelevant (i.e. intentionally identical).";
657            case WIDER: return "The target mapping is wider in meaning than the source concept.";
658            case SUBSUMES: return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).";
659            case NARROWER: 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.";
660            case SPECIALIZES: return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source).";
661            case INEXACT: return "The target mapping overlaps with the source concept, but both source and target cover additional meaning, or the definitions are imprecise and it is uncertain whether they have the same boundaries to their meaning. The sense in which the mapping is inexact SHALL be described in the comments in this case, and applications should be careful when attempting to use these mappings operationally.";
662            case UNMATCHED: return "There is no match for this concept in the target code system.";
663            case DISJOINT: return "This is an explicit assertion that there is no mapping between the source and target concept.";
664            default: return "?";
665          }
666        }
667        public String getDisplay() {
668          switch (this) {
669            case RELATEDTO: return "Related To";
670            case EQUIVALENT: return "Equivalent";
671            case EQUAL: return "Equal";
672            case WIDER: return "Wider";
673            case SUBSUMES: return "Subsumes";
674            case NARROWER: return "Narrower";
675            case SPECIALIZES: return "Specializes";
676            case INEXACT: return "Inexact";
677            case UNMATCHED: return "Unmatched";
678            case DISJOINT: return "Disjoint";
679            default: return "?";
680          }
681        }
682    }
683
684  public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> {
685    public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException {
686      if (codeString == null || "".equals(codeString))
687            if (codeString == null || "".equals(codeString))
688                return null;
689        if ("relatedto".equals(codeString))
690          return ConceptMapEquivalence.RELATEDTO;
691        if ("equivalent".equals(codeString))
692          return ConceptMapEquivalence.EQUIVALENT;
693        if ("equal".equals(codeString))
694          return ConceptMapEquivalence.EQUAL;
695        if ("wider".equals(codeString))
696          return ConceptMapEquivalence.WIDER;
697        if ("subsumes".equals(codeString))
698          return ConceptMapEquivalence.SUBSUMES;
699        if ("narrower".equals(codeString))
700          return ConceptMapEquivalence.NARROWER;
701        if ("specializes".equals(codeString))
702          return ConceptMapEquivalence.SPECIALIZES;
703        if ("inexact".equals(codeString))
704          return ConceptMapEquivalence.INEXACT;
705        if ("unmatched".equals(codeString))
706          return ConceptMapEquivalence.UNMATCHED;
707        if ("disjoint".equals(codeString))
708          return ConceptMapEquivalence.DISJOINT;
709        throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '"+codeString+"'");
710        }
711        public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException {
712          if (code == null)
713            return null;
714          if (code.isEmpty())
715            return new Enumeration<ConceptMapEquivalence>(this);
716          String codeString = ((PrimitiveType) code).asStringValue();
717          if (codeString == null || "".equals(codeString))
718            return null;
719        if ("relatedto".equals(codeString))
720          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.RELATEDTO);
721        if ("equivalent".equals(codeString))
722          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT);
723        if ("equal".equals(codeString))
724          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL);
725        if ("wider".equals(codeString))
726          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER);
727        if ("subsumes".equals(codeString))
728          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES);
729        if ("narrower".equals(codeString))
730          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER);
731        if ("specializes".equals(codeString))
732          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES);
733        if ("inexact".equals(codeString))
734          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT);
735        if ("unmatched".equals(codeString))
736          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED);
737        if ("disjoint".equals(codeString))
738          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT);
739        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
740        }
741    public String toCode(ConceptMapEquivalence code) {
742      if (code == ConceptMapEquivalence.RELATEDTO)
743        return "relatedto";
744      if (code == ConceptMapEquivalence.EQUIVALENT)
745        return "equivalent";
746      if (code == ConceptMapEquivalence.EQUAL)
747        return "equal";
748      if (code == ConceptMapEquivalence.WIDER)
749        return "wider";
750      if (code == ConceptMapEquivalence.SUBSUMES)
751        return "subsumes";
752      if (code == ConceptMapEquivalence.NARROWER)
753        return "narrower";
754      if (code == ConceptMapEquivalence.SPECIALIZES)
755        return "specializes";
756      if (code == ConceptMapEquivalence.INEXACT)
757        return "inexact";
758      if (code == ConceptMapEquivalence.UNMATCHED)
759        return "unmatched";
760      if (code == ConceptMapEquivalence.DISJOINT)
761        return "disjoint";
762      return "?";
763      }
764    public String toSystem(ConceptMapEquivalence code) {
765      return code.getSystem();
766      }
767    }
768
769    public enum DataAbsentReason {
770        /**
771         * The value is expected to exist but is not known.
772         */
773        UNKNOWN, 
774        /**
775         * The source was asked but does not know the value.
776         */
777        ASKEDUNKNOWN, 
778        /**
779         * There is reason to expect (from the workflow) that the value may become known.
780         */
781        TEMPUNKNOWN, 
782        /**
783         * The workflow didn't lead to this value being known.
784         */
785        NOTASKED, 
786        /**
787         * The source was asked but declined to answer.
788         */
789        ASKEDDECLINED, 
790        /**
791         * The information is not available due to security, privacy or related reasons.
792         */
793        MASKED, 
794        /**
795         * There is no proper value for this element (e.g. last menstrual period for a male).
796         */
797        NOTAPPLICABLE, 
798        /**
799         * The source system wasn't capable of supporting this element.
800         */
801        UNSUPPORTED, 
802        /**
803         * The content of the data is represented in the resource narrative.
804         */
805        ASTEXT, 
806        /**
807         * Some system or workflow process error means that the information is not available.
808         */
809        ERROR, 
810        /**
811         * The numeric value is undefined or unrepresentable due to a floating point processing error.
812         */
813        NOTANUMBER, 
814        /**
815         * The numeric value is excessively low and unrepresentable due to a floating point processing error.
816         */
817        NEGATIVEINFINITY, 
818        /**
819         * The numeric value is excessively high and unrepresentable due to a floating point processing error.
820         */
821        POSITIVEINFINITY, 
822        /**
823         * The value is not available because the observation procedure (test, etc.) was not performed.
824         */
825        NOTPERFORMED, 
826        /**
827         * The value is not permitted in this context (e.g. due to profiles, or the base data types).
828         */
829        NOTPERMITTED, 
830        /**
831         * added to help the parsers
832         */
833        NULL;
834        public static DataAbsentReason fromCode(String codeString) throws FHIRException {
835            if (codeString == null || "".equals(codeString))
836                return null;
837        if ("unknown".equals(codeString))
838          return UNKNOWN;
839        if ("asked-unknown".equals(codeString))
840          return ASKEDUNKNOWN;
841        if ("temp-unknown".equals(codeString))
842          return TEMPUNKNOWN;
843        if ("not-asked".equals(codeString))
844          return NOTASKED;
845        if ("asked-declined".equals(codeString))
846          return ASKEDDECLINED;
847        if ("masked".equals(codeString))
848          return MASKED;
849        if ("not-applicable".equals(codeString))
850          return NOTAPPLICABLE;
851        if ("unsupported".equals(codeString))
852          return UNSUPPORTED;
853        if ("as-text".equals(codeString))
854          return ASTEXT;
855        if ("error".equals(codeString))
856          return ERROR;
857        if ("not-a-number".equals(codeString))
858          return NOTANUMBER;
859        if ("negative-infinity".equals(codeString))
860          return NEGATIVEINFINITY;
861        if ("positive-infinity".equals(codeString))
862          return POSITIVEINFINITY;
863        if ("not-performed".equals(codeString))
864          return NOTPERFORMED;
865        if ("not-permitted".equals(codeString))
866          return NOTPERMITTED;
867        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
868        }
869        public String toCode() {
870          switch (this) {
871            case UNKNOWN: return "unknown";
872            case ASKEDUNKNOWN: return "asked-unknown";
873            case TEMPUNKNOWN: return "temp-unknown";
874            case NOTASKED: return "not-asked";
875            case ASKEDDECLINED: return "asked-declined";
876            case MASKED: return "masked";
877            case NOTAPPLICABLE: return "not-applicable";
878            case UNSUPPORTED: return "unsupported";
879            case ASTEXT: return "as-text";
880            case ERROR: return "error";
881            case NOTANUMBER: return "not-a-number";
882            case NEGATIVEINFINITY: return "negative-infinity";
883            case POSITIVEINFINITY: return "positive-infinity";
884            case NOTPERFORMED: return "not-performed";
885            case NOTPERMITTED: return "not-permitted";
886            default: return "?";
887          }
888        }
889        public String getSystem() {
890          switch (this) {
891            case UNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
892            case ASKEDUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
893            case TEMPUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
894            case NOTASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
895            case ASKEDDECLINED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
896            case MASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
897            case NOTAPPLICABLE: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
898            case UNSUPPORTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
899            case ASTEXT: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
900            case ERROR: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
901            case NOTANUMBER: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
902            case NEGATIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
903            case POSITIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
904            case NOTPERFORMED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
905            case NOTPERMITTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
906            default: return "?";
907          }
908        }
909        public String getDefinition() {
910          switch (this) {
911            case UNKNOWN: return "The value is expected to exist but is not known.";
912            case ASKEDUNKNOWN: return "The source was asked but does not know the value.";
913            case TEMPUNKNOWN: return "There is reason to expect (from the workflow) that the value may become known.";
914            case NOTASKED: return "The workflow didn't lead to this value being known.";
915            case ASKEDDECLINED: return "The source was asked but declined to answer.";
916            case MASKED: return "The information is not available due to security, privacy or related reasons.";
917            case NOTAPPLICABLE: return "There is no proper value for this element (e.g. last menstrual period for a male).";
918            case UNSUPPORTED: return "The source system wasn't capable of supporting this element.";
919            case ASTEXT: return "The content of the data is represented in the resource narrative.";
920            case ERROR: return "Some system or workflow process error means that the information is not available.";
921            case NOTANUMBER: return "The numeric value is undefined or unrepresentable due to a floating point processing error.";
922            case NEGATIVEINFINITY: return "The numeric value is excessively low and unrepresentable due to a floating point processing error.";
923            case POSITIVEINFINITY: return "The numeric value is excessively high and unrepresentable due to a floating point processing error.";
924            case NOTPERFORMED: return "The value is not available because the observation procedure (test, etc.) was not performed.";
925            case NOTPERMITTED: return "The value is not permitted in this context (e.g. due to profiles, or the base data types).";
926            default: return "?";
927          }
928        }
929        public String getDisplay() {
930          switch (this) {
931            case UNKNOWN: return "Unknown";
932            case ASKEDUNKNOWN: return "Asked But Unknown";
933            case TEMPUNKNOWN: return "Temporarily Unknown";
934            case NOTASKED: return "Not Asked";
935            case ASKEDDECLINED: return "Asked But Declined";
936            case MASKED: return "Masked";
937            case NOTAPPLICABLE: return "Not Applicable";
938            case UNSUPPORTED: return "Unsupported";
939            case ASTEXT: return "As Text";
940            case ERROR: return "Error";
941            case NOTANUMBER: return "Not a Number (NaN)";
942            case NEGATIVEINFINITY: return "Negative Infinity (NINF)";
943            case POSITIVEINFINITY: return "Positive Infinity (PINF)";
944            case NOTPERFORMED: return "Not Performed";
945            case NOTPERMITTED: return "Not Permitted";
946            default: return "?";
947          }
948        }
949    }
950
951  public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> {
952    public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException {
953      if (codeString == null || "".equals(codeString))
954            if (codeString == null || "".equals(codeString))
955                return null;
956        if ("unknown".equals(codeString))
957          return DataAbsentReason.UNKNOWN;
958        if ("asked-unknown".equals(codeString))
959          return DataAbsentReason.ASKEDUNKNOWN;
960        if ("temp-unknown".equals(codeString))
961          return DataAbsentReason.TEMPUNKNOWN;
962        if ("not-asked".equals(codeString))
963          return DataAbsentReason.NOTASKED;
964        if ("asked-declined".equals(codeString))
965          return DataAbsentReason.ASKEDDECLINED;
966        if ("masked".equals(codeString))
967          return DataAbsentReason.MASKED;
968        if ("not-applicable".equals(codeString))
969          return DataAbsentReason.NOTAPPLICABLE;
970        if ("unsupported".equals(codeString))
971          return DataAbsentReason.UNSUPPORTED;
972        if ("as-text".equals(codeString))
973          return DataAbsentReason.ASTEXT;
974        if ("error".equals(codeString))
975          return DataAbsentReason.ERROR;
976        if ("not-a-number".equals(codeString))
977          return DataAbsentReason.NOTANUMBER;
978        if ("negative-infinity".equals(codeString))
979          return DataAbsentReason.NEGATIVEINFINITY;
980        if ("positive-infinity".equals(codeString))
981          return DataAbsentReason.POSITIVEINFINITY;
982        if ("not-performed".equals(codeString))
983          return DataAbsentReason.NOTPERFORMED;
984        if ("not-permitted".equals(codeString))
985          return DataAbsentReason.NOTPERMITTED;
986        throw new IllegalArgumentException("Unknown DataAbsentReason code '"+codeString+"'");
987        }
988        public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException {
989          if (code == null)
990            return null;
991          if (code.isEmpty())
992            return new Enumeration<DataAbsentReason>(this);
993          String codeString = ((PrimitiveType) code).asStringValue();
994          if (codeString == null || "".equals(codeString))
995            return null;
996        if ("unknown".equals(codeString))
997          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN);
998        if ("asked-unknown".equals(codeString))
999          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDUNKNOWN);
1000        if ("temp-unknown".equals(codeString))
1001          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMPUNKNOWN);
1002        if ("not-asked".equals(codeString))
1003          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED);
1004        if ("asked-declined".equals(codeString))
1005          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDDECLINED);
1006        if ("masked".equals(codeString))
1007          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED);
1008        if ("not-applicable".equals(codeString))
1009          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTAPPLICABLE);
1010        if ("unsupported".equals(codeString))
1011          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED);
1012        if ("as-text".equals(codeString))
1013          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT);
1014        if ("error".equals(codeString))
1015          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR);
1016        if ("not-a-number".equals(codeString))
1017          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTANUMBER);
1018        if ("negative-infinity".equals(codeString))
1019          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NEGATIVEINFINITY);
1020        if ("positive-infinity".equals(codeString))
1021          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.POSITIVEINFINITY);
1022        if ("not-performed".equals(codeString))
1023          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERFORMED);
1024        if ("not-permitted".equals(codeString))
1025          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERMITTED);
1026        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
1027        }
1028    public String toCode(DataAbsentReason code) {
1029      if (code == DataAbsentReason.UNKNOWN)
1030        return "unknown";
1031      if (code == DataAbsentReason.ASKEDUNKNOWN)
1032        return "asked-unknown";
1033      if (code == DataAbsentReason.TEMPUNKNOWN)
1034        return "temp-unknown";
1035      if (code == DataAbsentReason.NOTASKED)
1036        return "not-asked";
1037      if (code == DataAbsentReason.ASKEDDECLINED)
1038        return "asked-declined";
1039      if (code == DataAbsentReason.MASKED)
1040        return "masked";
1041      if (code == DataAbsentReason.NOTAPPLICABLE)
1042        return "not-applicable";
1043      if (code == DataAbsentReason.UNSUPPORTED)
1044        return "unsupported";
1045      if (code == DataAbsentReason.ASTEXT)
1046        return "as-text";
1047      if (code == DataAbsentReason.ERROR)
1048        return "error";
1049      if (code == DataAbsentReason.NOTANUMBER)
1050        return "not-a-number";
1051      if (code == DataAbsentReason.NEGATIVEINFINITY)
1052        return "negative-infinity";
1053      if (code == DataAbsentReason.POSITIVEINFINITY)
1054        return "positive-infinity";
1055      if (code == DataAbsentReason.NOTPERFORMED)
1056        return "not-performed";
1057      if (code == DataAbsentReason.NOTPERMITTED)
1058        return "not-permitted";
1059      return "?";
1060      }
1061    public String toSystem(DataAbsentReason code) {
1062      return code.getSystem();
1063      }
1064    }
1065
1066    public enum DataType {
1067        /**
1068         * 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.
1069         */
1070        ADDRESS, 
1071        /**
1072         * A duration of time during which an organism (or a process) has existed.
1073         */
1074        AGE, 
1075        /**
1076         * A  text note which also  contains information about who made the statement and when.
1077         */
1078        ANNOTATION, 
1079        /**
1080         * For referring to data content defined in other formats.
1081         */
1082        ATTACHMENT, 
1083        /**
1084         * Base definition for all elements that are defined inside a resource - but not those in a data type.
1085         */
1086        BACKBONEELEMENT, 
1087        /**
1088         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
1089         */
1090        CODEABLECONCEPT, 
1091        /**
1092         * A reference to a code defined by a terminology system.
1093         */
1094        CODING, 
1095        /**
1096         * Specifies contact information for a person or organization.
1097         */
1098        CONTACTDETAIL, 
1099        /**
1100         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
1101         */
1102        CONTACTPOINT, 
1103        /**
1104         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
1105         */
1106        CONTRIBUTOR, 
1107        /**
1108         * 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.
1109         */
1110        COUNT, 
1111        /**
1112         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
1113         */
1114        DATAREQUIREMENT, 
1115        /**
1116         * A length - a value with a unit that is a physical distance.
1117         */
1118        DISTANCE, 
1119        /**
1120         * Indicates how the medication is/was taken or should be taken by the patient.
1121         */
1122        DOSAGE, 
1123        /**
1124         * A length of time.
1125         */
1126        DURATION, 
1127        /**
1128         * Base definition for all elements in a resource.
1129         */
1130        ELEMENT, 
1131        /**
1132         * Captures constraints on each element within the resource, profile, or extension.
1133         */
1134        ELEMENTDEFINITION, 
1135        /**
1136         * 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.
1137         */
1138        EXPRESSION, 
1139        /**
1140         * Optional Extension Element - found in all resources.
1141         */
1142        EXTENSION, 
1143        /**
1144         * A human's name with the ability to identify parts and usage.
1145         */
1146        HUMANNAME, 
1147        /**
1148         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
1149         */
1150        IDENTIFIER, 
1151        /**
1152         * 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.
1153         */
1154        MARKETINGSTATUS, 
1155        /**
1156         * 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.
1157         */
1158        META, 
1159        /**
1160         * An amount of economic utility in some recognized currency.
1161         */
1162        MONEY, 
1163        /**
1164         * null
1165         */
1166        MONEYQUANTITY, 
1167        /**
1168         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
1169         */
1170        NARRATIVE, 
1171        /**
1172         * 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.
1173         */
1174        PARAMETERDEFINITION, 
1175        /**
1176         * A time period defined by a start and end date and optionally time.
1177         */
1178        PERIOD, 
1179        /**
1180         * A populatioof people with some set of grouping criteria.
1181         */
1182        POPULATION, 
1183        /**
1184         * 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.
1185         */
1186        PRODCHARACTERISTIC, 
1187        /**
1188         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
1189         */
1190        PRODUCTSHELFLIFE, 
1191        /**
1192         * 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.
1193         */
1194        QUANTITY, 
1195        /**
1196         * A set of ordered Quantities defined by a low and high limit.
1197         */
1198        RANGE, 
1199        /**
1200         * A relationship of two Quantity values - expressed as a numerator and a denominator.
1201         */
1202        RATIO, 
1203        /**
1204         * A reference from one resource to another.
1205         */
1206        REFERENCE, 
1207        /**
1208         * Related artifacts such as additional documentation, justification, or bibliographic references.
1209         */
1210        RELATEDARTIFACT, 
1211        /**
1212         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
1213         */
1214        SAMPLEDDATA, 
1215        /**
1216         * 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.
1217         */
1218        SIGNATURE, 
1219        /**
1220         * null
1221         */
1222        SIMPLEQUANTITY, 
1223        /**
1224         * 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.
1225         */
1226        SUBSTANCEAMOUNT, 
1227        /**
1228         * 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.
1229         */
1230        TIMING, 
1231        /**
1232         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
1233         */
1234        TRIGGERDEFINITION, 
1235        /**
1236         * 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).
1237         */
1238        USAGECONTEXT, 
1239        /**
1240         * A stream of bytes
1241         */
1242        BASE64BINARY, 
1243        /**
1244         * Value of "true" or "false"
1245         */
1246        BOOLEAN, 
1247        /**
1248         * A URI that is a reference to a canonical URL on a FHIR resource
1249         */
1250        CANONICAL, 
1251        /**
1252         * 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
1253         */
1254        CODE, 
1255        /**
1256         * 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.
1257         */
1258        DATE, 
1259        /**
1260         * 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.
1261         */
1262        DATETIME, 
1263        /**
1264         * A rational number with implicit precision
1265         */
1266        DECIMAL, 
1267        /**
1268         * 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.
1269         */
1270        ID, 
1271        /**
1272         * An instant in time - known at least to the second
1273         */
1274        INSTANT, 
1275        /**
1276         * A whole number
1277         */
1278        INTEGER, 
1279        /**
1280         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
1281         */
1282        MARKDOWN, 
1283        /**
1284         * An OID represented as a URI
1285         */
1286        OID, 
1287        /**
1288         * An integer with a value that is positive (e.g. >0)
1289         */
1290        POSITIVEINT, 
1291        /**
1292         * A sequence of Unicode characters
1293         */
1294        STRING, 
1295        /**
1296         * A time during the day, with no date specified
1297         */
1298        TIME, 
1299        /**
1300         * An integer with a value that is not negative (e.g. >= 0)
1301         */
1302        UNSIGNEDINT, 
1303        /**
1304         * String of characters used to identify a name or a resource
1305         */
1306        URI, 
1307        /**
1308         * A URI that is a literal reference
1309         */
1310        URL, 
1311        /**
1312         * A UUID, represented as a URI
1313         */
1314        UUID, 
1315        /**
1316         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
1317         */
1318        XHTML, 
1319        /**
1320         * added to help the parsers
1321         */
1322        NULL;
1323        public static DataType fromCode(String codeString) throws FHIRException {
1324            if (codeString == null || "".equals(codeString))
1325                return null;
1326        if ("Address".equals(codeString))
1327          return ADDRESS;
1328        if ("Age".equals(codeString))
1329          return AGE;
1330        if ("Annotation".equals(codeString))
1331          return ANNOTATION;
1332        if ("Attachment".equals(codeString))
1333          return ATTACHMENT;
1334        if ("BackboneElement".equals(codeString))
1335          return BACKBONEELEMENT;
1336        if ("CodeableConcept".equals(codeString))
1337          return CODEABLECONCEPT;
1338        if ("Coding".equals(codeString))
1339          return CODING;
1340        if ("ContactDetail".equals(codeString))
1341          return CONTACTDETAIL;
1342        if ("ContactPoint".equals(codeString))
1343          return CONTACTPOINT;
1344        if ("Contributor".equals(codeString))
1345          return CONTRIBUTOR;
1346        if ("Count".equals(codeString))
1347          return COUNT;
1348        if ("DataRequirement".equals(codeString))
1349          return DATAREQUIREMENT;
1350        if ("Distance".equals(codeString))
1351          return DISTANCE;
1352        if ("Dosage".equals(codeString))
1353          return DOSAGE;
1354        if ("Duration".equals(codeString))
1355          return DURATION;
1356        if ("Element".equals(codeString))
1357          return ELEMENT;
1358        if ("ElementDefinition".equals(codeString))
1359          return ELEMENTDEFINITION;
1360        if ("Expression".equals(codeString))
1361          return EXPRESSION;
1362        if ("Extension".equals(codeString))
1363          return EXTENSION;
1364        if ("HumanName".equals(codeString))
1365          return HUMANNAME;
1366        if ("Identifier".equals(codeString))
1367          return IDENTIFIER;
1368        if ("MarketingStatus".equals(codeString))
1369          return MARKETINGSTATUS;
1370        if ("Meta".equals(codeString))
1371          return META;
1372        if ("Money".equals(codeString))
1373          return MONEY;
1374        if ("MoneyQuantity".equals(codeString))
1375          return MONEYQUANTITY;
1376        if ("Narrative".equals(codeString))
1377          return NARRATIVE;
1378        if ("ParameterDefinition".equals(codeString))
1379          return PARAMETERDEFINITION;
1380        if ("Period".equals(codeString))
1381          return PERIOD;
1382        if ("Population".equals(codeString))
1383          return POPULATION;
1384        if ("ProdCharacteristic".equals(codeString))
1385          return PRODCHARACTERISTIC;
1386        if ("ProductShelfLife".equals(codeString))
1387          return PRODUCTSHELFLIFE;
1388        if ("Quantity".equals(codeString))
1389          return QUANTITY;
1390        if ("Range".equals(codeString))
1391          return RANGE;
1392        if ("Ratio".equals(codeString))
1393          return RATIO;
1394        if ("Reference".equals(codeString))
1395          return REFERENCE;
1396        if ("RelatedArtifact".equals(codeString))
1397          return RELATEDARTIFACT;
1398        if ("SampledData".equals(codeString))
1399          return SAMPLEDDATA;
1400        if ("Signature".equals(codeString))
1401          return SIGNATURE;
1402        if ("SimpleQuantity".equals(codeString))
1403          return SIMPLEQUANTITY;
1404        if ("SubstanceAmount".equals(codeString))
1405          return SUBSTANCEAMOUNT;
1406        if ("Timing".equals(codeString))
1407          return TIMING;
1408        if ("TriggerDefinition".equals(codeString))
1409          return TRIGGERDEFINITION;
1410        if ("UsageContext".equals(codeString))
1411          return USAGECONTEXT;
1412        if ("base64Binary".equals(codeString))
1413          return BASE64BINARY;
1414        if ("boolean".equals(codeString))
1415          return BOOLEAN;
1416        if ("canonical".equals(codeString))
1417          return CANONICAL;
1418        if ("code".equals(codeString))
1419          return CODE;
1420        if ("date".equals(codeString))
1421          return DATE;
1422        if ("dateTime".equals(codeString))
1423          return DATETIME;
1424        if ("decimal".equals(codeString))
1425          return DECIMAL;
1426        if ("id".equals(codeString))
1427          return ID;
1428        if ("instant".equals(codeString))
1429          return INSTANT;
1430        if ("integer".equals(codeString))
1431          return INTEGER;
1432        if ("markdown".equals(codeString))
1433          return MARKDOWN;
1434        if ("oid".equals(codeString))
1435          return OID;
1436        if ("positiveInt".equals(codeString))
1437          return POSITIVEINT;
1438        if ("string".equals(codeString))
1439          return STRING;
1440        if ("time".equals(codeString))
1441          return TIME;
1442        if ("unsignedInt".equals(codeString))
1443          return UNSIGNEDINT;
1444        if ("uri".equals(codeString))
1445          return URI;
1446        if ("url".equals(codeString))
1447          return URL;
1448        if ("uuid".equals(codeString))
1449          return UUID;
1450        if ("xhtml".equals(codeString))
1451          return XHTML;
1452        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1453        }
1454        public String toCode() {
1455          switch (this) {
1456            case ADDRESS: return "Address";
1457            case AGE: return "Age";
1458            case ANNOTATION: return "Annotation";
1459            case ATTACHMENT: return "Attachment";
1460            case BACKBONEELEMENT: return "BackboneElement";
1461            case CODEABLECONCEPT: return "CodeableConcept";
1462            case CODING: return "Coding";
1463            case CONTACTDETAIL: return "ContactDetail";
1464            case CONTACTPOINT: return "ContactPoint";
1465            case CONTRIBUTOR: return "Contributor";
1466            case COUNT: return "Count";
1467            case DATAREQUIREMENT: return "DataRequirement";
1468            case DISTANCE: return "Distance";
1469            case DOSAGE: return "Dosage";
1470            case DURATION: return "Duration";
1471            case ELEMENT: return "Element";
1472            case ELEMENTDEFINITION: return "ElementDefinition";
1473            case EXPRESSION: return "Expression";
1474            case EXTENSION: return "Extension";
1475            case HUMANNAME: return "HumanName";
1476            case IDENTIFIER: return "Identifier";
1477            case MARKETINGSTATUS: return "MarketingStatus";
1478            case META: return "Meta";
1479            case MONEY: return "Money";
1480            case MONEYQUANTITY: return "MoneyQuantity";
1481            case NARRATIVE: return "Narrative";
1482            case PARAMETERDEFINITION: return "ParameterDefinition";
1483            case PERIOD: return "Period";
1484            case POPULATION: return "Population";
1485            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1486            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1487            case QUANTITY: return "Quantity";
1488            case RANGE: return "Range";
1489            case RATIO: return "Ratio";
1490            case REFERENCE: return "Reference";
1491            case RELATEDARTIFACT: return "RelatedArtifact";
1492            case SAMPLEDDATA: return "SampledData";
1493            case SIGNATURE: return "Signature";
1494            case SIMPLEQUANTITY: return "SimpleQuantity";
1495            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1496            case TIMING: return "Timing";
1497            case TRIGGERDEFINITION: return "TriggerDefinition";
1498            case USAGECONTEXT: return "UsageContext";
1499            case BASE64BINARY: return "base64Binary";
1500            case BOOLEAN: return "boolean";
1501            case CANONICAL: return "canonical";
1502            case CODE: return "code";
1503            case DATE: return "date";
1504            case DATETIME: return "dateTime";
1505            case DECIMAL: return "decimal";
1506            case ID: return "id";
1507            case INSTANT: return "instant";
1508            case INTEGER: return "integer";
1509            case MARKDOWN: return "markdown";
1510            case OID: return "oid";
1511            case POSITIVEINT: return "positiveInt";
1512            case STRING: return "string";
1513            case TIME: return "time";
1514            case UNSIGNEDINT: return "unsignedInt";
1515            case URI: return "uri";
1516            case URL: return "url";
1517            case UUID: return "uuid";
1518            case XHTML: return "xhtml";
1519            default: return "?";
1520          }
1521        }
1522        public String getSystem() {
1523          switch (this) {
1524            case ADDRESS: return "http://hl7.org/fhir/data-types";
1525            case AGE: return "http://hl7.org/fhir/data-types";
1526            case ANNOTATION: return "http://hl7.org/fhir/data-types";
1527            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
1528            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
1529            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
1530            case CODING: return "http://hl7.org/fhir/data-types";
1531            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
1532            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
1533            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
1534            case COUNT: return "http://hl7.org/fhir/data-types";
1535            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
1536            case DISTANCE: return "http://hl7.org/fhir/data-types";
1537            case DOSAGE: return "http://hl7.org/fhir/data-types";
1538            case DURATION: return "http://hl7.org/fhir/data-types";
1539            case ELEMENT: return "http://hl7.org/fhir/data-types";
1540            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
1541            case EXPRESSION: return "http://hl7.org/fhir/data-types";
1542            case EXTENSION: return "http://hl7.org/fhir/data-types";
1543            case HUMANNAME: return "http://hl7.org/fhir/data-types";
1544            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
1545            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
1546            case META: return "http://hl7.org/fhir/data-types";
1547            case MONEY: return "http://hl7.org/fhir/data-types";
1548            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
1549            case NARRATIVE: return "http://hl7.org/fhir/data-types";
1550            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
1551            case PERIOD: return "http://hl7.org/fhir/data-types";
1552            case POPULATION: return "http://hl7.org/fhir/data-types";
1553            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
1554            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
1555            case QUANTITY: return "http://hl7.org/fhir/data-types";
1556            case RANGE: return "http://hl7.org/fhir/data-types";
1557            case RATIO: return "http://hl7.org/fhir/data-types";
1558            case REFERENCE: return "http://hl7.org/fhir/data-types";
1559            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
1560            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
1561            case SIGNATURE: return "http://hl7.org/fhir/data-types";
1562            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
1563            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
1564            case TIMING: return "http://hl7.org/fhir/data-types";
1565            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
1566            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
1567            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
1568            case BOOLEAN: return "http://hl7.org/fhir/data-types";
1569            case CANONICAL: return "http://hl7.org/fhir/data-types";
1570            case CODE: return "http://hl7.org/fhir/data-types";
1571            case DATE: return "http://hl7.org/fhir/data-types";
1572            case DATETIME: return "http://hl7.org/fhir/data-types";
1573            case DECIMAL: return "http://hl7.org/fhir/data-types";
1574            case ID: return "http://hl7.org/fhir/data-types";
1575            case INSTANT: return "http://hl7.org/fhir/data-types";
1576            case INTEGER: return "http://hl7.org/fhir/data-types";
1577            case MARKDOWN: return "http://hl7.org/fhir/data-types";
1578            case OID: return "http://hl7.org/fhir/data-types";
1579            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
1580            case STRING: return "http://hl7.org/fhir/data-types";
1581            case TIME: return "http://hl7.org/fhir/data-types";
1582            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
1583            case URI: return "http://hl7.org/fhir/data-types";
1584            case URL: return "http://hl7.org/fhir/data-types";
1585            case UUID: return "http://hl7.org/fhir/data-types";
1586            case XHTML: return "http://hl7.org/fhir/data-types";
1587            default: return "?";
1588          }
1589        }
1590        public String getDefinition() {
1591          switch (this) {
1592            case ADDRESS: 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.";
1593            case AGE: return "A duration of time during which an organism (or a process) has existed.";
1594            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
1595            case ATTACHMENT: return "For referring to data content defined in other formats.";
1596            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
1597            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
1598            case CODING: return "A reference to a code defined by a terminology system.";
1599            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
1600            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
1601            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
1602            case COUNT: 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.";
1603            case DATAREQUIREMENT: 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.";
1604            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
1605            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
1606            case DURATION: return "A length of time.";
1607            case ELEMENT: return "Base definition for all elements in a resource.";
1608            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
1609            case EXPRESSION: 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.";
1610            case EXTENSION: return "Optional Extension Element - found in all resources.";
1611            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
1612            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
1613            case MARKETINGSTATUS: 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.";
1614            case META: 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.";
1615            case MONEY: return "An amount of economic utility in some recognized currency.";
1616            case MONEYQUANTITY: return "";
1617            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
1618            case PARAMETERDEFINITION: 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.";
1619            case PERIOD: return "A time period defined by a start and end date and optionally time.";
1620            case POPULATION: return "A populatioof people with some set of grouping criteria.";
1621            case PRODCHARACTERISTIC: 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.";
1622            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
1623            case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
1624            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
1625            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
1626            case REFERENCE: return "A reference from one resource to another.";
1627            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
1628            case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
1629            case SIGNATURE: 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.";
1630            case SIMPLEQUANTITY: return "";
1631            case SUBSTANCEAMOUNT: 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.";
1632            case TIMING: 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.";
1633            case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
1634            case USAGECONTEXT: 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).";
1635            case BASE64BINARY: return "A stream of bytes";
1636            case BOOLEAN: return "Value of \"true\" or \"false\"";
1637            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
1638            case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents";
1639            case DATE: return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
1640            case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.";
1641            case DECIMAL: return "A rational number with implicit precision";
1642            case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.";
1643            case INSTANT: return "An instant in time - known at least to the second";
1644            case INTEGER: return "A whole number";
1645            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
1646            case OID: return "An OID represented as a URI";
1647            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
1648            case STRING: return "A sequence of Unicode characters";
1649            case TIME: return "A time during the day, with no date specified";
1650            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
1651            case URI: return "String of characters used to identify a name or a resource";
1652            case URL: return "A URI that is a literal reference";
1653            case UUID: return "A UUID, represented as a URI";
1654            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
1655            default: return "?";
1656          }
1657        }
1658        public String getDisplay() {
1659          switch (this) {
1660            case ADDRESS: return "Address";
1661            case AGE: return "Age";
1662            case ANNOTATION: return "Annotation";
1663            case ATTACHMENT: return "Attachment";
1664            case BACKBONEELEMENT: return "BackboneElement";
1665            case CODEABLECONCEPT: return "CodeableConcept";
1666            case CODING: return "Coding";
1667            case CONTACTDETAIL: return "ContactDetail";
1668            case CONTACTPOINT: return "ContactPoint";
1669            case CONTRIBUTOR: return "Contributor";
1670            case COUNT: return "Count";
1671            case DATAREQUIREMENT: return "DataRequirement";
1672            case DISTANCE: return "Distance";
1673            case DOSAGE: return "Dosage";
1674            case DURATION: return "Duration";
1675            case ELEMENT: return "Element";
1676            case ELEMENTDEFINITION: return "ElementDefinition";
1677            case EXPRESSION: return "Expression";
1678            case EXTENSION: return "Extension";
1679            case HUMANNAME: return "HumanName";
1680            case IDENTIFIER: return "Identifier";
1681            case MARKETINGSTATUS: return "MarketingStatus";
1682            case META: return "Meta";
1683            case MONEY: return "Money";
1684            case MONEYQUANTITY: return "MoneyQuantity";
1685            case NARRATIVE: return "Narrative";
1686            case PARAMETERDEFINITION: return "ParameterDefinition";
1687            case PERIOD: return "Period";
1688            case POPULATION: return "Population";
1689            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1690            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1691            case QUANTITY: return "Quantity";
1692            case RANGE: return "Range";
1693            case RATIO: return "Ratio";
1694            case REFERENCE: return "Reference";
1695            case RELATEDARTIFACT: return "RelatedArtifact";
1696            case SAMPLEDDATA: return "SampledData";
1697            case SIGNATURE: return "Signature";
1698            case SIMPLEQUANTITY: return "SimpleQuantity";
1699            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1700            case TIMING: return "Timing";
1701            case TRIGGERDEFINITION: return "TriggerDefinition";
1702            case USAGECONTEXT: return "UsageContext";
1703            case BASE64BINARY: return "base64Binary";
1704            case BOOLEAN: return "boolean";
1705            case CANONICAL: return "canonical";
1706            case CODE: return "code";
1707            case DATE: return "date";
1708            case DATETIME: return "dateTime";
1709            case DECIMAL: return "decimal";
1710            case ID: return "id";
1711            case INSTANT: return "instant";
1712            case INTEGER: return "integer";
1713            case MARKDOWN: return "markdown";
1714            case OID: return "oid";
1715            case POSITIVEINT: return "positiveInt";
1716            case STRING: return "string";
1717            case TIME: return "time";
1718            case UNSIGNEDINT: return "unsignedInt";
1719            case URI: return "uri";
1720            case URL: return "url";
1721            case UUID: return "uuid";
1722            case XHTML: return "XHTML";
1723            default: return "?";
1724          }
1725        }
1726    }
1727
1728  public static class DataTypeEnumFactory implements EnumFactory<DataType> {
1729    public DataType fromCode(String codeString) throws IllegalArgumentException {
1730      if (codeString == null || "".equals(codeString))
1731            if (codeString == null || "".equals(codeString))
1732                return null;
1733        if ("Address".equals(codeString))
1734          return DataType.ADDRESS;
1735        if ("Age".equals(codeString))
1736          return DataType.AGE;
1737        if ("Annotation".equals(codeString))
1738          return DataType.ANNOTATION;
1739        if ("Attachment".equals(codeString))
1740          return DataType.ATTACHMENT;
1741        if ("BackboneElement".equals(codeString))
1742          return DataType.BACKBONEELEMENT;
1743        if ("CodeableConcept".equals(codeString))
1744          return DataType.CODEABLECONCEPT;
1745        if ("Coding".equals(codeString))
1746          return DataType.CODING;
1747        if ("ContactDetail".equals(codeString))
1748          return DataType.CONTACTDETAIL;
1749        if ("ContactPoint".equals(codeString))
1750          return DataType.CONTACTPOINT;
1751        if ("Contributor".equals(codeString))
1752          return DataType.CONTRIBUTOR;
1753        if ("Count".equals(codeString))
1754          return DataType.COUNT;
1755        if ("DataRequirement".equals(codeString))
1756          return DataType.DATAREQUIREMENT;
1757        if ("Distance".equals(codeString))
1758          return DataType.DISTANCE;
1759        if ("Dosage".equals(codeString))
1760          return DataType.DOSAGE;
1761        if ("Duration".equals(codeString))
1762          return DataType.DURATION;
1763        if ("Element".equals(codeString))
1764          return DataType.ELEMENT;
1765        if ("ElementDefinition".equals(codeString))
1766          return DataType.ELEMENTDEFINITION;
1767        if ("Expression".equals(codeString))
1768          return DataType.EXPRESSION;
1769        if ("Extension".equals(codeString))
1770          return DataType.EXTENSION;
1771        if ("HumanName".equals(codeString))
1772          return DataType.HUMANNAME;
1773        if ("Identifier".equals(codeString))
1774          return DataType.IDENTIFIER;
1775        if ("MarketingStatus".equals(codeString))
1776          return DataType.MARKETINGSTATUS;
1777        if ("Meta".equals(codeString))
1778          return DataType.META;
1779        if ("Money".equals(codeString))
1780          return DataType.MONEY;
1781        if ("MoneyQuantity".equals(codeString))
1782          return DataType.MONEYQUANTITY;
1783        if ("Narrative".equals(codeString))
1784          return DataType.NARRATIVE;
1785        if ("ParameterDefinition".equals(codeString))
1786          return DataType.PARAMETERDEFINITION;
1787        if ("Period".equals(codeString))
1788          return DataType.PERIOD;
1789        if ("Population".equals(codeString))
1790          return DataType.POPULATION;
1791        if ("ProdCharacteristic".equals(codeString))
1792          return DataType.PRODCHARACTERISTIC;
1793        if ("ProductShelfLife".equals(codeString))
1794          return DataType.PRODUCTSHELFLIFE;
1795        if ("Quantity".equals(codeString))
1796          return DataType.QUANTITY;
1797        if ("Range".equals(codeString))
1798          return DataType.RANGE;
1799        if ("Ratio".equals(codeString))
1800          return DataType.RATIO;
1801        if ("Reference".equals(codeString))
1802          return DataType.REFERENCE;
1803        if ("RelatedArtifact".equals(codeString))
1804          return DataType.RELATEDARTIFACT;
1805        if ("SampledData".equals(codeString))
1806          return DataType.SAMPLEDDATA;
1807        if ("Signature".equals(codeString))
1808          return DataType.SIGNATURE;
1809        if ("SimpleQuantity".equals(codeString))
1810          return DataType.SIMPLEQUANTITY;
1811        if ("SubstanceAmount".equals(codeString))
1812          return DataType.SUBSTANCEAMOUNT;
1813        if ("Timing".equals(codeString))
1814          return DataType.TIMING;
1815        if ("TriggerDefinition".equals(codeString))
1816          return DataType.TRIGGERDEFINITION;
1817        if ("UsageContext".equals(codeString))
1818          return DataType.USAGECONTEXT;
1819        if ("base64Binary".equals(codeString))
1820          return DataType.BASE64BINARY;
1821        if ("boolean".equals(codeString))
1822          return DataType.BOOLEAN;
1823        if ("canonical".equals(codeString))
1824          return DataType.CANONICAL;
1825        if ("code".equals(codeString))
1826          return DataType.CODE;
1827        if ("date".equals(codeString))
1828          return DataType.DATE;
1829        if ("dateTime".equals(codeString))
1830          return DataType.DATETIME;
1831        if ("decimal".equals(codeString))
1832          return DataType.DECIMAL;
1833        if ("id".equals(codeString))
1834          return DataType.ID;
1835        if ("instant".equals(codeString))
1836          return DataType.INSTANT;
1837        if ("integer".equals(codeString))
1838          return DataType.INTEGER;
1839        if ("markdown".equals(codeString))
1840          return DataType.MARKDOWN;
1841        if ("oid".equals(codeString))
1842          return DataType.OID;
1843        if ("positiveInt".equals(codeString))
1844          return DataType.POSITIVEINT;
1845        if ("string".equals(codeString))
1846          return DataType.STRING;
1847        if ("time".equals(codeString))
1848          return DataType.TIME;
1849        if ("unsignedInt".equals(codeString))
1850          return DataType.UNSIGNEDINT;
1851        if ("uri".equals(codeString))
1852          return DataType.URI;
1853        if ("url".equals(codeString))
1854          return DataType.URL;
1855        if ("uuid".equals(codeString))
1856          return DataType.UUID;
1857        if ("xhtml".equals(codeString))
1858          return DataType.XHTML;
1859        throw new IllegalArgumentException("Unknown DataType code '"+codeString+"'");
1860        }
1861        public Enumeration<DataType> fromType(Base code) throws FHIRException {
1862          if (code == null)
1863            return null;
1864          if (code.isEmpty())
1865            return new Enumeration<DataType>(this);
1866          String codeString = ((PrimitiveType) code).asStringValue();
1867          if (codeString == null || "".equals(codeString))
1868            return null;
1869        if ("Address".equals(codeString))
1870          return new Enumeration<DataType>(this, DataType.ADDRESS);
1871        if ("Age".equals(codeString))
1872          return new Enumeration<DataType>(this, DataType.AGE);
1873        if ("Annotation".equals(codeString))
1874          return new Enumeration<DataType>(this, DataType.ANNOTATION);
1875        if ("Attachment".equals(codeString))
1876          return new Enumeration<DataType>(this, DataType.ATTACHMENT);
1877        if ("BackboneElement".equals(codeString))
1878          return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT);
1879        if ("CodeableConcept".equals(codeString))
1880          return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT);
1881        if ("Coding".equals(codeString))
1882          return new Enumeration<DataType>(this, DataType.CODING);
1883        if ("ContactDetail".equals(codeString))
1884          return new Enumeration<DataType>(this, DataType.CONTACTDETAIL);
1885        if ("ContactPoint".equals(codeString))
1886          return new Enumeration<DataType>(this, DataType.CONTACTPOINT);
1887        if ("Contributor".equals(codeString))
1888          return new Enumeration<DataType>(this, DataType.CONTRIBUTOR);
1889        if ("Count".equals(codeString))
1890          return new Enumeration<DataType>(this, DataType.COUNT);
1891        if ("DataRequirement".equals(codeString))
1892          return new Enumeration<DataType>(this, DataType.DATAREQUIREMENT);
1893        if ("Distance".equals(codeString))
1894          return new Enumeration<DataType>(this, DataType.DISTANCE);
1895        if ("Dosage".equals(codeString))
1896          return new Enumeration<DataType>(this, DataType.DOSAGE);
1897        if ("Duration".equals(codeString))
1898          return new Enumeration<DataType>(this, DataType.DURATION);
1899        if ("Element".equals(codeString))
1900          return new Enumeration<DataType>(this, DataType.ELEMENT);
1901        if ("ElementDefinition".equals(codeString))
1902          return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION);
1903        if ("Expression".equals(codeString))
1904          return new Enumeration<DataType>(this, DataType.EXPRESSION);
1905        if ("Extension".equals(codeString))
1906          return new Enumeration<DataType>(this, DataType.EXTENSION);
1907        if ("HumanName".equals(codeString))
1908          return new Enumeration<DataType>(this, DataType.HUMANNAME);
1909        if ("Identifier".equals(codeString))
1910          return new Enumeration<DataType>(this, DataType.IDENTIFIER);
1911        if ("MarketingStatus".equals(codeString))
1912          return new Enumeration<DataType>(this, DataType.MARKETINGSTATUS);
1913        if ("Meta".equals(codeString))
1914          return new Enumeration<DataType>(this, DataType.META);
1915        if ("Money".equals(codeString))
1916          return new Enumeration<DataType>(this, DataType.MONEY);
1917        if ("MoneyQuantity".equals(codeString))
1918          return new Enumeration<DataType>(this, DataType.MONEYQUANTITY);
1919        if ("Narrative".equals(codeString))
1920          return new Enumeration<DataType>(this, DataType.NARRATIVE);
1921        if ("ParameterDefinition".equals(codeString))
1922          return new Enumeration<DataType>(this, DataType.PARAMETERDEFINITION);
1923        if ("Period".equals(codeString))
1924          return new Enumeration<DataType>(this, DataType.PERIOD);
1925        if ("Population".equals(codeString))
1926          return new Enumeration<DataType>(this, DataType.POPULATION);
1927        if ("ProdCharacteristic".equals(codeString))
1928          return new Enumeration<DataType>(this, DataType.PRODCHARACTERISTIC);
1929        if ("ProductShelfLife".equals(codeString))
1930          return new Enumeration<DataType>(this, DataType.PRODUCTSHELFLIFE);
1931        if ("Quantity".equals(codeString))
1932          return new Enumeration<DataType>(this, DataType.QUANTITY);
1933        if ("Range".equals(codeString))
1934          return new Enumeration<DataType>(this, DataType.RANGE);
1935        if ("Ratio".equals(codeString))
1936          return new Enumeration<DataType>(this, DataType.RATIO);
1937        if ("Reference".equals(codeString))
1938          return new Enumeration<DataType>(this, DataType.REFERENCE);
1939        if ("RelatedArtifact".equals(codeString))
1940          return new Enumeration<DataType>(this, DataType.RELATEDARTIFACT);
1941        if ("SampledData".equals(codeString))
1942          return new Enumeration<DataType>(this, DataType.SAMPLEDDATA);
1943        if ("Signature".equals(codeString))
1944          return new Enumeration<DataType>(this, DataType.SIGNATURE);
1945        if ("SimpleQuantity".equals(codeString))
1946          return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY);
1947        if ("SubstanceAmount".equals(codeString))
1948          return new Enumeration<DataType>(this, DataType.SUBSTANCEAMOUNT);
1949        if ("Timing".equals(codeString))
1950          return new Enumeration<DataType>(this, DataType.TIMING);
1951        if ("TriggerDefinition".equals(codeString))
1952          return new Enumeration<DataType>(this, DataType.TRIGGERDEFINITION);
1953        if ("UsageContext".equals(codeString))
1954          return new Enumeration<DataType>(this, DataType.USAGECONTEXT);
1955        if ("base64Binary".equals(codeString))
1956          return new Enumeration<DataType>(this, DataType.BASE64BINARY);
1957        if ("boolean".equals(codeString))
1958          return new Enumeration<DataType>(this, DataType.BOOLEAN);
1959        if ("canonical".equals(codeString))
1960          return new Enumeration<DataType>(this, DataType.CANONICAL);
1961        if ("code".equals(codeString))
1962          return new Enumeration<DataType>(this, DataType.CODE);
1963        if ("date".equals(codeString))
1964          return new Enumeration<DataType>(this, DataType.DATE);
1965        if ("dateTime".equals(codeString))
1966          return new Enumeration<DataType>(this, DataType.DATETIME);
1967        if ("decimal".equals(codeString))
1968          return new Enumeration<DataType>(this, DataType.DECIMAL);
1969        if ("id".equals(codeString))
1970          return new Enumeration<DataType>(this, DataType.ID);
1971        if ("instant".equals(codeString))
1972          return new Enumeration<DataType>(this, DataType.INSTANT);
1973        if ("integer".equals(codeString))
1974          return new Enumeration<DataType>(this, DataType.INTEGER);
1975        if ("markdown".equals(codeString))
1976          return new Enumeration<DataType>(this, DataType.MARKDOWN);
1977        if ("oid".equals(codeString))
1978          return new Enumeration<DataType>(this, DataType.OID);
1979        if ("positiveInt".equals(codeString))
1980          return new Enumeration<DataType>(this, DataType.POSITIVEINT);
1981        if ("string".equals(codeString))
1982          return new Enumeration<DataType>(this, DataType.STRING);
1983        if ("time".equals(codeString))
1984          return new Enumeration<DataType>(this, DataType.TIME);
1985        if ("unsignedInt".equals(codeString))
1986          return new Enumeration<DataType>(this, DataType.UNSIGNEDINT);
1987        if ("uri".equals(codeString))
1988          return new Enumeration<DataType>(this, DataType.URI);
1989        if ("url".equals(codeString))
1990          return new Enumeration<DataType>(this, DataType.URL);
1991        if ("uuid".equals(codeString))
1992          return new Enumeration<DataType>(this, DataType.UUID);
1993        if ("xhtml".equals(codeString))
1994          return new Enumeration<DataType>(this, DataType.XHTML);
1995        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1996        }
1997    public String toCode(DataType code) {
1998      if (code == DataType.ADDRESS)
1999        return "Address";
2000      if (code == DataType.AGE)
2001        return "Age";
2002      if (code == DataType.ANNOTATION)
2003        return "Annotation";
2004      if (code == DataType.ATTACHMENT)
2005        return "Attachment";
2006      if (code == DataType.BACKBONEELEMENT)
2007        return "BackboneElement";
2008      if (code == DataType.CODEABLECONCEPT)
2009        return "CodeableConcept";
2010      if (code == DataType.CODING)
2011        return "Coding";
2012      if (code == DataType.CONTACTDETAIL)
2013        return "ContactDetail";
2014      if (code == DataType.CONTACTPOINT)
2015        return "ContactPoint";
2016      if (code == DataType.CONTRIBUTOR)
2017        return "Contributor";
2018      if (code == DataType.COUNT)
2019        return "Count";
2020      if (code == DataType.DATAREQUIREMENT)
2021        return "DataRequirement";
2022      if (code == DataType.DISTANCE)
2023        return "Distance";
2024      if (code == DataType.DOSAGE)
2025        return "Dosage";
2026      if (code == DataType.DURATION)
2027        return "Duration";
2028      if (code == DataType.ELEMENT)
2029        return "Element";
2030      if (code == DataType.ELEMENTDEFINITION)
2031        return "ElementDefinition";
2032      if (code == DataType.EXPRESSION)
2033        return "Expression";
2034      if (code == DataType.EXTENSION)
2035        return "Extension";
2036      if (code == DataType.HUMANNAME)
2037        return "HumanName";
2038      if (code == DataType.IDENTIFIER)
2039        return "Identifier";
2040      if (code == DataType.MARKETINGSTATUS)
2041        return "MarketingStatus";
2042      if (code == DataType.META)
2043        return "Meta";
2044      if (code == DataType.MONEY)
2045        return "Money";
2046      if (code == DataType.MONEYQUANTITY)
2047        return "MoneyQuantity";
2048      if (code == DataType.NARRATIVE)
2049        return "Narrative";
2050      if (code == DataType.PARAMETERDEFINITION)
2051        return "ParameterDefinition";
2052      if (code == DataType.PERIOD)
2053        return "Period";
2054      if (code == DataType.POPULATION)
2055        return "Population";
2056      if (code == DataType.PRODCHARACTERISTIC)
2057        return "ProdCharacteristic";
2058      if (code == DataType.PRODUCTSHELFLIFE)
2059        return "ProductShelfLife";
2060      if (code == DataType.QUANTITY)
2061        return "Quantity";
2062      if (code == DataType.RANGE)
2063        return "Range";
2064      if (code == DataType.RATIO)
2065        return "Ratio";
2066      if (code == DataType.REFERENCE)
2067        return "Reference";
2068      if (code == DataType.RELATEDARTIFACT)
2069        return "RelatedArtifact";
2070      if (code == DataType.SAMPLEDDATA)
2071        return "SampledData";
2072      if (code == DataType.SIGNATURE)
2073        return "Signature";
2074      if (code == DataType.SIMPLEQUANTITY)
2075        return "SimpleQuantity";
2076      if (code == DataType.SUBSTANCEAMOUNT)
2077        return "SubstanceAmount";
2078      if (code == DataType.TIMING)
2079        return "Timing";
2080      if (code == DataType.TRIGGERDEFINITION)
2081        return "TriggerDefinition";
2082      if (code == DataType.USAGECONTEXT)
2083        return "UsageContext";
2084      if (code == DataType.BASE64BINARY)
2085        return "base64Binary";
2086      if (code == DataType.BOOLEAN)
2087        return "boolean";
2088      if (code == DataType.CANONICAL)
2089        return "canonical";
2090      if (code == DataType.CODE)
2091        return "code";
2092      if (code == DataType.DATE)
2093        return "date";
2094      if (code == DataType.DATETIME)
2095        return "dateTime";
2096      if (code == DataType.DECIMAL)
2097        return "decimal";
2098      if (code == DataType.ID)
2099        return "id";
2100      if (code == DataType.INSTANT)
2101        return "instant";
2102      if (code == DataType.INTEGER)
2103        return "integer";
2104      if (code == DataType.MARKDOWN)
2105        return "markdown";
2106      if (code == DataType.OID)
2107        return "oid";
2108      if (code == DataType.POSITIVEINT)
2109        return "positiveInt";
2110      if (code == DataType.STRING)
2111        return "string";
2112      if (code == DataType.TIME)
2113        return "time";
2114      if (code == DataType.UNSIGNEDINT)
2115        return "unsignedInt";
2116      if (code == DataType.URI)
2117        return "uri";
2118      if (code == DataType.URL)
2119        return "url";
2120      if (code == DataType.UUID)
2121        return "uuid";
2122      if (code == DataType.XHTML)
2123        return "xhtml";
2124      return "?";
2125      }
2126    public String toSystem(DataType code) {
2127      return code.getSystem();
2128      }
2129    }
2130
2131    public enum DefinitionResourceType {
2132        /**
2133         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
2134         */
2135        ACTIVITYDEFINITION, 
2136        /**
2137         * The EventDefinition resource provides a reusable description of when a particular event can occur.
2138         */
2139        EVENTDEFINITION, 
2140        /**
2141         * The Measure resource provides the definition of a quality measure.
2142         */
2143        MEASURE, 
2144        /**
2145         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
2146         */
2147        OPERATIONDEFINITION, 
2148        /**
2149         * 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.
2150         */
2151        PLANDEFINITION, 
2152        /**
2153         * 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.
2154         */
2155        QUESTIONNAIRE, 
2156        /**
2157         * added to help the parsers
2158         */
2159        NULL;
2160        public static DefinitionResourceType fromCode(String codeString) throws FHIRException {
2161            if (codeString == null || "".equals(codeString))
2162                return null;
2163        if ("ActivityDefinition".equals(codeString))
2164          return ACTIVITYDEFINITION;
2165        if ("EventDefinition".equals(codeString))
2166          return EVENTDEFINITION;
2167        if ("Measure".equals(codeString))
2168          return MEASURE;
2169        if ("OperationDefinition".equals(codeString))
2170          return OPERATIONDEFINITION;
2171        if ("PlanDefinition".equals(codeString))
2172          return PLANDEFINITION;
2173        if ("Questionnaire".equals(codeString))
2174          return QUESTIONNAIRE;
2175        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2176        }
2177        public String toCode() {
2178          switch (this) {
2179            case ACTIVITYDEFINITION: return "ActivityDefinition";
2180            case EVENTDEFINITION: return "EventDefinition";
2181            case MEASURE: return "Measure";
2182            case OPERATIONDEFINITION: return "OperationDefinition";
2183            case PLANDEFINITION: return "PlanDefinition";
2184            case QUESTIONNAIRE: return "Questionnaire";
2185            default: return "?";
2186          }
2187        }
2188        public String getSystem() {
2189          switch (this) {
2190            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2191            case EVENTDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2192            case MEASURE: return "http://hl7.org/fhir/definition-resource-types";
2193            case OPERATIONDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2194            case PLANDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2195            case QUESTIONNAIRE: return "http://hl7.org/fhir/definition-resource-types";
2196            default: return "?";
2197          }
2198        }
2199        public String getDefinition() {
2200          switch (this) {
2201            case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
2202            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
2203            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
2204            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
2205            case PLANDEFINITION: 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.";
2206            case QUESTIONNAIRE: 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.";
2207            default: return "?";
2208          }
2209        }
2210        public String getDisplay() {
2211          switch (this) {
2212            case ACTIVITYDEFINITION: return "ActivityDefinition";
2213            case EVENTDEFINITION: return "EventDefinition";
2214            case MEASURE: return "Measure";
2215            case OPERATIONDEFINITION: return "OperationDefinition";
2216            case PLANDEFINITION: return "PlanDefinition";
2217            case QUESTIONNAIRE: return "Questionnaire";
2218            default: return "?";
2219          }
2220        }
2221    }
2222
2223  public static class DefinitionResourceTypeEnumFactory implements EnumFactory<DefinitionResourceType> {
2224    public DefinitionResourceType fromCode(String codeString) throws IllegalArgumentException {
2225      if (codeString == null || "".equals(codeString))
2226            if (codeString == null || "".equals(codeString))
2227                return null;
2228        if ("ActivityDefinition".equals(codeString))
2229          return DefinitionResourceType.ACTIVITYDEFINITION;
2230        if ("EventDefinition".equals(codeString))
2231          return DefinitionResourceType.EVENTDEFINITION;
2232        if ("Measure".equals(codeString))
2233          return DefinitionResourceType.MEASURE;
2234        if ("OperationDefinition".equals(codeString))
2235          return DefinitionResourceType.OPERATIONDEFINITION;
2236        if ("PlanDefinition".equals(codeString))
2237          return DefinitionResourceType.PLANDEFINITION;
2238        if ("Questionnaire".equals(codeString))
2239          return DefinitionResourceType.QUESTIONNAIRE;
2240        throw new IllegalArgumentException("Unknown DefinitionResourceType code '"+codeString+"'");
2241        }
2242        public Enumeration<DefinitionResourceType> fromType(Base code) throws FHIRException {
2243          if (code == null)
2244            return null;
2245          if (code.isEmpty())
2246            return new Enumeration<DefinitionResourceType>(this);
2247          String codeString = ((PrimitiveType) code).asStringValue();
2248          if (codeString == null || "".equals(codeString))
2249            return null;
2250        if ("ActivityDefinition".equals(codeString))
2251          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.ACTIVITYDEFINITION);
2252        if ("EventDefinition".equals(codeString))
2253          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.EVENTDEFINITION);
2254        if ("Measure".equals(codeString))
2255          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.MEASURE);
2256        if ("OperationDefinition".equals(codeString))
2257          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.OPERATIONDEFINITION);
2258        if ("PlanDefinition".equals(codeString))
2259          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.PLANDEFINITION);
2260        if ("Questionnaire".equals(codeString))
2261          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.QUESTIONNAIRE);
2262        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2263        }
2264    public String toCode(DefinitionResourceType code) {
2265      if (code == DefinitionResourceType.ACTIVITYDEFINITION)
2266        return "ActivityDefinition";
2267      if (code == DefinitionResourceType.EVENTDEFINITION)
2268        return "EventDefinition";
2269      if (code == DefinitionResourceType.MEASURE)
2270        return "Measure";
2271      if (code == DefinitionResourceType.OPERATIONDEFINITION)
2272        return "OperationDefinition";
2273      if (code == DefinitionResourceType.PLANDEFINITION)
2274        return "PlanDefinition";
2275      if (code == DefinitionResourceType.QUESTIONNAIRE)
2276        return "Questionnaire";
2277      return "?";
2278      }
2279    public String toSystem(DefinitionResourceType code) {
2280      return code.getSystem();
2281      }
2282    }
2283
2284    public enum DocumentReferenceStatus {
2285        /**
2286         * This is the current reference for this document.
2287         */
2288        CURRENT, 
2289        /**
2290         * This reference has been superseded by another reference.
2291         */
2292        SUPERSEDED, 
2293        /**
2294         * This reference was created in error.
2295         */
2296        ENTEREDINERROR, 
2297        /**
2298         * added to help the parsers
2299         */
2300        NULL;
2301        public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException {
2302            if (codeString == null || "".equals(codeString))
2303                return null;
2304        if ("current".equals(codeString))
2305          return CURRENT;
2306        if ("superseded".equals(codeString))
2307          return SUPERSEDED;
2308        if ("entered-in-error".equals(codeString))
2309          return ENTEREDINERROR;
2310        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2311        }
2312        public String toCode() {
2313          switch (this) {
2314            case CURRENT: return "current";
2315            case SUPERSEDED: return "superseded";
2316            case ENTEREDINERROR: return "entered-in-error";
2317            default: return "?";
2318          }
2319        }
2320        public String getSystem() {
2321          switch (this) {
2322            case CURRENT: return "http://hl7.org/fhir/document-reference-status";
2323            case SUPERSEDED: return "http://hl7.org/fhir/document-reference-status";
2324            case ENTEREDINERROR: return "http://hl7.org/fhir/document-reference-status";
2325            default: return "?";
2326          }
2327        }
2328        public String getDefinition() {
2329          switch (this) {
2330            case CURRENT: return "This is the current reference for this document.";
2331            case SUPERSEDED: return "This reference has been superseded by another reference.";
2332            case ENTEREDINERROR: return "This reference was created in error.";
2333            default: return "?";
2334          }
2335        }
2336        public String getDisplay() {
2337          switch (this) {
2338            case CURRENT: return "Current";
2339            case SUPERSEDED: return "Superseded";
2340            case ENTEREDINERROR: return "Entered in Error";
2341            default: return "?";
2342          }
2343        }
2344    }
2345
2346  public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> {
2347    public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException {
2348      if (codeString == null || "".equals(codeString))
2349            if (codeString == null || "".equals(codeString))
2350                return null;
2351        if ("current".equals(codeString))
2352          return DocumentReferenceStatus.CURRENT;
2353        if ("superseded".equals(codeString))
2354          return DocumentReferenceStatus.SUPERSEDED;
2355        if ("entered-in-error".equals(codeString))
2356          return DocumentReferenceStatus.ENTEREDINERROR;
2357        throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2358        }
2359        public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException {
2360          if (code == null)
2361            return null;
2362          if (code.isEmpty())
2363            return new Enumeration<DocumentReferenceStatus>(this);
2364          String codeString = ((PrimitiveType) code).asStringValue();
2365          if (codeString == null || "".equals(codeString))
2366            return null;
2367        if ("current".equals(codeString))
2368          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT);
2369        if ("superseded".equals(codeString))
2370          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED);
2371        if ("entered-in-error".equals(codeString))
2372          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR);
2373        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2374        }
2375    public String toCode(DocumentReferenceStatus code) {
2376      if (code == DocumentReferenceStatus.CURRENT)
2377        return "current";
2378      if (code == DocumentReferenceStatus.SUPERSEDED)
2379        return "superseded";
2380      if (code == DocumentReferenceStatus.ENTEREDINERROR)
2381        return "entered-in-error";
2382      return "?";
2383      }
2384    public String toSystem(DocumentReferenceStatus code) {
2385      return code.getSystem();
2386      }
2387    }
2388
2389    public enum EventResourceType {
2390        /**
2391         * Item containing charge code(s) associated with the provision of healthcare provider products.
2392         */
2393        CHARGEITEM, 
2394        /**
2395         * Remittance resource.
2396         */
2397        CLAIMRESPONSE, 
2398        /**
2399         * A clinical assessment performed when planning treatments and management strategies for a patient.
2400         */
2401        CLINICALIMPRESSION, 
2402        /**
2403         * A record of information transmitted from a sender to a receiver.
2404         */
2405        COMMUNICATION, 
2406        /**
2407         * A set of resources composed into a single coherent clinical statement with clinical attestation.
2408         */
2409        COMPOSITION, 
2410        /**
2411         * Detailed information about conditions, problems or diagnoses.
2412         */
2413        CONDITION, 
2414        /**
2415         * A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.
2416         */
2417        CONSENT, 
2418        /**
2419         * Insurance or medical plan or a payment agreement.
2420         */
2421        COVERAGE, 
2422        /**
2423         * Record of use of a device.
2424         */
2425        DEVICEUSESTATEMENT, 
2426        /**
2427         * A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.
2428         */
2429        DIAGNOSTICREPORT, 
2430        /**
2431         * A list that defines a set of documents.
2432         */
2433        DOCUMENTMANIFEST, 
2434        /**
2435         * A reference to a document.
2436         */
2437        DOCUMENTREFERENCE, 
2438        /**
2439         * An interaction during which services are provided to the patient.
2440         */
2441        ENCOUNTER, 
2442        /**
2443         * EnrollmentResponse resource.
2444         */
2445        ENROLLMENTRESPONSE, 
2446        /**
2447         * 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.
2448         */
2449        EPISODEOFCARE, 
2450        /**
2451         * Explanation of Benefit resource.
2452         */
2453        EXPLANATIONOFBENEFIT, 
2454        /**
2455         * Information about patient's relatives, relevant for patient.
2456         */
2457        FAMILYMEMBERHISTORY, 
2458        /**
2459         * The formal response to a guidance request.
2460         */
2461        GUIDANCERESPONSE, 
2462        /**
2463         * A set of images produced in single study (one or more series of references images).
2464         */
2465        IMAGINGSTUDY, 
2466        /**
2467         * Immunization event information.
2468         */
2469        IMMUNIZATION, 
2470        /**
2471         * Results of a measure evaluation.
2472         */
2473        MEASUREREPORT, 
2474        /**
2475         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
2476         */
2477        MEDIA, 
2478        /**
2479         * Administration of medication to a patient.
2480         */
2481        MEDICATIONADMINISTRATION, 
2482        /**
2483         * Dispensing a medication to a named patient.
2484         */
2485        MEDICATIONDISPENSE, 
2486        /**
2487         * Record of medication being taken by a patient.
2488         */
2489        MEDICATIONSTATEMENT, 
2490        /**
2491         * Measurements and simple assertions.
2492         */
2493        OBSERVATION, 
2494        /**
2495         * PaymentNotice request.
2496         */
2497        PAYMENTNOTICE, 
2498        /**
2499         * PaymentReconciliation resource.
2500         */
2501        PAYMENTRECONCILIATION, 
2502        /**
2503         * An action that is being or was performed on a patient.
2504         */
2505        PROCEDURE, 
2506        /**
2507         * ProcessResponse resource.
2508         */
2509        PROCESSRESPONSE, 
2510        /**
2511         * A structured set of questions and their answers.
2512         */
2513        QUESTIONNAIRERESPONSE, 
2514        /**
2515         * Potential outcomes for a subject with likelihood.
2516         */
2517        RISKASSESSMENT, 
2518        /**
2519         * Delivery of bulk Supplies.
2520         */
2521        SUPPLYDELIVERY, 
2522        /**
2523         * A task to be performed.
2524         */
2525        TASK, 
2526        /**
2527         * added to help the parsers
2528         */
2529        NULL;
2530        public static EventResourceType fromCode(String codeString) throws FHIRException {
2531            if (codeString == null || "".equals(codeString))
2532                return null;
2533        if ("ChargeItem".equals(codeString))
2534          return CHARGEITEM;
2535        if ("ClaimResponse".equals(codeString))
2536          return CLAIMRESPONSE;
2537        if ("ClinicalImpression".equals(codeString))
2538          return CLINICALIMPRESSION;
2539        if ("Communication".equals(codeString))
2540          return COMMUNICATION;
2541        if ("Composition".equals(codeString))
2542          return COMPOSITION;
2543        if ("Condition".equals(codeString))
2544          return CONDITION;
2545        if ("Consent".equals(codeString))
2546          return CONSENT;
2547        if ("Coverage".equals(codeString))
2548          return COVERAGE;
2549        if ("DeviceUseStatement".equals(codeString))
2550          return DEVICEUSESTATEMENT;
2551        if ("DiagnosticReport".equals(codeString))
2552          return DIAGNOSTICREPORT;
2553        if ("DocumentManifest".equals(codeString))
2554          return DOCUMENTMANIFEST;
2555        if ("DocumentReference".equals(codeString))
2556          return DOCUMENTREFERENCE;
2557        if ("Encounter".equals(codeString))
2558          return ENCOUNTER;
2559        if ("EnrollmentResponse".equals(codeString))
2560          return ENROLLMENTRESPONSE;
2561        if ("EpisodeOfCare".equals(codeString))
2562          return EPISODEOFCARE;
2563        if ("ExplanationOfBenefit".equals(codeString))
2564          return EXPLANATIONOFBENEFIT;
2565        if ("FamilyMemberHistory".equals(codeString))
2566          return FAMILYMEMBERHISTORY;
2567        if ("GuidanceResponse".equals(codeString))
2568          return GUIDANCERESPONSE;
2569        if ("ImagingStudy".equals(codeString))
2570          return IMAGINGSTUDY;
2571        if ("Immunization".equals(codeString))
2572          return IMMUNIZATION;
2573        if ("MeasureReport".equals(codeString))
2574          return MEASUREREPORT;
2575        if ("Media".equals(codeString))
2576          return MEDIA;
2577        if ("MedicationAdministration".equals(codeString))
2578          return MEDICATIONADMINISTRATION;
2579        if ("MedicationDispense".equals(codeString))
2580          return MEDICATIONDISPENSE;
2581        if ("MedicationStatement".equals(codeString))
2582          return MEDICATIONSTATEMENT;
2583        if ("Observation".equals(codeString))
2584          return OBSERVATION;
2585        if ("PaymentNotice".equals(codeString))
2586          return PAYMENTNOTICE;
2587        if ("PaymentReconciliation".equals(codeString))
2588          return PAYMENTRECONCILIATION;
2589        if ("Procedure".equals(codeString))
2590          return PROCEDURE;
2591        if ("ProcessResponse".equals(codeString))
2592          return PROCESSRESPONSE;
2593        if ("QuestionnaireResponse".equals(codeString))
2594          return QUESTIONNAIRERESPONSE;
2595        if ("RiskAssessment".equals(codeString))
2596          return RISKASSESSMENT;
2597        if ("SupplyDelivery".equals(codeString))
2598          return SUPPLYDELIVERY;
2599        if ("Task".equals(codeString))
2600          return TASK;
2601        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2602        }
2603        public String toCode() {
2604          switch (this) {
2605            case CHARGEITEM: return "ChargeItem";
2606            case CLAIMRESPONSE: return "ClaimResponse";
2607            case CLINICALIMPRESSION: return "ClinicalImpression";
2608            case COMMUNICATION: return "Communication";
2609            case COMPOSITION: return "Composition";
2610            case CONDITION: return "Condition";
2611            case CONSENT: return "Consent";
2612            case COVERAGE: return "Coverage";
2613            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2614            case DIAGNOSTICREPORT: return "DiagnosticReport";
2615            case DOCUMENTMANIFEST: return "DocumentManifest";
2616            case DOCUMENTREFERENCE: return "DocumentReference";
2617            case ENCOUNTER: return "Encounter";
2618            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2619            case EPISODEOFCARE: return "EpisodeOfCare";
2620            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2621            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2622            case GUIDANCERESPONSE: return "GuidanceResponse";
2623            case IMAGINGSTUDY: return "ImagingStudy";
2624            case IMMUNIZATION: return "Immunization";
2625            case MEASUREREPORT: return "MeasureReport";
2626            case MEDIA: return "Media";
2627            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2628            case MEDICATIONDISPENSE: return "MedicationDispense";
2629            case MEDICATIONSTATEMENT: return "MedicationStatement";
2630            case OBSERVATION: return "Observation";
2631            case PAYMENTNOTICE: return "PaymentNotice";
2632            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2633            case PROCEDURE: return "Procedure";
2634            case PROCESSRESPONSE: return "ProcessResponse";
2635            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2636            case RISKASSESSMENT: return "RiskAssessment";
2637            case SUPPLYDELIVERY: return "SupplyDelivery";
2638            case TASK: return "Task";
2639            default: return "?";
2640          }
2641        }
2642        public String getSystem() {
2643          switch (this) {
2644            case CHARGEITEM: return "http://hl7.org/fhir/event-resource-types";
2645            case CLAIMRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2646            case CLINICALIMPRESSION: return "http://hl7.org/fhir/event-resource-types";
2647            case COMMUNICATION: return "http://hl7.org/fhir/event-resource-types";
2648            case COMPOSITION: return "http://hl7.org/fhir/event-resource-types";
2649            case CONDITION: return "http://hl7.org/fhir/event-resource-types";
2650            case CONSENT: return "http://hl7.org/fhir/event-resource-types";
2651            case COVERAGE: return "http://hl7.org/fhir/event-resource-types";
2652            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2653            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/event-resource-types";
2654            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/event-resource-types";
2655            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/event-resource-types";
2656            case ENCOUNTER: return "http://hl7.org/fhir/event-resource-types";
2657            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2658            case EPISODEOFCARE: return "http://hl7.org/fhir/event-resource-types";
2659            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/event-resource-types";
2660            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/event-resource-types";
2661            case GUIDANCERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2662            case IMAGINGSTUDY: return "http://hl7.org/fhir/event-resource-types";
2663            case IMMUNIZATION: return "http://hl7.org/fhir/event-resource-types";
2664            case MEASUREREPORT: return "http://hl7.org/fhir/event-resource-types";
2665            case MEDIA: return "http://hl7.org/fhir/event-resource-types";
2666            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/event-resource-types";
2667            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/event-resource-types";
2668            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2669            case OBSERVATION: return "http://hl7.org/fhir/event-resource-types";
2670            case PAYMENTNOTICE: return "http://hl7.org/fhir/event-resource-types";
2671            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/event-resource-types";
2672            case PROCEDURE: return "http://hl7.org/fhir/event-resource-types";
2673            case PROCESSRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2674            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2675            case RISKASSESSMENT: return "http://hl7.org/fhir/event-resource-types";
2676            case SUPPLYDELIVERY: return "http://hl7.org/fhir/event-resource-types";
2677            case TASK: return "http://hl7.org/fhir/event-resource-types";
2678            default: return "?";
2679          }
2680        }
2681        public String getDefinition() {
2682          switch (this) {
2683            case CHARGEITEM: return "Item containing charge code(s) associated with the provision of healthcare provider products.";
2684            case CLAIMRESPONSE: return "Remittance resource.";
2685            case CLINICALIMPRESSION: return "A clinical assessment performed when planning treatments and management strategies for a patient.";
2686            case COMMUNICATION: return "A record of information transmitted from a sender to a receiver.";
2687            case COMPOSITION: return "A set of resources composed into a single coherent clinical statement with clinical attestation.";
2688            case CONDITION: return "Detailed information about conditions, problems or diagnoses.";
2689            case CONSENT: return "A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.";
2690            case COVERAGE: return "Insurance or medical plan or a payment agreement.";
2691            case DEVICEUSESTATEMENT: return "Record of use of a device.";
2692            case DIAGNOSTICREPORT: return "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.";
2693            case DOCUMENTMANIFEST: return "A list that defines a set of documents.";
2694            case DOCUMENTREFERENCE: return "A reference to a document.";
2695            case ENCOUNTER: return "An interaction during which services are provided to the patient.";
2696            case ENROLLMENTRESPONSE: return "EnrollmentResponse resource.";
2697            case EPISODEOFCARE: 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.";
2698            case EXPLANATIONOFBENEFIT: return "Explanation of Benefit resource.";
2699            case FAMILYMEMBERHISTORY: return "Information about patient's relatives, relevant for patient.";
2700            case GUIDANCERESPONSE: return "The formal response to a guidance request.";
2701            case IMAGINGSTUDY: return "A set of images produced in single study (one or more series of references images).";
2702            case IMMUNIZATION: return "Immunization event information.";
2703            case MEASUREREPORT: return "Results of a measure evaluation.";
2704            case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
2705            case MEDICATIONADMINISTRATION: return "Administration of medication to a patient.";
2706            case MEDICATIONDISPENSE: return "Dispensing a medication to a named patient.";
2707            case MEDICATIONSTATEMENT: return "Record of medication being taken by a patient.";
2708            case OBSERVATION: return "Measurements and simple assertions.";
2709            case PAYMENTNOTICE: return "PaymentNotice request.";
2710            case PAYMENTRECONCILIATION: return "PaymentReconciliation resource.";
2711            case PROCEDURE: return "An action that is being or was performed on a patient.";
2712            case PROCESSRESPONSE: return "ProcessResponse resource.";
2713            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers.";
2714            case RISKASSESSMENT: return "Potential outcomes for a subject with likelihood.";
2715            case SUPPLYDELIVERY: return "Delivery of bulk Supplies.";
2716            case TASK: return "A task to be performed.";
2717            default: return "?";
2718          }
2719        }
2720        public String getDisplay() {
2721          switch (this) {
2722            case CHARGEITEM: return "ChargeItem";
2723            case CLAIMRESPONSE: return "ClaimResponse";
2724            case CLINICALIMPRESSION: return "ClinicalImpression";
2725            case COMMUNICATION: return "Communication";
2726            case COMPOSITION: return "Composition";
2727            case CONDITION: return "Condition";
2728            case CONSENT: return "Consent";
2729            case COVERAGE: return "Coverage";
2730            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2731            case DIAGNOSTICREPORT: return "DiagnosticReport";
2732            case DOCUMENTMANIFEST: return "DocumentManifest";
2733            case DOCUMENTREFERENCE: return "DocumentReference";
2734            case ENCOUNTER: return "Encounter";
2735            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2736            case EPISODEOFCARE: return "EpisodeOfCare";
2737            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2738            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2739            case GUIDANCERESPONSE: return "GuidanceResponse";
2740            case IMAGINGSTUDY: return "ImagingStudy";
2741            case IMMUNIZATION: return "Immunization";
2742            case MEASUREREPORT: return "MeasureReport";
2743            case MEDIA: return "Media";
2744            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2745            case MEDICATIONDISPENSE: return "MedicationDispense";
2746            case MEDICATIONSTATEMENT: return "MedicationStatement";
2747            case OBSERVATION: return "Observation";
2748            case PAYMENTNOTICE: return "PaymentNotice";
2749            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2750            case PROCEDURE: return "Procedure";
2751            case PROCESSRESPONSE: return "ProcessResponse";
2752            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2753            case RISKASSESSMENT: return "RiskAssessment";
2754            case SUPPLYDELIVERY: return "SupplyDelivery";
2755            case TASK: return "Task";
2756            default: return "?";
2757          }
2758        }
2759    }
2760
2761  public static class EventResourceTypeEnumFactory implements EnumFactory<EventResourceType> {
2762    public EventResourceType fromCode(String codeString) throws IllegalArgumentException {
2763      if (codeString == null || "".equals(codeString))
2764            if (codeString == null || "".equals(codeString))
2765                return null;
2766        if ("ChargeItem".equals(codeString))
2767          return EventResourceType.CHARGEITEM;
2768        if ("ClaimResponse".equals(codeString))
2769          return EventResourceType.CLAIMRESPONSE;
2770        if ("ClinicalImpression".equals(codeString))
2771          return EventResourceType.CLINICALIMPRESSION;
2772        if ("Communication".equals(codeString))
2773          return EventResourceType.COMMUNICATION;
2774        if ("Composition".equals(codeString))
2775          return EventResourceType.COMPOSITION;
2776        if ("Condition".equals(codeString))
2777          return EventResourceType.CONDITION;
2778        if ("Consent".equals(codeString))
2779          return EventResourceType.CONSENT;
2780        if ("Coverage".equals(codeString))
2781          return EventResourceType.COVERAGE;
2782        if ("DeviceUseStatement".equals(codeString))
2783          return EventResourceType.DEVICEUSESTATEMENT;
2784        if ("DiagnosticReport".equals(codeString))
2785          return EventResourceType.DIAGNOSTICREPORT;
2786        if ("DocumentManifest".equals(codeString))
2787          return EventResourceType.DOCUMENTMANIFEST;
2788        if ("DocumentReference".equals(codeString))
2789          return EventResourceType.DOCUMENTREFERENCE;
2790        if ("Encounter".equals(codeString))
2791          return EventResourceType.ENCOUNTER;
2792        if ("EnrollmentResponse".equals(codeString))
2793          return EventResourceType.ENROLLMENTRESPONSE;
2794        if ("EpisodeOfCare".equals(codeString))
2795          return EventResourceType.EPISODEOFCARE;
2796        if ("ExplanationOfBenefit".equals(codeString))
2797          return EventResourceType.EXPLANATIONOFBENEFIT;
2798        if ("FamilyMemberHistory".equals(codeString))
2799          return EventResourceType.FAMILYMEMBERHISTORY;
2800        if ("GuidanceResponse".equals(codeString))
2801          return EventResourceType.GUIDANCERESPONSE;
2802        if ("ImagingStudy".equals(codeString))
2803          return EventResourceType.IMAGINGSTUDY;
2804        if ("Immunization".equals(codeString))
2805          return EventResourceType.IMMUNIZATION;
2806        if ("MeasureReport".equals(codeString))
2807          return EventResourceType.MEASUREREPORT;
2808        if ("Media".equals(codeString))
2809          return EventResourceType.MEDIA;
2810        if ("MedicationAdministration".equals(codeString))
2811          return EventResourceType.MEDICATIONADMINISTRATION;
2812        if ("MedicationDispense".equals(codeString))
2813          return EventResourceType.MEDICATIONDISPENSE;
2814        if ("MedicationStatement".equals(codeString))
2815          return EventResourceType.MEDICATIONSTATEMENT;
2816        if ("Observation".equals(codeString))
2817          return EventResourceType.OBSERVATION;
2818        if ("PaymentNotice".equals(codeString))
2819          return EventResourceType.PAYMENTNOTICE;
2820        if ("PaymentReconciliation".equals(codeString))
2821          return EventResourceType.PAYMENTRECONCILIATION;
2822        if ("Procedure".equals(codeString))
2823          return EventResourceType.PROCEDURE;
2824        if ("ProcessResponse".equals(codeString))
2825          return EventResourceType.PROCESSRESPONSE;
2826        if ("QuestionnaireResponse".equals(codeString))
2827          return EventResourceType.QUESTIONNAIRERESPONSE;
2828        if ("RiskAssessment".equals(codeString))
2829          return EventResourceType.RISKASSESSMENT;
2830        if ("SupplyDelivery".equals(codeString))
2831          return EventResourceType.SUPPLYDELIVERY;
2832        if ("Task".equals(codeString))
2833          return EventResourceType.TASK;
2834        throw new IllegalArgumentException("Unknown EventResourceType code '"+codeString+"'");
2835        }
2836        public Enumeration<EventResourceType> fromType(Base code) throws FHIRException {
2837          if (code == null)
2838            return null;
2839          if (code.isEmpty())
2840            return new Enumeration<EventResourceType>(this);
2841          String codeString = ((PrimitiveType) code).asStringValue();
2842          if (codeString == null || "".equals(codeString))
2843            return null;
2844        if ("ChargeItem".equals(codeString))
2845          return new Enumeration<EventResourceType>(this, EventResourceType.CHARGEITEM);
2846        if ("ClaimResponse".equals(codeString))
2847          return new Enumeration<EventResourceType>(this, EventResourceType.CLAIMRESPONSE);
2848        if ("ClinicalImpression".equals(codeString))
2849          return new Enumeration<EventResourceType>(this, EventResourceType.CLINICALIMPRESSION);
2850        if ("Communication".equals(codeString))
2851          return new Enumeration<EventResourceType>(this, EventResourceType.COMMUNICATION);
2852        if ("Composition".equals(codeString))
2853          return new Enumeration<EventResourceType>(this, EventResourceType.COMPOSITION);
2854        if ("Condition".equals(codeString))
2855          return new Enumeration<EventResourceType>(this, EventResourceType.CONDITION);
2856        if ("Consent".equals(codeString))
2857          return new Enumeration<EventResourceType>(this, EventResourceType.CONSENT);
2858        if ("Coverage".equals(codeString))
2859          return new Enumeration<EventResourceType>(this, EventResourceType.COVERAGE);
2860        if ("DeviceUseStatement".equals(codeString))
2861          return new Enumeration<EventResourceType>(this, EventResourceType.DEVICEUSESTATEMENT);
2862        if ("DiagnosticReport".equals(codeString))
2863          return new Enumeration<EventResourceType>(this, EventResourceType.DIAGNOSTICREPORT);
2864        if ("DocumentManifest".equals(codeString))
2865          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTMANIFEST);
2866        if ("DocumentReference".equals(codeString))
2867          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTREFERENCE);
2868        if ("Encounter".equals(codeString))
2869          return new Enumeration<EventResourceType>(this, EventResourceType.ENCOUNTER);
2870        if ("EnrollmentResponse".equals(codeString))
2871          return new Enumeration<EventResourceType>(this, EventResourceType.ENROLLMENTRESPONSE);
2872        if ("EpisodeOfCare".equals(codeString))
2873          return new Enumeration<EventResourceType>(this, EventResourceType.EPISODEOFCARE);
2874        if ("ExplanationOfBenefit".equals(codeString))
2875          return new Enumeration<EventResourceType>(this, EventResourceType.EXPLANATIONOFBENEFIT);
2876        if ("FamilyMemberHistory".equals(codeString))
2877          return new Enumeration<EventResourceType>(this, EventResourceType.FAMILYMEMBERHISTORY);
2878        if ("GuidanceResponse".equals(codeString))
2879          return new Enumeration<EventResourceType>(this, EventResourceType.GUIDANCERESPONSE);
2880        if ("ImagingStudy".equals(codeString))
2881          return new Enumeration<EventResourceType>(this, EventResourceType.IMAGINGSTUDY);
2882        if ("Immunization".equals(codeString))
2883          return new Enumeration<EventResourceType>(this, EventResourceType.IMMUNIZATION);
2884        if ("MeasureReport".equals(codeString))
2885          return new Enumeration<EventResourceType>(this, EventResourceType.MEASUREREPORT);
2886        if ("Media".equals(codeString))
2887          return new Enumeration<EventResourceType>(this, EventResourceType.MEDIA);
2888        if ("MedicationAdministration".equals(codeString))
2889          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONADMINISTRATION);
2890        if ("MedicationDispense".equals(codeString))
2891          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONDISPENSE);
2892        if ("MedicationStatement".equals(codeString))
2893          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONSTATEMENT);
2894        if ("Observation".equals(codeString))
2895          return new Enumeration<EventResourceType>(this, EventResourceType.OBSERVATION);
2896        if ("PaymentNotice".equals(codeString))
2897          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTNOTICE);
2898        if ("PaymentReconciliation".equals(codeString))
2899          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTRECONCILIATION);
2900        if ("Procedure".equals(codeString))
2901          return new Enumeration<EventResourceType>(this, EventResourceType.PROCEDURE);
2902        if ("ProcessResponse".equals(codeString))
2903          return new Enumeration<EventResourceType>(this, EventResourceType.PROCESSRESPONSE);
2904        if ("QuestionnaireResponse".equals(codeString))
2905          return new Enumeration<EventResourceType>(this, EventResourceType.QUESTIONNAIRERESPONSE);
2906        if ("RiskAssessment".equals(codeString))
2907          return new Enumeration<EventResourceType>(this, EventResourceType.RISKASSESSMENT);
2908        if ("SupplyDelivery".equals(codeString))
2909          return new Enumeration<EventResourceType>(this, EventResourceType.SUPPLYDELIVERY);
2910        if ("Task".equals(codeString))
2911          return new Enumeration<EventResourceType>(this, EventResourceType.TASK);
2912        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2913        }
2914    public String toCode(EventResourceType code) {
2915      if (code == EventResourceType.CHARGEITEM)
2916        return "ChargeItem";
2917      if (code == EventResourceType.CLAIMRESPONSE)
2918        return "ClaimResponse";
2919      if (code == EventResourceType.CLINICALIMPRESSION)
2920        return "ClinicalImpression";
2921      if (code == EventResourceType.COMMUNICATION)
2922        return "Communication";
2923      if (code == EventResourceType.COMPOSITION)
2924        return "Composition";
2925      if (code == EventResourceType.CONDITION)
2926        return "Condition";
2927      if (code == EventResourceType.CONSENT)
2928        return "Consent";
2929      if (code == EventResourceType.COVERAGE)
2930        return "Coverage";
2931      if (code == EventResourceType.DEVICEUSESTATEMENT)
2932        return "DeviceUseStatement";
2933      if (code == EventResourceType.DIAGNOSTICREPORT)
2934        return "DiagnosticReport";
2935      if (code == EventResourceType.DOCUMENTMANIFEST)
2936        return "DocumentManifest";
2937      if (code == EventResourceType.DOCUMENTREFERENCE)
2938        return "DocumentReference";
2939      if (code == EventResourceType.ENCOUNTER)
2940        return "Encounter";
2941      if (code == EventResourceType.ENROLLMENTRESPONSE)
2942        return "EnrollmentResponse";
2943      if (code == EventResourceType.EPISODEOFCARE)
2944        return "EpisodeOfCare";
2945      if (code == EventResourceType.EXPLANATIONOFBENEFIT)
2946        return "ExplanationOfBenefit";
2947      if (code == EventResourceType.FAMILYMEMBERHISTORY)
2948        return "FamilyMemberHistory";
2949      if (code == EventResourceType.GUIDANCERESPONSE)
2950        return "GuidanceResponse";
2951      if (code == EventResourceType.IMAGINGSTUDY)
2952        return "ImagingStudy";
2953      if (code == EventResourceType.IMMUNIZATION)
2954        return "Immunization";
2955      if (code == EventResourceType.MEASUREREPORT)
2956        return "MeasureReport";
2957      if (code == EventResourceType.MEDIA)
2958        return "Media";
2959      if (code == EventResourceType.MEDICATIONADMINISTRATION)
2960        return "MedicationAdministration";
2961      if (code == EventResourceType.MEDICATIONDISPENSE)
2962        return "MedicationDispense";
2963      if (code == EventResourceType.MEDICATIONSTATEMENT)
2964        return "MedicationStatement";
2965      if (code == EventResourceType.OBSERVATION)
2966        return "Observation";
2967      if (code == EventResourceType.PAYMENTNOTICE)
2968        return "PaymentNotice";
2969      if (code == EventResourceType.PAYMENTRECONCILIATION)
2970        return "PaymentReconciliation";
2971      if (code == EventResourceType.PROCEDURE)
2972        return "Procedure";
2973      if (code == EventResourceType.PROCESSRESPONSE)
2974        return "ProcessResponse";
2975      if (code == EventResourceType.QUESTIONNAIRERESPONSE)
2976        return "QuestionnaireResponse";
2977      if (code == EventResourceType.RISKASSESSMENT)
2978        return "RiskAssessment";
2979      if (code == EventResourceType.SUPPLYDELIVERY)
2980        return "SupplyDelivery";
2981      if (code == EventResourceType.TASK)
2982        return "Task";
2983      return "?";
2984      }
2985    public String toSystem(EventResourceType code) {
2986      return code.getSystem();
2987      }
2988    }
2989
2990    public enum FHIRAllTypes {
2991        /**
2992         * 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.
2993         */
2994        ADDRESS, 
2995        /**
2996         * A duration of time during which an organism (or a process) has existed.
2997         */
2998        AGE, 
2999        /**
3000         * A  text note which also  contains information about who made the statement and when.
3001         */
3002        ANNOTATION, 
3003        /**
3004         * For referring to data content defined in other formats.
3005         */
3006        ATTACHMENT, 
3007        /**
3008         * Base definition for all elements that are defined inside a resource - but not those in a data type.
3009         */
3010        BACKBONEELEMENT, 
3011        /**
3012         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
3013         */
3014        CODEABLECONCEPT, 
3015        /**
3016         * A reference to a code defined by a terminology system.
3017         */
3018        CODING, 
3019        /**
3020         * Specifies contact information for a person or organization.
3021         */
3022        CONTACTDETAIL, 
3023        /**
3024         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
3025         */
3026        CONTACTPOINT, 
3027        /**
3028         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
3029         */
3030        CONTRIBUTOR, 
3031        /**
3032         * 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.
3033         */
3034        COUNT, 
3035        /**
3036         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
3037         */
3038        DATAREQUIREMENT, 
3039        /**
3040         * A length - a value with a unit that is a physical distance.
3041         */
3042        DISTANCE, 
3043        /**
3044         * Indicates how the medication is/was taken or should be taken by the patient.
3045         */
3046        DOSAGE, 
3047        /**
3048         * A length of time.
3049         */
3050        DURATION, 
3051        /**
3052         * Base definition for all elements in a resource.
3053         */
3054        ELEMENT, 
3055        /**
3056         * Captures constraints on each element within the resource, profile, or extension.
3057         */
3058        ELEMENTDEFINITION, 
3059        /**
3060         * 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.
3061         */
3062        EXPRESSION, 
3063        /**
3064         * Optional Extension Element - found in all resources.
3065         */
3066        EXTENSION, 
3067        /**
3068         * A human's name with the ability to identify parts and usage.
3069         */
3070        HUMANNAME, 
3071        /**
3072         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
3073         */
3074        IDENTIFIER, 
3075        /**
3076         * 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.
3077         */
3078        MARKETINGSTATUS, 
3079        /**
3080         * 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.
3081         */
3082        META, 
3083        /**
3084         * An amount of economic utility in some recognized currency.
3085         */
3086        MONEY, 
3087        /**
3088         * null
3089         */
3090        MONEYQUANTITY, 
3091        /**
3092         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
3093         */
3094        NARRATIVE, 
3095        /**
3096         * 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.
3097         */
3098        PARAMETERDEFINITION, 
3099        /**
3100         * A time period defined by a start and end date and optionally time.
3101         */
3102        PERIOD, 
3103        /**
3104         * A populatioof people with some set of grouping criteria.
3105         */
3106        POPULATION, 
3107        /**
3108         * 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.
3109         */
3110        PRODCHARACTERISTIC, 
3111        /**
3112         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
3113         */
3114        PRODUCTSHELFLIFE, 
3115        /**
3116         * 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.
3117         */
3118        QUANTITY, 
3119        /**
3120         * A set of ordered Quantities defined by a low and high limit.
3121         */
3122        RANGE, 
3123        /**
3124         * A relationship of two Quantity values - expressed as a numerator and a denominator.
3125         */
3126        RATIO, 
3127        /**
3128         * A reference from one resource to another.
3129         */
3130        REFERENCE, 
3131        /**
3132         * Related artifacts such as additional documentation, justification, or bibliographic references.
3133         */
3134        RELATEDARTIFACT, 
3135        /**
3136         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
3137         */
3138        SAMPLEDDATA, 
3139        /**
3140         * 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.
3141         */
3142        SIGNATURE, 
3143        /**
3144         * null
3145         */
3146        SIMPLEQUANTITY, 
3147        /**
3148         * 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.
3149         */
3150        SUBSTANCEAMOUNT, 
3151        /**
3152         * 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.
3153         */
3154        TIMING, 
3155        /**
3156         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
3157         */
3158        TRIGGERDEFINITION, 
3159        /**
3160         * 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).
3161         */
3162        USAGECONTEXT, 
3163        /**
3164         * A stream of bytes
3165         */
3166        BASE64BINARY, 
3167        /**
3168         * Value of "true" or "false"
3169         */
3170        BOOLEAN, 
3171        /**
3172         * A URI that is a reference to a canonical URL on a FHIR resource
3173         */
3174        CANONICAL, 
3175        /**
3176         * 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
3177         */
3178        CODE, 
3179        /**
3180         * 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.
3181         */
3182        DATE, 
3183        /**
3184         * 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.
3185         */
3186        DATETIME, 
3187        /**
3188         * A rational number with implicit precision
3189         */
3190        DECIMAL, 
3191        /**
3192         * 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.
3193         */
3194        ID, 
3195        /**
3196         * An instant in time - known at least to the second
3197         */
3198        INSTANT, 
3199        /**
3200         * A whole number
3201         */
3202        INTEGER, 
3203        /**
3204         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
3205         */
3206        MARKDOWN, 
3207        /**
3208         * An OID represented as a URI
3209         */
3210        OID, 
3211        /**
3212         * An integer with a value that is positive (e.g. >0)
3213         */
3214        POSITIVEINT, 
3215        /**
3216         * A sequence of Unicode characters
3217         */
3218        STRING, 
3219        /**
3220         * A time during the day, with no date specified
3221         */
3222        TIME, 
3223        /**
3224         * An integer with a value that is not negative (e.g. >= 0)
3225         */
3226        UNSIGNEDINT, 
3227        /**
3228         * String of characters used to identify a name or a resource
3229         */
3230        URI, 
3231        /**
3232         * A URI that is a literal reference
3233         */
3234        URL, 
3235        /**
3236         * A UUID, represented as a URI
3237         */
3238        UUID, 
3239        /**
3240         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
3241         */
3242        XHTML, 
3243        /**
3244         * 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.
3245         */
3246        ACCOUNT, 
3247        /**
3248         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
3249         */
3250        ACTIVITYDEFINITION, 
3251        /**
3252         * 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.
3253         */
3254        ADVERSEEVENT, 
3255        /**
3256         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
3257         */
3258        ALLERGYINTOLERANCE, 
3259        /**
3260         * 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).
3261         */
3262        APPOINTMENT, 
3263        /**
3264         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
3265         */
3266        APPOINTMENTRESPONSE, 
3267        /**
3268         * 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.
3269         */
3270        AUDITEVENT, 
3271        /**
3272         * 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.
3273         */
3274        BASIC, 
3275        /**
3276         * 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.
3277         */
3278        BINARY, 
3279        /**
3280         * A material substance originating from a biological entity intended to be transplanted or infused
3281into another (possibly the same) biological entity.
3282         */
3283        BIOLOGICALLYDERIVEDPRODUCT, 
3284        /**
3285         * 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.
3286         */
3287        BODYSTRUCTURE, 
3288        /**
3289         * A container for a collection of resources.
3290         */
3291        BUNDLE, 
3292        /**
3293         * 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.
3294         */
3295        CAPABILITYSTATEMENT, 
3296        /**
3297         * 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.
3298         */
3299        CAREPLAN, 
3300        /**
3301         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
3302         */
3303        CARETEAM, 
3304        /**
3305         * Catalog entries are wrappers that contextualize items included in a catalog.
3306         */
3307        CATALOGENTRY, 
3308        /**
3309         * 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.
3310         */
3311        CHARGEITEM, 
3312        /**
3313         * 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.
3314         */
3315        CHARGEITEMDEFINITION, 
3316        /**
3317         * 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.
3318         */
3319        CLAIM, 
3320        /**
3321         * This resource provides the adjudication details from the processing of a Claim resource.
3322         */
3323        CLAIMRESPONSE, 
3324        /**
3325         * 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.
3326         */
3327        CLINICALIMPRESSION, 
3328        /**
3329         * 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.
3330         */
3331        CODESYSTEM, 
3332        /**
3333         * 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.
3334         */
3335        COMMUNICATION, 
3336        /**
3337         * 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.
3338         */
3339        COMMUNICATIONREQUEST, 
3340        /**
3341         * A compartment definition that defines how resources are accessed on a server.
3342         */
3343        COMPARTMENTDEFINITION, 
3344        /**
3345         * 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.).
3346         */
3347        COMPOSITION, 
3348        /**
3349         * 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.
3350         */
3351        CONCEPTMAP, 
3352        /**
3353         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
3354         */
3355        CONDITION, 
3356        /**
3357         * 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.
3358         */
3359        CONSENT, 
3360        /**
3361         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
3362         */
3363        CONTRACT, 
3364        /**
3365         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
3366         */
3367        COVERAGE, 
3368        /**
3369         * 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.
3370         */
3371        COVERAGEELIGIBILITYREQUEST, 
3372        /**
3373         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
3374         */
3375        COVERAGEELIGIBILITYRESPONSE, 
3376        /**
3377         * 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.
3378         */
3379        DETECTEDISSUE, 
3380        /**
3381         * 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.
3382         */
3383        DEVICE, 
3384        /**
3385         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
3386         */
3387        DEVICEDEFINITION, 
3388        /**
3389         * Describes a measurement, calculation or setting capability of a medical device.
3390         */
3391        DEVICEMETRIC, 
3392        /**
3393         * 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.
3394         */
3395        DEVICEREQUEST, 
3396        /**
3397         * 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.
3398         */
3399        DEVICEUSESTATEMENT, 
3400        /**
3401         * 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.
3402         */
3403        DIAGNOSTICREPORT, 
3404        /**
3405         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
3406         */
3407        DOCUMENTMANIFEST, 
3408        /**
3409         * 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.
3410         */
3411        DOCUMENTREFERENCE, 
3412        /**
3413         * A resource that includes narrative, extensions, and contained resources.
3414         */
3415        DOMAINRESOURCE, 
3416        /**
3417         * 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.
3418         */
3419        EFFECTEVIDENCESYNTHESIS, 
3420        /**
3421         * 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.
3422         */
3423        ENCOUNTER, 
3424        /**
3425         * 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.
3426         */
3427        ENDPOINT, 
3428        /**
3429         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
3430         */
3431        ENROLLMENTREQUEST, 
3432        /**
3433         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
3434         */
3435        ENROLLMENTRESPONSE, 
3436        /**
3437         * 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.
3438         */
3439        EPISODEOFCARE, 
3440        /**
3441         * The EventDefinition resource provides a reusable description of when a particular event can occur.
3442         */
3443        EVENTDEFINITION, 
3444        /**
3445         * 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.
3446         */
3447        EVIDENCE, 
3448        /**
3449         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
3450         */
3451        EVIDENCEVARIABLE, 
3452        /**
3453         * Example of workflow instance.
3454         */
3455        EXAMPLESCENARIO, 
3456        /**
3457         * 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.
3458         */
3459        EXPLANATIONOFBENEFIT, 
3460        /**
3461         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
3462         */
3463        FAMILYMEMBERHISTORY, 
3464        /**
3465         * Prospective warnings of potential issues when providing care to the patient.
3466         */
3467        FLAG, 
3468        /**
3469         * 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.
3470         */
3471        GOAL, 
3472        /**
3473         * 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.
3474         */
3475        GRAPHDEFINITION, 
3476        /**
3477         * 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.
3478         */
3479        GROUP, 
3480        /**
3481         * 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.
3482         */
3483        GUIDANCERESPONSE, 
3484        /**
3485         * The details of a healthcare service available at a location.
3486         */
3487        HEALTHCARESERVICE, 
3488        /**
3489         * 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.
3490         */
3491        IMAGINGSTUDY, 
3492        /**
3493         * 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.
3494         */
3495        IMMUNIZATION, 
3496        /**
3497         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
3498         */
3499        IMMUNIZATIONEVALUATION, 
3500        /**
3501         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
3502         */
3503        IMMUNIZATIONRECOMMENDATION, 
3504        /**
3505         * 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.
3506         */
3507        IMPLEMENTATIONGUIDE, 
3508        /**
3509         * Details of a Health Insurance product/plan provided by an organization.
3510         */
3511        INSURANCEPLAN, 
3512        /**
3513         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
3514         */
3515        INVOICE, 
3516        /**
3517         * 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.
3518         */
3519        LIBRARY, 
3520        /**
3521         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
3522         */
3523        LINKAGE, 
3524        /**
3525         * A list is a curated collection of resources.
3526         */
3527        LIST, 
3528        /**
3529         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
3530         */
3531        LOCATION, 
3532        /**
3533         * The Measure resource provides the definition of a quality measure.
3534         */
3535        MEASURE, 
3536        /**
3537         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
3538         */
3539        MEASUREREPORT, 
3540        /**
3541         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
3542         */
3543        MEDIA, 
3544        /**
3545         * 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.
3546         */
3547        MEDICATION, 
3548        /**
3549         * 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.
3550         */
3551        MEDICATIONADMINISTRATION, 
3552        /**
3553         * 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.
3554         */
3555        MEDICATIONDISPENSE, 
3556        /**
3557         * Information about a medication that is used to support knowledge.
3558         */
3559        MEDICATIONKNOWLEDGE, 
3560        /**
3561         * 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.
3562         */
3563        MEDICATIONREQUEST, 
3564        /**
3565         * 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. 
3566
3567The 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.
3568         */
3569        MEDICATIONSTATEMENT, 
3570        /**
3571         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
3572         */
3573        MEDICINALPRODUCT, 
3574        /**
3575         * The regulatory authorization of a medicinal product.
3576         */
3577        MEDICINALPRODUCTAUTHORIZATION, 
3578        /**
3579         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
3580         */
3581        MEDICINALPRODUCTCONTRAINDICATION, 
3582        /**
3583         * Indication for the Medicinal Product.
3584         */
3585        MEDICINALPRODUCTINDICATION, 
3586        /**
3587         * An ingredient of a manufactured item or pharmaceutical product.
3588         */
3589        MEDICINALPRODUCTINGREDIENT, 
3590        /**
3591         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
3592         */
3593        MEDICINALPRODUCTINTERACTION, 
3594        /**
3595         * The manufactured item as contained in the packaged medicinal product.
3596         */
3597        MEDICINALPRODUCTMANUFACTURED, 
3598        /**
3599         * A medicinal product in a container or package.
3600         */
3601        MEDICINALPRODUCTPACKAGED, 
3602        /**
3603         * A pharmaceutical product described in terms of its composition and dose form.
3604         */
3605        MEDICINALPRODUCTPHARMACEUTICAL, 
3606        /**
3607         * Describe the undesirable effects of the medicinal product.
3608         */
3609        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
3610        /**
3611         * 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.
3612         */
3613        MESSAGEDEFINITION, 
3614        /**
3615         * 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.
3616         */
3617        MESSAGEHEADER, 
3618        /**
3619         * Raw data describing a biological sequence.
3620         */
3621        MOLECULARSEQUENCE, 
3622        /**
3623         * 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.
3624         */
3625        NAMINGSYSTEM, 
3626        /**
3627         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
3628         */
3629        NUTRITIONORDER, 
3630        /**
3631         * Measurements and simple assertions made about a patient, device or other subject.
3632         */
3633        OBSERVATION, 
3634        /**
3635         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
3636         */
3637        OBSERVATIONDEFINITION, 
3638        /**
3639         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
3640         */
3641        OPERATIONDEFINITION, 
3642        /**
3643         * A collection of error, warning, or information messages that result from a system action.
3644         */
3645        OPERATIONOUTCOME, 
3646        /**
3647         * 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.
3648         */
3649        ORGANIZATION, 
3650        /**
3651         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
3652         */
3653        ORGANIZATIONAFFILIATION, 
3654        /**
3655         * 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.
3656         */
3657        PARAMETERS, 
3658        /**
3659         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
3660         */
3661        PATIENT, 
3662        /**
3663         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
3664         */
3665        PAYMENTNOTICE, 
3666        /**
3667         * This resource provides the details including amount of a payment and allocates the payment items being paid.
3668         */
3669        PAYMENTRECONCILIATION, 
3670        /**
3671         * Demographics and administrative information about a person independent of a specific health-related context.
3672         */
3673        PERSON, 
3674        /**
3675         * 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.
3676         */
3677        PLANDEFINITION, 
3678        /**
3679         * A person who is directly or indirectly involved in the provisioning of healthcare.
3680         */
3681        PRACTITIONER, 
3682        /**
3683         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
3684         */
3685        PRACTITIONERROLE, 
3686        /**
3687         * 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.
3688         */
3689        PROCEDURE, 
3690        /**
3691         * 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.
3692         */
3693        PROVENANCE, 
3694        /**
3695         * 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.
3696         */
3697        QUESTIONNAIRE, 
3698        /**
3699         * 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.
3700         */
3701        QUESTIONNAIRERESPONSE, 
3702        /**
3703         * 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.
3704         */
3705        RELATEDPERSON, 
3706        /**
3707         * 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".
3708         */
3709        REQUESTGROUP, 
3710        /**
3711         * 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.
3712         */
3713        RESEARCHDEFINITION, 
3714        /**
3715         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
3716         */
3717        RESEARCHELEMENTDEFINITION, 
3718        /**
3719         * 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.
3720         */
3721        RESEARCHSTUDY, 
3722        /**
3723         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
3724         */
3725        RESEARCHSUBJECT, 
3726        /**
3727         * This is the base resource type for everything.
3728         */
3729        RESOURCE, 
3730        /**
3731         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
3732         */
3733        RISKASSESSMENT, 
3734        /**
3735         * 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.
3736         */
3737        RISKEVIDENCESYNTHESIS, 
3738        /**
3739         * A container for slots of time that may be available for booking appointments.
3740         */
3741        SCHEDULE, 
3742        /**
3743         * A search parameter that defines a named search item that can be used to search/filter on a resource.
3744         */
3745        SEARCHPARAMETER, 
3746        /**
3747         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
3748         */
3749        SERVICEREQUEST, 
3750        /**
3751         * A slot of time on a schedule that may be available for booking appointments.
3752         */
3753        SLOT, 
3754        /**
3755         * A sample to be used for analysis.
3756         */
3757        SPECIMEN, 
3758        /**
3759         * A kind of specimen with associated set of requirements.
3760         */
3761        SPECIMENDEFINITION, 
3762        /**
3763         * 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.
3764         */
3765        STRUCTUREDEFINITION, 
3766        /**
3767         * A Map of relationships between 2 structures that can be used to transform data.
3768         */
3769        STRUCTUREMAP, 
3770        /**
3771         * 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.
3772         */
3773        SUBSCRIPTION, 
3774        /**
3775         * A homogeneous material with a definite composition.
3776         */
3777        SUBSTANCE, 
3778        /**
3779         * 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.
3780         */
3781        SUBSTANCENUCLEICACID, 
3782        /**
3783         * Todo.
3784         */
3785        SUBSTANCEPOLYMER, 
3786        /**
3787         * 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.
3788         */
3789        SUBSTANCEPROTEIN, 
3790        /**
3791         * Todo.
3792         */
3793        SUBSTANCEREFERENCEINFORMATION, 
3794        /**
3795         * 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.
3796         */
3797        SUBSTANCESOURCEMATERIAL, 
3798        /**
3799         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
3800         */
3801        SUBSTANCESPECIFICATION, 
3802        /**
3803         * Record of delivery of what is supplied.
3804         */
3805        SUPPLYDELIVERY, 
3806        /**
3807         * A record of a request for a medication, substance or device used in the healthcare setting.
3808         */
3809        SUPPLYREQUEST, 
3810        /**
3811         * A task to be performed.
3812         */
3813        TASK, 
3814        /**
3815         * 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.
3816         */
3817        TERMINOLOGYCAPABILITIES, 
3818        /**
3819         * A summary of information based on the results of executing a TestScript.
3820         */
3821        TESTREPORT, 
3822        /**
3823         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
3824         */
3825        TESTSCRIPT, 
3826        /**
3827         * 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).
3828         */
3829        VALUESET, 
3830        /**
3831         * Describes validation requirements, source(s), status and dates for one or more elements.
3832         */
3833        VERIFICATIONRESULT, 
3834        /**
3835         * An authorization for the provision of glasses and/or contact lenses to a patient.
3836         */
3837        VISIONPRESCRIPTION, 
3838        /**
3839         * A place holder that means any kind of data type
3840         */
3841        TYPE, 
3842        /**
3843         * A place holder that means any kind of resource
3844         */
3845        ANY, 
3846        /**
3847         * added to help the parsers
3848         */
3849        NULL;
3850        public static FHIRAllTypes fromCode(String codeString) throws FHIRException {
3851            if (codeString == null || "".equals(codeString))
3852                return null;
3853        if ("Address".equals(codeString))
3854          return ADDRESS;
3855        if ("Age".equals(codeString))
3856          return AGE;
3857        if ("Annotation".equals(codeString))
3858          return ANNOTATION;
3859        if ("Attachment".equals(codeString))
3860          return ATTACHMENT;
3861        if ("BackboneElement".equals(codeString))
3862          return BACKBONEELEMENT;
3863        if ("CodeableConcept".equals(codeString))
3864          return CODEABLECONCEPT;
3865        if ("Coding".equals(codeString))
3866          return CODING;
3867        if ("ContactDetail".equals(codeString))
3868          return CONTACTDETAIL;
3869        if ("ContactPoint".equals(codeString))
3870          return CONTACTPOINT;
3871        if ("Contributor".equals(codeString))
3872          return CONTRIBUTOR;
3873        if ("Count".equals(codeString))
3874          return COUNT;
3875        if ("DataRequirement".equals(codeString))
3876          return DATAREQUIREMENT;
3877        if ("Distance".equals(codeString))
3878          return DISTANCE;
3879        if ("Dosage".equals(codeString))
3880          return DOSAGE;
3881        if ("Duration".equals(codeString))
3882          return DURATION;
3883        if ("Element".equals(codeString))
3884          return ELEMENT;
3885        if ("ElementDefinition".equals(codeString))
3886          return ELEMENTDEFINITION;
3887        if ("Expression".equals(codeString))
3888          return EXPRESSION;
3889        if ("Extension".equals(codeString))
3890          return EXTENSION;
3891        if ("HumanName".equals(codeString))
3892          return HUMANNAME;
3893        if ("Identifier".equals(codeString))
3894          return IDENTIFIER;
3895        if ("MarketingStatus".equals(codeString))
3896          return MARKETINGSTATUS;
3897        if ("Meta".equals(codeString))
3898          return META;
3899        if ("Money".equals(codeString))
3900          return MONEY;
3901        if ("MoneyQuantity".equals(codeString))
3902          return MONEYQUANTITY;
3903        if ("Narrative".equals(codeString))
3904          return NARRATIVE;
3905        if ("ParameterDefinition".equals(codeString))
3906          return PARAMETERDEFINITION;
3907        if ("Period".equals(codeString))
3908          return PERIOD;
3909        if ("Population".equals(codeString))
3910          return POPULATION;
3911        if ("ProdCharacteristic".equals(codeString))
3912          return PRODCHARACTERISTIC;
3913        if ("ProductShelfLife".equals(codeString))
3914          return PRODUCTSHELFLIFE;
3915        if ("Quantity".equals(codeString))
3916          return QUANTITY;
3917        if ("Range".equals(codeString))
3918          return RANGE;
3919        if ("Ratio".equals(codeString))
3920          return RATIO;
3921        if ("Reference".equals(codeString))
3922          return REFERENCE;
3923        if ("RelatedArtifact".equals(codeString))
3924          return RELATEDARTIFACT;
3925        if ("SampledData".equals(codeString))
3926          return SAMPLEDDATA;
3927        if ("Signature".equals(codeString))
3928          return SIGNATURE;
3929        if ("SimpleQuantity".equals(codeString))
3930          return SIMPLEQUANTITY;
3931        if ("SubstanceAmount".equals(codeString))
3932          return SUBSTANCEAMOUNT;
3933        if ("Timing".equals(codeString))
3934          return TIMING;
3935        if ("TriggerDefinition".equals(codeString))
3936          return TRIGGERDEFINITION;
3937        if ("UsageContext".equals(codeString))
3938          return USAGECONTEXT;
3939        if ("base64Binary".equals(codeString))
3940          return BASE64BINARY;
3941        if ("boolean".equals(codeString))
3942          return BOOLEAN;
3943        if ("canonical".equals(codeString))
3944          return CANONICAL;
3945        if ("code".equals(codeString))
3946          return CODE;
3947        if ("date".equals(codeString))
3948          return DATE;
3949        if ("dateTime".equals(codeString))
3950          return DATETIME;
3951        if ("decimal".equals(codeString))
3952          return DECIMAL;
3953        if ("id".equals(codeString))
3954          return ID;
3955        if ("instant".equals(codeString))
3956          return INSTANT;
3957        if ("integer".equals(codeString))
3958          return INTEGER;
3959        if ("markdown".equals(codeString))
3960          return MARKDOWN;
3961        if ("oid".equals(codeString))
3962          return OID;
3963        if ("positiveInt".equals(codeString))
3964          return POSITIVEINT;
3965        if ("string".equals(codeString))
3966          return STRING;
3967        if ("time".equals(codeString))
3968          return TIME;
3969        if ("unsignedInt".equals(codeString))
3970          return UNSIGNEDINT;
3971        if ("uri".equals(codeString))
3972          return URI;
3973        if ("url".equals(codeString))
3974          return URL;
3975        if ("uuid".equals(codeString))
3976          return UUID;
3977        if ("xhtml".equals(codeString))
3978          return XHTML;
3979        if ("Account".equals(codeString))
3980          return ACCOUNT;
3981        if ("ActivityDefinition".equals(codeString))
3982          return ACTIVITYDEFINITION;
3983        if ("AdverseEvent".equals(codeString))
3984          return ADVERSEEVENT;
3985        if ("AllergyIntolerance".equals(codeString))
3986          return ALLERGYINTOLERANCE;
3987        if ("Appointment".equals(codeString))
3988          return APPOINTMENT;
3989        if ("AppointmentResponse".equals(codeString))
3990          return APPOINTMENTRESPONSE;
3991        if ("AuditEvent".equals(codeString))
3992          return AUDITEVENT;
3993        if ("Basic".equals(codeString))
3994          return BASIC;
3995        if ("Binary".equals(codeString))
3996          return BINARY;
3997        if ("BiologicallyDerivedProduct".equals(codeString))
3998          return BIOLOGICALLYDERIVEDPRODUCT;
3999        if ("BodyStructure".equals(codeString))
4000          return BODYSTRUCTURE;
4001        if ("Bundle".equals(codeString))
4002          return BUNDLE;
4003        if ("CapabilityStatement".equals(codeString))
4004          return CAPABILITYSTATEMENT;
4005        if ("CarePlan".equals(codeString))
4006          return CAREPLAN;
4007        if ("CareTeam".equals(codeString))
4008          return CARETEAM;
4009        if ("CatalogEntry".equals(codeString))
4010          return CATALOGENTRY;
4011        if ("ChargeItem".equals(codeString))
4012          return CHARGEITEM;
4013        if ("ChargeItemDefinition".equals(codeString))
4014          return CHARGEITEMDEFINITION;
4015        if ("Claim".equals(codeString))
4016          return CLAIM;
4017        if ("ClaimResponse".equals(codeString))
4018          return CLAIMRESPONSE;
4019        if ("ClinicalImpression".equals(codeString))
4020          return CLINICALIMPRESSION;
4021        if ("CodeSystem".equals(codeString))
4022          return CODESYSTEM;
4023        if ("Communication".equals(codeString))
4024          return COMMUNICATION;
4025        if ("CommunicationRequest".equals(codeString))
4026          return COMMUNICATIONREQUEST;
4027        if ("CompartmentDefinition".equals(codeString))
4028          return COMPARTMENTDEFINITION;
4029        if ("Composition".equals(codeString))
4030          return COMPOSITION;
4031        if ("ConceptMap".equals(codeString))
4032          return CONCEPTMAP;
4033        if ("Condition".equals(codeString))
4034          return CONDITION;
4035        if ("Consent".equals(codeString))
4036          return CONSENT;
4037        if ("Contract".equals(codeString))
4038          return CONTRACT;
4039        if ("Coverage".equals(codeString))
4040          return COVERAGE;
4041        if ("CoverageEligibilityRequest".equals(codeString))
4042          return COVERAGEELIGIBILITYREQUEST;
4043        if ("CoverageEligibilityResponse".equals(codeString))
4044          return COVERAGEELIGIBILITYRESPONSE;
4045        if ("DetectedIssue".equals(codeString))
4046          return DETECTEDISSUE;
4047        if ("Device".equals(codeString))
4048          return DEVICE;
4049        if ("DeviceDefinition".equals(codeString))
4050          return DEVICEDEFINITION;
4051        if ("DeviceMetric".equals(codeString))
4052          return DEVICEMETRIC;
4053        if ("DeviceRequest".equals(codeString))
4054          return DEVICEREQUEST;
4055        if ("DeviceUseStatement".equals(codeString))
4056          return DEVICEUSESTATEMENT;
4057        if ("DiagnosticReport".equals(codeString))
4058          return DIAGNOSTICREPORT;
4059        if ("DocumentManifest".equals(codeString))
4060          return DOCUMENTMANIFEST;
4061        if ("DocumentReference".equals(codeString))
4062          return DOCUMENTREFERENCE;
4063        if ("DomainResource".equals(codeString))
4064          return DOMAINRESOURCE;
4065        if ("EffectEvidenceSynthesis".equals(codeString))
4066          return EFFECTEVIDENCESYNTHESIS;
4067        if ("Encounter".equals(codeString))
4068          return ENCOUNTER;
4069        if ("Endpoint".equals(codeString))
4070          return ENDPOINT;
4071        if ("EnrollmentRequest".equals(codeString))
4072          return ENROLLMENTREQUEST;
4073        if ("EnrollmentResponse".equals(codeString))
4074          return ENROLLMENTRESPONSE;
4075        if ("EpisodeOfCare".equals(codeString))
4076          return EPISODEOFCARE;
4077        if ("EventDefinition".equals(codeString))
4078          return EVENTDEFINITION;
4079        if ("Evidence".equals(codeString))
4080          return EVIDENCE;
4081        if ("EvidenceVariable".equals(codeString))
4082          return EVIDENCEVARIABLE;
4083        if ("ExampleScenario".equals(codeString))
4084          return EXAMPLESCENARIO;
4085        if ("ExplanationOfBenefit".equals(codeString))
4086          return EXPLANATIONOFBENEFIT;
4087        if ("FamilyMemberHistory".equals(codeString))
4088          return FAMILYMEMBERHISTORY;
4089        if ("Flag".equals(codeString))
4090          return FLAG;
4091        if ("Goal".equals(codeString))
4092          return GOAL;
4093        if ("GraphDefinition".equals(codeString))
4094          return GRAPHDEFINITION;
4095        if ("Group".equals(codeString))
4096          return GROUP;
4097        if ("GuidanceResponse".equals(codeString))
4098          return GUIDANCERESPONSE;
4099        if ("HealthcareService".equals(codeString))
4100          return HEALTHCARESERVICE;
4101        if ("ImagingStudy".equals(codeString))
4102          return IMAGINGSTUDY;
4103        if ("Immunization".equals(codeString))
4104          return IMMUNIZATION;
4105        if ("ImmunizationEvaluation".equals(codeString))
4106          return IMMUNIZATIONEVALUATION;
4107        if ("ImmunizationRecommendation".equals(codeString))
4108          return IMMUNIZATIONRECOMMENDATION;
4109        if ("ImplementationGuide".equals(codeString))
4110          return IMPLEMENTATIONGUIDE;
4111        if ("InsurancePlan".equals(codeString))
4112          return INSURANCEPLAN;
4113        if ("Invoice".equals(codeString))
4114          return INVOICE;
4115        if ("Library".equals(codeString))
4116          return LIBRARY;
4117        if ("Linkage".equals(codeString))
4118          return LINKAGE;
4119        if ("List".equals(codeString))
4120          return LIST;
4121        if ("Location".equals(codeString))
4122          return LOCATION;
4123        if ("Measure".equals(codeString))
4124          return MEASURE;
4125        if ("MeasureReport".equals(codeString))
4126          return MEASUREREPORT;
4127        if ("Media".equals(codeString))
4128          return MEDIA;
4129        if ("Medication".equals(codeString))
4130          return MEDICATION;
4131        if ("MedicationAdministration".equals(codeString))
4132          return MEDICATIONADMINISTRATION;
4133        if ("MedicationDispense".equals(codeString))
4134          return MEDICATIONDISPENSE;
4135        if ("MedicationKnowledge".equals(codeString))
4136          return MEDICATIONKNOWLEDGE;
4137        if ("MedicationRequest".equals(codeString))
4138          return MEDICATIONREQUEST;
4139        if ("MedicationStatement".equals(codeString))
4140          return MEDICATIONSTATEMENT;
4141        if ("MedicinalProduct".equals(codeString))
4142          return MEDICINALPRODUCT;
4143        if ("MedicinalProductAuthorization".equals(codeString))
4144          return MEDICINALPRODUCTAUTHORIZATION;
4145        if ("MedicinalProductContraindication".equals(codeString))
4146          return MEDICINALPRODUCTCONTRAINDICATION;
4147        if ("MedicinalProductIndication".equals(codeString))
4148          return MEDICINALPRODUCTINDICATION;
4149        if ("MedicinalProductIngredient".equals(codeString))
4150          return MEDICINALPRODUCTINGREDIENT;
4151        if ("MedicinalProductInteraction".equals(codeString))
4152          return MEDICINALPRODUCTINTERACTION;
4153        if ("MedicinalProductManufactured".equals(codeString))
4154          return MEDICINALPRODUCTMANUFACTURED;
4155        if ("MedicinalProductPackaged".equals(codeString))
4156          return MEDICINALPRODUCTPACKAGED;
4157        if ("MedicinalProductPharmaceutical".equals(codeString))
4158          return MEDICINALPRODUCTPHARMACEUTICAL;
4159        if ("MedicinalProductUndesirableEffect".equals(codeString))
4160          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
4161        if ("MessageDefinition".equals(codeString))
4162          return MESSAGEDEFINITION;
4163        if ("MessageHeader".equals(codeString))
4164          return MESSAGEHEADER;
4165        if ("MolecularSequence".equals(codeString))
4166          return MOLECULARSEQUENCE;
4167        if ("NamingSystem".equals(codeString))
4168          return NAMINGSYSTEM;
4169        if ("NutritionOrder".equals(codeString))
4170          return NUTRITIONORDER;
4171        if ("Observation".equals(codeString))
4172          return OBSERVATION;
4173        if ("ObservationDefinition".equals(codeString))
4174          return OBSERVATIONDEFINITION;
4175        if ("OperationDefinition".equals(codeString))
4176          return OPERATIONDEFINITION;
4177        if ("OperationOutcome".equals(codeString))
4178          return OPERATIONOUTCOME;
4179        if ("Organization".equals(codeString))
4180          return ORGANIZATION;
4181        if ("OrganizationAffiliation".equals(codeString))
4182          return ORGANIZATIONAFFILIATION;
4183        if ("Parameters".equals(codeString))
4184          return PARAMETERS;
4185        if ("Patient".equals(codeString))
4186          return PATIENT;
4187        if ("PaymentNotice".equals(codeString))
4188          return PAYMENTNOTICE;
4189        if ("PaymentReconciliation".equals(codeString))
4190          return PAYMENTRECONCILIATION;
4191        if ("Person".equals(codeString))
4192          return PERSON;
4193        if ("PlanDefinition".equals(codeString))
4194          return PLANDEFINITION;
4195        if ("Practitioner".equals(codeString))
4196          return PRACTITIONER;
4197        if ("PractitionerRole".equals(codeString))
4198          return PRACTITIONERROLE;
4199        if ("Procedure".equals(codeString))
4200          return PROCEDURE;
4201        if ("Provenance".equals(codeString))
4202          return PROVENANCE;
4203        if ("Questionnaire".equals(codeString))
4204          return QUESTIONNAIRE;
4205        if ("QuestionnaireResponse".equals(codeString))
4206          return QUESTIONNAIRERESPONSE;
4207        if ("RelatedPerson".equals(codeString))
4208          return RELATEDPERSON;
4209        if ("RequestGroup".equals(codeString))
4210          return REQUESTGROUP;
4211        if ("ResearchDefinition".equals(codeString))
4212          return RESEARCHDEFINITION;
4213        if ("ResearchElementDefinition".equals(codeString))
4214          return RESEARCHELEMENTDEFINITION;
4215        if ("ResearchStudy".equals(codeString))
4216          return RESEARCHSTUDY;
4217        if ("ResearchSubject".equals(codeString))
4218          return RESEARCHSUBJECT;
4219        if ("Resource".equals(codeString))
4220          return RESOURCE;
4221        if ("RiskAssessment".equals(codeString))
4222          return RISKASSESSMENT;
4223        if ("RiskEvidenceSynthesis".equals(codeString))
4224          return RISKEVIDENCESYNTHESIS;
4225        if ("Schedule".equals(codeString))
4226          return SCHEDULE;
4227        if ("SearchParameter".equals(codeString))
4228          return SEARCHPARAMETER;
4229        if ("ServiceRequest".equals(codeString))
4230          return SERVICEREQUEST;
4231        if ("Slot".equals(codeString))
4232          return SLOT;
4233        if ("Specimen".equals(codeString))
4234          return SPECIMEN;
4235        if ("SpecimenDefinition".equals(codeString))
4236          return SPECIMENDEFINITION;
4237        if ("StructureDefinition".equals(codeString))
4238          return STRUCTUREDEFINITION;
4239        if ("StructureMap".equals(codeString))
4240          return STRUCTUREMAP;
4241        if ("Subscription".equals(codeString))
4242          return SUBSCRIPTION;
4243        if ("Substance".equals(codeString))
4244          return SUBSTANCE;
4245        if ("SubstanceNucleicAcid".equals(codeString))
4246          return SUBSTANCENUCLEICACID;
4247        if ("SubstancePolymer".equals(codeString))
4248          return SUBSTANCEPOLYMER;
4249        if ("SubstanceProtein".equals(codeString))
4250          return SUBSTANCEPROTEIN;
4251        if ("SubstanceReferenceInformation".equals(codeString))
4252          return SUBSTANCEREFERENCEINFORMATION;
4253        if ("SubstanceSourceMaterial".equals(codeString))
4254          return SUBSTANCESOURCEMATERIAL;
4255        if ("SubstanceSpecification".equals(codeString))
4256          return SUBSTANCESPECIFICATION;
4257        if ("SupplyDelivery".equals(codeString))
4258          return SUPPLYDELIVERY;
4259        if ("SupplyRequest".equals(codeString))
4260          return SUPPLYREQUEST;
4261        if ("Task".equals(codeString))
4262          return TASK;
4263        if ("TerminologyCapabilities".equals(codeString))
4264          return TERMINOLOGYCAPABILITIES;
4265        if ("TestReport".equals(codeString))
4266          return TESTREPORT;
4267        if ("TestScript".equals(codeString))
4268          return TESTSCRIPT;
4269        if ("ValueSet".equals(codeString))
4270          return VALUESET;
4271        if ("VerificationResult".equals(codeString))
4272          return VERIFICATIONRESULT;
4273        if ("VisionPrescription".equals(codeString))
4274          return VISIONPRESCRIPTION;
4275        if ("Type".equals(codeString))
4276          return TYPE;
4277        if ("Any".equals(codeString))
4278          return ANY;
4279        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
4280        }
4281        public String toCode() {
4282          switch (this) {
4283            case ADDRESS: return "Address";
4284            case AGE: return "Age";
4285            case ANNOTATION: return "Annotation";
4286            case ATTACHMENT: return "Attachment";
4287            case BACKBONEELEMENT: return "BackboneElement";
4288            case CODEABLECONCEPT: return "CodeableConcept";
4289            case CODING: return "Coding";
4290            case CONTACTDETAIL: return "ContactDetail";
4291            case CONTACTPOINT: return "ContactPoint";
4292            case CONTRIBUTOR: return "Contributor";
4293            case COUNT: return "Count";
4294            case DATAREQUIREMENT: return "DataRequirement";
4295            case DISTANCE: return "Distance";
4296            case DOSAGE: return "Dosage";
4297            case DURATION: return "Duration";
4298            case ELEMENT: return "Element";
4299            case ELEMENTDEFINITION: return "ElementDefinition";
4300            case EXPRESSION: return "Expression";
4301            case EXTENSION: return "Extension";
4302            case HUMANNAME: return "HumanName";
4303            case IDENTIFIER: return "Identifier";
4304            case MARKETINGSTATUS: return "MarketingStatus";
4305            case META: return "Meta";
4306            case MONEY: return "Money";
4307            case MONEYQUANTITY: return "MoneyQuantity";
4308            case NARRATIVE: return "Narrative";
4309            case PARAMETERDEFINITION: return "ParameterDefinition";
4310            case PERIOD: return "Period";
4311            case POPULATION: return "Population";
4312            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4313            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4314            case QUANTITY: return "Quantity";
4315            case RANGE: return "Range";
4316            case RATIO: return "Ratio";
4317            case REFERENCE: return "Reference";
4318            case RELATEDARTIFACT: return "RelatedArtifact";
4319            case SAMPLEDDATA: return "SampledData";
4320            case SIGNATURE: return "Signature";
4321            case SIMPLEQUANTITY: return "SimpleQuantity";
4322            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4323            case TIMING: return "Timing";
4324            case TRIGGERDEFINITION: return "TriggerDefinition";
4325            case USAGECONTEXT: return "UsageContext";
4326            case BASE64BINARY: return "base64Binary";
4327            case BOOLEAN: return "boolean";
4328            case CANONICAL: return "canonical";
4329            case CODE: return "code";
4330            case DATE: return "date";
4331            case DATETIME: return "dateTime";
4332            case DECIMAL: return "decimal";
4333            case ID: return "id";
4334            case INSTANT: return "instant";
4335            case INTEGER: return "integer";
4336            case MARKDOWN: return "markdown";
4337            case OID: return "oid";
4338            case POSITIVEINT: return "positiveInt";
4339            case STRING: return "string";
4340            case TIME: return "time";
4341            case UNSIGNEDINT: return "unsignedInt";
4342            case URI: return "uri";
4343            case URL: return "url";
4344            case UUID: return "uuid";
4345            case XHTML: return "xhtml";
4346            case ACCOUNT: return "Account";
4347            case ACTIVITYDEFINITION: return "ActivityDefinition";
4348            case ADVERSEEVENT: return "AdverseEvent";
4349            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4350            case APPOINTMENT: return "Appointment";
4351            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4352            case AUDITEVENT: return "AuditEvent";
4353            case BASIC: return "Basic";
4354            case BINARY: return "Binary";
4355            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4356            case BODYSTRUCTURE: return "BodyStructure";
4357            case BUNDLE: return "Bundle";
4358            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4359            case CAREPLAN: return "CarePlan";
4360            case CARETEAM: return "CareTeam";
4361            case CATALOGENTRY: return "CatalogEntry";
4362            case CHARGEITEM: return "ChargeItem";
4363            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
4364            case CLAIM: return "Claim";
4365            case CLAIMRESPONSE: return "ClaimResponse";
4366            case CLINICALIMPRESSION: return "ClinicalImpression";
4367            case CODESYSTEM: return "CodeSystem";
4368            case COMMUNICATION: return "Communication";
4369            case COMMUNICATIONREQUEST: return "CommunicationRequest";
4370            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
4371            case COMPOSITION: return "Composition";
4372            case CONCEPTMAP: return "ConceptMap";
4373            case CONDITION: return "Condition";
4374            case CONSENT: return "Consent";
4375            case CONTRACT: return "Contract";
4376            case COVERAGE: return "Coverage";
4377            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
4378            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
4379            case DETECTEDISSUE: return "DetectedIssue";
4380            case DEVICE: return "Device";
4381            case DEVICEDEFINITION: return "DeviceDefinition";
4382            case DEVICEMETRIC: return "DeviceMetric";
4383            case DEVICEREQUEST: return "DeviceRequest";
4384            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
4385            case DIAGNOSTICREPORT: return "DiagnosticReport";
4386            case DOCUMENTMANIFEST: return "DocumentManifest";
4387            case DOCUMENTREFERENCE: return "DocumentReference";
4388            case DOMAINRESOURCE: return "DomainResource";
4389            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
4390            case ENCOUNTER: return "Encounter";
4391            case ENDPOINT: return "Endpoint";
4392            case ENROLLMENTREQUEST: return "EnrollmentRequest";
4393            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
4394            case EPISODEOFCARE: return "EpisodeOfCare";
4395            case EVENTDEFINITION: return "EventDefinition";
4396            case EVIDENCE: return "Evidence";
4397            case EVIDENCEVARIABLE: return "EvidenceVariable";
4398            case EXAMPLESCENARIO: return "ExampleScenario";
4399            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
4400            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
4401            case FLAG: return "Flag";
4402            case GOAL: return "Goal";
4403            case GRAPHDEFINITION: return "GraphDefinition";
4404            case GROUP: return "Group";
4405            case GUIDANCERESPONSE: return "GuidanceResponse";
4406            case HEALTHCARESERVICE: return "HealthcareService";
4407            case IMAGINGSTUDY: return "ImagingStudy";
4408            case IMMUNIZATION: return "Immunization";
4409            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
4410            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
4411            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
4412            case INSURANCEPLAN: return "InsurancePlan";
4413            case INVOICE: return "Invoice";
4414            case LIBRARY: return "Library";
4415            case LINKAGE: return "Linkage";
4416            case LIST: return "List";
4417            case LOCATION: return "Location";
4418            case MEASURE: return "Measure";
4419            case MEASUREREPORT: return "MeasureReport";
4420            case MEDIA: return "Media";
4421            case MEDICATION: return "Medication";
4422            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
4423            case MEDICATIONDISPENSE: return "MedicationDispense";
4424            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
4425            case MEDICATIONREQUEST: return "MedicationRequest";
4426            case MEDICATIONSTATEMENT: return "MedicationStatement";
4427            case MEDICINALPRODUCT: return "MedicinalProduct";
4428            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
4429            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
4430            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
4431            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
4432            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
4433            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
4434            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
4435            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
4436            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
4437            case MESSAGEDEFINITION: return "MessageDefinition";
4438            case MESSAGEHEADER: return "MessageHeader";
4439            case MOLECULARSEQUENCE: return "MolecularSequence";
4440            case NAMINGSYSTEM: return "NamingSystem";
4441            case NUTRITIONORDER: return "NutritionOrder";
4442            case OBSERVATION: return "Observation";
4443            case OBSERVATIONDEFINITION: return "ObservationDefinition";
4444            case OPERATIONDEFINITION: return "OperationDefinition";
4445            case OPERATIONOUTCOME: return "OperationOutcome";
4446            case ORGANIZATION: return "Organization";
4447            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
4448            case PARAMETERS: return "Parameters";
4449            case PATIENT: return "Patient";
4450            case PAYMENTNOTICE: return "PaymentNotice";
4451            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
4452            case PERSON: return "Person";
4453            case PLANDEFINITION: return "PlanDefinition";
4454            case PRACTITIONER: return "Practitioner";
4455            case PRACTITIONERROLE: return "PractitionerRole";
4456            case PROCEDURE: return "Procedure";
4457            case PROVENANCE: return "Provenance";
4458            case QUESTIONNAIRE: return "Questionnaire";
4459            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
4460            case RELATEDPERSON: return "RelatedPerson";
4461            case REQUESTGROUP: return "RequestGroup";
4462            case RESEARCHDEFINITION: return "ResearchDefinition";
4463            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
4464            case RESEARCHSTUDY: return "ResearchStudy";
4465            case RESEARCHSUBJECT: return "ResearchSubject";
4466            case RESOURCE: return "Resource";
4467            case RISKASSESSMENT: return "RiskAssessment";
4468            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
4469            case SCHEDULE: return "Schedule";
4470            case SEARCHPARAMETER: return "SearchParameter";
4471            case SERVICEREQUEST: return "ServiceRequest";
4472            case SLOT: return "Slot";
4473            case SPECIMEN: return "Specimen";
4474            case SPECIMENDEFINITION: return "SpecimenDefinition";
4475            case STRUCTUREDEFINITION: return "StructureDefinition";
4476            case STRUCTUREMAP: return "StructureMap";
4477            case SUBSCRIPTION: return "Subscription";
4478            case SUBSTANCE: return "Substance";
4479            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
4480            case SUBSTANCEPOLYMER: return "SubstancePolymer";
4481            case SUBSTANCEPROTEIN: return "SubstanceProtein";
4482            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
4483            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
4484            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
4485            case SUPPLYDELIVERY: return "SupplyDelivery";
4486            case SUPPLYREQUEST: return "SupplyRequest";
4487            case TASK: return "Task";
4488            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
4489            case TESTREPORT: return "TestReport";
4490            case TESTSCRIPT: return "TestScript";
4491            case VALUESET: return "ValueSet";
4492            case VERIFICATIONRESULT: return "VerificationResult";
4493            case VISIONPRESCRIPTION: return "VisionPrescription";
4494            case TYPE: return "Type";
4495            case ANY: return "Any";
4496            default: return "?";
4497          }
4498        }
4499        public String getSystem() {
4500          switch (this) {
4501            case ADDRESS: return "http://hl7.org/fhir/data-types";
4502            case AGE: return "http://hl7.org/fhir/data-types";
4503            case ANNOTATION: return "http://hl7.org/fhir/data-types";
4504            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
4505            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
4506            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
4507            case CODING: return "http://hl7.org/fhir/data-types";
4508            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
4509            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
4510            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
4511            case COUNT: return "http://hl7.org/fhir/data-types";
4512            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
4513            case DISTANCE: return "http://hl7.org/fhir/data-types";
4514            case DOSAGE: return "http://hl7.org/fhir/data-types";
4515            case DURATION: return "http://hl7.org/fhir/data-types";
4516            case ELEMENT: return "http://hl7.org/fhir/data-types";
4517            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
4518            case EXPRESSION: return "http://hl7.org/fhir/data-types";
4519            case EXTENSION: return "http://hl7.org/fhir/data-types";
4520            case HUMANNAME: return "http://hl7.org/fhir/data-types";
4521            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
4522            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
4523            case META: return "http://hl7.org/fhir/data-types";
4524            case MONEY: return "http://hl7.org/fhir/data-types";
4525            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
4526            case NARRATIVE: return "http://hl7.org/fhir/data-types";
4527            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
4528            case PERIOD: return "http://hl7.org/fhir/data-types";
4529            case POPULATION: return "http://hl7.org/fhir/data-types";
4530            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
4531            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
4532            case QUANTITY: return "http://hl7.org/fhir/data-types";
4533            case RANGE: return "http://hl7.org/fhir/data-types";
4534            case RATIO: return "http://hl7.org/fhir/data-types";
4535            case REFERENCE: return "http://hl7.org/fhir/data-types";
4536            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
4537            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
4538            case SIGNATURE: return "http://hl7.org/fhir/data-types";
4539            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
4540            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
4541            case TIMING: return "http://hl7.org/fhir/data-types";
4542            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
4543            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
4544            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
4545            case BOOLEAN: return "http://hl7.org/fhir/data-types";
4546            case CANONICAL: return "http://hl7.org/fhir/data-types";
4547            case CODE: return "http://hl7.org/fhir/data-types";
4548            case DATE: return "http://hl7.org/fhir/data-types";
4549            case DATETIME: return "http://hl7.org/fhir/data-types";
4550            case DECIMAL: return "http://hl7.org/fhir/data-types";
4551            case ID: return "http://hl7.org/fhir/data-types";
4552            case INSTANT: return "http://hl7.org/fhir/data-types";
4553            case INTEGER: return "http://hl7.org/fhir/data-types";
4554            case MARKDOWN: return "http://hl7.org/fhir/data-types";
4555            case OID: return "http://hl7.org/fhir/data-types";
4556            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
4557            case STRING: return "http://hl7.org/fhir/data-types";
4558            case TIME: return "http://hl7.org/fhir/data-types";
4559            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
4560            case URI: return "http://hl7.org/fhir/data-types";
4561            case URL: return "http://hl7.org/fhir/data-types";
4562            case UUID: return "http://hl7.org/fhir/data-types";
4563            case XHTML: return "http://hl7.org/fhir/data-types";
4564            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
4565            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
4566            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
4567            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
4568            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
4569            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4570            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
4571            case BASIC: return "http://hl7.org/fhir/resource-types";
4572            case BINARY: return "http://hl7.org/fhir/resource-types";
4573            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
4574            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
4575            case BUNDLE: return "http://hl7.org/fhir/resource-types";
4576            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
4577            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
4578            case CARETEAM: return "http://hl7.org/fhir/resource-types";
4579            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
4580            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
4581            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
4582            case CLAIM: return "http://hl7.org/fhir/resource-types";
4583            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
4584            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
4585            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
4586            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
4587            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4588            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4589            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
4590            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
4591            case CONDITION: return "http://hl7.org/fhir/resource-types";
4592            case CONSENT: return "http://hl7.org/fhir/resource-types";
4593            case CONTRACT: return "http://hl7.org/fhir/resource-types";
4594            case COVERAGE: return "http://hl7.org/fhir/resource-types";
4595            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
4596            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
4597            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
4598            case DEVICE: return "http://hl7.org/fhir/resource-types";
4599            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
4600            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
4601            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4602            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
4603            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
4604            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
4605            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
4606            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
4607            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
4608            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
4609            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
4610            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
4611            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4612            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
4613            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4614            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
4615            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
4616            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
4617            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
4618            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
4619            case FLAG: return "http://hl7.org/fhir/resource-types";
4620            case GOAL: return "http://hl7.org/fhir/resource-types";
4621            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
4622            case GROUP: return "http://hl7.org/fhir/resource-types";
4623            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
4624            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
4625            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
4626            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
4627            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
4628            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
4629            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
4630            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
4631            case INVOICE: return "http://hl7.org/fhir/resource-types";
4632            case LIBRARY: return "http://hl7.org/fhir/resource-types";
4633            case LINKAGE: return "http://hl7.org/fhir/resource-types";
4634            case LIST: return "http://hl7.org/fhir/resource-types";
4635            case LOCATION: return "http://hl7.org/fhir/resource-types";
4636            case MEASURE: return "http://hl7.org/fhir/resource-types";
4637            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
4638            case MEDIA: return "http://hl7.org/fhir/resource-types";
4639            case MEDICATION: return "http://hl7.org/fhir/resource-types";
4640            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
4641            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
4642            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
4643            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4644            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
4645            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
4646            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
4647            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
4648            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
4649            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
4650            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
4651            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
4652            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
4653            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
4654            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
4655            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
4656            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
4657            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
4658            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
4659            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
4660            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
4661            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4662            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4663            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
4664            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
4665            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
4666            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
4667            case PATIENT: return "http://hl7.org/fhir/resource-types";
4668            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
4669            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
4670            case PERSON: return "http://hl7.org/fhir/resource-types";
4671            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
4672            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
4673            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
4674            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
4675            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
4676            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
4677            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
4678            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
4679            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
4680            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
4681            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4682            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
4683            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
4684            case RESOURCE: return "http://hl7.org/fhir/resource-types";
4685            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
4686            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
4687            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
4688            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
4689            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4690            case SLOT: return "http://hl7.org/fhir/resource-types";
4691            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
4692            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
4693            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
4694            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
4695            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
4696            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
4697            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
4698            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
4699            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
4700            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
4701            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
4702            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
4703            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
4704            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
4705            case TASK: return "http://hl7.org/fhir/resource-types";
4706            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
4707            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
4708            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
4709            case VALUESET: return "http://hl7.org/fhir/resource-types";
4710            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
4711            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
4712            case TYPE: return "http://hl7.org/fhir/abstract-types";
4713            case ANY: return "http://hl7.org/fhir/abstract-types";
4714            default: return "?";
4715          }
4716        }
4717        public String getDefinition() {
4718          switch (this) {
4719            case ADDRESS: 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.";
4720            case AGE: return "A duration of time during which an organism (or a process) has existed.";
4721            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
4722            case ATTACHMENT: return "For referring to data content defined in other formats.";
4723            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
4724            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
4725            case CODING: return "A reference to a code defined by a terminology system.";
4726            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
4727            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
4728            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
4729            case COUNT: 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.";
4730            case DATAREQUIREMENT: 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.";
4731            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
4732            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
4733            case DURATION: return "A length of time.";
4734            case ELEMENT: return "Base definition for all elements in a resource.";
4735            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
4736            case EXPRESSION: 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.";
4737            case EXTENSION: return "Optional Extension Element - found in all resources.";
4738            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
4739            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
4740            case MARKETINGSTATUS: 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.";
4741            case META: 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.";
4742            case MONEY: return "An amount of economic utility in some recognized currency.";
4743            case MONEYQUANTITY: return "";
4744            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
4745            case PARAMETERDEFINITION: 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.";
4746            case PERIOD: return "A time period defined by a start and end date and optionally time.";
4747            case POPULATION: return "A populatioof people with some set of grouping criteria.";
4748            case PRODCHARACTERISTIC: 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.";
4749            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
4750            case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
4751            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
4752            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
4753            case REFERENCE: return "A reference from one resource to another.";
4754            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
4755            case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
4756            case SIGNATURE: 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.";
4757            case SIMPLEQUANTITY: return "";
4758            case SUBSTANCEAMOUNT: 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.";
4759            case TIMING: 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.";
4760            case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
4761            case USAGECONTEXT: 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).";
4762            case BASE64BINARY: return "A stream of bytes";
4763            case BOOLEAN: return "Value of \"true\" or \"false\"";
4764            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
4765            case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents";
4766            case DATE: return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
4767            case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.";
4768            case DECIMAL: return "A rational number with implicit precision";
4769            case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.";
4770            case INSTANT: return "An instant in time - known at least to the second";
4771            case INTEGER: return "A whole number";
4772            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
4773            case OID: return "An OID represented as a URI";
4774            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
4775            case STRING: return "A sequence of Unicode characters";
4776            case TIME: return "A time during the day, with no date specified";
4777            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
4778            case URI: return "String of characters used to identify a name or a resource";
4779            case URL: return "A URI that is a literal reference";
4780            case UUID: return "A UUID, represented as a URI";
4781            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
4782            case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
4783            case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
4784            case ADVERSEEVENT: 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.";
4785            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
4786            case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).";
4787            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
4788            case AUDITEVENT: return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.";
4789            case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.";
4790            case BINARY: 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.";
4791            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
4792            case BODYSTRUCTURE: 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.";
4793            case BUNDLE: return "A container for a collection of resources.";
4794            case CAPABILITYSTATEMENT: 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.";
4795            case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.";
4796            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
4797            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
4798            case CHARGEITEM: 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.";
4799            case CHARGEITEMDEFINITION: 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.";
4800            case CLAIM: 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.";
4801            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
4802            case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.";
4803            case CODESYSTEM: 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.";
4804            case COMMUNICATION: 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.";
4805            case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.";
4806            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
4807            case COMPOSITION: 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.).";
4808            case CONCEPTMAP: 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.";
4809            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
4810            case CONSENT: 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.";
4811            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
4812            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
4813            case COVERAGEELIGIBILITYREQUEST: 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.";
4814            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
4815            case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.";
4816            case DEVICE: 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.";
4817            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
4818            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
4819            case DEVICEREQUEST: 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.";
4820            case DEVICEUSESTATEMENT: return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.";
4821            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.";
4822            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
4823            case DOCUMENTREFERENCE: 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.";
4824            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
4825            case EFFECTEVIDENCESYNTHESIS: 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.";
4826            case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.";
4827            case ENDPOINT: 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.";
4828            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
4829            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
4830            case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.";
4831            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
4832            case EVIDENCE: 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.";
4833            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
4834            case EXAMPLESCENARIO: return "Example of workflow instance.";
4835            case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.";
4836            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
4837            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
4838            case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.";
4839            case GRAPHDEFINITION: 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.";
4840            case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.";
4841            case GUIDANCERESPONSE: 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.";
4842            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
4843            case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.";
4844            case IMMUNIZATION: 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.";
4845            case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
4846            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
4847            case IMPLEMENTATIONGUIDE: 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.";
4848            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
4849            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
4850            case LIBRARY: 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.";
4851            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
4852            case LIST: return "A list is a curated collection of resources.";
4853            case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
4854            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
4855            case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
4856            case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
4857            case MEDICATION: 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.";
4858            case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.";
4859            case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.";
4860            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
4861            case MEDICATIONREQUEST: 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.";
4862            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from 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.";
4863            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
4864            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
4865            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
4866            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
4867            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
4868            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
4869            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
4870            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
4871            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
4872            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
4873            case MESSAGEDEFINITION: 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.";
4874            case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.";
4875            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
4876            case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a \"System\" used within the Identifier and Coding data types.";
4877            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
4878            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
4879            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
4880            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
4881            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
4882            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
4883            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
4884            case PARAMETERS: 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.";
4885            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
4886            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
4887            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
4888            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
4889            case PLANDEFINITION: 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.";
4890            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
4891            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
4892            case PROCEDURE: 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.";
4893            case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.";
4894            case QUESTIONNAIRE: 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.";
4895            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.";
4896            case RELATEDPERSON: return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
4897            case REQUESTGROUP: 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\".";
4898            case RESEARCHDEFINITION: 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.";
4899            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
4900            case RESEARCHSTUDY: 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.";
4901            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
4902            case RESOURCE: return "This is the base resource type for everything.";
4903            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
4904            case RISKEVIDENCESYNTHESIS: 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.";
4905            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
4906            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
4907            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
4908            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
4909            case SPECIMEN: return "A sample to be used for analysis.";
4910            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
4911            case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.";
4912            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
4913            case SUBSCRIPTION: return "The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system can take an appropriate action.";
4914            case SUBSTANCE: return "A homogeneous material with a definite composition.";
4915            case SUBSTANCENUCLEICACID: 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.";
4916            case SUBSTANCEPOLYMER: return "Todo.";
4917            case SUBSTANCEPROTEIN: 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.";
4918            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
4919            case SUBSTANCESOURCEMATERIAL: 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.";
4920            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
4921            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
4922            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
4923            case TASK: return "A task to be performed.";
4924            case TERMINOLOGYCAPABILITIES: 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.";
4925            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
4926            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
4927            case VALUESET: 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).";
4928            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
4929            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
4930            case TYPE: return "A place holder that means any kind of data type";
4931            case ANY: return "A place holder that means any kind of resource";
4932            default: return "?";
4933          }
4934        }
4935        public String getDisplay() {
4936          switch (this) {
4937            case ADDRESS: return "Address";
4938            case AGE: return "Age";
4939            case ANNOTATION: return "Annotation";
4940            case ATTACHMENT: return "Attachment";
4941            case BACKBONEELEMENT: return "BackboneElement";
4942            case CODEABLECONCEPT: return "CodeableConcept";
4943            case CODING: return "Coding";
4944            case CONTACTDETAIL: return "ContactDetail";
4945            case CONTACTPOINT: return "ContactPoint";
4946            case CONTRIBUTOR: return "Contributor";
4947            case COUNT: return "Count";
4948            case DATAREQUIREMENT: return "DataRequirement";
4949            case DISTANCE: return "Distance";
4950            case DOSAGE: return "Dosage";
4951            case DURATION: return "Duration";
4952            case ELEMENT: return "Element";
4953            case ELEMENTDEFINITION: return "ElementDefinition";
4954            case EXPRESSION: return "Expression";
4955            case EXTENSION: return "Extension";
4956            case HUMANNAME: return "HumanName";
4957            case IDENTIFIER: return "Identifier";
4958            case MARKETINGSTATUS: return "MarketingStatus";
4959            case META: return "Meta";
4960            case MONEY: return "Money";
4961            case MONEYQUANTITY: return "MoneyQuantity";
4962            case NARRATIVE: return "Narrative";
4963            case PARAMETERDEFINITION: return "ParameterDefinition";
4964            case PERIOD: return "Period";
4965            case POPULATION: return "Population";
4966            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4967            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4968            case QUANTITY: return "Quantity";
4969            case RANGE: return "Range";
4970            case RATIO: return "Ratio";
4971            case REFERENCE: return "Reference";
4972            case RELATEDARTIFACT: return "RelatedArtifact";
4973            case SAMPLEDDATA: return "SampledData";
4974            case SIGNATURE: return "Signature";
4975            case SIMPLEQUANTITY: return "SimpleQuantity";
4976            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4977            case TIMING: return "Timing";
4978            case TRIGGERDEFINITION: return "TriggerDefinition";
4979            case USAGECONTEXT: return "UsageContext";
4980            case BASE64BINARY: return "base64Binary";
4981            case BOOLEAN: return "boolean";
4982            case CANONICAL: return "canonical";
4983            case CODE: return "code";
4984            case DATE: return "date";
4985            case DATETIME: return "dateTime";
4986            case DECIMAL: return "decimal";
4987            case ID: return "id";
4988            case INSTANT: return "instant";
4989            case INTEGER: return "integer";
4990            case MARKDOWN: return "markdown";
4991            case OID: return "oid";
4992            case POSITIVEINT: return "positiveInt";
4993            case STRING: return "string";
4994            case TIME: return "time";
4995            case UNSIGNEDINT: return "unsignedInt";
4996            case URI: return "uri";
4997            case URL: return "url";
4998            case UUID: return "uuid";
4999            case XHTML: return "XHTML";
5000            case ACCOUNT: return "Account";
5001            case ACTIVITYDEFINITION: return "ActivityDefinition";
5002            case ADVERSEEVENT: return "AdverseEvent";
5003            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
5004            case APPOINTMENT: return "Appointment";
5005            case APPOINTMENTRESPONSE: return "AppointmentResponse";
5006            case AUDITEVENT: return "AuditEvent";
5007            case BASIC: return "Basic";
5008            case BINARY: return "Binary";
5009            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
5010            case BODYSTRUCTURE: return "BodyStructure";
5011            case BUNDLE: return "Bundle";
5012            case CAPABILITYSTATEMENT: return "CapabilityStatement";
5013            case CAREPLAN: return "CarePlan";
5014            case CARETEAM: return "CareTeam";
5015            case CATALOGENTRY: return "CatalogEntry";
5016            case CHARGEITEM: return "ChargeItem";
5017            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
5018            case CLAIM: return "Claim";
5019            case CLAIMRESPONSE: return "ClaimResponse";
5020            case CLINICALIMPRESSION: return "ClinicalImpression";
5021            case CODESYSTEM: return "CodeSystem";
5022            case COMMUNICATION: return "Communication";
5023            case COMMUNICATIONREQUEST: return "CommunicationRequest";
5024            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
5025            case COMPOSITION: return "Composition";
5026            case CONCEPTMAP: return "ConceptMap";
5027            case CONDITION: return "Condition";
5028            case CONSENT: return "Consent";
5029            case CONTRACT: return "Contract";
5030            case COVERAGE: return "Coverage";
5031            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
5032            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
5033            case DETECTEDISSUE: return "DetectedIssue";
5034            case DEVICE: return "Device";
5035            case DEVICEDEFINITION: return "DeviceDefinition";
5036            case DEVICEMETRIC: return "DeviceMetric";
5037            case DEVICEREQUEST: return "DeviceRequest";
5038            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
5039            case DIAGNOSTICREPORT: return "DiagnosticReport";
5040            case DOCUMENTMANIFEST: return "DocumentManifest";
5041            case DOCUMENTREFERENCE: return "DocumentReference";
5042            case DOMAINRESOURCE: return "DomainResource";
5043            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
5044            case ENCOUNTER: return "Encounter";
5045            case ENDPOINT: return "Endpoint";
5046            case ENROLLMENTREQUEST: return "EnrollmentRequest";
5047            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
5048            case EPISODEOFCARE: return "EpisodeOfCare";
5049            case EVENTDEFINITION: return "EventDefinition";
5050            case EVIDENCE: return "Evidence";
5051            case EVIDENCEVARIABLE: return "EvidenceVariable";
5052            case EXAMPLESCENARIO: return "ExampleScenario";
5053            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
5054            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
5055            case FLAG: return "Flag";
5056            case GOAL: return "Goal";
5057            case GRAPHDEFINITION: return "GraphDefinition";
5058            case GROUP: return "Group";
5059            case GUIDANCERESPONSE: return "GuidanceResponse";
5060            case HEALTHCARESERVICE: return "HealthcareService";
5061            case IMAGINGSTUDY: return "ImagingStudy";
5062            case IMMUNIZATION: return "Immunization";
5063            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
5064            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
5065            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
5066            case INSURANCEPLAN: return "InsurancePlan";
5067            case INVOICE: return "Invoice";
5068            case LIBRARY: return "Library";
5069            case LINKAGE: return "Linkage";
5070            case LIST: return "List";
5071            case LOCATION: return "Location";
5072            case MEASURE: return "Measure";
5073            case MEASUREREPORT: return "MeasureReport";
5074            case MEDIA: return "Media";
5075            case MEDICATION: return "Medication";
5076            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
5077            case MEDICATIONDISPENSE: return "MedicationDispense";
5078            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
5079            case MEDICATIONREQUEST: return "MedicationRequest";
5080            case MEDICATIONSTATEMENT: return "MedicationStatement";
5081            case MEDICINALPRODUCT: return "MedicinalProduct";
5082            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
5083            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
5084            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
5085            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
5086            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
5087            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
5088            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
5089            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
5090            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
5091            case MESSAGEDEFINITION: return "MessageDefinition";
5092            case MESSAGEHEADER: return "MessageHeader";
5093            case MOLECULARSEQUENCE: return "MolecularSequence";
5094            case NAMINGSYSTEM: return "NamingSystem";
5095            case NUTRITIONORDER: return "NutritionOrder";
5096            case OBSERVATION: return "Observation";
5097            case OBSERVATIONDEFINITION: return "ObservationDefinition";
5098            case OPERATIONDEFINITION: return "OperationDefinition";
5099            case OPERATIONOUTCOME: return "OperationOutcome";
5100            case ORGANIZATION: return "Organization";
5101            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
5102            case PARAMETERS: return "Parameters";
5103            case PATIENT: return "Patient";
5104            case PAYMENTNOTICE: return "PaymentNotice";
5105            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
5106            case PERSON: return "Person";
5107            case PLANDEFINITION: return "PlanDefinition";
5108            case PRACTITIONER: return "Practitioner";
5109            case PRACTITIONERROLE: return "PractitionerRole";
5110            case PROCEDURE: return "Procedure";
5111            case PROVENANCE: return "Provenance";
5112            case QUESTIONNAIRE: return "Questionnaire";
5113            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
5114            case RELATEDPERSON: return "RelatedPerson";
5115            case REQUESTGROUP: return "RequestGroup";
5116            case RESEARCHDEFINITION: return "ResearchDefinition";
5117            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
5118            case RESEARCHSTUDY: return "ResearchStudy";
5119            case RESEARCHSUBJECT: return "ResearchSubject";
5120            case RESOURCE: return "Resource";
5121            case RISKASSESSMENT: return "RiskAssessment";
5122            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
5123            case SCHEDULE: return "Schedule";
5124            case SEARCHPARAMETER: return "SearchParameter";
5125            case SERVICEREQUEST: return "ServiceRequest";
5126            case SLOT: return "Slot";
5127            case SPECIMEN: return "Specimen";
5128            case SPECIMENDEFINITION: return "SpecimenDefinition";
5129            case STRUCTUREDEFINITION: return "StructureDefinition";
5130            case STRUCTUREMAP: return "StructureMap";
5131            case SUBSCRIPTION: return "Subscription";
5132            case SUBSTANCE: return "Substance";
5133            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
5134            case SUBSTANCEPOLYMER: return "SubstancePolymer";
5135            case SUBSTANCEPROTEIN: return "SubstanceProtein";
5136            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
5137            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
5138            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
5139            case SUPPLYDELIVERY: return "SupplyDelivery";
5140            case SUPPLYREQUEST: return "SupplyRequest";
5141            case TASK: return "Task";
5142            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
5143            case TESTREPORT: return "TestReport";
5144            case TESTSCRIPT: return "TestScript";
5145            case VALUESET: return "ValueSet";
5146            case VERIFICATIONRESULT: return "VerificationResult";
5147            case VISIONPRESCRIPTION: return "VisionPrescription";
5148            case TYPE: return "Type";
5149            case ANY: return "Any";
5150            default: return "?";
5151          }
5152        }
5153    }
5154
5155  public static class FHIRAllTypesEnumFactory implements EnumFactory<FHIRAllTypes> {
5156    public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException {
5157      if (codeString == null || "".equals(codeString))
5158            if (codeString == null || "".equals(codeString))
5159                return null;
5160        if ("Address".equals(codeString))
5161          return FHIRAllTypes.ADDRESS;
5162        if ("Age".equals(codeString))
5163          return FHIRAllTypes.AGE;
5164        if ("Annotation".equals(codeString))
5165          return FHIRAllTypes.ANNOTATION;
5166        if ("Attachment".equals(codeString))
5167          return FHIRAllTypes.ATTACHMENT;
5168        if ("BackboneElement".equals(codeString))
5169          return FHIRAllTypes.BACKBONEELEMENT;
5170        if ("CodeableConcept".equals(codeString))
5171          return FHIRAllTypes.CODEABLECONCEPT;
5172        if ("Coding".equals(codeString))
5173          return FHIRAllTypes.CODING;
5174        if ("ContactDetail".equals(codeString))
5175          return FHIRAllTypes.CONTACTDETAIL;
5176        if ("ContactPoint".equals(codeString))
5177          return FHIRAllTypes.CONTACTPOINT;
5178        if ("Contributor".equals(codeString))
5179          return FHIRAllTypes.CONTRIBUTOR;
5180        if ("Count".equals(codeString))
5181          return FHIRAllTypes.COUNT;
5182        if ("DataRequirement".equals(codeString))
5183          return FHIRAllTypes.DATAREQUIREMENT;
5184        if ("Distance".equals(codeString))
5185          return FHIRAllTypes.DISTANCE;
5186        if ("Dosage".equals(codeString))
5187          return FHIRAllTypes.DOSAGE;
5188        if ("Duration".equals(codeString))
5189          return FHIRAllTypes.DURATION;
5190        if ("Element".equals(codeString))
5191          return FHIRAllTypes.ELEMENT;
5192        if ("ElementDefinition".equals(codeString))
5193          return FHIRAllTypes.ELEMENTDEFINITION;
5194        if ("Expression".equals(codeString))
5195          return FHIRAllTypes.EXPRESSION;
5196        if ("Extension".equals(codeString))
5197          return FHIRAllTypes.EXTENSION;
5198        if ("HumanName".equals(codeString))
5199          return FHIRAllTypes.HUMANNAME;
5200        if ("Identifier".equals(codeString))
5201          return FHIRAllTypes.IDENTIFIER;
5202        if ("MarketingStatus".equals(codeString))
5203          return FHIRAllTypes.MARKETINGSTATUS;
5204        if ("Meta".equals(codeString))
5205          return FHIRAllTypes.META;
5206        if ("Money".equals(codeString))
5207          return FHIRAllTypes.MONEY;
5208        if ("MoneyQuantity".equals(codeString))
5209          return FHIRAllTypes.MONEYQUANTITY;
5210        if ("Narrative".equals(codeString))
5211          return FHIRAllTypes.NARRATIVE;
5212        if ("ParameterDefinition".equals(codeString))
5213          return FHIRAllTypes.PARAMETERDEFINITION;
5214        if ("Period".equals(codeString))
5215          return FHIRAllTypes.PERIOD;
5216        if ("Population".equals(codeString))
5217          return FHIRAllTypes.POPULATION;
5218        if ("ProdCharacteristic".equals(codeString))
5219          return FHIRAllTypes.PRODCHARACTERISTIC;
5220        if ("ProductShelfLife".equals(codeString))
5221          return FHIRAllTypes.PRODUCTSHELFLIFE;
5222        if ("Quantity".equals(codeString))
5223          return FHIRAllTypes.QUANTITY;
5224        if ("Range".equals(codeString))
5225          return FHIRAllTypes.RANGE;
5226        if ("Ratio".equals(codeString))
5227          return FHIRAllTypes.RATIO;
5228        if ("Reference".equals(codeString))
5229          return FHIRAllTypes.REFERENCE;
5230        if ("RelatedArtifact".equals(codeString))
5231          return FHIRAllTypes.RELATEDARTIFACT;
5232        if ("SampledData".equals(codeString))
5233          return FHIRAllTypes.SAMPLEDDATA;
5234        if ("Signature".equals(codeString))
5235          return FHIRAllTypes.SIGNATURE;
5236        if ("SimpleQuantity".equals(codeString))
5237          return FHIRAllTypes.SIMPLEQUANTITY;
5238        if ("SubstanceAmount".equals(codeString))
5239          return FHIRAllTypes.SUBSTANCEAMOUNT;
5240        if ("Timing".equals(codeString))
5241          return FHIRAllTypes.TIMING;
5242        if ("TriggerDefinition".equals(codeString))
5243          return FHIRAllTypes.TRIGGERDEFINITION;
5244        if ("UsageContext".equals(codeString))
5245          return FHIRAllTypes.USAGECONTEXT;
5246        if ("base64Binary".equals(codeString))
5247          return FHIRAllTypes.BASE64BINARY;
5248        if ("boolean".equals(codeString))
5249          return FHIRAllTypes.BOOLEAN;
5250        if ("canonical".equals(codeString))
5251          return FHIRAllTypes.CANONICAL;
5252        if ("code".equals(codeString))
5253          return FHIRAllTypes.CODE;
5254        if ("date".equals(codeString))
5255          return FHIRAllTypes.DATE;
5256        if ("dateTime".equals(codeString))
5257          return FHIRAllTypes.DATETIME;
5258        if ("decimal".equals(codeString))
5259          return FHIRAllTypes.DECIMAL;
5260        if ("id".equals(codeString))
5261          return FHIRAllTypes.ID;
5262        if ("instant".equals(codeString))
5263          return FHIRAllTypes.INSTANT;
5264        if ("integer".equals(codeString))
5265          return FHIRAllTypes.INTEGER;
5266        if ("markdown".equals(codeString))
5267          return FHIRAllTypes.MARKDOWN;
5268        if ("oid".equals(codeString))
5269          return FHIRAllTypes.OID;
5270        if ("positiveInt".equals(codeString))
5271          return FHIRAllTypes.POSITIVEINT;
5272        if ("string".equals(codeString))
5273          return FHIRAllTypes.STRING;
5274        if ("time".equals(codeString))
5275          return FHIRAllTypes.TIME;
5276        if ("unsignedInt".equals(codeString))
5277          return FHIRAllTypes.UNSIGNEDINT;
5278        if ("uri".equals(codeString))
5279          return FHIRAllTypes.URI;
5280        if ("url".equals(codeString))
5281          return FHIRAllTypes.URL;
5282        if ("uuid".equals(codeString))
5283          return FHIRAllTypes.UUID;
5284        if ("xhtml".equals(codeString))
5285          return FHIRAllTypes.XHTML;
5286        if ("Account".equals(codeString))
5287          return FHIRAllTypes.ACCOUNT;
5288        if ("ActivityDefinition".equals(codeString))
5289          return FHIRAllTypes.ACTIVITYDEFINITION;
5290        if ("AdverseEvent".equals(codeString))
5291          return FHIRAllTypes.ADVERSEEVENT;
5292        if ("AllergyIntolerance".equals(codeString))
5293          return FHIRAllTypes.ALLERGYINTOLERANCE;
5294        if ("Appointment".equals(codeString))
5295          return FHIRAllTypes.APPOINTMENT;
5296        if ("AppointmentResponse".equals(codeString))
5297          return FHIRAllTypes.APPOINTMENTRESPONSE;
5298        if ("AuditEvent".equals(codeString))
5299          return FHIRAllTypes.AUDITEVENT;
5300        if ("Basic".equals(codeString))
5301          return FHIRAllTypes.BASIC;
5302        if ("Binary".equals(codeString))
5303          return FHIRAllTypes.BINARY;
5304        if ("BiologicallyDerivedProduct".equals(codeString))
5305          return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT;
5306        if ("BodyStructure".equals(codeString))
5307          return FHIRAllTypes.BODYSTRUCTURE;
5308        if ("Bundle".equals(codeString))
5309          return FHIRAllTypes.BUNDLE;
5310        if ("CapabilityStatement".equals(codeString))
5311          return FHIRAllTypes.CAPABILITYSTATEMENT;
5312        if ("CarePlan".equals(codeString))
5313          return FHIRAllTypes.CAREPLAN;
5314        if ("CareTeam".equals(codeString))
5315          return FHIRAllTypes.CARETEAM;
5316        if ("CatalogEntry".equals(codeString))
5317          return FHIRAllTypes.CATALOGENTRY;
5318        if ("ChargeItem".equals(codeString))
5319          return FHIRAllTypes.CHARGEITEM;
5320        if ("ChargeItemDefinition".equals(codeString))
5321          return FHIRAllTypes.CHARGEITEMDEFINITION;
5322        if ("Claim".equals(codeString))
5323          return FHIRAllTypes.CLAIM;
5324        if ("ClaimResponse".equals(codeString))
5325          return FHIRAllTypes.CLAIMRESPONSE;
5326        if ("ClinicalImpression".equals(codeString))
5327          return FHIRAllTypes.CLINICALIMPRESSION;
5328        if ("CodeSystem".equals(codeString))
5329          return FHIRAllTypes.CODESYSTEM;
5330        if ("Communication".equals(codeString))
5331          return FHIRAllTypes.COMMUNICATION;
5332        if ("CommunicationRequest".equals(codeString))
5333          return FHIRAllTypes.COMMUNICATIONREQUEST;
5334        if ("CompartmentDefinition".equals(codeString))
5335          return FHIRAllTypes.COMPARTMENTDEFINITION;
5336        if ("Composition".equals(codeString))
5337          return FHIRAllTypes.COMPOSITION;
5338        if ("ConceptMap".equals(codeString))
5339          return FHIRAllTypes.CONCEPTMAP;
5340        if ("Condition".equals(codeString))
5341          return FHIRAllTypes.CONDITION;
5342        if ("Consent".equals(codeString))
5343          return FHIRAllTypes.CONSENT;
5344        if ("Contract".equals(codeString))
5345          return FHIRAllTypes.CONTRACT;
5346        if ("Coverage".equals(codeString))
5347          return FHIRAllTypes.COVERAGE;
5348        if ("CoverageEligibilityRequest".equals(codeString))
5349          return FHIRAllTypes.COVERAGEELIGIBILITYREQUEST;
5350        if ("CoverageEligibilityResponse".equals(codeString))
5351          return FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE;
5352        if ("DetectedIssue".equals(codeString))
5353          return FHIRAllTypes.DETECTEDISSUE;
5354        if ("Device".equals(codeString))
5355          return FHIRAllTypes.DEVICE;
5356        if ("DeviceDefinition".equals(codeString))
5357          return FHIRAllTypes.DEVICEDEFINITION;
5358        if ("DeviceMetric".equals(codeString))
5359          return FHIRAllTypes.DEVICEMETRIC;
5360        if ("DeviceRequest".equals(codeString))
5361          return FHIRAllTypes.DEVICEREQUEST;
5362        if ("DeviceUseStatement".equals(codeString))
5363          return FHIRAllTypes.DEVICEUSESTATEMENT;
5364        if ("DiagnosticReport".equals(codeString))
5365          return FHIRAllTypes.DIAGNOSTICREPORT;
5366        if ("DocumentManifest".equals(codeString))
5367          return FHIRAllTypes.DOCUMENTMANIFEST;
5368        if ("DocumentReference".equals(codeString))
5369          return FHIRAllTypes.DOCUMENTREFERENCE;
5370        if ("DomainResource".equals(codeString))
5371          return FHIRAllTypes.DOMAINRESOURCE;
5372        if ("EffectEvidenceSynthesis".equals(codeString))
5373          return FHIRAllTypes.EFFECTEVIDENCESYNTHESIS;
5374        if ("Encounter".equals(codeString))
5375          return FHIRAllTypes.ENCOUNTER;
5376        if ("Endpoint".equals(codeString))
5377          return FHIRAllTypes.ENDPOINT;
5378        if ("EnrollmentRequest".equals(codeString))
5379          return FHIRAllTypes.ENROLLMENTREQUEST;
5380        if ("EnrollmentResponse".equals(codeString))
5381          return FHIRAllTypes.ENROLLMENTRESPONSE;
5382        if ("EpisodeOfCare".equals(codeString))
5383          return FHIRAllTypes.EPISODEOFCARE;
5384        if ("EventDefinition".equals(codeString))
5385          return FHIRAllTypes.EVENTDEFINITION;
5386        if ("Evidence".equals(codeString))
5387          return FHIRAllTypes.EVIDENCE;
5388        if ("EvidenceVariable".equals(codeString))
5389          return FHIRAllTypes.EVIDENCEVARIABLE;
5390        if ("ExampleScenario".equals(codeString))
5391          return FHIRAllTypes.EXAMPLESCENARIO;
5392        if ("ExplanationOfBenefit".equals(codeString))
5393          return FHIRAllTypes.EXPLANATIONOFBENEFIT;
5394        if ("FamilyMemberHistory".equals(codeString))
5395          return FHIRAllTypes.FAMILYMEMBERHISTORY;
5396        if ("Flag".equals(codeString))
5397          return FHIRAllTypes.FLAG;
5398        if ("Goal".equals(codeString))
5399          return FHIRAllTypes.GOAL;
5400        if ("GraphDefinition".equals(codeString))
5401          return FHIRAllTypes.GRAPHDEFINITION;
5402        if ("Group".equals(codeString))
5403          return FHIRAllTypes.GROUP;
5404        if ("GuidanceResponse".equals(codeString))
5405          return FHIRAllTypes.GUIDANCERESPONSE;
5406        if ("HealthcareService".equals(codeString))
5407          return FHIRAllTypes.HEALTHCARESERVICE;
5408        if ("ImagingStudy".equals(codeString))
5409          return FHIRAllTypes.IMAGINGSTUDY;
5410        if ("Immunization".equals(codeString))
5411          return FHIRAllTypes.IMMUNIZATION;
5412        if ("ImmunizationEvaluation".equals(codeString))
5413          return FHIRAllTypes.IMMUNIZATIONEVALUATION;
5414        if ("ImmunizationRecommendation".equals(codeString))
5415          return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION;
5416        if ("ImplementationGuide".equals(codeString))
5417          return FHIRAllTypes.IMPLEMENTATIONGUIDE;
5418        if ("InsurancePlan".equals(codeString))
5419          return FHIRAllTypes.INSURANCEPLAN;
5420        if ("Invoice".equals(codeString))
5421          return FHIRAllTypes.INVOICE;
5422        if ("Library".equals(codeString))
5423          return FHIRAllTypes.LIBRARY;
5424        if ("Linkage".equals(codeString))
5425          return FHIRAllTypes.LINKAGE;
5426        if ("List".equals(codeString))
5427          return FHIRAllTypes.LIST;
5428        if ("Location".equals(codeString))
5429          return FHIRAllTypes.LOCATION;
5430        if ("Measure".equals(codeString))
5431          return FHIRAllTypes.MEASURE;
5432        if ("MeasureReport".equals(codeString))
5433          return FHIRAllTypes.MEASUREREPORT;
5434        if ("Media".equals(codeString))
5435          return FHIRAllTypes.MEDIA;
5436        if ("Medication".equals(codeString))
5437          return FHIRAllTypes.MEDICATION;
5438        if ("MedicationAdministration".equals(codeString))
5439          return FHIRAllTypes.MEDICATIONADMINISTRATION;
5440        if ("MedicationDispense".equals(codeString))
5441          return FHIRAllTypes.MEDICATIONDISPENSE;
5442        if ("MedicationKnowledge".equals(codeString))
5443          return FHIRAllTypes.MEDICATIONKNOWLEDGE;
5444        if ("MedicationRequest".equals(codeString))
5445          return FHIRAllTypes.MEDICATIONREQUEST;
5446        if ("MedicationStatement".equals(codeString))
5447          return FHIRAllTypes.MEDICATIONSTATEMENT;
5448        if ("MedicinalProduct".equals(codeString))
5449          return FHIRAllTypes.MEDICINALPRODUCT;
5450        if ("MedicinalProductAuthorization".equals(codeString))
5451          return FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION;
5452        if ("MedicinalProductContraindication".equals(codeString))
5453          return FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION;
5454        if ("MedicinalProductIndication".equals(codeString))
5455          return FHIRAllTypes.MEDICINALPRODUCTINDICATION;
5456        if ("MedicinalProductIngredient".equals(codeString))
5457          return FHIRAllTypes.MEDICINALPRODUCTINGREDIENT;
5458        if ("MedicinalProductInteraction".equals(codeString))
5459          return FHIRAllTypes.MEDICINALPRODUCTINTERACTION;
5460        if ("MedicinalProductManufactured".equals(codeString))
5461          return FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED;
5462        if ("MedicinalProductPackaged".equals(codeString))
5463          return FHIRAllTypes.MEDICINALPRODUCTPACKAGED;
5464        if ("MedicinalProductPharmaceutical".equals(codeString))
5465          return FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL;
5466        if ("MedicinalProductUndesirableEffect".equals(codeString))
5467          return FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT;
5468        if ("MessageDefinition".equals(codeString))
5469          return FHIRAllTypes.MESSAGEDEFINITION;
5470        if ("MessageHeader".equals(codeString))
5471          return FHIRAllTypes.MESSAGEHEADER;
5472        if ("MolecularSequence".equals(codeString))
5473          return FHIRAllTypes.MOLECULARSEQUENCE;
5474        if ("NamingSystem".equals(codeString))
5475          return FHIRAllTypes.NAMINGSYSTEM;
5476        if ("NutritionOrder".equals(codeString))
5477          return FHIRAllTypes.NUTRITIONORDER;
5478        if ("Observation".equals(codeString))
5479          return FHIRAllTypes.OBSERVATION;
5480        if ("ObservationDefinition".equals(codeString))
5481          return FHIRAllTypes.OBSERVATIONDEFINITION;
5482        if ("OperationDefinition".equals(codeString))
5483          return FHIRAllTypes.OPERATIONDEFINITION;
5484        if ("OperationOutcome".equals(codeString))
5485          return FHIRAllTypes.OPERATIONOUTCOME;
5486        if ("Organization".equals(codeString))
5487          return FHIRAllTypes.ORGANIZATION;
5488        if ("OrganizationAffiliation".equals(codeString))
5489          return FHIRAllTypes.ORGANIZATIONAFFILIATION;
5490        if ("Parameters".equals(codeString))
5491          return FHIRAllTypes.PARAMETERS;
5492        if ("Patient".equals(codeString))
5493          return FHIRAllTypes.PATIENT;
5494        if ("PaymentNotice".equals(codeString))
5495          return FHIRAllTypes.PAYMENTNOTICE;
5496        if ("PaymentReconciliation".equals(codeString))
5497          return FHIRAllTypes.PAYMENTRECONCILIATION;
5498        if ("Person".equals(codeString))
5499          return FHIRAllTypes.PERSON;
5500        if ("PlanDefinition".equals(codeString))
5501          return FHIRAllTypes.PLANDEFINITION;
5502        if ("Practitioner".equals(codeString))
5503          return FHIRAllTypes.PRACTITIONER;
5504        if ("PractitionerRole".equals(codeString))
5505          return FHIRAllTypes.PRACTITIONERROLE;
5506        if ("Procedure".equals(codeString))
5507          return FHIRAllTypes.PROCEDURE;
5508        if ("Provenance".equals(codeString))
5509          return FHIRAllTypes.PROVENANCE;
5510        if ("Questionnaire".equals(codeString))
5511          return FHIRAllTypes.QUESTIONNAIRE;
5512        if ("QuestionnaireResponse".equals(codeString))
5513          return FHIRAllTypes.QUESTIONNAIRERESPONSE;
5514        if ("RelatedPerson".equals(codeString))
5515          return FHIRAllTypes.RELATEDPERSON;
5516        if ("RequestGroup".equals(codeString))
5517          return FHIRAllTypes.REQUESTGROUP;
5518        if ("ResearchDefinition".equals(codeString))
5519          return FHIRAllTypes.RESEARCHDEFINITION;
5520        if ("ResearchElementDefinition".equals(codeString))
5521          return FHIRAllTypes.RESEARCHELEMENTDEFINITION;
5522        if ("ResearchStudy".equals(codeString))
5523          return FHIRAllTypes.RESEARCHSTUDY;
5524        if ("ResearchSubject".equals(codeString))
5525          return FHIRAllTypes.RESEARCHSUBJECT;
5526        if ("Resource".equals(codeString))
5527          return FHIRAllTypes.RESOURCE;
5528        if ("RiskAssessment".equals(codeString))
5529          return FHIRAllTypes.RISKASSESSMENT;
5530        if ("RiskEvidenceSynthesis".equals(codeString))
5531          return FHIRAllTypes.RISKEVIDENCESYNTHESIS;
5532        if ("Schedule".equals(codeString))
5533          return FHIRAllTypes.SCHEDULE;
5534        if ("SearchParameter".equals(codeString))
5535          return FHIRAllTypes.SEARCHPARAMETER;
5536        if ("ServiceRequest".equals(codeString))
5537          return FHIRAllTypes.SERVICEREQUEST;
5538        if ("Slot".equals(codeString))
5539          return FHIRAllTypes.SLOT;
5540        if ("Specimen".equals(codeString))
5541          return FHIRAllTypes.SPECIMEN;
5542        if ("SpecimenDefinition".equals(codeString))
5543          return FHIRAllTypes.SPECIMENDEFINITION;
5544        if ("StructureDefinition".equals(codeString))
5545          return FHIRAllTypes.STRUCTUREDEFINITION;
5546        if ("StructureMap".equals(codeString))
5547          return FHIRAllTypes.STRUCTUREMAP;
5548        if ("Subscription".equals(codeString))
5549          return FHIRAllTypes.SUBSCRIPTION;
5550        if ("Substance".equals(codeString))
5551          return FHIRAllTypes.SUBSTANCE;
5552        if ("SubstanceNucleicAcid".equals(codeString))
5553          return FHIRAllTypes.SUBSTANCENUCLEICACID;
5554        if ("SubstancePolymer".equals(codeString))
5555          return FHIRAllTypes.SUBSTANCEPOLYMER;
5556        if ("SubstanceProtein".equals(codeString))
5557          return FHIRAllTypes.SUBSTANCEPROTEIN;
5558        if ("SubstanceReferenceInformation".equals(codeString))
5559          return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION;
5560        if ("SubstanceSourceMaterial".equals(codeString))
5561          return FHIRAllTypes.SUBSTANCESOURCEMATERIAL;
5562        if ("SubstanceSpecification".equals(codeString))
5563          return FHIRAllTypes.SUBSTANCESPECIFICATION;
5564        if ("SupplyDelivery".equals(codeString))
5565          return FHIRAllTypes.SUPPLYDELIVERY;
5566        if ("SupplyRequest".equals(codeString))
5567          return FHIRAllTypes.SUPPLYREQUEST;
5568        if ("Task".equals(codeString))
5569          return FHIRAllTypes.TASK;
5570        if ("TerminologyCapabilities".equals(codeString))
5571          return FHIRAllTypes.TERMINOLOGYCAPABILITIES;
5572        if ("TestReport".equals(codeString))
5573          return FHIRAllTypes.TESTREPORT;
5574        if ("TestScript".equals(codeString))
5575          return FHIRAllTypes.TESTSCRIPT;
5576        if ("ValueSet".equals(codeString))
5577          return FHIRAllTypes.VALUESET;
5578        if ("VerificationResult".equals(codeString))
5579          return FHIRAllTypes.VERIFICATIONRESULT;
5580        if ("VisionPrescription".equals(codeString))
5581          return FHIRAllTypes.VISIONPRESCRIPTION;
5582        if ("Type".equals(codeString))
5583          return FHIRAllTypes.TYPE;
5584        if ("Any".equals(codeString))
5585          return FHIRAllTypes.ANY;
5586        throw new IllegalArgumentException("Unknown FHIRAllTypes code '"+codeString+"'");
5587        }
5588        public Enumeration<FHIRAllTypes> fromType(Base code) throws FHIRException {
5589          if (code == null)
5590            return null;
5591          if (code.isEmpty())
5592            return new Enumeration<FHIRAllTypes>(this);
5593          String codeString = ((PrimitiveType) code).asStringValue();
5594          if (codeString == null || "".equals(codeString))
5595            return null;
5596        if ("Address".equals(codeString))
5597          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADDRESS);
5598        if ("Age".equals(codeString))
5599          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AGE);
5600        if ("Annotation".equals(codeString))
5601          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANNOTATION);
5602        if ("Attachment".equals(codeString))
5603          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ATTACHMENT);
5604        if ("BackboneElement".equals(codeString))
5605          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BACKBONEELEMENT);
5606        if ("CodeableConcept".equals(codeString))
5607          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODEABLECONCEPT);
5608        if ("Coding".equals(codeString))
5609          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODING);
5610        if ("ContactDetail".equals(codeString))
5611          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTDETAIL);
5612        if ("ContactPoint".equals(codeString))
5613          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTPOINT);
5614        if ("Contributor".equals(codeString))
5615          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRIBUTOR);
5616        if ("Count".equals(codeString))
5617          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COUNT);
5618        if ("DataRequirement".equals(codeString))
5619          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATAREQUIREMENT);
5620        if ("Distance".equals(codeString))
5621          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DISTANCE);
5622        if ("Dosage".equals(codeString))
5623          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOSAGE);
5624        if ("Duration".equals(codeString))
5625          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DURATION);
5626        if ("Element".equals(codeString))
5627          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENT);
5628        if ("ElementDefinition".equals(codeString))
5629          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENTDEFINITION);
5630        if ("Expression".equals(codeString))
5631          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPRESSION);
5632        if ("Extension".equals(codeString))
5633          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXTENSION);
5634        if ("HumanName".equals(codeString))
5635          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HUMANNAME);
5636        if ("Identifier".equals(codeString))
5637          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IDENTIFIER);
5638        if ("MarketingStatus".equals(codeString))
5639          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKETINGSTATUS);
5640        if ("Meta".equals(codeString))
5641          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.META);
5642        if ("Money".equals(codeString))
5643          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEY);
5644        if ("MoneyQuantity".equals(codeString))
5645          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEYQUANTITY);
5646        if ("Narrative".equals(codeString))
5647          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NARRATIVE);
5648        if ("ParameterDefinition".equals(codeString))
5649          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERDEFINITION);
5650        if ("Period".equals(codeString))
5651          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERIOD);
5652        if ("Population".equals(codeString))
5653          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POPULATION);
5654        if ("ProdCharacteristic".equals(codeString))
5655          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODCHARACTERISTIC);
5656        if ("ProductShelfLife".equals(codeString))
5657          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTSHELFLIFE);
5658        if ("Quantity".equals(codeString))
5659          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUANTITY);
5660        if ("Range".equals(codeString))
5661          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RANGE);
5662        if ("Ratio".equals(codeString))
5663          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RATIO);
5664        if ("Reference".equals(codeString))
5665          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REFERENCE);
5666        if ("RelatedArtifact".equals(codeString))
5667          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDARTIFACT);
5668        if ("SampledData".equals(codeString))
5669          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SAMPLEDDATA);
5670        if ("Signature".equals(codeString))
5671          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIGNATURE);
5672        if ("SimpleQuantity".equals(codeString))
5673          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIMPLEQUANTITY);
5674        if ("SubstanceAmount".equals(codeString))
5675          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEAMOUNT);
5676        if ("Timing".equals(codeString))
5677          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIMING);
5678        if ("TriggerDefinition".equals(codeString))
5679          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TRIGGERDEFINITION);
5680        if ("UsageContext".equals(codeString))
5681          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USAGECONTEXT);
5682        if ("base64Binary".equals(codeString))
5683          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASE64BINARY);
5684        if ("boolean".equals(codeString))
5685          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BOOLEAN);
5686        if ("canonical".equals(codeString))
5687          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CANONICAL);
5688        if ("code".equals(codeString))
5689          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODE);
5690        if ("date".equals(codeString))
5691          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATE);
5692        if ("dateTime".equals(codeString))
5693          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATETIME);
5694        if ("decimal".equals(codeString))
5695          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DECIMAL);
5696        if ("id".equals(codeString))
5697          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ID);
5698        if ("instant".equals(codeString))
5699          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSTANT);
5700        if ("integer".equals(codeString))
5701          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INTEGER);
5702        if ("markdown".equals(codeString))
5703          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKDOWN);
5704        if ("oid".equals(codeString))
5705          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OID);
5706        if ("positiveInt".equals(codeString))
5707          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POSITIVEINT);
5708        if ("string".equals(codeString))
5709          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRING);
5710        if ("time".equals(codeString))
5711          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIME);
5712        if ("unsignedInt".equals(codeString))
5713          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UNSIGNEDINT);
5714        if ("uri".equals(codeString))
5715          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URI);
5716        if ("url".equals(codeString))
5717          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URL);
5718        if ("uuid".equals(codeString))
5719          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UUID);
5720        if ("xhtml".equals(codeString))
5721          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.XHTML);
5722        if ("Account".equals(codeString))
5723          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACCOUNT);
5724        if ("ActivityDefinition".equals(codeString))
5725          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACTIVITYDEFINITION);
5726        if ("AdverseEvent".equals(codeString))
5727          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADVERSEEVENT);
5728        if ("AllergyIntolerance".equals(codeString))
5729          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ALLERGYINTOLERANCE);
5730        if ("Appointment".equals(codeString))
5731          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENT);
5732        if ("AppointmentResponse".equals(codeString))
5733          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENTRESPONSE);
5734        if ("AuditEvent".equals(codeString))
5735          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AUDITEVENT);
5736        if ("Basic".equals(codeString))
5737          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASIC);
5738        if ("Binary".equals(codeString))
5739          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BINARY);
5740        if ("BiologicallyDerivedProduct".equals(codeString))
5741          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT);
5742        if ("BodyStructure".equals(codeString))
5743          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BODYSTRUCTURE);
5744        if ("Bundle".equals(codeString))
5745          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BUNDLE);
5746        if ("CapabilityStatement".equals(codeString))
5747          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAPABILITYSTATEMENT);
5748        if ("CarePlan".equals(codeString))
5749          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAREPLAN);
5750        if ("CareTeam".equals(codeString))
5751          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CARETEAM);
5752        if ("CatalogEntry".equals(codeString))
5753          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CATALOGENTRY);
5754        if ("ChargeItem".equals(codeString))
5755          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEM);
5756        if ("ChargeItemDefinition".equals(codeString))
5757          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEMDEFINITION);
5758        if ("Claim".equals(codeString))
5759          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIM);
5760        if ("ClaimResponse".equals(codeString))
5761          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIMRESPONSE);
5762        if ("ClinicalImpression".equals(codeString))
5763          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLINICALIMPRESSION);
5764        if ("CodeSystem".equals(codeString))
5765          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODESYSTEM);
5766        if ("Communication".equals(codeString))
5767          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATION);
5768        if ("CommunicationRequest".equals(codeString))
5769          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATIONREQUEST);
5770        if ("CompartmentDefinition".equals(codeString))
5771          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPARTMENTDEFINITION);
5772        if ("Composition".equals(codeString))
5773          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPOSITION);
5774        if ("ConceptMap".equals(codeString))
5775          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONCEPTMAP);
5776        if ("Condition".equals(codeString))
5777          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONDITION);
5778        if ("Consent".equals(codeString))
5779          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONSENT);
5780        if ("Contract".equals(codeString))
5781          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRACT);
5782        if ("Coverage".equals(codeString))
5783          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGE);
5784        if ("CoverageEligibilityRequest".equals(codeString))
5785          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYREQUEST);
5786        if ("CoverageEligibilityResponse".equals(codeString))
5787          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE);
5788        if ("DetectedIssue".equals(codeString))
5789          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DETECTEDISSUE);
5790        if ("Device".equals(codeString))
5791          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICE);
5792        if ("DeviceDefinition".equals(codeString))
5793          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEDEFINITION);
5794        if ("DeviceMetric".equals(codeString))
5795          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEMETRIC);
5796        if ("DeviceRequest".equals(codeString))
5797          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEREQUEST);
5798        if ("DeviceUseStatement".equals(codeString))
5799          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEUSESTATEMENT);
5800        if ("DiagnosticReport".equals(codeString))
5801          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DIAGNOSTICREPORT);
5802        if ("DocumentManifest".equals(codeString))
5803          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTMANIFEST);
5804        if ("DocumentReference".equals(codeString))
5805          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTREFERENCE);
5806        if ("DomainResource".equals(codeString))
5807          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOMAINRESOURCE);
5808        if ("EffectEvidenceSynthesis".equals(codeString))
5809          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EFFECTEVIDENCESYNTHESIS);
5810        if ("Encounter".equals(codeString))
5811          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENCOUNTER);
5812        if ("Endpoint".equals(codeString))
5813          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENDPOINT);
5814        if ("EnrollmentRequest".equals(codeString))
5815          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTREQUEST);
5816        if ("EnrollmentResponse".equals(codeString))
5817          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTRESPONSE);
5818        if ("EpisodeOfCare".equals(codeString))
5819          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EPISODEOFCARE);
5820        if ("EventDefinition".equals(codeString))
5821          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVENTDEFINITION);
5822        if ("Evidence".equals(codeString))
5823          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCE);
5824        if ("EvidenceVariable".equals(codeString))
5825          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCEVARIABLE);
5826        if ("ExampleScenario".equals(codeString))
5827          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXAMPLESCENARIO);
5828        if ("ExplanationOfBenefit".equals(codeString))
5829          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPLANATIONOFBENEFIT);
5830        if ("FamilyMemberHistory".equals(codeString))
5831          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FAMILYMEMBERHISTORY);
5832        if ("Flag".equals(codeString))
5833          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FLAG);
5834        if ("Goal".equals(codeString))
5835          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GOAL);
5836        if ("GraphDefinition".equals(codeString))
5837          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GRAPHDEFINITION);
5838        if ("Group".equals(codeString))
5839          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GROUP);
5840        if ("GuidanceResponse".equals(codeString))
5841          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GUIDANCERESPONSE);
5842        if ("HealthcareService".equals(codeString))
5843          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HEALTHCARESERVICE);
5844        if ("ImagingStudy".equals(codeString))
5845          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMAGINGSTUDY);
5846        if ("Immunization".equals(codeString))
5847          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATION);
5848        if ("ImmunizationEvaluation".equals(codeString))
5849          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONEVALUATION);
5850        if ("ImmunizationRecommendation".equals(codeString))
5851          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION);
5852        if ("ImplementationGuide".equals(codeString))
5853          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMPLEMENTATIONGUIDE);
5854        if ("InsurancePlan".equals(codeString))
5855          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSURANCEPLAN);
5856        if ("Invoice".equals(codeString))
5857          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INVOICE);
5858        if ("Library".equals(codeString))
5859          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIBRARY);
5860        if ("Linkage".equals(codeString))
5861          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LINKAGE);
5862        if ("List".equals(codeString))
5863          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIST);
5864        if ("Location".equals(codeString))
5865          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LOCATION);
5866        if ("Measure".equals(codeString))
5867          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASURE);
5868        if ("MeasureReport".equals(codeString))
5869          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASUREREPORT);
5870        if ("Media".equals(codeString))
5871          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDIA);
5872        if ("Medication".equals(codeString))
5873          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATION);
5874        if ("MedicationAdministration".equals(codeString))
5875          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONADMINISTRATION);
5876        if ("MedicationDispense".equals(codeString))
5877          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONDISPENSE);
5878        if ("MedicationKnowledge".equals(codeString))
5879          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONKNOWLEDGE);
5880        if ("MedicationRequest".equals(codeString))
5881          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONREQUEST);
5882        if ("MedicationStatement".equals(codeString))
5883          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONSTATEMENT);
5884        if ("MedicinalProduct".equals(codeString))
5885          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCT);
5886        if ("MedicinalProductAuthorization".equals(codeString))
5887          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION);
5888        if ("MedicinalProductContraindication".equals(codeString))
5889          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION);
5890        if ("MedicinalProductIndication".equals(codeString))
5891          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINDICATION);
5892        if ("MedicinalProductIngredient".equals(codeString))
5893          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINGREDIENT);
5894        if ("MedicinalProductInteraction".equals(codeString))
5895          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINTERACTION);
5896        if ("MedicinalProductManufactured".equals(codeString))
5897          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED);
5898        if ("MedicinalProductPackaged".equals(codeString))
5899          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPACKAGED);
5900        if ("MedicinalProductPharmaceutical".equals(codeString))
5901          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL);
5902        if ("MedicinalProductUndesirableEffect".equals(codeString))
5903          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT);
5904        if ("MessageDefinition".equals(codeString))
5905          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEDEFINITION);
5906        if ("MessageHeader".equals(codeString))
5907          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEHEADER);
5908        if ("MolecularSequence".equals(codeString))
5909          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MOLECULARSEQUENCE);
5910        if ("NamingSystem".equals(codeString))
5911          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NAMINGSYSTEM);
5912        if ("NutritionOrder".equals(codeString))
5913          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NUTRITIONORDER);
5914        if ("Observation".equals(codeString))
5915          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATION);
5916        if ("ObservationDefinition".equals(codeString))
5917          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATIONDEFINITION);
5918        if ("OperationDefinition".equals(codeString))
5919          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONDEFINITION);
5920        if ("OperationOutcome".equals(codeString))
5921          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONOUTCOME);
5922        if ("Organization".equals(codeString))
5923          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATION);
5924        if ("OrganizationAffiliation".equals(codeString))
5925          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATIONAFFILIATION);
5926        if ("Parameters".equals(codeString))
5927          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERS);
5928        if ("Patient".equals(codeString))
5929          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PATIENT);
5930        if ("PaymentNotice".equals(codeString))
5931          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTNOTICE);
5932        if ("PaymentReconciliation".equals(codeString))
5933          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTRECONCILIATION);
5934        if ("Person".equals(codeString))
5935          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERSON);
5936        if ("PlanDefinition".equals(codeString))
5937          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PLANDEFINITION);
5938        if ("Practitioner".equals(codeString))
5939          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONER);
5940        if ("PractitionerRole".equals(codeString))
5941          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONERROLE);
5942        if ("Procedure".equals(codeString))
5943          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCEDURE);
5944        if ("Provenance".equals(codeString))
5945          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROVENANCE);
5946        if ("Questionnaire".equals(codeString))
5947          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRE);
5948        if ("QuestionnaireResponse".equals(codeString))
5949          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRERESPONSE);
5950        if ("RelatedPerson".equals(codeString))
5951          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDPERSON);
5952        if ("RequestGroup".equals(codeString))
5953          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REQUESTGROUP);
5954        if ("ResearchDefinition".equals(codeString))
5955          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHDEFINITION);
5956        if ("ResearchElementDefinition".equals(codeString))
5957          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHELEMENTDEFINITION);
5958        if ("ResearchStudy".equals(codeString))
5959          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSTUDY);
5960        if ("ResearchSubject".equals(codeString))
5961          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSUBJECT);
5962        if ("Resource".equals(codeString))
5963          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESOURCE);
5964        if ("RiskAssessment".equals(codeString))
5965          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKASSESSMENT);
5966        if ("RiskEvidenceSynthesis".equals(codeString))
5967          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKEVIDENCESYNTHESIS);
5968        if ("Schedule".equals(codeString))
5969          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SCHEDULE);
5970        if ("SearchParameter".equals(codeString))
5971          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEARCHPARAMETER);
5972        if ("ServiceRequest".equals(codeString))
5973          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SERVICEREQUEST);
5974        if ("Slot".equals(codeString))
5975          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SLOT);
5976        if ("Specimen".equals(codeString))
5977          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMEN);
5978        if ("SpecimenDefinition".equals(codeString))
5979          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMENDEFINITION);
5980        if ("StructureDefinition".equals(codeString))
5981          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREDEFINITION);
5982        if ("StructureMap".equals(codeString))
5983          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREMAP);
5984        if ("Subscription".equals(codeString))
5985          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSCRIPTION);
5986        if ("Substance".equals(codeString))
5987          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCE);
5988        if ("SubstanceNucleicAcid".equals(codeString))
5989          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCENUCLEICACID);
5990        if ("SubstancePolymer".equals(codeString))
5991          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPOLYMER);
5992        if ("SubstanceProtein".equals(codeString))
5993          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPROTEIN);
5994        if ("SubstanceReferenceInformation".equals(codeString))
5995          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION);
5996        if ("SubstanceSourceMaterial".equals(codeString))
5997          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESOURCEMATERIAL);
5998        if ("SubstanceSpecification".equals(codeString))
5999          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESPECIFICATION);
6000        if ("SupplyDelivery".equals(codeString))
6001          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYDELIVERY);
6002        if ("SupplyRequest".equals(codeString))
6003          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYREQUEST);
6004        if ("Task".equals(codeString))
6005          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TASK);
6006        if ("TerminologyCapabilities".equals(codeString))
6007          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES);
6008        if ("TestReport".equals(codeString))
6009          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTREPORT);
6010        if ("TestScript".equals(codeString))
6011          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTSCRIPT);
6012        if ("ValueSet".equals(codeString))
6013          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VALUESET);
6014        if ("VerificationResult".equals(codeString))
6015          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VERIFICATIONRESULT);
6016        if ("VisionPrescription".equals(codeString))
6017          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VISIONPRESCRIPTION);
6018        if ("Type".equals(codeString))
6019          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TYPE);
6020        if ("Any".equals(codeString))
6021          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANY);
6022        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
6023        }
6024    public String toCode(FHIRAllTypes code) {
6025      if (code == FHIRAllTypes.ADDRESS)
6026        return "Address";
6027      if (code == FHIRAllTypes.AGE)
6028        return "Age";
6029      if (code == FHIRAllTypes.ANNOTATION)
6030        return "Annotation";
6031      if (code == FHIRAllTypes.ATTACHMENT)
6032        return "Attachment";
6033      if (code == FHIRAllTypes.BACKBONEELEMENT)
6034        return "BackboneElement";
6035      if (code == FHIRAllTypes.CODEABLECONCEPT)
6036        return "CodeableConcept";
6037      if (code == FHIRAllTypes.CODING)
6038        return "Coding";
6039      if (code == FHIRAllTypes.CONTACTDETAIL)
6040        return "ContactDetail";
6041      if (code == FHIRAllTypes.CONTACTPOINT)
6042        return "ContactPoint";
6043      if (code == FHIRAllTypes.CONTRIBUTOR)
6044        return "Contributor";
6045      if (code == FHIRAllTypes.COUNT)
6046        return "Count";
6047      if (code == FHIRAllTypes.DATAREQUIREMENT)
6048        return "DataRequirement";
6049      if (code == FHIRAllTypes.DISTANCE)
6050        return "Distance";
6051      if (code == FHIRAllTypes.DOSAGE)
6052        return "Dosage";
6053      if (code == FHIRAllTypes.DURATION)
6054        return "Duration";
6055      if (code == FHIRAllTypes.ELEMENT)
6056        return "Element";
6057      if (code == FHIRAllTypes.ELEMENTDEFINITION)
6058        return "ElementDefinition";
6059      if (code == FHIRAllTypes.EXPRESSION)
6060        return "Expression";
6061      if (code == FHIRAllTypes.EXTENSION)
6062        return "Extension";
6063      if (code == FHIRAllTypes.HUMANNAME)
6064        return "HumanName";
6065      if (code == FHIRAllTypes.IDENTIFIER)
6066        return "Identifier";
6067      if (code == FHIRAllTypes.MARKETINGSTATUS)
6068        return "MarketingStatus";
6069      if (code == FHIRAllTypes.META)
6070        return "Meta";
6071      if (code == FHIRAllTypes.MONEY)
6072        return "Money";
6073      if (code == FHIRAllTypes.MONEYQUANTITY)
6074        return "MoneyQuantity";
6075      if (code == FHIRAllTypes.NARRATIVE)
6076        return "Narrative";
6077      if (code == FHIRAllTypes.PARAMETERDEFINITION)
6078        return "ParameterDefinition";
6079      if (code == FHIRAllTypes.PERIOD)
6080        return "Period";
6081      if (code == FHIRAllTypes.POPULATION)
6082        return "Population";
6083      if (code == FHIRAllTypes.PRODCHARACTERISTIC)
6084        return "ProdCharacteristic";
6085      if (code == FHIRAllTypes.PRODUCTSHELFLIFE)
6086        return "ProductShelfLife";
6087      if (code == FHIRAllTypes.QUANTITY)
6088        return "Quantity";
6089      if (code == FHIRAllTypes.RANGE)
6090        return "Range";
6091      if (code == FHIRAllTypes.RATIO)
6092        return "Ratio";
6093      if (code == FHIRAllTypes.REFERENCE)
6094        return "Reference";
6095      if (code == FHIRAllTypes.RELATEDARTIFACT)
6096        return "RelatedArtifact";
6097      if (code == FHIRAllTypes.SAMPLEDDATA)
6098        return "SampledData";
6099      if (code == FHIRAllTypes.SIGNATURE)
6100        return "Signature";
6101      if (code == FHIRAllTypes.SIMPLEQUANTITY)
6102        return "SimpleQuantity";
6103      if (code == FHIRAllTypes.SUBSTANCEAMOUNT)
6104        return "SubstanceAmount";
6105      if (code == FHIRAllTypes.TIMING)
6106        return "Timing";
6107      if (code == FHIRAllTypes.TRIGGERDEFINITION)
6108        return "TriggerDefinition";
6109      if (code == FHIRAllTypes.USAGECONTEXT)
6110        return "UsageContext";
6111      if (code == FHIRAllTypes.BASE64BINARY)
6112        return "base64Binary";
6113      if (code == FHIRAllTypes.BOOLEAN)
6114        return "boolean";
6115      if (code == FHIRAllTypes.CANONICAL)
6116        return "canonical";
6117      if (code == FHIRAllTypes.CODE)
6118        return "code";
6119      if (code == FHIRAllTypes.DATE)
6120        return "date";
6121      if (code == FHIRAllTypes.DATETIME)
6122        return "dateTime";
6123      if (code == FHIRAllTypes.DECIMAL)
6124        return "decimal";
6125      if (code == FHIRAllTypes.ID)
6126        return "id";
6127      if (code == FHIRAllTypes.INSTANT)
6128        return "instant";
6129      if (code == FHIRAllTypes.INTEGER)
6130        return "integer";
6131      if (code == FHIRAllTypes.MARKDOWN)
6132        return "markdown";
6133      if (code == FHIRAllTypes.OID)
6134        return "oid";
6135      if (code == FHIRAllTypes.POSITIVEINT)
6136        return "positiveInt";
6137      if (code == FHIRAllTypes.STRING)
6138        return "string";
6139      if (code == FHIRAllTypes.TIME)
6140        return "time";
6141      if (code == FHIRAllTypes.UNSIGNEDINT)
6142        return "unsignedInt";
6143      if (code == FHIRAllTypes.URI)
6144        return "uri";
6145      if (code == FHIRAllTypes.URL)
6146        return "url";
6147      if (code == FHIRAllTypes.UUID)
6148        return "uuid";
6149      if (code == FHIRAllTypes.XHTML)
6150        return "xhtml";
6151      if (code == FHIRAllTypes.ACCOUNT)
6152        return "Account";
6153      if (code == FHIRAllTypes.ACTIVITYDEFINITION)
6154        return "ActivityDefinition";
6155      if (code == FHIRAllTypes.ADVERSEEVENT)
6156        return "AdverseEvent";
6157      if (code == FHIRAllTypes.ALLERGYINTOLERANCE)
6158        return "AllergyIntolerance";
6159      if (code == FHIRAllTypes.APPOINTMENT)
6160        return "Appointment";
6161      if (code == FHIRAllTypes.APPOINTMENTRESPONSE)
6162        return "AppointmentResponse";
6163      if (code == FHIRAllTypes.AUDITEVENT)
6164        return "AuditEvent";
6165      if (code == FHIRAllTypes.BASIC)
6166        return "Basic";
6167      if (code == FHIRAllTypes.BINARY)
6168        return "Binary";
6169      if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT)
6170        return "BiologicallyDerivedProduct";
6171      if (code == FHIRAllTypes.BODYSTRUCTURE)
6172        return "BodyStructure";
6173      if (code == FHIRAllTypes.BUNDLE)
6174        return "Bundle";
6175      if (code == FHIRAllTypes.CAPABILITYSTATEMENT)
6176        return "CapabilityStatement";
6177      if (code == FHIRAllTypes.CAREPLAN)
6178        return "CarePlan";
6179      if (code == FHIRAllTypes.CARETEAM)
6180        return "CareTeam";
6181      if (code == FHIRAllTypes.CATALOGENTRY)
6182        return "CatalogEntry";
6183      if (code == FHIRAllTypes.CHARGEITEM)
6184        return "ChargeItem";
6185      if (code == FHIRAllTypes.CHARGEITEMDEFINITION)
6186        return "ChargeItemDefinition";
6187      if (code == FHIRAllTypes.CLAIM)
6188        return "Claim";
6189      if (code == FHIRAllTypes.CLAIMRESPONSE)
6190        return "ClaimResponse";
6191      if (code == FHIRAllTypes.CLINICALIMPRESSION)
6192        return "ClinicalImpression";
6193      if (code == FHIRAllTypes.CODESYSTEM)
6194        return "CodeSystem";
6195      if (code == FHIRAllTypes.COMMUNICATION)
6196        return "Communication";
6197      if (code == FHIRAllTypes.COMMUNICATIONREQUEST)
6198        return "CommunicationRequest";
6199      if (code == FHIRAllTypes.COMPARTMENTDEFINITION)
6200        return "CompartmentDefinition";
6201      if (code == FHIRAllTypes.COMPOSITION)
6202        return "Composition";
6203      if (code == FHIRAllTypes.CONCEPTMAP)
6204        return "ConceptMap";
6205      if (code == FHIRAllTypes.CONDITION)
6206        return "Condition";
6207      if (code == FHIRAllTypes.CONSENT)
6208        return "Consent";
6209      if (code == FHIRAllTypes.CONTRACT)
6210        return "Contract";
6211      if (code == FHIRAllTypes.COVERAGE)
6212        return "Coverage";
6213      if (code == FHIRAllTypes.COVERAGEELIGIBILITYREQUEST)
6214        return "CoverageEligibilityRequest";
6215      if (code == FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE)
6216        return "CoverageEligibilityResponse";
6217      if (code == FHIRAllTypes.DETECTEDISSUE)
6218        return "DetectedIssue";
6219      if (code == FHIRAllTypes.DEVICE)
6220        return "Device";
6221      if (code == FHIRAllTypes.DEVICEDEFINITION)
6222        return "DeviceDefinition";
6223      if (code == FHIRAllTypes.DEVICEMETRIC)
6224        return "DeviceMetric";
6225      if (code == FHIRAllTypes.DEVICEREQUEST)
6226        return "DeviceRequest";
6227      if (code == FHIRAllTypes.DEVICEUSESTATEMENT)
6228        return "DeviceUseStatement";
6229      if (code == FHIRAllTypes.DIAGNOSTICREPORT)
6230        return "DiagnosticReport";
6231      if (code == FHIRAllTypes.DOCUMENTMANIFEST)
6232        return "DocumentManifest";
6233      if (code == FHIRAllTypes.DOCUMENTREFERENCE)
6234        return "DocumentReference";
6235      if (code == FHIRAllTypes.DOMAINRESOURCE)
6236        return "DomainResource";
6237      if (code == FHIRAllTypes.EFFECTEVIDENCESYNTHESIS)
6238        return "EffectEvidenceSynthesis";
6239      if (code == FHIRAllTypes.ENCOUNTER)
6240        return "Encounter";
6241      if (code == FHIRAllTypes.ENDPOINT)
6242        return "Endpoint";
6243      if (code == FHIRAllTypes.ENROLLMENTREQUEST)
6244        return "EnrollmentRequest";
6245      if (code == FHIRAllTypes.ENROLLMENTRESPONSE)
6246        return "EnrollmentResponse";
6247      if (code == FHIRAllTypes.EPISODEOFCARE)
6248        return "EpisodeOfCare";
6249      if (code == FHIRAllTypes.EVENTDEFINITION)
6250        return "EventDefinition";
6251      if (code == FHIRAllTypes.EVIDENCE)
6252        return "Evidence";
6253      if (code == FHIRAllTypes.EVIDENCEVARIABLE)
6254        return "EvidenceVariable";
6255      if (code == FHIRAllTypes.EXAMPLESCENARIO)
6256        return "ExampleScenario";
6257      if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT)
6258        return "ExplanationOfBenefit";
6259      if (code == FHIRAllTypes.FAMILYMEMBERHISTORY)
6260        return "FamilyMemberHistory";
6261      if (code == FHIRAllTypes.FLAG)
6262        return "Flag";
6263      if (code == FHIRAllTypes.GOAL)
6264        return "Goal";
6265      if (code == FHIRAllTypes.GRAPHDEFINITION)
6266        return "GraphDefinition";
6267      if (code == FHIRAllTypes.GROUP)
6268        return "Group";
6269      if (code == FHIRAllTypes.GUIDANCERESPONSE)
6270        return "GuidanceResponse";
6271      if (code == FHIRAllTypes.HEALTHCARESERVICE)
6272        return "HealthcareService";
6273      if (code == FHIRAllTypes.IMAGINGSTUDY)
6274        return "ImagingStudy";
6275      if (code == FHIRAllTypes.IMMUNIZATION)
6276        return "Immunization";
6277      if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION)
6278        return "ImmunizationEvaluation";
6279      if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION)
6280        return "ImmunizationRecommendation";
6281      if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE)
6282        return "ImplementationGuide";
6283      if (code == FHIRAllTypes.INSURANCEPLAN)
6284        return "InsurancePlan";
6285      if (code == FHIRAllTypes.INVOICE)
6286        return "Invoice";
6287      if (code == FHIRAllTypes.LIBRARY)
6288        return "Library";
6289      if (code == FHIRAllTypes.LINKAGE)
6290        return "Linkage";
6291      if (code == FHIRAllTypes.LIST)
6292        return "List";
6293      if (code == FHIRAllTypes.LOCATION)
6294        return "Location";
6295      if (code == FHIRAllTypes.MEASURE)
6296        return "Measure";
6297      if (code == FHIRAllTypes.MEASUREREPORT)
6298        return "MeasureReport";
6299      if (code == FHIRAllTypes.MEDIA)
6300        return "Media";
6301      if (code == FHIRAllTypes.MEDICATION)
6302        return "Medication";
6303      if (code == FHIRAllTypes.MEDICATIONADMINISTRATION)
6304        return "MedicationAdministration";
6305      if (code == FHIRAllTypes.MEDICATIONDISPENSE)
6306        return "MedicationDispense";
6307      if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE)
6308        return "MedicationKnowledge";
6309      if (code == FHIRAllTypes.MEDICATIONREQUEST)
6310        return "MedicationRequest";
6311      if (code == FHIRAllTypes.MEDICATIONSTATEMENT)
6312        return "MedicationStatement";
6313      if (code == FHIRAllTypes.MEDICINALPRODUCT)
6314        return "MedicinalProduct";
6315      if (code == FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION)
6316        return "MedicinalProductAuthorization";
6317      if (code == FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION)
6318        return "MedicinalProductContraindication";
6319      if (code == FHIRAllTypes.MEDICINALPRODUCTINDICATION)
6320        return "MedicinalProductIndication";
6321      if (code == FHIRAllTypes.MEDICINALPRODUCTINGREDIENT)
6322        return "MedicinalProductIngredient";
6323      if (code == FHIRAllTypes.MEDICINALPRODUCTINTERACTION)
6324        return "MedicinalProductInteraction";
6325      if (code == FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED)
6326        return "MedicinalProductManufactured";
6327      if (code == FHIRAllTypes.MEDICINALPRODUCTPACKAGED)
6328        return "MedicinalProductPackaged";
6329      if (code == FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL)
6330        return "MedicinalProductPharmaceutical";
6331      if (code == FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT)
6332        return "MedicinalProductUndesirableEffect";
6333      if (code == FHIRAllTypes.MESSAGEDEFINITION)
6334        return "MessageDefinition";
6335      if (code == FHIRAllTypes.MESSAGEHEADER)
6336        return "MessageHeader";
6337      if (code == FHIRAllTypes.MOLECULARSEQUENCE)
6338        return "MolecularSequence";
6339      if (code == FHIRAllTypes.NAMINGSYSTEM)
6340        return "NamingSystem";
6341      if (code == FHIRAllTypes.NUTRITIONORDER)
6342        return "NutritionOrder";
6343      if (code == FHIRAllTypes.OBSERVATION)
6344        return "Observation";
6345      if (code == FHIRAllTypes.OBSERVATIONDEFINITION)
6346        return "ObservationDefinition";
6347      if (code == FHIRAllTypes.OPERATIONDEFINITION)
6348        return "OperationDefinition";
6349      if (code == FHIRAllTypes.OPERATIONOUTCOME)
6350        return "OperationOutcome";
6351      if (code == FHIRAllTypes.ORGANIZATION)
6352        return "Organization";
6353      if (code == FHIRAllTypes.ORGANIZATIONAFFILIATION)
6354        return "OrganizationAffiliation";
6355      if (code == FHIRAllTypes.PARAMETERS)
6356        return "Parameters";
6357      if (code == FHIRAllTypes.PATIENT)
6358        return "Patient";
6359      if (code == FHIRAllTypes.PAYMENTNOTICE)
6360        return "PaymentNotice";
6361      if (code == FHIRAllTypes.PAYMENTRECONCILIATION)
6362        return "PaymentReconciliation";
6363      if (code == FHIRAllTypes.PERSON)
6364        return "Person";
6365      if (code == FHIRAllTypes.PLANDEFINITION)
6366        return "PlanDefinition";
6367      if (code == FHIRAllTypes.PRACTITIONER)
6368        return "Practitioner";
6369      if (code == FHIRAllTypes.PRACTITIONERROLE)
6370        return "PractitionerRole";
6371      if (code == FHIRAllTypes.PROCEDURE)
6372        return "Procedure";
6373      if (code == FHIRAllTypes.PROVENANCE)
6374        return "Provenance";
6375      if (code == FHIRAllTypes.QUESTIONNAIRE)
6376        return "Questionnaire";
6377      if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE)
6378        return "QuestionnaireResponse";
6379      if (code == FHIRAllTypes.RELATEDPERSON)
6380        return "RelatedPerson";
6381      if (code == FHIRAllTypes.REQUESTGROUP)
6382        return "RequestGroup";
6383      if (code == FHIRAllTypes.RESEARCHDEFINITION)
6384        return "ResearchDefinition";
6385      if (code == FHIRAllTypes.RESEARCHELEMENTDEFINITION)
6386        return "ResearchElementDefinition";
6387      if (code == FHIRAllTypes.RESEARCHSTUDY)
6388        return "ResearchStudy";
6389      if (code == FHIRAllTypes.RESEARCHSUBJECT)
6390        return "ResearchSubject";
6391      if (code == FHIRAllTypes.RESOURCE)
6392        return "Resource";
6393      if (code == FHIRAllTypes.RISKASSESSMENT)
6394        return "RiskAssessment";
6395      if (code == FHIRAllTypes.RISKEVIDENCESYNTHESIS)
6396        return "RiskEvidenceSynthesis";
6397      if (code == FHIRAllTypes.SCHEDULE)
6398        return "Schedule";
6399      if (code == FHIRAllTypes.SEARCHPARAMETER)
6400        return "SearchParameter";
6401      if (code == FHIRAllTypes.SERVICEREQUEST)
6402        return "ServiceRequest";
6403      if (code == FHIRAllTypes.SLOT)
6404        return "Slot";
6405      if (code == FHIRAllTypes.SPECIMEN)
6406        return "Specimen";
6407      if (code == FHIRAllTypes.SPECIMENDEFINITION)
6408        return "SpecimenDefinition";
6409      if (code == FHIRAllTypes.STRUCTUREDEFINITION)
6410        return "StructureDefinition";
6411      if (code == FHIRAllTypes.STRUCTUREMAP)
6412        return "StructureMap";
6413      if (code == FHIRAllTypes.SUBSCRIPTION)
6414        return "Subscription";
6415      if (code == FHIRAllTypes.SUBSTANCE)
6416        return "Substance";
6417      if (code == FHIRAllTypes.SUBSTANCENUCLEICACID)
6418        return "SubstanceNucleicAcid";
6419      if (code == FHIRAllTypes.SUBSTANCEPOLYMER)
6420        return "SubstancePolymer";
6421      if (code == FHIRAllTypes.SUBSTANCEPROTEIN)
6422        return "SubstanceProtein";
6423      if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION)
6424        return "SubstanceReferenceInformation";
6425      if (code == FHIRAllTypes.SUBSTANCESOURCEMATERIAL)
6426        return "SubstanceSourceMaterial";
6427      if (code == FHIRAllTypes.SUBSTANCESPECIFICATION)
6428        return "SubstanceSpecification";
6429      if (code == FHIRAllTypes.SUPPLYDELIVERY)
6430        return "SupplyDelivery";
6431      if (code == FHIRAllTypes.SUPPLYREQUEST)
6432        return "SupplyRequest";
6433      if (code == FHIRAllTypes.TASK)
6434        return "Task";
6435      if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES)
6436        return "TerminologyCapabilities";
6437      if (code == FHIRAllTypes.TESTREPORT)
6438        return "TestReport";
6439      if (code == FHIRAllTypes.TESTSCRIPT)
6440        return "TestScript";
6441      if (code == FHIRAllTypes.VALUESET)
6442        return "ValueSet";
6443      if (code == FHIRAllTypes.VERIFICATIONRESULT)
6444        return "VerificationResult";
6445      if (code == FHIRAllTypes.VISIONPRESCRIPTION)
6446        return "VisionPrescription";
6447      if (code == FHIRAllTypes.TYPE)
6448        return "Type";
6449      if (code == FHIRAllTypes.ANY)
6450        return "Any";
6451      return "?";
6452      }
6453    public String toSystem(FHIRAllTypes code) {
6454      return code.getSystem();
6455      }
6456    }
6457
6458    public enum FHIRDefinedType {
6459        /**
6460         * 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.
6461         */
6462        ADDRESS, 
6463        /**
6464         * A duration of time during which an organism (or a process) has existed.
6465         */
6466        AGE, 
6467        /**
6468         * A  text note which also  contains information about who made the statement and when.
6469         */
6470        ANNOTATION, 
6471        /**
6472         * For referring to data content defined in other formats.
6473         */
6474        ATTACHMENT, 
6475        /**
6476         * Base definition for all elements that are defined inside a resource - but not those in a data type.
6477         */
6478        BACKBONEELEMENT, 
6479        /**
6480         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
6481         */
6482        CODEABLECONCEPT, 
6483        /**
6484         * A reference to a code defined by a terminology system.
6485         */
6486        CODING, 
6487        /**
6488         * Specifies contact information for a person or organization.
6489         */
6490        CONTACTDETAIL, 
6491        /**
6492         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
6493         */
6494        CONTACTPOINT, 
6495        /**
6496         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
6497         */
6498        CONTRIBUTOR, 
6499        /**
6500         * 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.
6501         */
6502        COUNT, 
6503        /**
6504         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
6505         */
6506        DATAREQUIREMENT, 
6507        /**
6508         * A length - a value with a unit that is a physical distance.
6509         */
6510        DISTANCE, 
6511        /**
6512         * Indicates how the medication is/was taken or should be taken by the patient.
6513         */
6514        DOSAGE, 
6515        /**
6516         * A length of time.
6517         */
6518        DURATION, 
6519        /**
6520         * Base definition for all elements in a resource.
6521         */
6522        ELEMENT, 
6523        /**
6524         * Captures constraints on each element within the resource, profile, or extension.
6525         */
6526        ELEMENTDEFINITION, 
6527        /**
6528         * 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.
6529         */
6530        EXPRESSION, 
6531        /**
6532         * Optional Extension Element - found in all resources.
6533         */
6534        EXTENSION, 
6535        /**
6536         * A human's name with the ability to identify parts and usage.
6537         */
6538        HUMANNAME, 
6539        /**
6540         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
6541         */
6542        IDENTIFIER, 
6543        /**
6544         * 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.
6545         */
6546        MARKETINGSTATUS, 
6547        /**
6548         * 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.
6549         */
6550        META, 
6551        /**
6552         * An amount of economic utility in some recognized currency.
6553         */
6554        MONEY, 
6555        /**
6556         * null
6557         */
6558        MONEYQUANTITY, 
6559        /**
6560         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
6561         */
6562        NARRATIVE, 
6563        /**
6564         * 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.
6565         */
6566        PARAMETERDEFINITION, 
6567        /**
6568         * A time period defined by a start and end date and optionally time.
6569         */
6570        PERIOD, 
6571        /**
6572         * A populatioof people with some set of grouping criteria.
6573         */
6574        POPULATION, 
6575        /**
6576         * 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.
6577         */
6578        PRODCHARACTERISTIC, 
6579        /**
6580         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
6581         */
6582        PRODUCTSHELFLIFE, 
6583        /**
6584         * 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.
6585         */
6586        QUANTITY, 
6587        /**
6588         * A set of ordered Quantities defined by a low and high limit.
6589         */
6590        RANGE, 
6591        /**
6592         * A relationship of two Quantity values - expressed as a numerator and a denominator.
6593         */
6594        RATIO, 
6595        /**
6596         * A reference from one resource to another.
6597         */
6598        REFERENCE, 
6599        /**
6600         * Related artifacts such as additional documentation, justification, or bibliographic references.
6601         */
6602        RELATEDARTIFACT, 
6603        /**
6604         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
6605         */
6606        SAMPLEDDATA, 
6607        /**
6608         * 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.
6609         */
6610        SIGNATURE, 
6611        /**
6612         * null
6613         */
6614        SIMPLEQUANTITY, 
6615        /**
6616         * 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.
6617         */
6618        SUBSTANCEAMOUNT, 
6619        /**
6620         * 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.
6621         */
6622        TIMING, 
6623        /**
6624         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
6625         */
6626        TRIGGERDEFINITION, 
6627        /**
6628         * 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).
6629         */
6630        USAGECONTEXT, 
6631        /**
6632         * A stream of bytes
6633         */
6634        BASE64BINARY, 
6635        /**
6636         * Value of "true" or "false"
6637         */
6638        BOOLEAN, 
6639        /**
6640         * A URI that is a reference to a canonical URL on a FHIR resource
6641         */
6642        CANONICAL, 
6643        /**
6644         * 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
6645         */
6646        CODE, 
6647        /**
6648         * 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.
6649         */
6650        DATE, 
6651        /**
6652         * 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.
6653         */
6654        DATETIME, 
6655        /**
6656         * A rational number with implicit precision
6657         */
6658        DECIMAL, 
6659        /**
6660         * 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.
6661         */
6662        ID, 
6663        /**
6664         * An instant in time - known at least to the second
6665         */
6666        INSTANT, 
6667        /**
6668         * A whole number
6669         */
6670        INTEGER, 
6671        /**
6672         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
6673         */
6674        MARKDOWN, 
6675        /**
6676         * An OID represented as a URI
6677         */
6678        OID, 
6679        /**
6680         * An integer with a value that is positive (e.g. >0)
6681         */
6682        POSITIVEINT, 
6683        /**
6684         * A sequence of Unicode characters
6685         */
6686        STRING, 
6687        /**
6688         * A time during the day, with no date specified
6689         */
6690        TIME, 
6691        /**
6692         * An integer with a value that is not negative (e.g. >= 0)
6693         */
6694        UNSIGNEDINT, 
6695        /**
6696         * String of characters used to identify a name or a resource
6697         */
6698        URI, 
6699        /**
6700         * A URI that is a literal reference
6701         */
6702        URL, 
6703        /**
6704         * A UUID, represented as a URI
6705         */
6706        UUID, 
6707        /**
6708         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
6709         */
6710        XHTML, 
6711        /**
6712         * 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.
6713         */
6714        ACCOUNT, 
6715        /**
6716         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
6717         */
6718        ACTIVITYDEFINITION, 
6719        /**
6720         * 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.
6721         */
6722        ADVERSEEVENT, 
6723        /**
6724         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
6725         */
6726        ALLERGYINTOLERANCE, 
6727        /**
6728         * 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).
6729         */
6730        APPOINTMENT, 
6731        /**
6732         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
6733         */
6734        APPOINTMENTRESPONSE, 
6735        /**
6736         * 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.
6737         */
6738        AUDITEVENT, 
6739        /**
6740         * 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.
6741         */
6742        BASIC, 
6743        /**
6744         * 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.
6745         */
6746        BINARY, 
6747        /**
6748         * A material substance originating from a biological entity intended to be transplanted or infused
6749into another (possibly the same) biological entity.
6750         */
6751        BIOLOGICALLYDERIVEDPRODUCT, 
6752        /**
6753         * 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.
6754         */
6755        BODYSTRUCTURE, 
6756        /**
6757         * A container for a collection of resources.
6758         */
6759        BUNDLE, 
6760        /**
6761         * 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.
6762         */
6763        CAPABILITYSTATEMENT, 
6764        /**
6765         * 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.
6766         */
6767        CAREPLAN, 
6768        /**
6769         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
6770         */
6771        CARETEAM, 
6772        /**
6773         * Catalog entries are wrappers that contextualize items included in a catalog.
6774         */
6775        CATALOGENTRY, 
6776        /**
6777         * 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.
6778         */
6779        CHARGEITEM, 
6780        /**
6781         * 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.
6782         */
6783        CHARGEITEMDEFINITION, 
6784        /**
6785         * 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.
6786         */
6787        CLAIM, 
6788        /**
6789         * This resource provides the adjudication details from the processing of a Claim resource.
6790         */
6791        CLAIMRESPONSE, 
6792        /**
6793         * 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.
6794         */
6795        CLINICALIMPRESSION, 
6796        /**
6797         * 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.
6798         */
6799        CODESYSTEM, 
6800        /**
6801         * 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.
6802         */
6803        COMMUNICATION, 
6804        /**
6805         * 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.
6806         */
6807        COMMUNICATIONREQUEST, 
6808        /**
6809         * A compartment definition that defines how resources are accessed on a server.
6810         */
6811        COMPARTMENTDEFINITION, 
6812        /**
6813         * 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.).
6814         */
6815        COMPOSITION, 
6816        /**
6817         * 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.
6818         */
6819        CONCEPTMAP, 
6820        /**
6821         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
6822         */
6823        CONDITION, 
6824        /**
6825         * 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.
6826         */
6827        CONSENT, 
6828        /**
6829         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
6830         */
6831        CONTRACT, 
6832        /**
6833         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
6834         */
6835        COVERAGE, 
6836        /**
6837         * 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.
6838         */
6839        COVERAGEELIGIBILITYREQUEST, 
6840        /**
6841         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
6842         */
6843        COVERAGEELIGIBILITYRESPONSE, 
6844        /**
6845         * 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.
6846         */
6847        DETECTEDISSUE, 
6848        /**
6849         * 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.
6850         */
6851        DEVICE, 
6852        /**
6853         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
6854         */
6855        DEVICEDEFINITION, 
6856        /**
6857         * Describes a measurement, calculation or setting capability of a medical device.
6858         */
6859        DEVICEMETRIC, 
6860        /**
6861         * 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.
6862         */
6863        DEVICEREQUEST, 
6864        /**
6865         * 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.
6866         */
6867        DEVICEUSESTATEMENT, 
6868        /**
6869         * 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.
6870         */
6871        DIAGNOSTICREPORT, 
6872        /**
6873         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
6874         */
6875        DOCUMENTMANIFEST, 
6876        /**
6877         * 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.
6878         */
6879        DOCUMENTREFERENCE, 
6880        /**
6881         * A resource that includes narrative, extensions, and contained resources.
6882         */
6883        DOMAINRESOURCE, 
6884        /**
6885         * 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.
6886         */
6887        EFFECTEVIDENCESYNTHESIS, 
6888        /**
6889         * 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.
6890         */
6891        ENCOUNTER, 
6892        /**
6893         * 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.
6894         */
6895        ENDPOINT, 
6896        /**
6897         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
6898         */
6899        ENROLLMENTREQUEST, 
6900        /**
6901         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
6902         */
6903        ENROLLMENTRESPONSE, 
6904        /**
6905         * 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.
6906         */
6907        EPISODEOFCARE, 
6908        /**
6909         * The EventDefinition resource provides a reusable description of when a particular event can occur.
6910         */
6911        EVENTDEFINITION, 
6912        /**
6913         * 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.
6914         */
6915        EVIDENCE, 
6916        /**
6917         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
6918         */
6919        EVIDENCEVARIABLE, 
6920        /**
6921         * Example of workflow instance.
6922         */
6923        EXAMPLESCENARIO, 
6924        /**
6925         * 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.
6926         */
6927        EXPLANATIONOFBENEFIT, 
6928        /**
6929         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
6930         */
6931        FAMILYMEMBERHISTORY, 
6932        /**
6933         * Prospective warnings of potential issues when providing care to the patient.
6934         */
6935        FLAG, 
6936        /**
6937         * 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.
6938         */
6939        GOAL, 
6940        /**
6941         * 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.
6942         */
6943        GRAPHDEFINITION, 
6944        /**
6945         * 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.
6946         */
6947        GROUP, 
6948        /**
6949         * 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.
6950         */
6951        GUIDANCERESPONSE, 
6952        /**
6953         * The details of a healthcare service available at a location.
6954         */
6955        HEALTHCARESERVICE, 
6956        /**
6957         * 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.
6958         */
6959        IMAGINGSTUDY, 
6960        /**
6961         * 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.
6962         */
6963        IMMUNIZATION, 
6964        /**
6965         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
6966         */
6967        IMMUNIZATIONEVALUATION, 
6968        /**
6969         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
6970         */
6971        IMMUNIZATIONRECOMMENDATION, 
6972        /**
6973         * 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.
6974         */
6975        IMPLEMENTATIONGUIDE, 
6976        /**
6977         * Details of a Health Insurance product/plan provided by an organization.
6978         */
6979        INSURANCEPLAN, 
6980        /**
6981         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
6982         */
6983        INVOICE, 
6984        /**
6985         * 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.
6986         */
6987        LIBRARY, 
6988        /**
6989         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
6990         */
6991        LINKAGE, 
6992        /**
6993         * A list is a curated collection of resources.
6994         */
6995        LIST, 
6996        /**
6997         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
6998         */
6999        LOCATION, 
7000        /**
7001         * The Measure resource provides the definition of a quality measure.
7002         */
7003        MEASURE, 
7004        /**
7005         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
7006         */
7007        MEASUREREPORT, 
7008        /**
7009         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
7010         */
7011        MEDIA, 
7012        /**
7013         * 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.
7014         */
7015        MEDICATION, 
7016        /**
7017         * 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.
7018         */
7019        MEDICATIONADMINISTRATION, 
7020        /**
7021         * 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.
7022         */
7023        MEDICATIONDISPENSE, 
7024        /**
7025         * Information about a medication that is used to support knowledge.
7026         */
7027        MEDICATIONKNOWLEDGE, 
7028        /**
7029         * 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.
7030         */
7031        MEDICATIONREQUEST, 
7032        /**
7033         * 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. 
7034
7035The 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.
7036         */
7037        MEDICATIONSTATEMENT, 
7038        /**
7039         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
7040         */
7041        MEDICINALPRODUCT, 
7042        /**
7043         * The regulatory authorization of a medicinal product.
7044         */
7045        MEDICINALPRODUCTAUTHORIZATION, 
7046        /**
7047         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
7048         */
7049        MEDICINALPRODUCTCONTRAINDICATION, 
7050        /**
7051         * Indication for the Medicinal Product.
7052         */
7053        MEDICINALPRODUCTINDICATION, 
7054        /**
7055         * An ingredient of a manufactured item or pharmaceutical product.
7056         */
7057        MEDICINALPRODUCTINGREDIENT, 
7058        /**
7059         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
7060         */
7061        MEDICINALPRODUCTINTERACTION, 
7062        /**
7063         * The manufactured item as contained in the packaged medicinal product.
7064         */
7065        MEDICINALPRODUCTMANUFACTURED, 
7066        /**
7067         * A medicinal product in a container or package.
7068         */
7069        MEDICINALPRODUCTPACKAGED, 
7070        /**
7071         * A pharmaceutical product described in terms of its composition and dose form.
7072         */
7073        MEDICINALPRODUCTPHARMACEUTICAL, 
7074        /**
7075         * Describe the undesirable effects of the medicinal product.
7076         */
7077        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
7078        /**
7079         * 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.
7080         */
7081        MESSAGEDEFINITION, 
7082        /**
7083         * 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.
7084         */
7085        MESSAGEHEADER, 
7086        /**
7087         * Raw data describing a biological sequence.
7088         */
7089        MOLECULARSEQUENCE, 
7090        /**
7091         * 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.
7092         */
7093        NAMINGSYSTEM, 
7094        /**
7095         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
7096         */
7097        NUTRITIONORDER, 
7098        /**
7099         * Measurements and simple assertions made about a patient, device or other subject.
7100         */
7101        OBSERVATION, 
7102        /**
7103         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
7104         */
7105        OBSERVATIONDEFINITION, 
7106        /**
7107         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
7108         */
7109        OPERATIONDEFINITION, 
7110        /**
7111         * A collection of error, warning, or information messages that result from a system action.
7112         */
7113        OPERATIONOUTCOME, 
7114        /**
7115         * 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.
7116         */
7117        ORGANIZATION, 
7118        /**
7119         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
7120         */
7121        ORGANIZATIONAFFILIATION, 
7122        /**
7123         * 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.
7124         */
7125        PARAMETERS, 
7126        /**
7127         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
7128         */
7129        PATIENT, 
7130        /**
7131         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
7132         */
7133        PAYMENTNOTICE, 
7134        /**
7135         * This resource provides the details including amount of a payment and allocates the payment items being paid.
7136         */
7137        PAYMENTRECONCILIATION, 
7138        /**
7139         * Demographics and administrative information about a person independent of a specific health-related context.
7140         */
7141        PERSON, 
7142        /**
7143         * 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.
7144         */
7145        PLANDEFINITION, 
7146        /**
7147         * A person who is directly or indirectly involved in the provisioning of healthcare.
7148         */
7149        PRACTITIONER, 
7150        /**
7151         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
7152         */
7153        PRACTITIONERROLE, 
7154        /**
7155         * 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.
7156         */
7157        PROCEDURE, 
7158        /**
7159         * 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.
7160         */
7161        PROVENANCE, 
7162        /**
7163         * 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.
7164         */
7165        QUESTIONNAIRE, 
7166        /**
7167         * 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.
7168         */
7169        QUESTIONNAIRERESPONSE, 
7170        /**
7171         * 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.
7172         */
7173        RELATEDPERSON, 
7174        /**
7175         * 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".
7176         */
7177        REQUESTGROUP, 
7178        /**
7179         * 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.
7180         */
7181        RESEARCHDEFINITION, 
7182        /**
7183         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
7184         */
7185        RESEARCHELEMENTDEFINITION, 
7186        /**
7187         * 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.
7188         */
7189        RESEARCHSTUDY, 
7190        /**
7191         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
7192         */
7193        RESEARCHSUBJECT, 
7194        /**
7195         * This is the base resource type for everything.
7196         */
7197        RESOURCE, 
7198        /**
7199         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
7200         */
7201        RISKASSESSMENT, 
7202        /**
7203         * 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.
7204         */
7205        RISKEVIDENCESYNTHESIS, 
7206        /**
7207         * A container for slots of time that may be available for booking appointments.
7208         */
7209        SCHEDULE, 
7210        /**
7211         * A search parameter that defines a named search item that can be used to search/filter on a resource.
7212         */
7213        SEARCHPARAMETER, 
7214        /**
7215         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
7216         */
7217        SERVICEREQUEST, 
7218        /**
7219         * A slot of time on a schedule that may be available for booking appointments.
7220         */
7221        SLOT, 
7222        /**
7223         * A sample to be used for analysis.
7224         */
7225        SPECIMEN, 
7226        /**
7227         * A kind of specimen with associated set of requirements.
7228         */
7229        SPECIMENDEFINITION, 
7230        /**
7231         * 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.
7232         */
7233        STRUCTUREDEFINITION, 
7234        /**
7235         * A Map of relationships between 2 structures that can be used to transform data.
7236         */
7237        STRUCTUREMAP, 
7238        /**
7239         * 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.
7240         */
7241        SUBSCRIPTION, 
7242        /**
7243         * A homogeneous material with a definite composition.
7244         */
7245        SUBSTANCE, 
7246        /**
7247         * 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.
7248         */
7249        SUBSTANCENUCLEICACID, 
7250        /**
7251         * Todo.
7252         */
7253        SUBSTANCEPOLYMER, 
7254        /**
7255         * 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.
7256         */
7257        SUBSTANCEPROTEIN, 
7258        /**
7259         * Todo.
7260         */
7261        SUBSTANCEREFERENCEINFORMATION, 
7262        /**
7263         * 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.
7264         */
7265        SUBSTANCESOURCEMATERIAL, 
7266        /**
7267         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
7268         */
7269        SUBSTANCESPECIFICATION, 
7270        /**
7271         * Record of delivery of what is supplied.
7272         */
7273        SUPPLYDELIVERY, 
7274        /**
7275         * A record of a request for a medication, substance or device used in the healthcare setting.
7276         */
7277        SUPPLYREQUEST, 
7278        /**
7279         * A task to be performed.
7280         */
7281        TASK, 
7282        /**
7283         * 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.
7284         */
7285        TERMINOLOGYCAPABILITIES, 
7286        /**
7287         * A summary of information based on the results of executing a TestScript.
7288         */
7289        TESTREPORT, 
7290        /**
7291         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
7292         */
7293        TESTSCRIPT, 
7294        /**
7295         * 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).
7296         */
7297        VALUESET, 
7298        /**
7299         * Describes validation requirements, source(s), status and dates for one or more elements.
7300         */
7301        VERIFICATIONRESULT, 
7302        /**
7303         * An authorization for the provision of glasses and/or contact lenses to a patient.
7304         */
7305        VISIONPRESCRIPTION, 
7306        /**
7307         * added to help the parsers
7308         */
7309        NULL;
7310        public static FHIRDefinedType fromCode(String codeString) throws FHIRException {
7311            if (codeString == null || "".equals(codeString))
7312                return null;
7313        if ("Address".equals(codeString))
7314          return ADDRESS;
7315        if ("Age".equals(codeString))
7316          return AGE;
7317        if ("Annotation".equals(codeString))
7318          return ANNOTATION;
7319        if ("Attachment".equals(codeString))
7320          return ATTACHMENT;
7321        if ("BackboneElement".equals(codeString))
7322          return BACKBONEELEMENT;
7323        if ("CodeableConcept".equals(codeString))
7324          return CODEABLECONCEPT;
7325        if ("Coding".equals(codeString))
7326          return CODING;
7327        if ("ContactDetail".equals(codeString))
7328          return CONTACTDETAIL;
7329        if ("ContactPoint".equals(codeString))
7330          return CONTACTPOINT;
7331        if ("Contributor".equals(codeString))
7332          return CONTRIBUTOR;
7333        if ("Count".equals(codeString))
7334          return COUNT;
7335        if ("DataRequirement".equals(codeString))
7336          return DATAREQUIREMENT;
7337        if ("Distance".equals(codeString))
7338          return DISTANCE;
7339        if ("Dosage".equals(codeString))
7340          return DOSAGE;
7341        if ("Duration".equals(codeString))
7342          return DURATION;
7343        if ("Element".equals(codeString))
7344          return ELEMENT;
7345        if ("ElementDefinition".equals(codeString))
7346          return ELEMENTDEFINITION;
7347        if ("Expression".equals(codeString))
7348          return EXPRESSION;
7349        if ("Extension".equals(codeString))
7350          return EXTENSION;
7351        if ("HumanName".equals(codeString))
7352          return HUMANNAME;
7353        if ("Identifier".equals(codeString))
7354          return IDENTIFIER;
7355        if ("MarketingStatus".equals(codeString))
7356          return MARKETINGSTATUS;
7357        if ("Meta".equals(codeString))
7358          return META;
7359        if ("Money".equals(codeString))
7360          return MONEY;
7361        if ("MoneyQuantity".equals(codeString))
7362          return MONEYQUANTITY;
7363        if ("Narrative".equals(codeString))
7364          return NARRATIVE;
7365        if ("ParameterDefinition".equals(codeString))
7366          return PARAMETERDEFINITION;
7367        if ("Period".equals(codeString))
7368          return PERIOD;
7369        if ("Population".equals(codeString))
7370          return POPULATION;
7371        if ("ProdCharacteristic".equals(codeString))
7372          return PRODCHARACTERISTIC;
7373        if ("ProductShelfLife".equals(codeString))
7374          return PRODUCTSHELFLIFE;
7375        if ("Quantity".equals(codeString))
7376          return QUANTITY;
7377        if ("Range".equals(codeString))
7378          return RANGE;
7379        if ("Ratio".equals(codeString))
7380          return RATIO;
7381        if ("Reference".equals(codeString))
7382          return REFERENCE;
7383        if ("RelatedArtifact".equals(codeString))
7384          return RELATEDARTIFACT;
7385        if ("SampledData".equals(codeString))
7386          return SAMPLEDDATA;
7387        if ("Signature".equals(codeString))
7388          return SIGNATURE;
7389        if ("SimpleQuantity".equals(codeString))
7390          return SIMPLEQUANTITY;
7391        if ("SubstanceAmount".equals(codeString))
7392          return SUBSTANCEAMOUNT;
7393        if ("Timing".equals(codeString))
7394          return TIMING;
7395        if ("TriggerDefinition".equals(codeString))
7396          return TRIGGERDEFINITION;
7397        if ("UsageContext".equals(codeString))
7398          return USAGECONTEXT;
7399        if ("base64Binary".equals(codeString))
7400          return BASE64BINARY;
7401        if ("boolean".equals(codeString))
7402          return BOOLEAN;
7403        if ("canonical".equals(codeString))
7404          return CANONICAL;
7405        if ("code".equals(codeString))
7406          return CODE;
7407        if ("date".equals(codeString))
7408          return DATE;
7409        if ("dateTime".equals(codeString))
7410          return DATETIME;
7411        if ("decimal".equals(codeString))
7412          return DECIMAL;
7413        if ("id".equals(codeString))
7414          return ID;
7415        if ("instant".equals(codeString))
7416          return INSTANT;
7417        if ("integer".equals(codeString))
7418          return INTEGER;
7419        if ("markdown".equals(codeString))
7420          return MARKDOWN;
7421        if ("oid".equals(codeString))
7422          return OID;
7423        if ("positiveInt".equals(codeString))
7424          return POSITIVEINT;
7425        if ("string".equals(codeString))
7426          return STRING;
7427        if ("time".equals(codeString))
7428          return TIME;
7429        if ("unsignedInt".equals(codeString))
7430          return UNSIGNEDINT;
7431        if ("uri".equals(codeString))
7432          return URI;
7433        if ("url".equals(codeString))
7434          return URL;
7435        if ("uuid".equals(codeString))
7436          return UUID;
7437        if ("xhtml".equals(codeString))
7438          return XHTML;
7439        if ("Account".equals(codeString))
7440          return ACCOUNT;
7441        if ("ActivityDefinition".equals(codeString))
7442          return ACTIVITYDEFINITION;
7443        if ("AdverseEvent".equals(codeString))
7444          return ADVERSEEVENT;
7445        if ("AllergyIntolerance".equals(codeString))
7446          return ALLERGYINTOLERANCE;
7447        if ("Appointment".equals(codeString))
7448          return APPOINTMENT;
7449        if ("AppointmentResponse".equals(codeString))
7450          return APPOINTMENTRESPONSE;
7451        if ("AuditEvent".equals(codeString))
7452          return AUDITEVENT;
7453        if ("Basic".equals(codeString))
7454          return BASIC;
7455        if ("Binary".equals(codeString))
7456          return BINARY;
7457        if ("BiologicallyDerivedProduct".equals(codeString))
7458          return BIOLOGICALLYDERIVEDPRODUCT;
7459        if ("BodyStructure".equals(codeString))
7460          return BODYSTRUCTURE;
7461        if ("Bundle".equals(codeString))
7462          return BUNDLE;
7463        if ("CapabilityStatement".equals(codeString))
7464          return CAPABILITYSTATEMENT;
7465        if ("CarePlan".equals(codeString))
7466          return CAREPLAN;
7467        if ("CareTeam".equals(codeString))
7468          return CARETEAM;
7469        if ("CatalogEntry".equals(codeString))
7470          return CATALOGENTRY;
7471        if ("ChargeItem".equals(codeString))
7472          return CHARGEITEM;
7473        if ("ChargeItemDefinition".equals(codeString))
7474          return CHARGEITEMDEFINITION;
7475        if ("Claim".equals(codeString))
7476          return CLAIM;
7477        if ("ClaimResponse".equals(codeString))
7478          return CLAIMRESPONSE;
7479        if ("ClinicalImpression".equals(codeString))
7480          return CLINICALIMPRESSION;
7481        if ("CodeSystem".equals(codeString))
7482          return CODESYSTEM;
7483        if ("Communication".equals(codeString))
7484          return COMMUNICATION;
7485        if ("CommunicationRequest".equals(codeString))
7486          return COMMUNICATIONREQUEST;
7487        if ("CompartmentDefinition".equals(codeString))
7488          return COMPARTMENTDEFINITION;
7489        if ("Composition".equals(codeString))
7490          return COMPOSITION;
7491        if ("ConceptMap".equals(codeString))
7492          return CONCEPTMAP;
7493        if ("Condition".equals(codeString))
7494          return CONDITION;
7495        if ("Consent".equals(codeString))
7496          return CONSENT;
7497        if ("Contract".equals(codeString))
7498          return CONTRACT;
7499        if ("Coverage".equals(codeString))
7500          return COVERAGE;
7501        if ("CoverageEligibilityRequest".equals(codeString))
7502          return COVERAGEELIGIBILITYREQUEST;
7503        if ("CoverageEligibilityResponse".equals(codeString))
7504          return COVERAGEELIGIBILITYRESPONSE;
7505        if ("DetectedIssue".equals(codeString))
7506          return DETECTEDISSUE;
7507        if ("Device".equals(codeString))
7508          return DEVICE;
7509        if ("DeviceDefinition".equals(codeString))
7510          return DEVICEDEFINITION;
7511        if ("DeviceMetric".equals(codeString))
7512          return DEVICEMETRIC;
7513        if ("DeviceRequest".equals(codeString))
7514          return DEVICEREQUEST;
7515        if ("DeviceUseStatement".equals(codeString))
7516          return DEVICEUSESTATEMENT;
7517        if ("DiagnosticReport".equals(codeString))
7518          return DIAGNOSTICREPORT;
7519        if ("DocumentManifest".equals(codeString))
7520          return DOCUMENTMANIFEST;
7521        if ("DocumentReference".equals(codeString))
7522          return DOCUMENTREFERENCE;
7523        if ("DomainResource".equals(codeString))
7524          return DOMAINRESOURCE;
7525        if ("EffectEvidenceSynthesis".equals(codeString))
7526          return EFFECTEVIDENCESYNTHESIS;
7527        if ("Encounter".equals(codeString))
7528          return ENCOUNTER;
7529        if ("Endpoint".equals(codeString))
7530          return ENDPOINT;
7531        if ("EnrollmentRequest".equals(codeString))
7532          return ENROLLMENTREQUEST;
7533        if ("EnrollmentResponse".equals(codeString))
7534          return ENROLLMENTRESPONSE;
7535        if ("EpisodeOfCare".equals(codeString))
7536          return EPISODEOFCARE;
7537        if ("EventDefinition".equals(codeString))
7538          return EVENTDEFINITION;
7539        if ("Evidence".equals(codeString))
7540          return EVIDENCE;
7541        if ("EvidenceVariable".equals(codeString))
7542          return EVIDENCEVARIABLE;
7543        if ("ExampleScenario".equals(codeString))
7544          return EXAMPLESCENARIO;
7545        if ("ExplanationOfBenefit".equals(codeString))
7546          return EXPLANATIONOFBENEFIT;
7547        if ("FamilyMemberHistory".equals(codeString))
7548          return FAMILYMEMBERHISTORY;
7549        if ("Flag".equals(codeString))
7550          return FLAG;
7551        if ("Goal".equals(codeString))
7552          return GOAL;
7553        if ("GraphDefinition".equals(codeString))
7554          return GRAPHDEFINITION;
7555        if ("Group".equals(codeString))
7556          return GROUP;
7557        if ("GuidanceResponse".equals(codeString))
7558          return GUIDANCERESPONSE;
7559        if ("HealthcareService".equals(codeString))
7560          return HEALTHCARESERVICE;
7561        if ("ImagingStudy".equals(codeString))
7562          return IMAGINGSTUDY;
7563        if ("Immunization".equals(codeString))
7564          return IMMUNIZATION;
7565        if ("ImmunizationEvaluation".equals(codeString))
7566          return IMMUNIZATIONEVALUATION;
7567        if ("ImmunizationRecommendation".equals(codeString))
7568          return IMMUNIZATIONRECOMMENDATION;
7569        if ("ImplementationGuide".equals(codeString))
7570          return IMPLEMENTATIONGUIDE;
7571        if ("InsurancePlan".equals(codeString))
7572          return INSURANCEPLAN;
7573        if ("Invoice".equals(codeString))
7574          return INVOICE;
7575        if ("Library".equals(codeString))
7576          return LIBRARY;
7577        if ("Linkage".equals(codeString))
7578          return LINKAGE;
7579        if ("List".equals(codeString))
7580          return LIST;
7581        if ("Location".equals(codeString))
7582          return LOCATION;
7583        if ("Measure".equals(codeString))
7584          return MEASURE;
7585        if ("MeasureReport".equals(codeString))
7586          return MEASUREREPORT;
7587        if ("Media".equals(codeString))
7588          return MEDIA;
7589        if ("Medication".equals(codeString))
7590          return MEDICATION;
7591        if ("MedicationAdministration".equals(codeString))
7592          return MEDICATIONADMINISTRATION;
7593        if ("MedicationDispense".equals(codeString))
7594          return MEDICATIONDISPENSE;
7595        if ("MedicationKnowledge".equals(codeString))
7596          return MEDICATIONKNOWLEDGE;
7597        if ("MedicationRequest".equals(codeString))
7598          return MEDICATIONREQUEST;
7599        if ("MedicationStatement".equals(codeString))
7600          return MEDICATIONSTATEMENT;
7601        if ("MedicinalProduct".equals(codeString))
7602          return MEDICINALPRODUCT;
7603        if ("MedicinalProductAuthorization".equals(codeString))
7604          return MEDICINALPRODUCTAUTHORIZATION;
7605        if ("MedicinalProductContraindication".equals(codeString))
7606          return MEDICINALPRODUCTCONTRAINDICATION;
7607        if ("MedicinalProductIndication".equals(codeString))
7608          return MEDICINALPRODUCTINDICATION;
7609        if ("MedicinalProductIngredient".equals(codeString))
7610          return MEDICINALPRODUCTINGREDIENT;
7611        if ("MedicinalProductInteraction".equals(codeString))
7612          return MEDICINALPRODUCTINTERACTION;
7613        if ("MedicinalProductManufactured".equals(codeString))
7614          return MEDICINALPRODUCTMANUFACTURED;
7615        if ("MedicinalProductPackaged".equals(codeString))
7616          return MEDICINALPRODUCTPACKAGED;
7617        if ("MedicinalProductPharmaceutical".equals(codeString))
7618          return MEDICINALPRODUCTPHARMACEUTICAL;
7619        if ("MedicinalProductUndesirableEffect".equals(codeString))
7620          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
7621        if ("MessageDefinition".equals(codeString))
7622          return MESSAGEDEFINITION;
7623        if ("MessageHeader".equals(codeString))
7624          return MESSAGEHEADER;
7625        if ("MolecularSequence".equals(codeString))
7626          return MOLECULARSEQUENCE;
7627        if ("NamingSystem".equals(codeString))
7628          return NAMINGSYSTEM;
7629        if ("NutritionOrder".equals(codeString))
7630          return NUTRITIONORDER;
7631        if ("Observation".equals(codeString))
7632          return OBSERVATION;
7633        if ("ObservationDefinition".equals(codeString))
7634          return OBSERVATIONDEFINITION;
7635        if ("OperationDefinition".equals(codeString))
7636          return OPERATIONDEFINITION;
7637        if ("OperationOutcome".equals(codeString))
7638          return OPERATIONOUTCOME;
7639        if ("Organization".equals(codeString))
7640          return ORGANIZATION;
7641        if ("OrganizationAffiliation".equals(codeString))
7642          return ORGANIZATIONAFFILIATION;
7643        if ("Parameters".equals(codeString))
7644          return PARAMETERS;
7645        if ("Patient".equals(codeString))
7646          return PATIENT;
7647        if ("PaymentNotice".equals(codeString))
7648          return PAYMENTNOTICE;
7649        if ("PaymentReconciliation".equals(codeString))
7650          return PAYMENTRECONCILIATION;
7651        if ("Person".equals(codeString))
7652          return PERSON;
7653        if ("PlanDefinition".equals(codeString))
7654          return PLANDEFINITION;
7655        if ("Practitioner".equals(codeString))
7656          return PRACTITIONER;
7657        if ("PractitionerRole".equals(codeString))
7658          return PRACTITIONERROLE;
7659        if ("Procedure".equals(codeString))
7660          return PROCEDURE;
7661        if ("Provenance".equals(codeString))
7662          return PROVENANCE;
7663        if ("Questionnaire".equals(codeString))
7664          return QUESTIONNAIRE;
7665        if ("QuestionnaireResponse".equals(codeString))
7666          return QUESTIONNAIRERESPONSE;
7667        if ("RelatedPerson".equals(codeString))
7668          return RELATEDPERSON;
7669        if ("RequestGroup".equals(codeString))
7670          return REQUESTGROUP;
7671        if ("ResearchDefinition".equals(codeString))
7672          return RESEARCHDEFINITION;
7673        if ("ResearchElementDefinition".equals(codeString))
7674          return RESEARCHELEMENTDEFINITION;
7675        if ("ResearchStudy".equals(codeString))
7676          return RESEARCHSTUDY;
7677        if ("ResearchSubject".equals(codeString))
7678          return RESEARCHSUBJECT;
7679        if ("Resource".equals(codeString))
7680          return RESOURCE;
7681        if ("RiskAssessment".equals(codeString))
7682          return RISKASSESSMENT;
7683        if ("RiskEvidenceSynthesis".equals(codeString))
7684          return RISKEVIDENCESYNTHESIS;
7685        if ("Schedule".equals(codeString))
7686          return SCHEDULE;
7687        if ("SearchParameter".equals(codeString))
7688          return SEARCHPARAMETER;
7689        if ("ServiceRequest".equals(codeString))
7690          return SERVICEREQUEST;
7691        if ("Slot".equals(codeString))
7692          return SLOT;
7693        if ("Specimen".equals(codeString))
7694          return SPECIMEN;
7695        if ("SpecimenDefinition".equals(codeString))
7696          return SPECIMENDEFINITION;
7697        if ("StructureDefinition".equals(codeString))
7698          return STRUCTUREDEFINITION;
7699        if ("StructureMap".equals(codeString))
7700          return STRUCTUREMAP;
7701        if ("Subscription".equals(codeString))
7702          return SUBSCRIPTION;
7703        if ("Substance".equals(codeString))
7704          return SUBSTANCE;
7705        if ("SubstanceNucleicAcid".equals(codeString))
7706          return SUBSTANCENUCLEICACID;
7707        if ("SubstancePolymer".equals(codeString))
7708          return SUBSTANCEPOLYMER;
7709        if ("SubstanceProtein".equals(codeString))
7710          return SUBSTANCEPROTEIN;
7711        if ("SubstanceReferenceInformation".equals(codeString))
7712          return SUBSTANCEREFERENCEINFORMATION;
7713        if ("SubstanceSourceMaterial".equals(codeString))
7714          return SUBSTANCESOURCEMATERIAL;
7715        if ("SubstanceSpecification".equals(codeString))
7716          return SUBSTANCESPECIFICATION;
7717        if ("SupplyDelivery".equals(codeString))
7718          return SUPPLYDELIVERY;
7719        if ("SupplyRequest".equals(codeString))
7720          return SUPPLYREQUEST;
7721        if ("Task".equals(codeString))
7722          return TASK;
7723        if ("TerminologyCapabilities".equals(codeString))
7724          return TERMINOLOGYCAPABILITIES;
7725        if ("TestReport".equals(codeString))
7726          return TESTREPORT;
7727        if ("TestScript".equals(codeString))
7728          return TESTSCRIPT;
7729        if ("ValueSet".equals(codeString))
7730          return VALUESET;
7731        if ("VerificationResult".equals(codeString))
7732          return VERIFICATIONRESULT;
7733        if ("VisionPrescription".equals(codeString))
7734          return VISIONPRESCRIPTION;
7735        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
7736        }
7737        public String toCode() {
7738          switch (this) {
7739            case ADDRESS: return "Address";
7740            case AGE: return "Age";
7741            case ANNOTATION: return "Annotation";
7742            case ATTACHMENT: return "Attachment";
7743            case BACKBONEELEMENT: return "BackboneElement";
7744            case CODEABLECONCEPT: return "CodeableConcept";
7745            case CODING: return "Coding";
7746            case CONTACTDETAIL: return "ContactDetail";
7747            case CONTACTPOINT: return "ContactPoint";
7748            case CONTRIBUTOR: return "Contributor";
7749            case COUNT: return "Count";
7750            case DATAREQUIREMENT: return "DataRequirement";
7751            case DISTANCE: return "Distance";
7752            case DOSAGE: return "Dosage";
7753            case DURATION: return "Duration";
7754            case ELEMENT: return "Element";
7755            case ELEMENTDEFINITION: return "ElementDefinition";
7756            case EXPRESSION: return "Expression";
7757            case EXTENSION: return "Extension";
7758            case HUMANNAME: return "HumanName";
7759            case IDENTIFIER: return "Identifier";
7760            case MARKETINGSTATUS: return "MarketingStatus";
7761            case META: return "Meta";
7762            case MONEY: return "Money";
7763            case MONEYQUANTITY: return "MoneyQuantity";
7764            case NARRATIVE: return "Narrative";
7765            case PARAMETERDEFINITION: return "ParameterDefinition";
7766            case PERIOD: return "Period";
7767            case POPULATION: return "Population";
7768            case PRODCHARACTERISTIC: return "ProdCharacteristic";
7769            case PRODUCTSHELFLIFE: return "ProductShelfLife";
7770            case QUANTITY: return "Quantity";
7771            case RANGE: return "Range";
7772            case RATIO: return "Ratio";
7773            case REFERENCE: return "Reference";
7774            case RELATEDARTIFACT: return "RelatedArtifact";
7775            case SAMPLEDDATA: return "SampledData";
7776            case SIGNATURE: return "Signature";
7777            case SIMPLEQUANTITY: return "SimpleQuantity";
7778            case SUBSTANCEAMOUNT: return "SubstanceAmount";
7779            case TIMING: return "Timing";
7780            case TRIGGERDEFINITION: return "TriggerDefinition";
7781            case USAGECONTEXT: return "UsageContext";
7782            case BASE64BINARY: return "base64Binary";
7783            case BOOLEAN: return "boolean";
7784            case CANONICAL: return "canonical";
7785            case CODE: return "code";
7786            case DATE: return "date";
7787            case DATETIME: return "dateTime";
7788            case DECIMAL: return "decimal";
7789            case ID: return "id";
7790            case INSTANT: return "instant";
7791            case INTEGER: return "integer";
7792            case MARKDOWN: return "markdown";
7793            case OID: return "oid";
7794            case POSITIVEINT: return "positiveInt";
7795            case STRING: return "string";
7796            case TIME: return "time";
7797            case UNSIGNEDINT: return "unsignedInt";
7798            case URI: return "uri";
7799            case URL: return "url";
7800            case UUID: return "uuid";
7801            case XHTML: return "xhtml";
7802            case ACCOUNT: return "Account";
7803            case ACTIVITYDEFINITION: return "ActivityDefinition";
7804            case ADVERSEEVENT: return "AdverseEvent";
7805            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
7806            case APPOINTMENT: return "Appointment";
7807            case APPOINTMENTRESPONSE: return "AppointmentResponse";
7808            case AUDITEVENT: return "AuditEvent";
7809            case BASIC: return "Basic";
7810            case BINARY: return "Binary";
7811            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
7812            case BODYSTRUCTURE: return "BodyStructure";
7813            case BUNDLE: return "Bundle";
7814            case CAPABILITYSTATEMENT: return "CapabilityStatement";
7815            case CAREPLAN: return "CarePlan";
7816            case CARETEAM: return "CareTeam";
7817            case CATALOGENTRY: return "CatalogEntry";
7818            case CHARGEITEM: return "ChargeItem";
7819            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
7820            case CLAIM: return "Claim";
7821            case CLAIMRESPONSE: return "ClaimResponse";
7822            case CLINICALIMPRESSION: return "ClinicalImpression";
7823            case CODESYSTEM: return "CodeSystem";
7824            case COMMUNICATION: return "Communication";
7825            case COMMUNICATIONREQUEST: return "CommunicationRequest";
7826            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
7827            case COMPOSITION: return "Composition";
7828            case CONCEPTMAP: return "ConceptMap";
7829            case CONDITION: return "Condition";
7830            case CONSENT: return "Consent";
7831            case CONTRACT: return "Contract";
7832            case COVERAGE: return "Coverage";
7833            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
7834            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
7835            case DETECTEDISSUE: return "DetectedIssue";
7836            case DEVICE: return "Device";
7837            case DEVICEDEFINITION: return "DeviceDefinition";
7838            case DEVICEMETRIC: return "DeviceMetric";
7839            case DEVICEREQUEST: return "DeviceRequest";
7840            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
7841            case DIAGNOSTICREPORT: return "DiagnosticReport";
7842            case DOCUMENTMANIFEST: return "DocumentManifest";
7843            case DOCUMENTREFERENCE: return "DocumentReference";
7844            case DOMAINRESOURCE: return "DomainResource";
7845            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
7846            case ENCOUNTER: return "Encounter";
7847            case ENDPOINT: return "Endpoint";
7848            case ENROLLMENTREQUEST: return "EnrollmentRequest";
7849            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
7850            case EPISODEOFCARE: return "EpisodeOfCare";
7851            case EVENTDEFINITION: return "EventDefinition";
7852            case EVIDENCE: return "Evidence";
7853            case EVIDENCEVARIABLE: return "EvidenceVariable";
7854            case EXAMPLESCENARIO: return "ExampleScenario";
7855            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
7856            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
7857            case FLAG: return "Flag";
7858            case GOAL: return "Goal";
7859            case GRAPHDEFINITION: return "GraphDefinition";
7860            case GROUP: return "Group";
7861            case GUIDANCERESPONSE: return "GuidanceResponse";
7862            case HEALTHCARESERVICE: return "HealthcareService";
7863            case IMAGINGSTUDY: return "ImagingStudy";
7864            case IMMUNIZATION: return "Immunization";
7865            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
7866            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
7867            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
7868            case INSURANCEPLAN: return "InsurancePlan";
7869            case INVOICE: return "Invoice";
7870            case LIBRARY: return "Library";
7871            case LINKAGE: return "Linkage";
7872            case LIST: return "List";
7873            case LOCATION: return "Location";
7874            case MEASURE: return "Measure";
7875            case MEASUREREPORT: return "MeasureReport";
7876            case MEDIA: return "Media";
7877            case MEDICATION: return "Medication";
7878            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
7879            case MEDICATIONDISPENSE: return "MedicationDispense";
7880            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
7881            case MEDICATIONREQUEST: return "MedicationRequest";
7882            case MEDICATIONSTATEMENT: return "MedicationStatement";
7883            case MEDICINALPRODUCT: return "MedicinalProduct";
7884            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
7885            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
7886            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
7887            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
7888            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
7889            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
7890            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
7891            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
7892            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
7893            case MESSAGEDEFINITION: return "MessageDefinition";
7894            case MESSAGEHEADER: return "MessageHeader";
7895            case MOLECULARSEQUENCE: return "MolecularSequence";
7896            case NAMINGSYSTEM: return "NamingSystem";
7897            case NUTRITIONORDER: return "NutritionOrder";
7898            case OBSERVATION: return "Observation";
7899            case OBSERVATIONDEFINITION: return "ObservationDefinition";
7900            case OPERATIONDEFINITION: return "OperationDefinition";
7901            case OPERATIONOUTCOME: return "OperationOutcome";
7902            case ORGANIZATION: return "Organization";
7903            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
7904            case PARAMETERS: return "Parameters";
7905            case PATIENT: return "Patient";
7906            case PAYMENTNOTICE: return "PaymentNotice";
7907            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
7908            case PERSON: return "Person";
7909            case PLANDEFINITION: return "PlanDefinition";
7910            case PRACTITIONER: return "Practitioner";
7911            case PRACTITIONERROLE: return "PractitionerRole";
7912            case PROCEDURE: return "Procedure";
7913            case PROVENANCE: return "Provenance";
7914            case QUESTIONNAIRE: return "Questionnaire";
7915            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
7916            case RELATEDPERSON: return "RelatedPerson";
7917            case REQUESTGROUP: return "RequestGroup";
7918            case RESEARCHDEFINITION: return "ResearchDefinition";
7919            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
7920            case RESEARCHSTUDY: return "ResearchStudy";
7921            case RESEARCHSUBJECT: return "ResearchSubject";
7922            case RESOURCE: return "Resource";
7923            case RISKASSESSMENT: return "RiskAssessment";
7924            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
7925            case SCHEDULE: return "Schedule";
7926            case SEARCHPARAMETER: return "SearchParameter";
7927            case SERVICEREQUEST: return "ServiceRequest";
7928            case SLOT: return "Slot";
7929            case SPECIMEN: return "Specimen";
7930            case SPECIMENDEFINITION: return "SpecimenDefinition";
7931            case STRUCTUREDEFINITION: return "StructureDefinition";
7932            case STRUCTUREMAP: return "StructureMap";
7933            case SUBSCRIPTION: return "Subscription";
7934            case SUBSTANCE: return "Substance";
7935            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
7936            case SUBSTANCEPOLYMER: return "SubstancePolymer";
7937            case SUBSTANCEPROTEIN: return "SubstanceProtein";
7938            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
7939            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
7940            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
7941            case SUPPLYDELIVERY: return "SupplyDelivery";
7942            case SUPPLYREQUEST: return "SupplyRequest";
7943            case TASK: return "Task";
7944            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
7945            case TESTREPORT: return "TestReport";
7946            case TESTSCRIPT: return "TestScript";
7947            case VALUESET: return "ValueSet";
7948            case VERIFICATIONRESULT: return "VerificationResult";
7949            case VISIONPRESCRIPTION: return "VisionPrescription";
7950            default: return "?";
7951          }
7952        }
7953        public String getSystem() {
7954          switch (this) {
7955            case ADDRESS: return "http://hl7.org/fhir/data-types";
7956            case AGE: return "http://hl7.org/fhir/data-types";
7957            case ANNOTATION: return "http://hl7.org/fhir/data-types";
7958            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
7959            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
7960            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
7961            case CODING: return "http://hl7.org/fhir/data-types";
7962            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
7963            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
7964            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
7965            case COUNT: return "http://hl7.org/fhir/data-types";
7966            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
7967            case DISTANCE: return "http://hl7.org/fhir/data-types";
7968            case DOSAGE: return "http://hl7.org/fhir/data-types";
7969            case DURATION: return "http://hl7.org/fhir/data-types";
7970            case ELEMENT: return "http://hl7.org/fhir/data-types";
7971            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
7972            case EXPRESSION: return "http://hl7.org/fhir/data-types";
7973            case EXTENSION: return "http://hl7.org/fhir/data-types";
7974            case HUMANNAME: return "http://hl7.org/fhir/data-types";
7975            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
7976            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
7977            case META: return "http://hl7.org/fhir/data-types";
7978            case MONEY: return "http://hl7.org/fhir/data-types";
7979            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
7980            case NARRATIVE: return "http://hl7.org/fhir/data-types";
7981            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
7982            case PERIOD: return "http://hl7.org/fhir/data-types";
7983            case POPULATION: return "http://hl7.org/fhir/data-types";
7984            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
7985            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
7986            case QUANTITY: return "http://hl7.org/fhir/data-types";
7987            case RANGE: return "http://hl7.org/fhir/data-types";
7988            case RATIO: return "http://hl7.org/fhir/data-types";
7989            case REFERENCE: return "http://hl7.org/fhir/data-types";
7990            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
7991            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
7992            case SIGNATURE: return "http://hl7.org/fhir/data-types";
7993            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
7994            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
7995            case TIMING: return "http://hl7.org/fhir/data-types";
7996            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
7997            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
7998            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
7999            case BOOLEAN: return "http://hl7.org/fhir/data-types";
8000            case CANONICAL: return "http://hl7.org/fhir/data-types";
8001            case CODE: return "http://hl7.org/fhir/data-types";
8002            case DATE: return "http://hl7.org/fhir/data-types";
8003            case DATETIME: return "http://hl7.org/fhir/data-types";
8004            case DECIMAL: return "http://hl7.org/fhir/data-types";
8005            case ID: return "http://hl7.org/fhir/data-types";
8006            case INSTANT: return "http://hl7.org/fhir/data-types";
8007            case INTEGER: return "http://hl7.org/fhir/data-types";
8008            case MARKDOWN: return "http://hl7.org/fhir/data-types";
8009            case OID: return "http://hl7.org/fhir/data-types";
8010            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
8011            case STRING: return "http://hl7.org/fhir/data-types";
8012            case TIME: return "http://hl7.org/fhir/data-types";
8013            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
8014            case URI: return "http://hl7.org/fhir/data-types";
8015            case URL: return "http://hl7.org/fhir/data-types";
8016            case UUID: return "http://hl7.org/fhir/data-types";
8017            case XHTML: return "http://hl7.org/fhir/data-types";
8018            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
8019            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
8020            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
8021            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
8022            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
8023            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
8024            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
8025            case BASIC: return "http://hl7.org/fhir/resource-types";
8026            case BINARY: return "http://hl7.org/fhir/resource-types";
8027            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
8028            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
8029            case BUNDLE: return "http://hl7.org/fhir/resource-types";
8030            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
8031            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
8032            case CARETEAM: return "http://hl7.org/fhir/resource-types";
8033            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
8034            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
8035            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
8036            case CLAIM: return "http://hl7.org/fhir/resource-types";
8037            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
8038            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
8039            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
8040            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
8041            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
8042            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8043            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
8044            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
8045            case CONDITION: return "http://hl7.org/fhir/resource-types";
8046            case CONSENT: return "http://hl7.org/fhir/resource-types";
8047            case CONTRACT: return "http://hl7.org/fhir/resource-types";
8048            case COVERAGE: return "http://hl7.org/fhir/resource-types";
8049            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
8050            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
8051            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
8052            case DEVICE: return "http://hl7.org/fhir/resource-types";
8053            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
8054            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
8055            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
8056            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
8057            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
8058            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
8059            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
8060            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
8061            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
8062            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
8063            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
8064            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
8065            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
8066            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
8067            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8068            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
8069            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
8070            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
8071            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
8072            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
8073            case FLAG: return "http://hl7.org/fhir/resource-types";
8074            case GOAL: return "http://hl7.org/fhir/resource-types";
8075            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
8076            case GROUP: return "http://hl7.org/fhir/resource-types";
8077            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
8078            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
8079            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
8080            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
8081            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
8082            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
8083            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
8084            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
8085            case INVOICE: return "http://hl7.org/fhir/resource-types";
8086            case LIBRARY: return "http://hl7.org/fhir/resource-types";
8087            case LINKAGE: return "http://hl7.org/fhir/resource-types";
8088            case LIST: return "http://hl7.org/fhir/resource-types";
8089            case LOCATION: return "http://hl7.org/fhir/resource-types";
8090            case MEASURE: return "http://hl7.org/fhir/resource-types";
8091            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
8092            case MEDIA: return "http://hl7.org/fhir/resource-types";
8093            case MEDICATION: return "http://hl7.org/fhir/resource-types";
8094            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
8095            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
8096            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
8097            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
8098            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
8099            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
8100            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
8101            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
8102            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
8103            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
8104            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
8105            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
8106            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
8107            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
8108            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
8109            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
8110            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
8111            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
8112            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
8113            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
8114            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
8115            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8116            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8117            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
8118            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
8119            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
8120            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
8121            case PATIENT: return "http://hl7.org/fhir/resource-types";
8122            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
8123            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
8124            case PERSON: return "http://hl7.org/fhir/resource-types";
8125            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
8126            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
8127            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
8128            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
8129            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
8130            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
8131            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
8132            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
8133            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
8134            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
8135            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8136            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
8137            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
8138            case RESOURCE: return "http://hl7.org/fhir/resource-types";
8139            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
8140            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
8141            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
8142            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
8143            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
8144            case SLOT: return "http://hl7.org/fhir/resource-types";
8145            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
8146            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
8147            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
8148            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
8149            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
8150            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
8151            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
8152            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
8153            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
8154            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
8155            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
8156            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
8157            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
8158            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
8159            case TASK: return "http://hl7.org/fhir/resource-types";
8160            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
8161            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
8162            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
8163            case VALUESET: return "http://hl7.org/fhir/resource-types";
8164            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
8165            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
8166            default: return "?";
8167          }
8168        }
8169        public String getDefinition() {
8170          switch (this) {
8171            case ADDRESS: 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.";
8172            case AGE: return "A duration of time during which an organism (or a process) has existed.";
8173            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
8174            case ATTACHMENT: return "For referring to data content defined in other formats.";
8175            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
8176            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
8177            case CODING: return "A reference to a code defined by a terminology system.";
8178            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
8179            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
8180            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
8181            case COUNT: 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.";
8182            case DATAREQUIREMENT: 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.";
8183            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
8184            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
8185            case DURATION: return "A length of time.";
8186            case ELEMENT: return "Base definition for all elements in a resource.";
8187            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
8188            case EXPRESSION: 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.";
8189            case EXTENSION: return "Optional Extension Element - found in all resources.";
8190            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
8191            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
8192            case MARKETINGSTATUS: 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.";
8193            case META: 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.";
8194            case MONEY: return "An amount of economic utility in some recognized currency.";
8195            case MONEYQUANTITY: return "";
8196            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
8197            case PARAMETERDEFINITION: 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.";
8198            case PERIOD: return "A time period defined by a start and end date and optionally time.";
8199            case POPULATION: return "A populatioof people with some set of grouping criteria.";
8200            case PRODCHARACTERISTIC: 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.";
8201            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
8202            case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies.";
8203            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
8204            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
8205            case REFERENCE: return "A reference from one resource to another.";
8206            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
8207            case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.";
8208            case SIGNATURE: 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.";
8209            case SIMPLEQUANTITY: return "";
8210            case SUBSTANCEAMOUNT: 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.";
8211            case TIMING: 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.";
8212            case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.";
8213            case USAGECONTEXT: 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).";
8214            case BASE64BINARY: return "A stream of bytes";
8215            case BOOLEAN: return "Value of \"true\" or \"false\"";
8216            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
8217            case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents";
8218            case DATE: return "A date or partial date (e.g. just year or year + month). There is no time zone. The format is a union of the schema types gYear, gYearMonth and date.  Dates SHALL be valid dates.";
8219            case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month).  If hours and minutes are specified, a time zone SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored.                 Dates SHALL be valid dates.";
8220            case DECIMAL: return "A rational number with implicit precision";
8221            case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters.  (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.)  Ids are case-insensitive.";
8222            case INSTANT: return "An instant in time - known at least to the second";
8223            case INTEGER: return "A whole number";
8224            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
8225            case OID: return "An OID represented as a URI";
8226            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
8227            case STRING: return "A sequence of Unicode characters";
8228            case TIME: return "A time during the day, with no date specified";
8229            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
8230            case URI: return "String of characters used to identify a name or a resource";
8231            case URL: return "A URI that is a literal reference";
8232            case UUID: return "A UUID, represented as a URI";
8233            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
8234            case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
8235            case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
8236            case ADVERSEEVENT: 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.";
8237            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
8238            case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).";
8239            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
8240            case AUDITEVENT: return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.";
8241            case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.";
8242            case BINARY: 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.";
8243            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
8244            case BODYSTRUCTURE: 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.";
8245            case BUNDLE: return "A container for a collection of resources.";
8246            case CAPABILITYSTATEMENT: 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.";
8247            case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.";
8248            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
8249            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
8250            case CHARGEITEM: 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.";
8251            case CHARGEITEMDEFINITION: 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.";
8252            case CLAIM: 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.";
8253            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
8254            case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.";
8255            case CODESYSTEM: 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.";
8256            case COMMUNICATION: 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.";
8257            case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.";
8258            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
8259            case COMPOSITION: 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.).";
8260            case CONCEPTMAP: 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.";
8261            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
8262            case CONSENT: 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.";
8263            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
8264            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
8265            case COVERAGEELIGIBILITYREQUEST: 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.";
8266            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
8267            case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.";
8268            case DEVICE: 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.";
8269            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
8270            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
8271            case DEVICEREQUEST: 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.";
8272            case DEVICEUSESTATEMENT: return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.";
8273            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.";
8274            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
8275            case DOCUMENTREFERENCE: 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.";
8276            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
8277            case EFFECTEVIDENCESYNTHESIS: 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.";
8278            case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.";
8279            case ENDPOINT: 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.";
8280            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
8281            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
8282            case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.";
8283            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
8284            case EVIDENCE: 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.";
8285            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
8286            case EXAMPLESCENARIO: return "Example of workflow instance.";
8287            case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.";
8288            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
8289            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
8290            case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.";
8291            case GRAPHDEFINITION: 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.";
8292            case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.";
8293            case GUIDANCERESPONSE: 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.";
8294            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
8295            case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.";
8296            case IMMUNIZATION: 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.";
8297            case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
8298            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
8299            case IMPLEMENTATIONGUIDE: 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.";
8300            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
8301            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
8302            case LIBRARY: 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.";
8303            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
8304            case LIST: return "A list is a curated collection of resources.";
8305            case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
8306            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
8307            case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
8308            case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
8309            case MEDICATION: 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.";
8310            case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.";
8311            case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.";
8312            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
8313            case MEDICATIONREQUEST: 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.";
8314            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from 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.";
8315            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
8316            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
8317            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
8318            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
8319            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
8320            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
8321            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
8322            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
8323            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
8324            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
8325            case MESSAGEDEFINITION: 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.";
8326            case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.";
8327            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
8328            case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a \"System\" used within the Identifier and Coding data types.";
8329            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
8330            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
8331            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
8332            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
8333            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
8334            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
8335            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
8336            case PARAMETERS: 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.";
8337            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
8338            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
8339            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
8340            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
8341            case PLANDEFINITION: 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.";
8342            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
8343            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
8344            case PROCEDURE: 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.";
8345            case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.";
8346            case QUESTIONNAIRE: 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.";
8347            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.";
8348            case RELATEDPERSON: return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
8349            case REQUESTGROUP: 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\".";
8350            case RESEARCHDEFINITION: 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.";
8351            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
8352            case RESEARCHSTUDY: 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.";
8353            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
8354            case RESOURCE: return "This is the base resource type for everything.";
8355            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
8356            case RISKEVIDENCESYNTHESIS: 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.";
8357            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
8358            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
8359            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
8360            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
8361            case SPECIMEN: return "A sample to be used for analysis.";
8362            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
8363            case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.";
8364            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
8365            case SUBSCRIPTION: return "The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system can take an appropriate action.";
8366            case SUBSTANCE: return "A homogeneous material with a definite composition.";
8367            case SUBSTANCENUCLEICACID: 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.";
8368            case SUBSTANCEPOLYMER: return "Todo.";
8369            case SUBSTANCEPROTEIN: 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.";
8370            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
8371            case SUBSTANCESOURCEMATERIAL: 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.";
8372            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
8373            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
8374            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
8375            case TASK: return "A task to be performed.";
8376            case TERMINOLOGYCAPABILITIES: 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.";
8377            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
8378            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
8379            case VALUESET: 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).";
8380            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
8381            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
8382            default: return "?";
8383          }
8384        }
8385        public String getDisplay() {
8386          switch (this) {
8387            case ADDRESS: return "Address";
8388            case AGE: return "Age";
8389            case ANNOTATION: return "Annotation";
8390            case ATTACHMENT: return "Attachment";
8391            case BACKBONEELEMENT: return "BackboneElement";
8392            case CODEABLECONCEPT: return "CodeableConcept";
8393            case CODING: return "Coding";
8394            case CONTACTDETAIL: return "ContactDetail";
8395            case CONTACTPOINT: return "ContactPoint";
8396            case CONTRIBUTOR: return "Contributor";
8397            case COUNT: return "Count";
8398            case DATAREQUIREMENT: return "DataRequirement";
8399            case DISTANCE: return "Distance";
8400            case DOSAGE: return "Dosage";
8401            case DURATION: return "Duration";
8402            case ELEMENT: return "Element";
8403            case ELEMENTDEFINITION: return "ElementDefinition";
8404            case EXPRESSION: return "Expression";
8405            case EXTENSION: return "Extension";
8406            case HUMANNAME: return "HumanName";
8407            case IDENTIFIER: return "Identifier";
8408            case MARKETINGSTATUS: return "MarketingStatus";
8409            case META: return "Meta";
8410            case MONEY: return "Money";
8411            case MONEYQUANTITY: return "MoneyQuantity";
8412            case NARRATIVE: return "Narrative";
8413            case PARAMETERDEFINITION: return "ParameterDefinition";
8414            case PERIOD: return "Period";
8415            case POPULATION: return "Population";
8416            case PRODCHARACTERISTIC: return "ProdCharacteristic";
8417            case PRODUCTSHELFLIFE: return "ProductShelfLife";
8418            case QUANTITY: return "Quantity";
8419            case RANGE: return "Range";
8420            case RATIO: return "Ratio";
8421            case REFERENCE: return "Reference";
8422            case RELATEDARTIFACT: return "RelatedArtifact";
8423            case SAMPLEDDATA: return "SampledData";
8424            case SIGNATURE: return "Signature";
8425            case SIMPLEQUANTITY: return "SimpleQuantity";
8426            case SUBSTANCEAMOUNT: return "SubstanceAmount";
8427            case TIMING: return "Timing";
8428            case TRIGGERDEFINITION: return "TriggerDefinition";
8429            case USAGECONTEXT: return "UsageContext";
8430            case BASE64BINARY: return "base64Binary";
8431            case BOOLEAN: return "boolean";
8432            case CANONICAL: return "canonical";
8433            case CODE: return "code";
8434            case DATE: return "date";
8435            case DATETIME: return "dateTime";
8436            case DECIMAL: return "decimal";
8437            case ID: return "id";
8438            case INSTANT: return "instant";
8439            case INTEGER: return "integer";
8440            case MARKDOWN: return "markdown";
8441            case OID: return "oid";
8442            case POSITIVEINT: return "positiveInt";
8443            case STRING: return "string";
8444            case TIME: return "time";
8445            case UNSIGNEDINT: return "unsignedInt";
8446            case URI: return "uri";
8447            case URL: return "url";
8448            case UUID: return "uuid";
8449            case XHTML: return "XHTML";
8450            case ACCOUNT: return "Account";
8451            case ACTIVITYDEFINITION: return "ActivityDefinition";
8452            case ADVERSEEVENT: return "AdverseEvent";
8453            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
8454            case APPOINTMENT: return "Appointment";
8455            case APPOINTMENTRESPONSE: return "AppointmentResponse";
8456            case AUDITEVENT: return "AuditEvent";
8457            case BASIC: return "Basic";
8458            case BINARY: return "Binary";
8459            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
8460            case BODYSTRUCTURE: return "BodyStructure";
8461            case BUNDLE: return "Bundle";
8462            case CAPABILITYSTATEMENT: return "CapabilityStatement";
8463            case CAREPLAN: return "CarePlan";
8464            case CARETEAM: return "CareTeam";
8465            case CATALOGENTRY: return "CatalogEntry";
8466            case CHARGEITEM: return "ChargeItem";
8467            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
8468            case CLAIM: return "Claim";
8469            case CLAIMRESPONSE: return "ClaimResponse";
8470            case CLINICALIMPRESSION: return "ClinicalImpression";
8471            case CODESYSTEM: return "CodeSystem";
8472            case COMMUNICATION: return "Communication";
8473            case COMMUNICATIONREQUEST: return "CommunicationRequest";
8474            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
8475            case COMPOSITION: return "Composition";
8476            case CONCEPTMAP: return "ConceptMap";
8477            case CONDITION: return "Condition";
8478            case CONSENT: return "Consent";
8479            case CONTRACT: return "Contract";
8480            case COVERAGE: return "Coverage";
8481            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
8482            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
8483            case DETECTEDISSUE: return "DetectedIssue";
8484            case DEVICE: return "Device";
8485            case DEVICEDEFINITION: return "DeviceDefinition";
8486            case DEVICEMETRIC: return "DeviceMetric";
8487            case DEVICEREQUEST: return "DeviceRequest";
8488            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
8489            case DIAGNOSTICREPORT: return "DiagnosticReport";
8490            case DOCUMENTMANIFEST: return "DocumentManifest";
8491            case DOCUMENTREFERENCE: return "DocumentReference";
8492            case DOMAINRESOURCE: return "DomainResource";
8493            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
8494            case ENCOUNTER: return "Encounter";
8495            case ENDPOINT: return "Endpoint";
8496            case ENROLLMENTREQUEST: return "EnrollmentRequest";
8497            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
8498            case EPISODEOFCARE: return "EpisodeOfCare";
8499            case EVENTDEFINITION: return "EventDefinition";
8500            case EVIDENCE: return "Evidence";
8501            case EVIDENCEVARIABLE: return "EvidenceVariable";
8502            case EXAMPLESCENARIO: return "ExampleScenario";
8503            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
8504            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
8505            case FLAG: return "Flag";
8506            case GOAL: return "Goal";
8507            case GRAPHDEFINITION: return "GraphDefinition";
8508            case GROUP: return "Group";
8509            case GUIDANCERESPONSE: return "GuidanceResponse";
8510            case HEALTHCARESERVICE: return "HealthcareService";
8511            case IMAGINGSTUDY: return "ImagingStudy";
8512            case IMMUNIZATION: return "Immunization";
8513            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
8514            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
8515            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
8516            case INSURANCEPLAN: return "InsurancePlan";
8517            case INVOICE: return "Invoice";
8518            case LIBRARY: return "Library";
8519            case LINKAGE: return "Linkage";
8520            case LIST: return "List";
8521            case LOCATION: return "Location";
8522            case MEASURE: return "Measure";
8523            case MEASUREREPORT: return "MeasureReport";
8524            case MEDIA: return "Media";
8525            case MEDICATION: return "Medication";
8526            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
8527            case MEDICATIONDISPENSE: return "MedicationDispense";
8528            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
8529            case MEDICATIONREQUEST: return "MedicationRequest";
8530            case MEDICATIONSTATEMENT: return "MedicationStatement";
8531            case MEDICINALPRODUCT: return "MedicinalProduct";
8532            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
8533            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
8534            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
8535            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
8536            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
8537            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
8538            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
8539            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
8540            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
8541            case MESSAGEDEFINITION: return "MessageDefinition";
8542            case MESSAGEHEADER: return "MessageHeader";
8543            case MOLECULARSEQUENCE: return "MolecularSequence";
8544            case NAMINGSYSTEM: return "NamingSystem";
8545            case NUTRITIONORDER: return "NutritionOrder";
8546            case OBSERVATION: return "Observation";
8547            case OBSERVATIONDEFINITION: return "ObservationDefinition";
8548            case OPERATIONDEFINITION: return "OperationDefinition";
8549            case OPERATIONOUTCOME: return "OperationOutcome";
8550            case ORGANIZATION: return "Organization";
8551            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
8552            case PARAMETERS: return "Parameters";
8553            case PATIENT: return "Patient";
8554            case PAYMENTNOTICE: return "PaymentNotice";
8555            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
8556            case PERSON: return "Person";
8557            case PLANDEFINITION: return "PlanDefinition";
8558            case PRACTITIONER: return "Practitioner";
8559            case PRACTITIONERROLE: return "PractitionerRole";
8560            case PROCEDURE: return "Procedure";
8561            case PROVENANCE: return "Provenance";
8562            case QUESTIONNAIRE: return "Questionnaire";
8563            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
8564            case RELATEDPERSON: return "RelatedPerson";
8565            case REQUESTGROUP: return "RequestGroup";
8566            case RESEARCHDEFINITION: return "ResearchDefinition";
8567            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
8568            case RESEARCHSTUDY: return "ResearchStudy";
8569            case RESEARCHSUBJECT: return "ResearchSubject";
8570            case RESOURCE: return "Resource";
8571            case RISKASSESSMENT: return "RiskAssessment";
8572            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
8573            case SCHEDULE: return "Schedule";
8574            case SEARCHPARAMETER: return "SearchParameter";
8575            case SERVICEREQUEST: return "ServiceRequest";
8576            case SLOT: return "Slot";
8577            case SPECIMEN: return "Specimen";
8578            case SPECIMENDEFINITION: return "SpecimenDefinition";
8579            case STRUCTUREDEFINITION: return "StructureDefinition";
8580            case STRUCTUREMAP: return "StructureMap";
8581            case SUBSCRIPTION: return "Subscription";
8582            case SUBSTANCE: return "Substance";
8583            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
8584            case SUBSTANCEPOLYMER: return "SubstancePolymer";
8585            case SUBSTANCEPROTEIN: return "SubstanceProtein";
8586            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
8587            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
8588            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
8589            case SUPPLYDELIVERY: return "SupplyDelivery";
8590            case SUPPLYREQUEST: return "SupplyRequest";
8591            case TASK: return "Task";
8592            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
8593            case TESTREPORT: return "TestReport";
8594            case TESTSCRIPT: return "TestScript";
8595            case VALUESET: return "ValueSet";
8596            case VERIFICATIONRESULT: return "VerificationResult";
8597            case VISIONPRESCRIPTION: return "VisionPrescription";
8598            default: return "?";
8599          }
8600        }
8601    }
8602
8603  public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> {
8604    public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException {
8605      if (codeString == null || "".equals(codeString))
8606            if (codeString == null || "".equals(codeString))
8607                return null;
8608        if ("Address".equals(codeString))
8609          return FHIRDefinedType.ADDRESS;
8610        if ("Age".equals(codeString))
8611          return FHIRDefinedType.AGE;
8612        if ("Annotation".equals(codeString))
8613          return FHIRDefinedType.ANNOTATION;
8614        if ("Attachment".equals(codeString))
8615          return FHIRDefinedType.ATTACHMENT;
8616        if ("BackboneElement".equals(codeString))
8617          return FHIRDefinedType.BACKBONEELEMENT;
8618        if ("CodeableConcept".equals(codeString))
8619          return FHIRDefinedType.CODEABLECONCEPT;
8620        if ("Coding".equals(codeString))
8621          return FHIRDefinedType.CODING;
8622        if ("ContactDetail".equals(codeString))
8623          return FHIRDefinedType.CONTACTDETAIL;
8624        if ("ContactPoint".equals(codeString))
8625          return FHIRDefinedType.CONTACTPOINT;
8626        if ("Contributor".equals(codeString))
8627          return FHIRDefinedType.CONTRIBUTOR;
8628        if ("Count".equals(codeString))
8629          return FHIRDefinedType.COUNT;
8630        if ("DataRequirement".equals(codeString))
8631          return FHIRDefinedType.DATAREQUIREMENT;
8632        if ("Distance".equals(codeString))
8633          return FHIRDefinedType.DISTANCE;
8634        if ("Dosage".equals(codeString))
8635          return FHIRDefinedType.DOSAGE;
8636        if ("Duration".equals(codeString))
8637          return FHIRDefinedType.DURATION;
8638        if ("Element".equals(codeString))
8639          return FHIRDefinedType.ELEMENT;
8640        if ("ElementDefinition".equals(codeString))
8641          return FHIRDefinedType.ELEMENTDEFINITION;
8642        if ("Expression".equals(codeString))
8643          return FHIRDefinedType.EXPRESSION;
8644        if ("Extension".equals(codeString))
8645          return FHIRDefinedType.EXTENSION;
8646        if ("HumanName".equals(codeString))
8647          return FHIRDefinedType.HUMANNAME;
8648        if ("Identifier".equals(codeString))
8649          return FHIRDefinedType.IDENTIFIER;
8650        if ("MarketingStatus".equals(codeString))
8651          return FHIRDefinedType.MARKETINGSTATUS;
8652        if ("Meta".equals(codeString))
8653          return FHIRDefinedType.META;
8654        if ("Money".equals(codeString))
8655          return FHIRDefinedType.MONEY;
8656        if ("MoneyQuantity".equals(codeString))
8657          return FHIRDefinedType.MONEYQUANTITY;
8658        if ("Narrative".equals(codeString))
8659          return FHIRDefinedType.NARRATIVE;
8660        if ("ParameterDefinition".equals(codeString))
8661          return FHIRDefinedType.PARAMETERDEFINITION;
8662        if ("Period".equals(codeString))
8663          return FHIRDefinedType.PERIOD;
8664        if ("Population".equals(codeString))
8665          return FHIRDefinedType.POPULATION;
8666        if ("ProdCharacteristic".equals(codeString))
8667          return FHIRDefinedType.PRODCHARACTERISTIC;
8668        if ("ProductShelfLife".equals(codeString))
8669          return FHIRDefinedType.PRODUCTSHELFLIFE;
8670        if ("Quantity".equals(codeString))
8671          return FHIRDefinedType.QUANTITY;
8672        if ("Range".equals(codeString))
8673          return FHIRDefinedType.RANGE;
8674        if ("Ratio".equals(codeString))
8675          return FHIRDefinedType.RATIO;
8676        if ("Reference".equals(codeString))
8677          return FHIRDefinedType.REFERENCE;
8678        if ("RelatedArtifact".equals(codeString))
8679          return FHIRDefinedType.RELATEDARTIFACT;
8680        if ("SampledData".equals(codeString))
8681          return FHIRDefinedType.SAMPLEDDATA;
8682        if ("Signature".equals(codeString))
8683          return FHIRDefinedType.SIGNATURE;
8684        if ("SimpleQuantity".equals(codeString))
8685          return FHIRDefinedType.SIMPLEQUANTITY;
8686        if ("SubstanceAmount".equals(codeString))
8687          return FHIRDefinedType.SUBSTANCEAMOUNT;
8688        if ("Timing".equals(codeString))
8689          return FHIRDefinedType.TIMING;
8690        if ("TriggerDefinition".equals(codeString))
8691          return FHIRDefinedType.TRIGGERDEFINITION;
8692        if ("UsageContext".equals(codeString))
8693          return FHIRDefinedType.USAGECONTEXT;
8694        if ("base64Binary".equals(codeString))
8695          return FHIRDefinedType.BASE64BINARY;
8696        if ("boolean".equals(codeString))
8697          return FHIRDefinedType.BOOLEAN;
8698        if ("canonical".equals(codeString))
8699          return FHIRDefinedType.CANONICAL;
8700        if ("code".equals(codeString))
8701          return FHIRDefinedType.CODE;
8702        if ("date".equals(codeString))
8703          return FHIRDefinedType.DATE;
8704        if ("dateTime".equals(codeString))
8705          return FHIRDefinedType.DATETIME;
8706        if ("decimal".equals(codeString))
8707          return FHIRDefinedType.DECIMAL;
8708        if ("id".equals(codeString))
8709          return FHIRDefinedType.ID;
8710        if ("instant".equals(codeString))
8711          return FHIRDefinedType.INSTANT;
8712        if ("integer".equals(codeString))
8713          return FHIRDefinedType.INTEGER;
8714        if ("markdown".equals(codeString))
8715          return FHIRDefinedType.MARKDOWN;
8716        if ("oid".equals(codeString))
8717          return FHIRDefinedType.OID;
8718        if ("positiveInt".equals(codeString))
8719          return FHIRDefinedType.POSITIVEINT;
8720        if ("string".equals(codeString))
8721          return FHIRDefinedType.STRING;
8722        if ("time".equals(codeString))
8723          return FHIRDefinedType.TIME;
8724        if ("unsignedInt".equals(codeString))
8725          return FHIRDefinedType.UNSIGNEDINT;
8726        if ("uri".equals(codeString))
8727          return FHIRDefinedType.URI;
8728        if ("url".equals(codeString))
8729          return FHIRDefinedType.URL;
8730        if ("uuid".equals(codeString))
8731          return FHIRDefinedType.UUID;
8732        if ("xhtml".equals(codeString))
8733          return FHIRDefinedType.XHTML;
8734        if ("Account".equals(codeString))
8735          return FHIRDefinedType.ACCOUNT;
8736        if ("ActivityDefinition".equals(codeString))
8737          return FHIRDefinedType.ACTIVITYDEFINITION;
8738        if ("AdverseEvent".equals(codeString))
8739          return FHIRDefinedType.ADVERSEEVENT;
8740        if ("AllergyIntolerance".equals(codeString))
8741          return FHIRDefinedType.ALLERGYINTOLERANCE;
8742        if ("Appointment".equals(codeString))
8743          return FHIRDefinedType.APPOINTMENT;
8744        if ("AppointmentResponse".equals(codeString))
8745          return FHIRDefinedType.APPOINTMENTRESPONSE;
8746        if ("AuditEvent".equals(codeString))
8747          return FHIRDefinedType.AUDITEVENT;
8748        if ("Basic".equals(codeString))
8749          return FHIRDefinedType.BASIC;
8750        if ("Binary".equals(codeString))
8751          return FHIRDefinedType.BINARY;
8752        if ("BiologicallyDerivedProduct".equals(codeString))
8753          return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT;
8754        if ("BodyStructure".equals(codeString))
8755          return FHIRDefinedType.BODYSTRUCTURE;
8756        if ("Bundle".equals(codeString))
8757          return FHIRDefinedType.BUNDLE;
8758        if ("CapabilityStatement".equals(codeString))
8759          return FHIRDefinedType.CAPABILITYSTATEMENT;
8760        if ("CarePlan".equals(codeString))
8761          return FHIRDefinedType.CAREPLAN;
8762        if ("CareTeam".equals(codeString))
8763          return FHIRDefinedType.CARETEAM;
8764        if ("CatalogEntry".equals(codeString))
8765          return FHIRDefinedType.CATALOGENTRY;
8766        if ("ChargeItem".equals(codeString))
8767          return FHIRDefinedType.CHARGEITEM;
8768        if ("ChargeItemDefinition".equals(codeString))
8769          return FHIRDefinedType.CHARGEITEMDEFINITION;
8770        if ("Claim".equals(codeString))
8771          return FHIRDefinedType.CLAIM;
8772        if ("ClaimResponse".equals(codeString))
8773          return FHIRDefinedType.CLAIMRESPONSE;
8774        if ("ClinicalImpression".equals(codeString))
8775          return FHIRDefinedType.CLINICALIMPRESSION;
8776        if ("CodeSystem".equals(codeString))
8777          return FHIRDefinedType.CODESYSTEM;
8778        if ("Communication".equals(codeString))
8779          return FHIRDefinedType.COMMUNICATION;
8780        if ("CommunicationRequest".equals(codeString))
8781          return FHIRDefinedType.COMMUNICATIONREQUEST;
8782        if ("CompartmentDefinition".equals(codeString))
8783          return FHIRDefinedType.COMPARTMENTDEFINITION;
8784        if ("Composition".equals(codeString))
8785          return FHIRDefinedType.COMPOSITION;
8786        if ("ConceptMap".equals(codeString))
8787          return FHIRDefinedType.CONCEPTMAP;
8788        if ("Condition".equals(codeString))
8789          return FHIRDefinedType.CONDITION;
8790        if ("Consent".equals(codeString))
8791          return FHIRDefinedType.CONSENT;
8792        if ("Contract".equals(codeString))
8793          return FHIRDefinedType.CONTRACT;
8794        if ("Coverage".equals(codeString))
8795          return FHIRDefinedType.COVERAGE;
8796        if ("CoverageEligibilityRequest".equals(codeString))
8797          return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST;
8798        if ("CoverageEligibilityResponse".equals(codeString))
8799          return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE;
8800        if ("DetectedIssue".equals(codeString))
8801          return FHIRDefinedType.DETECTEDISSUE;
8802        if ("Device".equals(codeString))
8803          return FHIRDefinedType.DEVICE;
8804        if ("DeviceDefinition".equals(codeString))
8805          return FHIRDefinedType.DEVICEDEFINITION;
8806        if ("DeviceMetric".equals(codeString))
8807          return FHIRDefinedType.DEVICEMETRIC;
8808        if ("DeviceRequest".equals(codeString))
8809          return FHIRDefinedType.DEVICEREQUEST;
8810        if ("DeviceUseStatement".equals(codeString))
8811          return FHIRDefinedType.DEVICEUSESTATEMENT;
8812        if ("DiagnosticReport".equals(codeString))
8813          return FHIRDefinedType.DIAGNOSTICREPORT;
8814        if ("DocumentManifest".equals(codeString))
8815          return FHIRDefinedType.DOCUMENTMANIFEST;
8816        if ("DocumentReference".equals(codeString))
8817          return FHIRDefinedType.DOCUMENTREFERENCE;
8818        if ("DomainResource".equals(codeString))
8819          return FHIRDefinedType.DOMAINRESOURCE;
8820        if ("EffectEvidenceSynthesis".equals(codeString))
8821          return FHIRDefinedType.EFFECTEVIDENCESYNTHESIS;
8822        if ("Encounter".equals(codeString))
8823          return FHIRDefinedType.ENCOUNTER;
8824        if ("Endpoint".equals(codeString))
8825          return FHIRDefinedType.ENDPOINT;
8826        if ("EnrollmentRequest".equals(codeString))
8827          return FHIRDefinedType.ENROLLMENTREQUEST;
8828        if ("EnrollmentResponse".equals(codeString))
8829          return FHIRDefinedType.ENROLLMENTRESPONSE;
8830        if ("EpisodeOfCare".equals(codeString))
8831          return FHIRDefinedType.EPISODEOFCARE;
8832        if ("EventDefinition".equals(codeString))
8833          return FHIRDefinedType.EVENTDEFINITION;
8834        if ("Evidence".equals(codeString))
8835          return FHIRDefinedType.EVIDENCE;
8836        if ("EvidenceVariable".equals(codeString))
8837          return FHIRDefinedType.EVIDENCEVARIABLE;
8838        if ("ExampleScenario".equals(codeString))
8839          return FHIRDefinedType.EXAMPLESCENARIO;
8840        if ("ExplanationOfBenefit".equals(codeString))
8841          return FHIRDefinedType.EXPLANATIONOFBENEFIT;
8842        if ("FamilyMemberHistory".equals(codeString))
8843          return FHIRDefinedType.FAMILYMEMBERHISTORY;
8844        if ("Flag".equals(codeString))
8845          return FHIRDefinedType.FLAG;
8846        if ("Goal".equals(codeString))
8847          return FHIRDefinedType.GOAL;
8848        if ("GraphDefinition".equals(codeString))
8849          return FHIRDefinedType.GRAPHDEFINITION;
8850        if ("Group".equals(codeString))
8851          return FHIRDefinedType.GROUP;
8852        if ("GuidanceResponse".equals(codeString))
8853          return FHIRDefinedType.GUIDANCERESPONSE;
8854        if ("HealthcareService".equals(codeString))
8855          return FHIRDefinedType.HEALTHCARESERVICE;
8856        if ("ImagingStudy".equals(codeString))
8857          return FHIRDefinedType.IMAGINGSTUDY;
8858        if ("Immunization".equals(codeString))
8859          return FHIRDefinedType.IMMUNIZATION;
8860        if ("ImmunizationEvaluation".equals(codeString))
8861          return FHIRDefinedType.IMMUNIZATIONEVALUATION;
8862        if ("ImmunizationRecommendation".equals(codeString))
8863          return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION;
8864        if ("ImplementationGuide".equals(codeString))
8865          return FHIRDefinedType.IMPLEMENTATIONGUIDE;
8866        if ("InsurancePlan".equals(codeString))
8867          return FHIRDefinedType.INSURANCEPLAN;
8868        if ("Invoice".equals(codeString))
8869          return FHIRDefinedType.INVOICE;
8870        if ("Library".equals(codeString))
8871          return FHIRDefinedType.LIBRARY;
8872        if ("Linkage".equals(codeString))
8873          return FHIRDefinedType.LINKAGE;
8874        if ("List".equals(codeString))
8875          return FHIRDefinedType.LIST;
8876        if ("Location".equals(codeString))
8877          return FHIRDefinedType.LOCATION;
8878        if ("Measure".equals(codeString))
8879          return FHIRDefinedType.MEASURE;
8880        if ("MeasureReport".equals(codeString))
8881          return FHIRDefinedType.MEASUREREPORT;
8882        if ("Media".equals(codeString))
8883          return FHIRDefinedType.MEDIA;
8884        if ("Medication".equals(codeString))
8885          return FHIRDefinedType.MEDICATION;
8886        if ("MedicationAdministration".equals(codeString))
8887          return FHIRDefinedType.MEDICATIONADMINISTRATION;
8888        if ("MedicationDispense".equals(codeString))
8889          return FHIRDefinedType.MEDICATIONDISPENSE;
8890        if ("MedicationKnowledge".equals(codeString))
8891          return FHIRDefinedType.MEDICATIONKNOWLEDGE;
8892        if ("MedicationRequest".equals(codeString))
8893          return FHIRDefinedType.MEDICATIONREQUEST;
8894        if ("MedicationStatement".equals(codeString))
8895          return FHIRDefinedType.MEDICATIONSTATEMENT;
8896        if ("MedicinalProduct".equals(codeString))
8897          return FHIRDefinedType.MEDICINALPRODUCT;
8898        if ("MedicinalProductAuthorization".equals(codeString))
8899          return FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION;
8900        if ("MedicinalProductContraindication".equals(codeString))
8901          return FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION;
8902        if ("MedicinalProductIndication".equals(codeString))
8903          return FHIRDefinedType.MEDICINALPRODUCTINDICATION;
8904        if ("MedicinalProductIngredient".equals(codeString))
8905          return FHIRDefinedType.MEDICINALPRODUCTINGREDIENT;
8906        if ("MedicinalProductInteraction".equals(codeString))
8907          return FHIRDefinedType.MEDICINALPRODUCTINTERACTION;
8908        if ("MedicinalProductManufactured".equals(codeString))
8909          return FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED;
8910        if ("MedicinalProductPackaged".equals(codeString))
8911          return FHIRDefinedType.MEDICINALPRODUCTPACKAGED;
8912        if ("MedicinalProductPharmaceutical".equals(codeString))
8913          return FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL;
8914        if ("MedicinalProductUndesirableEffect".equals(codeString))
8915          return FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
8916        if ("MessageDefinition".equals(codeString))
8917          return FHIRDefinedType.MESSAGEDEFINITION;
8918        if ("MessageHeader".equals(codeString))
8919          return FHIRDefinedType.MESSAGEHEADER;
8920        if ("MolecularSequence".equals(codeString))
8921          return FHIRDefinedType.MOLECULARSEQUENCE;
8922        if ("NamingSystem".equals(codeString))
8923          return FHIRDefinedType.NAMINGSYSTEM;
8924        if ("NutritionOrder".equals(codeString))
8925          return FHIRDefinedType.NUTRITIONORDER;
8926        if ("Observation".equals(codeString))
8927          return FHIRDefinedType.OBSERVATION;
8928        if ("ObservationDefinition".equals(codeString))
8929          return FHIRDefinedType.OBSERVATIONDEFINITION;
8930        if ("OperationDefinition".equals(codeString))
8931          return FHIRDefinedType.OPERATIONDEFINITION;
8932        if ("OperationOutcome".equals(codeString))
8933          return FHIRDefinedType.OPERATIONOUTCOME;
8934        if ("Organization".equals(codeString))
8935          return FHIRDefinedType.ORGANIZATION;
8936        if ("OrganizationAffiliation".equals(codeString))
8937          return FHIRDefinedType.ORGANIZATIONAFFILIATION;
8938        if ("Parameters".equals(codeString))
8939          return FHIRDefinedType.PARAMETERS;
8940        if ("Patient".equals(codeString))
8941          return FHIRDefinedType.PATIENT;
8942        if ("PaymentNotice".equals(codeString))
8943          return FHIRDefinedType.PAYMENTNOTICE;
8944        if ("PaymentReconciliation".equals(codeString))
8945          return FHIRDefinedType.PAYMENTRECONCILIATION;
8946        if ("Person".equals(codeString))
8947          return FHIRDefinedType.PERSON;
8948        if ("PlanDefinition".equals(codeString))
8949          return FHIRDefinedType.PLANDEFINITION;
8950        if ("Practitioner".equals(codeString))
8951          return FHIRDefinedType.PRACTITIONER;
8952        if ("PractitionerRole".equals(codeString))
8953          return FHIRDefinedType.PRACTITIONERROLE;
8954        if ("Procedure".equals(codeString))
8955          return FHIRDefinedType.PROCEDURE;
8956        if ("Provenance".equals(codeString))
8957          return FHIRDefinedType.PROVENANCE;
8958        if ("Questionnaire".equals(codeString))
8959          return FHIRDefinedType.QUESTIONNAIRE;
8960        if ("QuestionnaireResponse".equals(codeString))
8961          return FHIRDefinedType.QUESTIONNAIRERESPONSE;
8962        if ("RelatedPerson".equals(codeString))
8963          return FHIRDefinedType.RELATEDPERSON;
8964        if ("RequestGroup".equals(codeString))
8965          return FHIRDefinedType.REQUESTGROUP;
8966        if ("ResearchDefinition".equals(codeString))
8967          return FHIRDefinedType.RESEARCHDEFINITION;
8968        if ("ResearchElementDefinition".equals(codeString))
8969          return FHIRDefinedType.RESEARCHELEMENTDEFINITION;
8970        if ("ResearchStudy".equals(codeString))
8971          return FHIRDefinedType.RESEARCHSTUDY;
8972        if ("ResearchSubject".equals(codeString))
8973          return FHIRDefinedType.RESEARCHSUBJECT;
8974        if ("Resource".equals(codeString))
8975          return FHIRDefinedType.RESOURCE;
8976        if ("RiskAssessment".equals(codeString))
8977          return FHIRDefinedType.RISKASSESSMENT;
8978        if ("RiskEvidenceSynthesis".equals(codeString))
8979          return FHIRDefinedType.RISKEVIDENCESYNTHESIS;
8980        if ("Schedule".equals(codeString))
8981          return FHIRDefinedType.SCHEDULE;
8982        if ("SearchParameter".equals(codeString))
8983          return FHIRDefinedType.SEARCHPARAMETER;
8984        if ("ServiceRequest".equals(codeString))
8985          return FHIRDefinedType.SERVICEREQUEST;
8986        if ("Slot".equals(codeString))
8987          return FHIRDefinedType.SLOT;
8988        if ("Specimen".equals(codeString))
8989          return FHIRDefinedType.SPECIMEN;
8990        if ("SpecimenDefinition".equals(codeString))
8991          return FHIRDefinedType.SPECIMENDEFINITION;
8992        if ("StructureDefinition".equals(codeString))
8993          return FHIRDefinedType.STRUCTUREDEFINITION;
8994        if ("StructureMap".equals(codeString))
8995          return FHIRDefinedType.STRUCTUREMAP;
8996        if ("Subscription".equals(codeString))
8997          return FHIRDefinedType.SUBSCRIPTION;
8998        if ("Substance".equals(codeString))
8999          return FHIRDefinedType.SUBSTANCE;
9000        if ("SubstanceNucleicAcid".equals(codeString))
9001          return FHIRDefinedType.SUBSTANCENUCLEICACID;
9002        if ("SubstancePolymer".equals(codeString))
9003          return FHIRDefinedType.SUBSTANCEPOLYMER;
9004        if ("SubstanceProtein".equals(codeString))
9005          return FHIRDefinedType.SUBSTANCEPROTEIN;
9006        if ("SubstanceReferenceInformation".equals(codeString))
9007          return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION;
9008        if ("SubstanceSourceMaterial".equals(codeString))
9009          return FHIRDefinedType.SUBSTANCESOURCEMATERIAL;
9010        if ("SubstanceSpecification".equals(codeString))
9011          return FHIRDefinedType.SUBSTANCESPECIFICATION;
9012        if ("SupplyDelivery".equals(codeString))
9013          return FHIRDefinedType.SUPPLYDELIVERY;
9014        if ("SupplyRequest".equals(codeString))
9015          return FHIRDefinedType.SUPPLYREQUEST;
9016        if ("Task".equals(codeString))
9017          return FHIRDefinedType.TASK;
9018        if ("TerminologyCapabilities".equals(codeString))
9019          return FHIRDefinedType.TERMINOLOGYCAPABILITIES;
9020        if ("TestReport".equals(codeString))
9021          return FHIRDefinedType.TESTREPORT;
9022        if ("TestScript".equals(codeString))
9023          return FHIRDefinedType.TESTSCRIPT;
9024        if ("ValueSet".equals(codeString))
9025          return FHIRDefinedType.VALUESET;
9026        if ("VerificationResult".equals(codeString))
9027          return FHIRDefinedType.VERIFICATIONRESULT;
9028        if ("VisionPrescription".equals(codeString))
9029          return FHIRDefinedType.VISIONPRESCRIPTION;
9030        throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'");
9031        }
9032        public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException {
9033          if (code == null)
9034            return null;
9035          if (code.isEmpty())
9036            return new Enumeration<FHIRDefinedType>(this);
9037          String codeString = ((PrimitiveType) code).asStringValue();
9038          if (codeString == null || "".equals(codeString))
9039            return null;
9040        if ("Address".equals(codeString))
9041          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS);
9042        if ("Age".equals(codeString))
9043          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE);
9044        if ("Annotation".equals(codeString))
9045          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION);
9046        if ("Attachment".equals(codeString))
9047          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT);
9048        if ("BackboneElement".equals(codeString))
9049          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT);
9050        if ("CodeableConcept".equals(codeString))
9051          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT);
9052        if ("Coding".equals(codeString))
9053          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING);
9054        if ("ContactDetail".equals(codeString))
9055          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL);
9056        if ("ContactPoint".equals(codeString))
9057          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT);
9058        if ("Contributor".equals(codeString))
9059          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR);
9060        if ("Count".equals(codeString))
9061          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT);
9062        if ("DataRequirement".equals(codeString))
9063          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT);
9064        if ("Distance".equals(codeString))
9065          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE);
9066        if ("Dosage".equals(codeString))
9067          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE);
9068        if ("Duration".equals(codeString))
9069          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION);
9070        if ("Element".equals(codeString))
9071          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT);
9072        if ("ElementDefinition".equals(codeString))
9073          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION);
9074        if ("Expression".equals(codeString))
9075          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPRESSION);
9076        if ("Extension".equals(codeString))
9077          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION);
9078        if ("HumanName".equals(codeString))
9079          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME);
9080        if ("Identifier".equals(codeString))
9081          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER);
9082        if ("MarketingStatus".equals(codeString))
9083          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS);
9084        if ("Meta".equals(codeString))
9085          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META);
9086        if ("Money".equals(codeString))
9087          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY);
9088        if ("MoneyQuantity".equals(codeString))
9089          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEYQUANTITY);
9090        if ("Narrative".equals(codeString))
9091          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE);
9092        if ("ParameterDefinition".equals(codeString))
9093          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION);
9094        if ("Period".equals(codeString))
9095          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD);
9096        if ("Population".equals(codeString))
9097          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POPULATION);
9098        if ("ProdCharacteristic".equals(codeString))
9099          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC);
9100        if ("ProductShelfLife".equals(codeString))
9101          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE);
9102        if ("Quantity".equals(codeString))
9103          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY);
9104        if ("Range".equals(codeString))
9105          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE);
9106        if ("Ratio".equals(codeString))
9107          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO);
9108        if ("Reference".equals(codeString))
9109          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE);
9110        if ("RelatedArtifact".equals(codeString))
9111          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT);
9112        if ("SampledData".equals(codeString))
9113          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA);
9114        if ("Signature".equals(codeString))
9115          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE);
9116        if ("SimpleQuantity".equals(codeString))
9117          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY);
9118        if ("SubstanceAmount".equals(codeString))
9119          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEAMOUNT);
9120        if ("Timing".equals(codeString))
9121          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING);
9122        if ("TriggerDefinition".equals(codeString))
9123          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION);
9124        if ("UsageContext".equals(codeString))
9125          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT);
9126        if ("base64Binary".equals(codeString))
9127          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY);
9128        if ("boolean".equals(codeString))
9129          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN);
9130        if ("canonical".equals(codeString))
9131          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL);
9132        if ("code".equals(codeString))
9133          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE);
9134        if ("date".equals(codeString))
9135          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE);
9136        if ("dateTime".equals(codeString))
9137          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME);
9138        if ("decimal".equals(codeString))
9139          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL);
9140        if ("id".equals(codeString))
9141          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID);
9142        if ("instant".equals(codeString))
9143          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT);
9144        if ("integer".equals(codeString))
9145          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER);
9146        if ("markdown".equals(codeString))
9147          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN);
9148        if ("oid".equals(codeString))
9149          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID);
9150        if ("positiveInt".equals(codeString))
9151          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT);
9152        if ("string".equals(codeString))
9153          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING);
9154        if ("time".equals(codeString))
9155          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME);
9156        if ("unsignedInt".equals(codeString))
9157          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT);
9158        if ("uri".equals(codeString))
9159          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI);
9160        if ("url".equals(codeString))
9161          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL);
9162        if ("uuid".equals(codeString))
9163          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID);
9164        if ("xhtml".equals(codeString))
9165          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML);
9166        if ("Account".equals(codeString))
9167          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT);
9168        if ("ActivityDefinition".equals(codeString))
9169          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION);
9170        if ("AdverseEvent".equals(codeString))
9171          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT);
9172        if ("AllergyIntolerance".equals(codeString))
9173          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE);
9174        if ("Appointment".equals(codeString))
9175          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT);
9176        if ("AppointmentResponse".equals(codeString))
9177          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE);
9178        if ("AuditEvent".equals(codeString))
9179          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT);
9180        if ("Basic".equals(codeString))
9181          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC);
9182        if ("Binary".equals(codeString))
9183          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY);
9184        if ("BiologicallyDerivedProduct".equals(codeString))
9185          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT);
9186        if ("BodyStructure".equals(codeString))
9187          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE);
9188        if ("Bundle".equals(codeString))
9189          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE);
9190        if ("CapabilityStatement".equals(codeString))
9191          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT);
9192        if ("CarePlan".equals(codeString))
9193          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN);
9194        if ("CareTeam".equals(codeString))
9195          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM);
9196        if ("CatalogEntry".equals(codeString))
9197          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CATALOGENTRY);
9198        if ("ChargeItem".equals(codeString))
9199          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM);
9200        if ("ChargeItemDefinition".equals(codeString))
9201          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEMDEFINITION);
9202        if ("Claim".equals(codeString))
9203          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM);
9204        if ("ClaimResponse".equals(codeString))
9205          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE);
9206        if ("ClinicalImpression".equals(codeString))
9207          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION);
9208        if ("CodeSystem".equals(codeString))
9209          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM);
9210        if ("Communication".equals(codeString))
9211          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION);
9212        if ("CommunicationRequest".equals(codeString))
9213          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST);
9214        if ("CompartmentDefinition".equals(codeString))
9215          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION);
9216        if ("Composition".equals(codeString))
9217          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION);
9218        if ("ConceptMap".equals(codeString))
9219          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP);
9220        if ("Condition".equals(codeString))
9221          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION);
9222        if ("Consent".equals(codeString))
9223          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT);
9224        if ("Contract".equals(codeString))
9225          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT);
9226        if ("Coverage".equals(codeString))
9227          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE);
9228        if ("CoverageEligibilityRequest".equals(codeString))
9229          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST);
9230        if ("CoverageEligibilityResponse".equals(codeString))
9231          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE);
9232        if ("DetectedIssue".equals(codeString))
9233          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE);
9234        if ("Device".equals(codeString))
9235          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE);
9236        if ("DeviceDefinition".equals(codeString))
9237          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDEFINITION);
9238        if ("DeviceMetric".equals(codeString))
9239          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC);
9240        if ("DeviceRequest".equals(codeString))
9241          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST);
9242        if ("DeviceUseStatement".equals(codeString))
9243          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT);
9244        if ("DiagnosticReport".equals(codeString))
9245          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT);
9246        if ("DocumentManifest".equals(codeString))
9247          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST);
9248        if ("DocumentReference".equals(codeString))
9249          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE);
9250        if ("DomainResource".equals(codeString))
9251          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE);
9252        if ("EffectEvidenceSynthesis".equals(codeString))
9253          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EFFECTEVIDENCESYNTHESIS);
9254        if ("Encounter".equals(codeString))
9255          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER);
9256        if ("Endpoint".equals(codeString))
9257          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT);
9258        if ("EnrollmentRequest".equals(codeString))
9259          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST);
9260        if ("EnrollmentResponse".equals(codeString))
9261          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE);
9262        if ("EpisodeOfCare".equals(codeString))
9263          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE);
9264        if ("EventDefinition".equals(codeString))
9265          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION);
9266        if ("Evidence".equals(codeString))
9267          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCE);
9268        if ("EvidenceVariable".equals(codeString))
9269          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCEVARIABLE);
9270        if ("ExampleScenario".equals(codeString))
9271          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO);
9272        if ("ExplanationOfBenefit".equals(codeString))
9273          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT);
9274        if ("FamilyMemberHistory".equals(codeString))
9275          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY);
9276        if ("Flag".equals(codeString))
9277          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG);
9278        if ("Goal".equals(codeString))
9279          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL);
9280        if ("GraphDefinition".equals(codeString))
9281          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION);
9282        if ("Group".equals(codeString))
9283          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP);
9284        if ("GuidanceResponse".equals(codeString))
9285          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE);
9286        if ("HealthcareService".equals(codeString))
9287          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE);
9288        if ("ImagingStudy".equals(codeString))
9289          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY);
9290        if ("Immunization".equals(codeString))
9291          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION);
9292        if ("ImmunizationEvaluation".equals(codeString))
9293          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION);
9294        if ("ImmunizationRecommendation".equals(codeString))
9295          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION);
9296        if ("ImplementationGuide".equals(codeString))
9297          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE);
9298        if ("InsurancePlan".equals(codeString))
9299          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSURANCEPLAN);
9300        if ("Invoice".equals(codeString))
9301          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE);
9302        if ("Library".equals(codeString))
9303          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY);
9304        if ("Linkage".equals(codeString))
9305          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE);
9306        if ("List".equals(codeString))
9307          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST);
9308        if ("Location".equals(codeString))
9309          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION);
9310        if ("Measure".equals(codeString))
9311          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE);
9312        if ("MeasureReport".equals(codeString))
9313          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT);
9314        if ("Media".equals(codeString))
9315          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA);
9316        if ("Medication".equals(codeString))
9317          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION);
9318        if ("MedicationAdministration".equals(codeString))
9319          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION);
9320        if ("MedicationDispense".equals(codeString))
9321          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE);
9322        if ("MedicationKnowledge".equals(codeString))
9323          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE);
9324        if ("MedicationRequest".equals(codeString))
9325          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST);
9326        if ("MedicationStatement".equals(codeString))
9327          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT);
9328        if ("MedicinalProduct".equals(codeString))
9329          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCT);
9330        if ("MedicinalProductAuthorization".equals(codeString))
9331          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION);
9332        if ("MedicinalProductContraindication".equals(codeString))
9333          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION);
9334        if ("MedicinalProductIndication".equals(codeString))
9335          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINDICATION);
9336        if ("MedicinalProductIngredient".equals(codeString))
9337          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINGREDIENT);
9338        if ("MedicinalProductInteraction".equals(codeString))
9339          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINTERACTION);
9340        if ("MedicinalProductManufactured".equals(codeString))
9341          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED);
9342        if ("MedicinalProductPackaged".equals(codeString))
9343          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPACKAGED);
9344        if ("MedicinalProductPharmaceutical".equals(codeString))
9345          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL);
9346        if ("MedicinalProductUndesirableEffect".equals(codeString))
9347          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
9348        if ("MessageDefinition".equals(codeString))
9349          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION);
9350        if ("MessageHeader".equals(codeString))
9351          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER);
9352        if ("MolecularSequence".equals(codeString))
9353          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MOLECULARSEQUENCE);
9354        if ("NamingSystem".equals(codeString))
9355          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM);
9356        if ("NutritionOrder".equals(codeString))
9357          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER);
9358        if ("Observation".equals(codeString))
9359          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION);
9360        if ("ObservationDefinition".equals(codeString))
9361          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION);
9362        if ("OperationDefinition".equals(codeString))
9363          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION);
9364        if ("OperationOutcome".equals(codeString))
9365          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME);
9366        if ("Organization".equals(codeString))
9367          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION);
9368        if ("OrganizationAffiliation".equals(codeString))
9369          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONAFFILIATION);
9370        if ("Parameters".equals(codeString))
9371          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS);
9372        if ("Patient".equals(codeString))
9373          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT);
9374        if ("PaymentNotice".equals(codeString))
9375          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE);
9376        if ("PaymentReconciliation".equals(codeString))
9377          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION);
9378        if ("Person".equals(codeString))
9379          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON);
9380        if ("PlanDefinition".equals(codeString))
9381          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION);
9382        if ("Practitioner".equals(codeString))
9383          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER);
9384        if ("PractitionerRole".equals(codeString))
9385          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE);
9386        if ("Procedure".equals(codeString))
9387          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE);
9388        if ("Provenance".equals(codeString))
9389          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE);
9390        if ("Questionnaire".equals(codeString))
9391          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE);
9392        if ("QuestionnaireResponse".equals(codeString))
9393          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE);
9394        if ("RelatedPerson".equals(codeString))
9395          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON);
9396        if ("RequestGroup".equals(codeString))
9397          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP);
9398        if ("ResearchDefinition".equals(codeString))
9399          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHDEFINITION);
9400        if ("ResearchElementDefinition".equals(codeString))
9401          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHELEMENTDEFINITION);
9402        if ("ResearchStudy".equals(codeString))
9403          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY);
9404        if ("ResearchSubject".equals(codeString))
9405          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT);
9406        if ("Resource".equals(codeString))
9407          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE);
9408        if ("RiskAssessment".equals(codeString))
9409          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT);
9410        if ("RiskEvidenceSynthesis".equals(codeString))
9411          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKEVIDENCESYNTHESIS);
9412        if ("Schedule".equals(codeString))
9413          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE);
9414        if ("SearchParameter".equals(codeString))
9415          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER);
9416        if ("ServiceRequest".equals(codeString))
9417          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST);
9418        if ("Slot".equals(codeString))
9419          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT);
9420        if ("Specimen".equals(codeString))
9421          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN);
9422        if ("SpecimenDefinition".equals(codeString))
9423          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION);
9424        if ("StructureDefinition".equals(codeString))
9425          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION);
9426        if ("StructureMap".equals(codeString))
9427          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP);
9428        if ("Subscription".equals(codeString))
9429          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION);
9430        if ("Substance".equals(codeString))
9431          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE);
9432        if ("SubstanceNucleicAcid".equals(codeString))
9433          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCENUCLEICACID);
9434        if ("SubstancePolymer".equals(codeString))
9435          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER);
9436        if ("SubstanceProtein".equals(codeString))
9437          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPROTEIN);
9438        if ("SubstanceReferenceInformation".equals(codeString))
9439          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION);
9440        if ("SubstanceSourceMaterial".equals(codeString))
9441          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESOURCEMATERIAL);
9442        if ("SubstanceSpecification".equals(codeString))
9443          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESPECIFICATION);
9444        if ("SupplyDelivery".equals(codeString))
9445          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY);
9446        if ("SupplyRequest".equals(codeString))
9447          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST);
9448        if ("Task".equals(codeString))
9449          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK);
9450        if ("TerminologyCapabilities".equals(codeString))
9451          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES);
9452        if ("TestReport".equals(codeString))
9453          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT);
9454        if ("TestScript".equals(codeString))
9455          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT);
9456        if ("ValueSet".equals(codeString))
9457          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET);
9458        if ("VerificationResult".equals(codeString))
9459          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT);
9460        if ("VisionPrescription".equals(codeString))
9461          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION);
9462        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
9463        }
9464    public String toCode(FHIRDefinedType code) {
9465      if (code == FHIRDefinedType.ADDRESS)
9466        return "Address";
9467      if (code == FHIRDefinedType.AGE)
9468        return "Age";
9469      if (code == FHIRDefinedType.ANNOTATION)
9470        return "Annotation";
9471      if (code == FHIRDefinedType.ATTACHMENT)
9472        return "Attachment";
9473      if (code == FHIRDefinedType.BACKBONEELEMENT)
9474        return "BackboneElement";
9475      if (code == FHIRDefinedType.CODEABLECONCEPT)
9476        return "CodeableConcept";
9477      if (code == FHIRDefinedType.CODING)
9478        return "Coding";
9479      if (code == FHIRDefinedType.CONTACTDETAIL)
9480        return "ContactDetail";
9481      if (code == FHIRDefinedType.CONTACTPOINT)
9482        return "ContactPoint";
9483      if (code == FHIRDefinedType.CONTRIBUTOR)
9484        return "Contributor";
9485      if (code == FHIRDefinedType.COUNT)
9486        return "Count";
9487      if (code == FHIRDefinedType.DATAREQUIREMENT)
9488        return "DataRequirement";
9489      if (code == FHIRDefinedType.DISTANCE)
9490        return "Distance";
9491      if (code == FHIRDefinedType.DOSAGE)
9492        return "Dosage";
9493      if (code == FHIRDefinedType.DURATION)
9494        return "Duration";
9495      if (code == FHIRDefinedType.ELEMENT)
9496        return "Element";
9497      if (code == FHIRDefinedType.ELEMENTDEFINITION)
9498        return "ElementDefinition";
9499      if (code == FHIRDefinedType.EXPRESSION)
9500        return "Expression";
9501      if (code == FHIRDefinedType.EXTENSION)
9502        return "Extension";
9503      if (code == FHIRDefinedType.HUMANNAME)
9504        return "HumanName";
9505      if (code == FHIRDefinedType.IDENTIFIER)
9506        return "Identifier";
9507      if (code == FHIRDefinedType.MARKETINGSTATUS)
9508        return "MarketingStatus";
9509      if (code == FHIRDefinedType.META)
9510        return "Meta";
9511      if (code == FHIRDefinedType.MONEY)
9512        return "Money";
9513      if (code == FHIRDefinedType.MONEYQUANTITY)
9514        return "MoneyQuantity";
9515      if (code == FHIRDefinedType.NARRATIVE)
9516        return "Narrative";
9517      if (code == FHIRDefinedType.PARAMETERDEFINITION)
9518        return "ParameterDefinition";
9519      if (code == FHIRDefinedType.PERIOD)
9520        return "Period";
9521      if (code == FHIRDefinedType.POPULATION)
9522        return "Population";
9523      if (code == FHIRDefinedType.PRODCHARACTERISTIC)
9524        return "ProdCharacteristic";
9525      if (code == FHIRDefinedType.PRODUCTSHELFLIFE)
9526        return "ProductShelfLife";
9527      if (code == FHIRDefinedType.QUANTITY)
9528        return "Quantity";
9529      if (code == FHIRDefinedType.RANGE)
9530        return "Range";
9531      if (code == FHIRDefinedType.RATIO)
9532        return "Ratio";
9533      if (code == FHIRDefinedType.REFERENCE)
9534        return "Reference";
9535      if (code == FHIRDefinedType.RELATEDARTIFACT)
9536        return "RelatedArtifact";
9537      if (code == FHIRDefinedType.SAMPLEDDATA)
9538        return "SampledData";
9539      if (code == FHIRDefinedType.SIGNATURE)
9540        return "Signature";
9541      if (code == FHIRDefinedType.SIMPLEQUANTITY)
9542        return "SimpleQuantity";
9543      if (code == FHIRDefinedType.SUBSTANCEAMOUNT)
9544        return "SubstanceAmount";
9545      if (code == FHIRDefinedType.TIMING)
9546        return "Timing";
9547      if (code == FHIRDefinedType.TRIGGERDEFINITION)
9548        return "TriggerDefinition";
9549      if (code == FHIRDefinedType.USAGECONTEXT)
9550        return "UsageContext";
9551      if (code == FHIRDefinedType.BASE64BINARY)
9552        return "base64Binary";
9553      if (code == FHIRDefinedType.BOOLEAN)
9554        return "boolean";
9555      if (code == FHIRDefinedType.CANONICAL)
9556        return "canonical";
9557      if (code == FHIRDefinedType.CODE)
9558        return "code";
9559      if (code == FHIRDefinedType.DATE)
9560        return "date";
9561      if (code == FHIRDefinedType.DATETIME)
9562        return "dateTime";
9563      if (code == FHIRDefinedType.DECIMAL)
9564        return "decimal";
9565      if (code == FHIRDefinedType.ID)
9566        return "id";
9567      if (code == FHIRDefinedType.INSTANT)
9568        return "instant";
9569      if (code == FHIRDefinedType.INTEGER)
9570        return "integer";
9571      if (code == FHIRDefinedType.MARKDOWN)
9572        return "markdown";
9573      if (code == FHIRDefinedType.OID)
9574        return "oid";
9575      if (code == FHIRDefinedType.POSITIVEINT)
9576        return "positiveInt";
9577      if (code == FHIRDefinedType.STRING)
9578        return "string";
9579      if (code == FHIRDefinedType.TIME)
9580        return "time";
9581      if (code == FHIRDefinedType.UNSIGNEDINT)
9582        return "unsignedInt";
9583      if (code == FHIRDefinedType.URI)
9584        return "uri";
9585      if (code == FHIRDefinedType.URL)
9586        return "url";
9587      if (code == FHIRDefinedType.UUID)
9588        return "uuid";
9589      if (code == FHIRDefinedType.XHTML)
9590        return "xhtml";
9591      if (code == FHIRDefinedType.ACCOUNT)
9592        return "Account";
9593      if (code == FHIRDefinedType.ACTIVITYDEFINITION)
9594        return "ActivityDefinition";
9595      if (code == FHIRDefinedType.ADVERSEEVENT)
9596        return "AdverseEvent";
9597      if (code == FHIRDefinedType.ALLERGYINTOLERANCE)
9598        return "AllergyIntolerance";
9599      if (code == FHIRDefinedType.APPOINTMENT)
9600        return "Appointment";
9601      if (code == FHIRDefinedType.APPOINTMENTRESPONSE)
9602        return "AppointmentResponse";
9603      if (code == FHIRDefinedType.AUDITEVENT)
9604        return "AuditEvent";
9605      if (code == FHIRDefinedType.BASIC)
9606        return "Basic";
9607      if (code == FHIRDefinedType.BINARY)
9608        return "Binary";
9609      if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT)
9610        return "BiologicallyDerivedProduct";
9611      if (code == FHIRDefinedType.BODYSTRUCTURE)
9612        return "BodyStructure";
9613      if (code == FHIRDefinedType.BUNDLE)
9614        return "Bundle";
9615      if (code == FHIRDefinedType.CAPABILITYSTATEMENT)
9616        return "CapabilityStatement";
9617      if (code == FHIRDefinedType.CAREPLAN)
9618        return "CarePlan";
9619      if (code == FHIRDefinedType.CARETEAM)
9620        return "CareTeam";
9621      if (code == FHIRDefinedType.CATALOGENTRY)
9622        return "CatalogEntry";
9623      if (code == FHIRDefinedType.CHARGEITEM)
9624        return "ChargeItem";
9625      if (code == FHIRDefinedType.CHARGEITEMDEFINITION)
9626        return "ChargeItemDefinition";
9627      if (code == FHIRDefinedType.CLAIM)
9628        return "Claim";
9629      if (code == FHIRDefinedType.CLAIMRESPONSE)
9630        return "ClaimResponse";
9631      if (code == FHIRDefinedType.CLINICALIMPRESSION)
9632        return "ClinicalImpression";
9633      if (code == FHIRDefinedType.CODESYSTEM)
9634        return "CodeSystem";
9635      if (code == FHIRDefinedType.COMMUNICATION)
9636        return "Communication";
9637      if (code == FHIRDefinedType.COMMUNICATIONREQUEST)
9638        return "CommunicationRequest";
9639      if (code == FHIRDefinedType.COMPARTMENTDEFINITION)
9640        return "CompartmentDefinition";
9641      if (code == FHIRDefinedType.COMPOSITION)
9642        return "Composition";
9643      if (code == FHIRDefinedType.CONCEPTMAP)
9644        return "ConceptMap";
9645      if (code == FHIRDefinedType.CONDITION)
9646        return "Condition";
9647      if (code == FHIRDefinedType.CONSENT)
9648        return "Consent";
9649      if (code == FHIRDefinedType.CONTRACT)
9650        return "Contract";
9651      if (code == FHIRDefinedType.COVERAGE)
9652        return "Coverage";
9653      if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST)
9654        return "CoverageEligibilityRequest";
9655      if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE)
9656        return "CoverageEligibilityResponse";
9657      if (code == FHIRDefinedType.DETECTEDISSUE)
9658        return "DetectedIssue";
9659      if (code == FHIRDefinedType.DEVICE)
9660        return "Device";
9661      if (code == FHIRDefinedType.DEVICEDEFINITION)
9662        return "DeviceDefinition";
9663      if (code == FHIRDefinedType.DEVICEMETRIC)
9664        return "DeviceMetric";
9665      if (code == FHIRDefinedType.DEVICEREQUEST)
9666        return "DeviceRequest";
9667      if (code == FHIRDefinedType.DEVICEUSESTATEMENT)
9668        return "DeviceUseStatement";
9669      if (code == FHIRDefinedType.DIAGNOSTICREPORT)
9670        return "DiagnosticReport";
9671      if (code == FHIRDefinedType.DOCUMENTMANIFEST)
9672        return "DocumentManifest";
9673      if (code == FHIRDefinedType.DOCUMENTREFERENCE)
9674        return "DocumentReference";
9675      if (code == FHIRDefinedType.DOMAINRESOURCE)
9676        return "DomainResource";
9677      if (code == FHIRDefinedType.EFFECTEVIDENCESYNTHESIS)
9678        return "EffectEvidenceSynthesis";
9679      if (code == FHIRDefinedType.ENCOUNTER)
9680        return "Encounter";
9681      if (code == FHIRDefinedType.ENDPOINT)
9682        return "Endpoint";
9683      if (code == FHIRDefinedType.ENROLLMENTREQUEST)
9684        return "EnrollmentRequest";
9685      if (code == FHIRDefinedType.ENROLLMENTRESPONSE)
9686        return "EnrollmentResponse";
9687      if (code == FHIRDefinedType.EPISODEOFCARE)
9688        return "EpisodeOfCare";
9689      if (code == FHIRDefinedType.EVENTDEFINITION)
9690        return "EventDefinition";
9691      if (code == FHIRDefinedType.EVIDENCE)
9692        return "Evidence";
9693      if (code == FHIRDefinedType.EVIDENCEVARIABLE)
9694        return "EvidenceVariable";
9695      if (code == FHIRDefinedType.EXAMPLESCENARIO)
9696        return "ExampleScenario";
9697      if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT)
9698        return "ExplanationOfBenefit";
9699      if (code == FHIRDefinedType.FAMILYMEMBERHISTORY)
9700        return "FamilyMemberHistory";
9701      if (code == FHIRDefinedType.FLAG)
9702        return "Flag";
9703      if (code == FHIRDefinedType.GOAL)
9704        return "Goal";
9705      if (code == FHIRDefinedType.GRAPHDEFINITION)
9706        return "GraphDefinition";
9707      if (code == FHIRDefinedType.GROUP)
9708        return "Group";
9709      if (code == FHIRDefinedType.GUIDANCERESPONSE)
9710        return "GuidanceResponse";
9711      if (code == FHIRDefinedType.HEALTHCARESERVICE)
9712        return "HealthcareService";
9713      if (code == FHIRDefinedType.IMAGINGSTUDY)
9714        return "ImagingStudy";
9715      if (code == FHIRDefinedType.IMMUNIZATION)
9716        return "Immunization";
9717      if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION)
9718        return "ImmunizationEvaluation";
9719      if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION)
9720        return "ImmunizationRecommendation";
9721      if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE)
9722        return "ImplementationGuide";
9723      if (code == FHIRDefinedType.INSURANCEPLAN)
9724        return "InsurancePlan";
9725      if (code == FHIRDefinedType.INVOICE)
9726        return "Invoice";
9727      if (code == FHIRDefinedType.LIBRARY)
9728        return "Library";
9729      if (code == FHIRDefinedType.LINKAGE)
9730        return "Linkage";
9731      if (code == FHIRDefinedType.LIST)
9732        return "List";
9733      if (code == FHIRDefinedType.LOCATION)
9734        return "Location";
9735      if (code == FHIRDefinedType.MEASURE)
9736        return "Measure";
9737      if (code == FHIRDefinedType.MEASUREREPORT)
9738        return "MeasureReport";
9739      if (code == FHIRDefinedType.MEDIA)
9740        return "Media";
9741      if (code == FHIRDefinedType.MEDICATION)
9742        return "Medication";
9743      if (code == FHIRDefinedType.MEDICATIONADMINISTRATION)
9744        return "MedicationAdministration";
9745      if (code == FHIRDefinedType.MEDICATIONDISPENSE)
9746        return "MedicationDispense";
9747      if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE)
9748        return "MedicationKnowledge";
9749      if (code == FHIRDefinedType.MEDICATIONREQUEST)
9750        return "MedicationRequest";
9751      if (code == FHIRDefinedType.MEDICATIONSTATEMENT)
9752        return "MedicationStatement";
9753      if (code == FHIRDefinedType.MEDICINALPRODUCT)
9754        return "MedicinalProduct";
9755      if (code == FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION)
9756        return "MedicinalProductAuthorization";
9757      if (code == FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION)
9758        return "MedicinalProductContraindication";
9759      if (code == FHIRDefinedType.MEDICINALPRODUCTINDICATION)
9760        return "MedicinalProductIndication";
9761      if (code == FHIRDefinedType.MEDICINALPRODUCTINGREDIENT)
9762        return "MedicinalProductIngredient";
9763      if (code == FHIRDefinedType.MEDICINALPRODUCTINTERACTION)
9764        return "MedicinalProductInteraction";
9765      if (code == FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED)
9766        return "MedicinalProductManufactured";
9767      if (code == FHIRDefinedType.MEDICINALPRODUCTPACKAGED)
9768        return "MedicinalProductPackaged";
9769      if (code == FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL)
9770        return "MedicinalProductPharmaceutical";
9771      if (code == FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
9772        return "MedicinalProductUndesirableEffect";
9773      if (code == FHIRDefinedType.MESSAGEDEFINITION)
9774        return "MessageDefinition";
9775      if (code == FHIRDefinedType.MESSAGEHEADER)
9776        return "MessageHeader";
9777      if (code == FHIRDefinedType.MOLECULARSEQUENCE)
9778        return "MolecularSequence";
9779      if (code == FHIRDefinedType.NAMINGSYSTEM)
9780        return "NamingSystem";
9781      if (code == FHIRDefinedType.NUTRITIONORDER)
9782        return "NutritionOrder";
9783      if (code == FHIRDefinedType.OBSERVATION)
9784        return "Observation";
9785      if (code == FHIRDefinedType.OBSERVATIONDEFINITION)
9786        return "ObservationDefinition";
9787      if (code == FHIRDefinedType.OPERATIONDEFINITION)
9788        return "OperationDefinition";
9789      if (code == FHIRDefinedType.OPERATIONOUTCOME)
9790        return "OperationOutcome";
9791      if (code == FHIRDefinedType.ORGANIZATION)
9792        return "Organization";
9793      if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION)
9794        return "OrganizationAffiliation";
9795      if (code == FHIRDefinedType.PARAMETERS)
9796        return "Parameters";
9797      if (code == FHIRDefinedType.PATIENT)
9798        return "Patient";
9799      if (code == FHIRDefinedType.PAYMENTNOTICE)
9800        return "PaymentNotice";
9801      if (code == FHIRDefinedType.PAYMENTRECONCILIATION)
9802        return "PaymentReconciliation";
9803      if (code == FHIRDefinedType.PERSON)
9804        return "Person";
9805      if (code == FHIRDefinedType.PLANDEFINITION)
9806        return "PlanDefinition";
9807      if (code == FHIRDefinedType.PRACTITIONER)
9808        return "Practitioner";
9809      if (code == FHIRDefinedType.PRACTITIONERROLE)
9810        return "PractitionerRole";
9811      if (code == FHIRDefinedType.PROCEDURE)
9812        return "Procedure";
9813      if (code == FHIRDefinedType.PROVENANCE)
9814        return "Provenance";
9815      if (code == FHIRDefinedType.QUESTIONNAIRE)
9816        return "Questionnaire";
9817      if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE)
9818        return "QuestionnaireResponse";
9819      if (code == FHIRDefinedType.RELATEDPERSON)
9820        return "RelatedPerson";
9821      if (code == FHIRDefinedType.REQUESTGROUP)
9822        return "RequestGroup";
9823      if (code == FHIRDefinedType.RESEARCHDEFINITION)
9824        return "ResearchDefinition";
9825      if (code == FHIRDefinedType.RESEARCHELEMENTDEFINITION)
9826        return "ResearchElementDefinition";
9827      if (code == FHIRDefinedType.RESEARCHSTUDY)
9828        return "ResearchStudy";
9829      if (code == FHIRDefinedType.RESEARCHSUBJECT)
9830        return "ResearchSubject";
9831      if (code == FHIRDefinedType.RESOURCE)
9832        return "Resource";
9833      if (code == FHIRDefinedType.RISKASSESSMENT)
9834        return "RiskAssessment";
9835      if (code == FHIRDefinedType.RISKEVIDENCESYNTHESIS)
9836        return "RiskEvidenceSynthesis";
9837      if (code == FHIRDefinedType.SCHEDULE)
9838        return "Schedule";
9839      if (code == FHIRDefinedType.SEARCHPARAMETER)
9840        return "SearchParameter";
9841      if (code == FHIRDefinedType.SERVICEREQUEST)
9842        return "ServiceRequest";
9843      if (code == FHIRDefinedType.SLOT)
9844        return "Slot";
9845      if (code == FHIRDefinedType.SPECIMEN)
9846        return "Specimen";
9847      if (code == FHIRDefinedType.SPECIMENDEFINITION)
9848        return "SpecimenDefinition";
9849      if (code == FHIRDefinedType.STRUCTUREDEFINITION)
9850        return "StructureDefinition";
9851      if (code == FHIRDefinedType.STRUCTUREMAP)
9852        return "StructureMap";
9853      if (code == FHIRDefinedType.SUBSCRIPTION)
9854        return "Subscription";
9855      if (code == FHIRDefinedType.SUBSTANCE)
9856        return "Substance";
9857      if (code == FHIRDefinedType.SUBSTANCENUCLEICACID)
9858        return "SubstanceNucleicAcid";
9859      if (code == FHIRDefinedType.SUBSTANCEPOLYMER)
9860        return "SubstancePolymer";
9861      if (code == FHIRDefinedType.SUBSTANCEPROTEIN)
9862        return "SubstanceProtein";
9863      if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION)
9864        return "SubstanceReferenceInformation";
9865      if (code == FHIRDefinedType.SUBSTANCESOURCEMATERIAL)
9866        return "SubstanceSourceMaterial";
9867      if (code == FHIRDefinedType.SUBSTANCESPECIFICATION)
9868        return "SubstanceSpecification";
9869      if (code == FHIRDefinedType.SUPPLYDELIVERY)
9870        return "SupplyDelivery";
9871      if (code == FHIRDefinedType.SUPPLYREQUEST)
9872        return "SupplyRequest";
9873      if (code == FHIRDefinedType.TASK)
9874        return "Task";
9875      if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES)
9876        return "TerminologyCapabilities";
9877      if (code == FHIRDefinedType.TESTREPORT)
9878        return "TestReport";
9879      if (code == FHIRDefinedType.TESTSCRIPT)
9880        return "TestScript";
9881      if (code == FHIRDefinedType.VALUESET)
9882        return "ValueSet";
9883      if (code == FHIRDefinedType.VERIFICATIONRESULT)
9884        return "VerificationResult";
9885      if (code == FHIRDefinedType.VISIONPRESCRIPTION)
9886        return "VisionPrescription";
9887      return "?";
9888      }
9889    public String toSystem(FHIRDefinedType code) {
9890      return code.getSystem();
9891      }
9892    }
9893
9894    public enum FHIRVersion {
9895        /**
9896         * Oldest archived version of FHIR.
9897         */
9898        _0_01, 
9899        /**
9900         * 1st Draft for Comment (Sept 2012 Ballot).
9901         */
9902        _0_05, 
9903        /**
9904         * 2nd Draft for Comment (January 2013 Ballot).
9905         */
9906        _0_06, 
9907        /**
9908         * DSTU 1 Ballot version.
9909         */
9910        _0_11, 
9911        /**
9912         * DSTU 1 Official version.
9913         */
9914        _0_0_80, 
9915        /**
9916         * DSTU 1 Official version Technical Errata #1.
9917         */
9918        _0_0_81, 
9919        /**
9920         * DSTU 1 Official version Technical Errata #2.
9921         */
9922        _0_0_82, 
9923        /**
9924         * Draft For Comment (January 2015 Ballot).
9925         */
9926        _0_4_0, 
9927        /**
9928         * DSTU 2 Ballot version (May 2015 Ballot).
9929         */
9930        _0_5_0, 
9931        /**
9932         * DSTU 2 QA Preview + CQIF Ballot (Sep 2015).
9933         */
9934        _1_0_0, 
9935        /**
9936         * DSTU 2 (Official version).
9937         */
9938        _1_0_1, 
9939        /**
9940         * DSTU 2 (Official version) with 1 technical errata.
9941         */
9942        _1_0_2, 
9943        /**
9944         * GAO Ballot + draft changes to main FHIR standard.
9945         */
9946        _1_1_0, 
9947        /**
9948         * CQF on FHIR Ballot + Connectathon 12 (Montreal).
9949         */
9950        _1_4_0, 
9951        /**
9952         * FHIR STU3 Ballot + Connectathon 13 (Baltimore).
9953         */
9954        _1_6_0, 
9955        /**
9956         * FHIR STU3 Candidate + Connectathon 14 (San Antonio).
9957         */
9958        _1_8_0, 
9959        /**
9960         * FHIR Release 3 (STU).
9961         */
9962        _3_0_0, 
9963        /**
9964         * FHIR Release 3 (STU) with 1 technical errata.
9965         */
9966        _3_0_1, 
9967        /**
9968         * FHIR Release 3 (STU) with 2 technical errata.
9969         */
9970        _3_0_2, 
9971        /**
9972         * R4 Ballot #1.
9973         */
9974        _3_3_0, 
9975        /**
9976         * R4 Ballot #2.
9977         */
9978        _3_5_0, 
9979        /**
9980         * FHIR Release 4 (Normative + STU).
9981         */
9982        _4_0_0, 
9983        /**
9984         * added to help the parsers
9985         */
9986        _4_0_1, 
9987        NULL;
9988        public static FHIRVersion fromCode(String codeString) throws FHIRException {
9989            if (codeString == null || "".equals(codeString))
9990                return null;
9991        if ("0.01".equals(codeString))
9992          return _0_01;
9993        if ("0.05".equals(codeString))
9994          return _0_05;
9995        if ("0.06".equals(codeString))
9996          return _0_06;
9997        if ("0.11".equals(codeString))
9998          return _0_11;
9999        if ("0.0.80".equals(codeString))
10000          return _0_0_80;
10001        if ("0.0.81".equals(codeString))
10002          return _0_0_81;
10003        if ("0.0.82".equals(codeString))
10004          return _0_0_82;
10005        if ("0.4.0".equals(codeString))
10006          return _0_4_0;
10007        if ("0.5.0".equals(codeString))
10008          return _0_5_0;
10009        if ("1.0.0".equals(codeString))
10010          return _1_0_0;
10011        if ("1.0.1".equals(codeString))
10012          return _1_0_1;
10013        if ("1.0.2".equals(codeString))
10014          return _1_0_2;
10015        if ("1.1.0".equals(codeString))
10016          return _1_1_0;
10017        if ("1.4.0".equals(codeString))
10018          return _1_4_0;
10019        if ("1.6.0".equals(codeString))
10020          return _1_6_0;
10021        if ("1.8.0".equals(codeString))
10022          return _1_8_0;
10023        if ("3.0.0".equals(codeString))
10024          return _3_0_0;
10025        if ("3.0.1".equals(codeString))
10026          return _3_0_1;
10027        if ("3.0.2".equals(codeString))
10028          return _3_0_2;
10029        if ("3.3.0".equals(codeString))
10030          return _3_3_0;
10031        if ("3.5.0".equals(codeString))
10032          return _3_5_0;
10033        if ("4.0.0".equals(codeString))
10034          return _4_0_0;
10035        if ("4.0.1".equals(codeString))
10036          return _4_0_1;
10037        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
10038        }
10039        @Override
10040        public String toString() {
10041          return toCode();
10042        }
10043        public String toCode() {
10044          switch (this) {
10045            case _0_01: return "0.01";
10046            case _0_05: return "0.05";
10047            case _0_06: return "0.06";
10048            case _0_11: return "0.11";
10049            case _0_0_80: return "0.0.80";
10050            case _0_0_81: return "0.0.81";
10051            case _0_0_82: return "0.0.82";
10052            case _0_4_0: return "0.4.0";
10053            case _0_5_0: return "0.5.0";
10054            case _1_0_0: return "1.0.0";
10055            case _1_0_1: return "1.0.1";
10056            case _1_0_2: return "1.0.2";
10057            case _1_1_0: return "1.1.0";
10058            case _1_4_0: return "1.4.0";
10059            case _1_6_0: return "1.6.0";
10060            case _1_8_0: return "1.8.0";
10061            case _3_0_0: return "3.0.0";
10062            case _3_0_1: return "3.0.1";
10063            case _3_0_2: return "3.0.2";
10064            case _3_3_0: return "3.3.0";
10065            case _3_5_0: return "3.5.0";
10066            case _4_0_0: return "4.0.0";
10067            case _4_0_1: return "4.0.1";
10068            default: return "?";
10069          }
10070        }
10071        public String getSystem() {
10072          switch (this) {
10073            case _0_01: return "http://hl7.org/fhir/FHIR-version";
10074            case _0_05: return "http://hl7.org/fhir/FHIR-version";
10075            case _0_06: return "http://hl7.org/fhir/FHIR-version";
10076            case _0_11: return "http://hl7.org/fhir/FHIR-version";
10077            case _0_0_80: return "http://hl7.org/fhir/FHIR-version";
10078            case _0_0_81: return "http://hl7.org/fhir/FHIR-version";
10079            case _0_0_82: return "http://hl7.org/fhir/FHIR-version";
10080            case _0_4_0: return "http://hl7.org/fhir/FHIR-version";
10081            case _0_5_0: return "http://hl7.org/fhir/FHIR-version";
10082            case _1_0_0: return "http://hl7.org/fhir/FHIR-version";
10083            case _1_0_1: return "http://hl7.org/fhir/FHIR-version";
10084            case _1_0_2: return "http://hl7.org/fhir/FHIR-version";
10085            case _1_1_0: return "http://hl7.org/fhir/FHIR-version";
10086            case _1_4_0: return "http://hl7.org/fhir/FHIR-version";
10087            case _1_6_0: return "http://hl7.org/fhir/FHIR-version";
10088            case _1_8_0: return "http://hl7.org/fhir/FHIR-version";
10089            case _3_0_0: return "http://hl7.org/fhir/FHIR-version";
10090            case _3_0_1: return "http://hl7.org/fhir/FHIR-version";
10091            case _3_0_2: return "http://hl7.org/fhir/FHIR-version";
10092            case _3_3_0: return "http://hl7.org/fhir/FHIR-version";
10093            case _3_5_0: return "http://hl7.org/fhir/FHIR-version";
10094            case _4_0_0: return "http://hl7.org/fhir/FHIR-version";
10095            case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
10096            default: return "?";
10097          }
10098        }
10099        public String getDefinition() {
10100          switch (this) {
10101            case _0_01: return "Oldest archived version of FHIR.";
10102            case _0_05: return "1st Draft for Comment (Sept 2012 Ballot).";
10103            case _0_06: return "2nd Draft for Comment (January 2013 Ballot).";
10104            case _0_11: return "DSTU 1 Ballot version.";
10105            case _0_0_80: return "DSTU 1 Official version.";
10106            case _0_0_81: return "DSTU 1 Official version Technical Errata #1.";
10107            case _0_0_82: return "DSTU 1 Official version Technical Errata #2.";
10108            case _0_4_0: return "Draft For Comment (January 2015 Ballot).";
10109            case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot).";
10110            case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015).";
10111            case _1_0_1: return "DSTU 2 (Official version).";
10112            case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata.";
10113            case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard.";
10114            case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal).";
10115            case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore).";
10116            case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio).";
10117            case _3_0_0: return "FHIR Release 3 (STU).";
10118            case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata.";
10119            case _3_0_2: return "FHIR Release 3 (STU) with 2 technical errata.";
10120            case _3_3_0: return "R4 Ballot #1.";
10121            case _3_5_0: return "R4 Ballot #2.";
10122            case _4_0_0: return "FHIR Release 4 (Normative + STU).";
10123            case _4_0_1: return "FHIR Release 4 Technical Correction #1.";
10124            default: return "?";
10125          }
10126        }
10127        public String getDisplay() {
10128          switch (this) {
10129            case _0_01: return "0.01";
10130            case _0_05: return "0.05";
10131            case _0_06: return "0.06";
10132            case _0_11: return "0.11";
10133            case _0_0_80: return "0.0.80";
10134            case _0_0_81: return "0.0.81";
10135            case _0_0_82: return "0.0.82";
10136            case _0_4_0: return "0.4.0";
10137            case _0_5_0: return "0.5.0";
10138            case _1_0_0: return "1.0.0";
10139            case _1_0_1: return "1.0.1";
10140            case _1_0_2: return "1.0.2";
10141            case _1_1_0: return "1.1.0";
10142            case _1_4_0: return "1.4.0";
10143            case _1_6_0: return "1.6.0";
10144            case _1_8_0: return "1.8.0";
10145            case _3_0_0: return "3.0.0";
10146            case _3_0_1: return "3.0.1";
10147            case _3_0_2: return "3.0.2";
10148            case _3_3_0: return "3.3.0";
10149            case _3_5_0: return "3.5.0";
10150            case _4_0_0: return "4.0.0";
10151            case _4_0_1: return "4.0.1";
10152            default: return "?";
10153          }
10154        }
10155        public String toCode(int len) {
10156          return toCode().substring(0, len);
10157        }
10158        public static boolean isR4Plus(String version) {
10159          return false;
10160        }
10161    }
10162
10163  public static class FHIRVersionEnumFactory implements EnumFactory<FHIRVersion> {
10164    public FHIRVersion fromCode(String codeString) throws IllegalArgumentException {
10165      if (codeString == null || "".equals(codeString))
10166            if (codeString == null || "".equals(codeString))
10167                return null;
10168        if ("0.01".equals(codeString))
10169          return FHIRVersion._0_01;
10170        if ("0.05".equals(codeString))
10171          return FHIRVersion._0_05;
10172        if ("0.06".equals(codeString))
10173          return FHIRVersion._0_06;
10174        if ("0.11".equals(codeString))
10175          return FHIRVersion._0_11;
10176        if ("0.0.80".equals(codeString))
10177          return FHIRVersion._0_0_80;
10178        if ("0.0.81".equals(codeString))
10179          return FHIRVersion._0_0_81;
10180        if ("0.0.82".equals(codeString))
10181          return FHIRVersion._0_0_82;
10182        if ("0.4.0".equals(codeString))
10183          return FHIRVersion._0_4_0;
10184        if ("0.5.0".equals(codeString))
10185          return FHIRVersion._0_5_0;
10186        if ("1.0.0".equals(codeString))
10187          return FHIRVersion._1_0_0;
10188        if ("1.0.1".equals(codeString))
10189          return FHIRVersion._1_0_1;
10190        if ("1.0.2".equals(codeString))
10191          return FHIRVersion._1_0_2;
10192        if ("1.1.0".equals(codeString))
10193          return FHIRVersion._1_1_0;
10194        if ("1.4.0".equals(codeString))
10195          return FHIRVersion._1_4_0;
10196        if ("1.6.0".equals(codeString))
10197          return FHIRVersion._1_6_0;
10198        if ("1.8.0".equals(codeString))
10199          return FHIRVersion._1_8_0;
10200        if ("3.0.0".equals(codeString))
10201          return FHIRVersion._3_0_0;
10202        if ("3.0.1".equals(codeString))
10203          return FHIRVersion._3_0_1;
10204        if ("3.0.2".equals(codeString))
10205          return FHIRVersion._3_0_2;
10206        if ("3.3.0".equals(codeString))
10207          return FHIRVersion._3_3_0;
10208        if ("3.5.0".equals(codeString))
10209          return FHIRVersion._3_5_0;
10210        if ("4.0.0".equals(codeString))
10211          return FHIRVersion._4_0_0;
10212        if ("4.0.1".equals(codeString))
10213          return FHIRVersion._4_0_1;
10214        throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'");
10215        }
10216        public Enumeration<FHIRVersion> fromType(Base code) throws FHIRException {
10217          if (code == null)
10218            return null;
10219          if (code.isEmpty())
10220            return new Enumeration<FHIRVersion>(this);
10221          String codeString = ((PrimitiveType) code).asStringValue();
10222          if (codeString == null || "".equals(codeString))
10223            return null;
10224        if ("0.01".equals(codeString))
10225          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_01);
10226        if ("0.05".equals(codeString))
10227          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_05);
10228        if ("0.06".equals(codeString))
10229          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_06);
10230        if ("0.11".equals(codeString))
10231          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_11);
10232        if ("0.0.80".equals(codeString))
10233          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_80);
10234        if ("0.0.81".equals(codeString))
10235          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_81);
10236        if ("0.0.82".equals(codeString))
10237          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_82);
10238        if ("0.4.0".equals(codeString))
10239          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4_0);
10240        if ("0.5.0".equals(codeString))
10241          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5_0);
10242        if ("1.0.0".equals(codeString))
10243          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_0);
10244        if ("1.0.1".equals(codeString))
10245          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_1);
10246        if ("1.0.2".equals(codeString))
10247          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_2);
10248        if ("1.1.0".equals(codeString))
10249          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1_0);
10250        if ("1.4.0".equals(codeString))
10251          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4_0);
10252        if ("1.6.0".equals(codeString))
10253          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6_0);
10254        if ("1.8.0".equals(codeString))
10255          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8_0);
10256        if ("3.0.0".equals(codeString))
10257          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_0);
10258        if ("3.0.1".equals(codeString))
10259          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_1);
10260        if ("3.0.2".equals(codeString))
10261          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_2);
10262        if ("3.3.0".equals(codeString))
10263          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3_0);
10264        if ("3.5.0".equals(codeString))
10265          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5_0);
10266        if ("4.0.0".equals(codeString))
10267          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_0);
10268        if ("4.0.1".equals(codeString))
10269          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_1);
10270        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
10271        }
10272    public String toCode(FHIRVersion code) {
10273      if (code == FHIRVersion._0_01)
10274        return "0.01";
10275      if (code == FHIRVersion._0_05)
10276        return "0.05";
10277      if (code == FHIRVersion._0_06)
10278        return "0.06";
10279      if (code == FHIRVersion._0_11)
10280        return "0.11";
10281      if (code == FHIRVersion._0_0_80)
10282        return "0.0.80";
10283      if (code == FHIRVersion._0_0_81)
10284        return "0.0.81";
10285      if (code == FHIRVersion._0_0_82)
10286        return "0.0.82";
10287      if (code == FHIRVersion._0_4_0)
10288        return "0.4.0";
10289      if (code == FHIRVersion._0_5_0)
10290        return "0.5.0";
10291      if (code == FHIRVersion._1_0_0)
10292        return "1.0.0";
10293      if (code == FHIRVersion._1_0_1)
10294        return "1.0.1";
10295      if (code == FHIRVersion._1_0_2)
10296        return "1.0.2";
10297      if (code == FHIRVersion._1_1_0)
10298        return "1.1.0";
10299      if (code == FHIRVersion._1_4_0)
10300        return "1.4.0";
10301      if (code == FHIRVersion._1_6_0)
10302        return "1.6.0";
10303      if (code == FHIRVersion._1_8_0)
10304        return "1.8.0";
10305      if (code == FHIRVersion._3_0_0)
10306        return "3.0.0";
10307      if (code == FHIRVersion._3_0_1)
10308        return "3.0.1";
10309      if (code == FHIRVersion._3_0_2)
10310        return "3.0.2";
10311      if (code == FHIRVersion._3_3_0)
10312        return "3.3.0";
10313      if (code == FHIRVersion._3_5_0)
10314        return "3.5.0";
10315      if (code == FHIRVersion._4_0_0)
10316        return "4.0.0";
10317      if (code == FHIRVersion._4_0_1)
10318        return "4.0.1";
10319      return "?";
10320      }
10321    public String toSystem(FHIRVersion code) {
10322      return code.getSystem();
10323      }
10324    }
10325
10326    public enum KnowledgeResourceType {
10327        /**
10328         * The definition of a specific activity to be taken, independent of any particular patient or context.
10329         */
10330        ACTIVITYDEFINITION, 
10331        /**
10332         * A set of codes drawn from one or more code systems.
10333         */
10334        CODESYSTEM, 
10335        /**
10336         * A map from one set of concepts to one or more other concepts.
10337         */
10338        CONCEPTMAP, 
10339        /**
10340         * Represents a library of quality improvement components.
10341         */
10342        LIBRARY, 
10343        /**
10344         * A quality measure definition.
10345         */
10346        MEASURE, 
10347        /**
10348         * The definition of a plan for a series of actions, independent of any specific patient or context.
10349         */
10350        PLANDEFINITION, 
10351        /**
10352         * Structural Definition.
10353         */
10354        STRUCTUREDEFINITION, 
10355        /**
10356         * A Map of relationships between 2 structures that can be used to transform data.
10357         */
10358        STRUCTUREMAP, 
10359        /**
10360         * A set of codes drawn from one or more code systems.
10361         */
10362        VALUESET, 
10363        /**
10364         * added to help the parsers
10365         */
10366        NULL;
10367        public static KnowledgeResourceType fromCode(String codeString) throws FHIRException {
10368            if (codeString == null || "".equals(codeString))
10369                return null;
10370        if ("ActivityDefinition".equals(codeString))
10371          return ACTIVITYDEFINITION;
10372        if ("CodeSystem".equals(codeString))
10373          return CODESYSTEM;
10374        if ("ConceptMap".equals(codeString))
10375          return CONCEPTMAP;
10376        if ("Library".equals(codeString))
10377          return LIBRARY;
10378        if ("Measure".equals(codeString))
10379          return MEASURE;
10380        if ("PlanDefinition".equals(codeString))
10381          return PLANDEFINITION;
10382        if ("StructureDefinition".equals(codeString))
10383          return STRUCTUREDEFINITION;
10384        if ("StructureMap".equals(codeString))
10385          return STRUCTUREMAP;
10386        if ("ValueSet".equals(codeString))
10387          return VALUESET;
10388        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
10389        }
10390        public String toCode() {
10391          switch (this) {
10392            case ACTIVITYDEFINITION: return "ActivityDefinition";
10393            case CODESYSTEM: return "CodeSystem";
10394            case CONCEPTMAP: return "ConceptMap";
10395            case LIBRARY: return "Library";
10396            case MEASURE: return "Measure";
10397            case PLANDEFINITION: return "PlanDefinition";
10398            case STRUCTUREDEFINITION: return "StructureDefinition";
10399            case STRUCTUREMAP: return "StructureMap";
10400            case VALUESET: return "ValueSet";
10401            default: return "?";
10402          }
10403        }
10404        public String getSystem() {
10405          switch (this) {
10406            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10407            case CODESYSTEM: return "http://hl7.org/fhir/knowledge-resource-types";
10408            case CONCEPTMAP: return "http://hl7.org/fhir/knowledge-resource-types";
10409            case LIBRARY: return "http://hl7.org/fhir/knowledge-resource-types";
10410            case MEASURE: return "http://hl7.org/fhir/knowledge-resource-types";
10411            case PLANDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10412            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10413            case STRUCTUREMAP: return "http://hl7.org/fhir/knowledge-resource-types";
10414            case VALUESET: return "http://hl7.org/fhir/knowledge-resource-types";
10415            default: return "?";
10416          }
10417        }
10418        public String getDefinition() {
10419          switch (this) {
10420            case ACTIVITYDEFINITION: return "The definition of a specific activity to be taken, independent of any particular patient or context.";
10421            case CODESYSTEM: return "A set of codes drawn from one or more code systems.";
10422            case CONCEPTMAP: return "A map from one set of concepts to one or more other concepts.";
10423            case LIBRARY: return "Represents a library of quality improvement components.";
10424            case MEASURE: return "A quality measure definition.";
10425            case PLANDEFINITION: return "The definition of a plan for a series of actions, independent of any specific patient or context.";
10426            case STRUCTUREDEFINITION: return "Structural Definition.";
10427            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
10428            case VALUESET: return "A set of codes drawn from one or more code systems.";
10429            default: return "?";
10430          }
10431        }
10432        public String getDisplay() {
10433          switch (this) {
10434            case ACTIVITYDEFINITION: return "ActivityDefinition";
10435            case CODESYSTEM: return "CodeSystem";
10436            case CONCEPTMAP: return "ConceptMap";
10437            case LIBRARY: return "Library";
10438            case MEASURE: return "Measure";
10439            case PLANDEFINITION: return "PlanDefinition";
10440            case STRUCTUREDEFINITION: return "StructureDefinition";
10441            case STRUCTUREMAP: return "StructureMap";
10442            case VALUESET: return "ValueSet";
10443            default: return "?";
10444          }
10445        }
10446    }
10447
10448  public static class KnowledgeResourceTypeEnumFactory implements EnumFactory<KnowledgeResourceType> {
10449    public KnowledgeResourceType fromCode(String codeString) throws IllegalArgumentException {
10450      if (codeString == null || "".equals(codeString))
10451            if (codeString == null || "".equals(codeString))
10452                return null;
10453        if ("ActivityDefinition".equals(codeString))
10454          return KnowledgeResourceType.ACTIVITYDEFINITION;
10455        if ("CodeSystem".equals(codeString))
10456          return KnowledgeResourceType.CODESYSTEM;
10457        if ("ConceptMap".equals(codeString))
10458          return KnowledgeResourceType.CONCEPTMAP;
10459        if ("Library".equals(codeString))
10460          return KnowledgeResourceType.LIBRARY;
10461        if ("Measure".equals(codeString))
10462          return KnowledgeResourceType.MEASURE;
10463        if ("PlanDefinition".equals(codeString))
10464          return KnowledgeResourceType.PLANDEFINITION;
10465        if ("StructureDefinition".equals(codeString))
10466          return KnowledgeResourceType.STRUCTUREDEFINITION;
10467        if ("StructureMap".equals(codeString))
10468          return KnowledgeResourceType.STRUCTUREMAP;
10469        if ("ValueSet".equals(codeString))
10470          return KnowledgeResourceType.VALUESET;
10471        throw new IllegalArgumentException("Unknown KnowledgeResourceType code '"+codeString+"'");
10472        }
10473        public Enumeration<KnowledgeResourceType> fromType(Base code) throws FHIRException {
10474          if (code == null)
10475            return null;
10476          if (code.isEmpty())
10477            return new Enumeration<KnowledgeResourceType>(this);
10478          String codeString = ((PrimitiveType) code).asStringValue();
10479          if (codeString == null || "".equals(codeString))
10480            return null;
10481        if ("ActivityDefinition".equals(codeString))
10482          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.ACTIVITYDEFINITION);
10483        if ("CodeSystem".equals(codeString))
10484          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CODESYSTEM);
10485        if ("ConceptMap".equals(codeString))
10486          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CONCEPTMAP);
10487        if ("Library".equals(codeString))
10488          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.LIBRARY);
10489        if ("Measure".equals(codeString))
10490          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.MEASURE);
10491        if ("PlanDefinition".equals(codeString))
10492          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.PLANDEFINITION);
10493        if ("StructureDefinition".equals(codeString))
10494          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREDEFINITION);
10495        if ("StructureMap".equals(codeString))
10496          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREMAP);
10497        if ("ValueSet".equals(codeString))
10498          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.VALUESET);
10499        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
10500        }
10501    public String toCode(KnowledgeResourceType code) {
10502      if (code == KnowledgeResourceType.ACTIVITYDEFINITION)
10503        return "ActivityDefinition";
10504      if (code == KnowledgeResourceType.CODESYSTEM)
10505        return "CodeSystem";
10506      if (code == KnowledgeResourceType.CONCEPTMAP)
10507        return "ConceptMap";
10508      if (code == KnowledgeResourceType.LIBRARY)
10509        return "Library";
10510      if (code == KnowledgeResourceType.MEASURE)
10511        return "Measure";
10512      if (code == KnowledgeResourceType.PLANDEFINITION)
10513        return "PlanDefinition";
10514      if (code == KnowledgeResourceType.STRUCTUREDEFINITION)
10515        return "StructureDefinition";
10516      if (code == KnowledgeResourceType.STRUCTUREMAP)
10517        return "StructureMap";
10518      if (code == KnowledgeResourceType.VALUESET)
10519        return "ValueSet";
10520      return "?";
10521      }
10522    public String toSystem(KnowledgeResourceType code) {
10523      return code.getSystem();
10524      }
10525    }
10526
10527    public enum MessageEvent {
10528        /**
10529         * added to help the parsers
10530         */
10531        NULL;
10532        public static MessageEvent fromCode(String codeString) throws FHIRException {
10533            if (codeString == null || "".equals(codeString))
10534                return null;
10535        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10536        }
10537        public String toCode() {
10538          switch (this) {
10539            default: return "?";
10540          }
10541        }
10542        public String getSystem() {
10543          switch (this) {
10544            default: return "?";
10545          }
10546        }
10547        public String getDefinition() {
10548          switch (this) {
10549            default: return "?";
10550          }
10551        }
10552        public String getDisplay() {
10553          switch (this) {
10554            default: return "?";
10555          }
10556        }
10557    }
10558
10559  public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> {
10560    public MessageEvent fromCode(String codeString) throws IllegalArgumentException {
10561      if (codeString == null || "".equals(codeString))
10562            if (codeString == null || "".equals(codeString))
10563                return null;
10564        throw new IllegalArgumentException("Unknown MessageEvent code '"+codeString+"'");
10565        }
10566        public Enumeration<MessageEvent> fromType(Base code) throws FHIRException {
10567          if (code == null)
10568            return null;
10569          if (code.isEmpty())
10570            return new Enumeration<MessageEvent>(this);
10571          String codeString = ((PrimitiveType) code).asStringValue();
10572          if (codeString == null || "".equals(codeString))
10573            return null;
10574        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10575        }
10576    public String toCode(MessageEvent code) {
10577      return "?";
10578      }
10579    public String toSystem(MessageEvent code) {
10580      return code.getSystem();
10581      }
10582    }
10583
10584    public enum NoteType {
10585        /**
10586         * Display the note.
10587         */
10588        DISPLAY, 
10589        /**
10590         * Print the note on the form.
10591         */
10592        PRINT, 
10593        /**
10594         * Print the note for the operator.
10595         */
10596        PRINTOPER, 
10597        /**
10598         * added to help the parsers
10599         */
10600        NULL;
10601        public static NoteType fromCode(String codeString) throws FHIRException {
10602            if (codeString == null || "".equals(codeString))
10603                return null;
10604        if ("display".equals(codeString))
10605          return DISPLAY;
10606        if ("print".equals(codeString))
10607          return PRINT;
10608        if ("printoper".equals(codeString))
10609          return PRINTOPER;
10610        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10611        }
10612        public String toCode() {
10613          switch (this) {
10614            case DISPLAY: return "display";
10615            case PRINT: return "print";
10616            case PRINTOPER: return "printoper";
10617            default: return "?";
10618          }
10619        }
10620        public String getSystem() {
10621          switch (this) {
10622            case DISPLAY: return "http://hl7.org/fhir/note-type";
10623            case PRINT: return "http://hl7.org/fhir/note-type";
10624            case PRINTOPER: return "http://hl7.org/fhir/note-type";
10625            default: return "?";
10626          }
10627        }
10628        public String getDefinition() {
10629          switch (this) {
10630            case DISPLAY: return "Display the note.";
10631            case PRINT: return "Print the note on the form.";
10632            case PRINTOPER: return "Print the note for the operator.";
10633            default: return "?";
10634          }
10635        }
10636        public String getDisplay() {
10637          switch (this) {
10638            case DISPLAY: return "Display";
10639            case PRINT: return "Print (Form)";
10640            case PRINTOPER: return "Print (Operator)";
10641            default: return "?";
10642          }
10643        }
10644    }
10645
10646  public static class NoteTypeEnumFactory implements EnumFactory<NoteType> {
10647    public NoteType fromCode(String codeString) throws IllegalArgumentException {
10648      if (codeString == null || "".equals(codeString))
10649            if (codeString == null || "".equals(codeString))
10650                return null;
10651        if ("display".equals(codeString))
10652          return NoteType.DISPLAY;
10653        if ("print".equals(codeString))
10654          return NoteType.PRINT;
10655        if ("printoper".equals(codeString))
10656          return NoteType.PRINTOPER;
10657        throw new IllegalArgumentException("Unknown NoteType code '"+codeString+"'");
10658        }
10659        public Enumeration<NoteType> fromType(Base code) throws FHIRException {
10660          if (code == null)
10661            return null;
10662          if (code.isEmpty())
10663            return new Enumeration<NoteType>(this);
10664          String codeString = ((PrimitiveType) code).asStringValue();
10665          if (codeString == null || "".equals(codeString))
10666            return null;
10667        if ("display".equals(codeString))
10668          return new Enumeration<NoteType>(this, NoteType.DISPLAY);
10669        if ("print".equals(codeString))
10670          return new Enumeration<NoteType>(this, NoteType.PRINT);
10671        if ("printoper".equals(codeString))
10672          return new Enumeration<NoteType>(this, NoteType.PRINTOPER);
10673        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10674        }
10675    public String toCode(NoteType code) {
10676      if (code == NoteType.DISPLAY)
10677        return "display";
10678      if (code == NoteType.PRINT)
10679        return "print";
10680      if (code == NoteType.PRINTOPER)
10681        return "printoper";
10682      return "?";
10683      }
10684    public String toSystem(NoteType code) {
10685      return code.getSystem();
10686      }
10687    }
10688
10689    public enum PublicationStatus {
10690        /**
10691         * This resource is still under development and is not yet considered to be ready for normal use.
10692         */
10693        DRAFT, 
10694        /**
10695         * This resource is ready for normal use.
10696         */
10697        ACTIVE, 
10698        /**
10699         * This resource has been withdrawn or superseded and should no longer be used.
10700         */
10701        RETIRED, 
10702        /**
10703         * 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.
10704         */
10705        UNKNOWN, 
10706        /**
10707         * added to help the parsers
10708         */
10709        NULL;
10710        public static PublicationStatus fromCode(String codeString) throws FHIRException {
10711            if (codeString == null || "".equals(codeString))
10712                return null;
10713        if ("draft".equals(codeString))
10714          return DRAFT;
10715        if ("active".equals(codeString))
10716          return ACTIVE;
10717        if ("retired".equals(codeString))
10718          return RETIRED;
10719        if ("unknown".equals(codeString))
10720          return UNKNOWN;
10721        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10722        }
10723        public String toCode() {
10724          switch (this) {
10725            case DRAFT: return "draft";
10726            case ACTIVE: return "active";
10727            case RETIRED: return "retired";
10728            case UNKNOWN: return "unknown";
10729            default: return "?";
10730          }
10731        }
10732        public String getSystem() {
10733          switch (this) {
10734            case DRAFT: return "http://hl7.org/fhir/publication-status";
10735            case ACTIVE: return "http://hl7.org/fhir/publication-status";
10736            case RETIRED: return "http://hl7.org/fhir/publication-status";
10737            case UNKNOWN: return "http://hl7.org/fhir/publication-status";
10738            default: return "?";
10739          }
10740        }
10741        public String getDefinition() {
10742          switch (this) {
10743            case DRAFT: return "This resource is still under development and is not yet considered to be ready for normal use.";
10744            case ACTIVE: return "This resource is ready for normal use.";
10745            case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used.";
10746            case UNKNOWN: 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.";
10747            default: return "?";
10748          }
10749        }
10750        public String getDisplay() {
10751          switch (this) {
10752            case DRAFT: return "Draft";
10753            case ACTIVE: return "Active";
10754            case RETIRED: return "Retired";
10755            case UNKNOWN: return "Unknown";
10756            default: return "?";
10757          }
10758        }
10759    }
10760
10761  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
10762    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
10763      if (codeString == null || "".equals(codeString))
10764            if (codeString == null || "".equals(codeString))
10765                return null;
10766        if ("draft".equals(codeString))
10767          return PublicationStatus.DRAFT;
10768        if ("active".equals(codeString))
10769          return PublicationStatus.ACTIVE;
10770        if ("retired".equals(codeString))
10771          return PublicationStatus.RETIRED;
10772        if ("unknown".equals(codeString))
10773          return PublicationStatus.UNKNOWN;
10774        throw new IllegalArgumentException("Unknown PublicationStatus code '"+codeString+"'");
10775        }
10776        public Enumeration<PublicationStatus> fromType(Base code) throws FHIRException {
10777          if (code == null)
10778            return null;
10779          if (code.isEmpty())
10780            return new Enumeration<PublicationStatus>(this);
10781          String codeString = ((PrimitiveType) code).asStringValue();
10782          if (codeString == null || "".equals(codeString))
10783            return null;
10784        if ("draft".equals(codeString))
10785          return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT);
10786        if ("active".equals(codeString))
10787          return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE);
10788        if ("retired".equals(codeString))
10789          return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED);
10790        if ("unknown".equals(codeString))
10791          return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN);
10792        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10793        }
10794    public String toCode(PublicationStatus code) {
10795      if (code == PublicationStatus.DRAFT)
10796        return "draft";
10797      if (code == PublicationStatus.ACTIVE)
10798        return "active";
10799      if (code == PublicationStatus.RETIRED)
10800        return "retired";
10801      if (code == PublicationStatus.UNKNOWN)
10802        return "unknown";
10803      return "?";
10804      }
10805    public String toSystem(PublicationStatus code) {
10806      return code.getSystem();
10807      }
10808    }
10809
10810    public enum RemittanceOutcome {
10811        /**
10812         * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.
10813         */
10814        QUEUED, 
10815        /**
10816         * The processing has completed without errors
10817         */
10818        COMPLETE, 
10819        /**
10820         * One or more errors have been detected in the Claim
10821         */
10822        ERROR, 
10823        /**
10824         * No errors have been detected in the Claim and some of the adjudication has been performed.
10825         */
10826        PARTIAL, 
10827        /**
10828         * added to help the parsers
10829         */
10830        NULL;
10831        public static RemittanceOutcome fromCode(String codeString) throws FHIRException {
10832            if (codeString == null || "".equals(codeString))
10833                return null;
10834        if ("queued".equals(codeString))
10835          return QUEUED;
10836        if ("complete".equals(codeString))
10837          return COMPLETE;
10838        if ("error".equals(codeString))
10839          return ERROR;
10840        if ("partial".equals(codeString))
10841          return PARTIAL;
10842        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10843        }
10844        public String toCode() {
10845          switch (this) {
10846            case QUEUED: return "queued";
10847            case COMPLETE: return "complete";
10848            case ERROR: return "error";
10849            case PARTIAL: return "partial";
10850            default: return "?";
10851          }
10852        }
10853        public String getSystem() {
10854          switch (this) {
10855            case QUEUED: return "http://hl7.org/fhir/remittance-outcome";
10856            case COMPLETE: return "http://hl7.org/fhir/remittance-outcome";
10857            case ERROR: return "http://hl7.org/fhir/remittance-outcome";
10858            case PARTIAL: return "http://hl7.org/fhir/remittance-outcome";
10859            default: return "?";
10860          }
10861        }
10862        public String getDefinition() {
10863          switch (this) {
10864            case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
10865            case COMPLETE: return "The processing has completed without errors";
10866            case ERROR: return "One or more errors have been detected in the Claim";
10867            case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed.";
10868            default: return "?";
10869          }
10870        }
10871        public String getDisplay() {
10872          switch (this) {
10873            case QUEUED: return "Queued";
10874            case COMPLETE: return "Processing Complete";
10875            case ERROR: return "Error";
10876            case PARTIAL: return "Partial Processing";
10877            default: return "?";
10878          }
10879        }
10880    }
10881
10882  public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> {
10883    public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException {
10884      if (codeString == null || "".equals(codeString))
10885            if (codeString == null || "".equals(codeString))
10886                return null;
10887        if ("queued".equals(codeString))
10888          return RemittanceOutcome.QUEUED;
10889        if ("complete".equals(codeString))
10890          return RemittanceOutcome.COMPLETE;
10891        if ("error".equals(codeString))
10892          return RemittanceOutcome.ERROR;
10893        if ("partial".equals(codeString))
10894          return RemittanceOutcome.PARTIAL;
10895        throw new IllegalArgumentException("Unknown RemittanceOutcome code '"+codeString+"'");
10896        }
10897        public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException {
10898          if (code == null)
10899            return null;
10900          if (code.isEmpty())
10901            return new Enumeration<RemittanceOutcome>(this);
10902          String codeString = ((PrimitiveType) code).asStringValue();
10903          if (codeString == null || "".equals(codeString))
10904            return null;
10905        if ("queued".equals(codeString))
10906          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.QUEUED);
10907        if ("complete".equals(codeString))
10908          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE);
10909        if ("error".equals(codeString))
10910          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR);
10911        if ("partial".equals(codeString))
10912          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.PARTIAL);
10913        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10914        }
10915    public String toCode(RemittanceOutcome code) {
10916      if (code == RemittanceOutcome.QUEUED)
10917        return "queued";
10918      if (code == RemittanceOutcome.COMPLETE)
10919        return "complete";
10920      if (code == RemittanceOutcome.ERROR)
10921        return "error";
10922      if (code == RemittanceOutcome.PARTIAL)
10923        return "partial";
10924      return "?";
10925      }
10926    public String toSystem(RemittanceOutcome code) {
10927      return code.getSystem();
10928      }
10929    }
10930
10931    public enum RequestResourceType {
10932        /**
10933         * 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).
10934         */
10935        APPOINTMENT, 
10936        /**
10937         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
10938         */
10939        APPOINTMENTRESPONSE, 
10940        /**
10941         * Healthcare plan for patient or group.
10942         */
10943        CAREPLAN, 
10944        /**
10945         * Claim, Pre-determination or Pre-authorization.
10946         */
10947        CLAIM, 
10948        /**
10949         * A request for information to be sent to a receiver.
10950         */
10951        COMMUNICATIONREQUEST, 
10952        /**
10953         * Legal Agreement.
10954         */
10955        CONTRACT, 
10956        /**
10957         * Medical device request.
10958         */
10959        DEVICEREQUEST, 
10960        /**
10961         * Enrollment request.
10962         */
10963        ENROLLMENTREQUEST, 
10964        /**
10965         * Guidance or advice relating to an immunization.
10966         */
10967        IMMUNIZATIONRECOMMENDATION, 
10968        /**
10969         * Ordering of medication for patient or group.
10970         */
10971        MEDICATIONREQUEST, 
10972        /**
10973         * Diet, formula or nutritional supplement request.
10974         */
10975        NUTRITIONORDER, 
10976        /**
10977         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
10978         */
10979        SERVICEREQUEST, 
10980        /**
10981         * Request for a medication, substance or device.
10982         */
10983        SUPPLYREQUEST, 
10984        /**
10985         * A task to be performed.
10986         */
10987        TASK, 
10988        /**
10989         * Prescription for vision correction products for a patient.
10990         */
10991        VISIONPRESCRIPTION, 
10992        /**
10993         * added to help the parsers
10994         */
10995        NULL;
10996        public static RequestResourceType fromCode(String codeString) throws FHIRException {
10997            if (codeString == null || "".equals(codeString))
10998                return null;
10999        if ("Appointment".equals(codeString))
11000          return APPOINTMENT;
11001        if ("AppointmentResponse".equals(codeString))
11002          return APPOINTMENTRESPONSE;
11003        if ("CarePlan".equals(codeString))
11004          return CAREPLAN;
11005        if ("Claim".equals(codeString))
11006          return CLAIM;
11007        if ("CommunicationRequest".equals(codeString))
11008          return COMMUNICATIONREQUEST;
11009        if ("Contract".equals(codeString))
11010          return CONTRACT;
11011        if ("DeviceRequest".equals(codeString))
11012          return DEVICEREQUEST;
11013        if ("EnrollmentRequest".equals(codeString))
11014          return ENROLLMENTREQUEST;
11015        if ("ImmunizationRecommendation".equals(codeString))
11016          return IMMUNIZATIONRECOMMENDATION;
11017        if ("MedicationRequest".equals(codeString))
11018          return MEDICATIONREQUEST;
11019        if ("NutritionOrder".equals(codeString))
11020          return NUTRITIONORDER;
11021        if ("ServiceRequest".equals(codeString))
11022          return SERVICEREQUEST;
11023        if ("SupplyRequest".equals(codeString))
11024          return SUPPLYREQUEST;
11025        if ("Task".equals(codeString))
11026          return TASK;
11027        if ("VisionPrescription".equals(codeString))
11028          return VISIONPRESCRIPTION;
11029        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
11030        }
11031        public String toCode() {
11032          switch (this) {
11033            case APPOINTMENT: return "Appointment";
11034            case APPOINTMENTRESPONSE: return "AppointmentResponse";
11035            case CAREPLAN: return "CarePlan";
11036            case CLAIM: return "Claim";
11037            case COMMUNICATIONREQUEST: return "CommunicationRequest";
11038            case CONTRACT: return "Contract";
11039            case DEVICEREQUEST: return "DeviceRequest";
11040            case ENROLLMENTREQUEST: return "EnrollmentRequest";
11041            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
11042            case MEDICATIONREQUEST: return "MedicationRequest";
11043            case NUTRITIONORDER: return "NutritionOrder";
11044            case SERVICEREQUEST: return "ServiceRequest";
11045            case SUPPLYREQUEST: return "SupplyRequest";
11046            case TASK: return "Task";
11047            case VISIONPRESCRIPTION: return "VisionPrescription";
11048            default: return "?";
11049          }
11050        }
11051        public String getSystem() {
11052          switch (this) {
11053            case APPOINTMENT: return "http://hl7.org/fhir/request-resource-types";
11054            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/request-resource-types";
11055            case CAREPLAN: return "http://hl7.org/fhir/request-resource-types";
11056            case CLAIM: return "http://hl7.org/fhir/request-resource-types";
11057            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
11058            case CONTRACT: return "http://hl7.org/fhir/request-resource-types";
11059            case DEVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
11060            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/request-resource-types";
11061            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/request-resource-types";
11062            case MEDICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
11063            case NUTRITIONORDER: return "http://hl7.org/fhir/request-resource-types";
11064            case SERVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
11065            case SUPPLYREQUEST: return "http://hl7.org/fhir/request-resource-types";
11066            case TASK: return "http://hl7.org/fhir/request-resource-types";
11067            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/request-resource-types";
11068            default: return "?";
11069          }
11070        }
11071        public String getDefinition() {
11072          switch (this) {
11073            case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).";
11074            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
11075            case CAREPLAN: return "Healthcare plan for patient or group.";
11076            case CLAIM: return "Claim, Pre-determination or Pre-authorization.";
11077            case COMMUNICATIONREQUEST: return "A request for information to be sent to a receiver.";
11078            case CONTRACT: return "Legal Agreement.";
11079            case DEVICEREQUEST: return "Medical device request.";
11080            case ENROLLMENTREQUEST: return "Enrollment request.";
11081            case IMMUNIZATIONRECOMMENDATION: return "Guidance or advice relating to an immunization.";
11082            case MEDICATIONREQUEST: return "Ordering of medication for patient or group.";
11083            case NUTRITIONORDER: return "Diet, formula or nutritional supplement request.";
11084            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
11085            case SUPPLYREQUEST: return "Request for a medication, substance or device.";
11086            case TASK: return "A task to be performed.";
11087            case VISIONPRESCRIPTION: return "Prescription for vision correction products for a patient.";
11088            default: return "?";
11089          }
11090        }
11091        public String getDisplay() {
11092          switch (this) {
11093            case APPOINTMENT: return "Appointment";
11094            case APPOINTMENTRESPONSE: return "AppointmentResponse";
11095            case CAREPLAN: return "CarePlan";
11096            case CLAIM: return "Claim";
11097            case COMMUNICATIONREQUEST: return "CommunicationRequest";
11098            case CONTRACT: return "Contract";
11099            case DEVICEREQUEST: return "DeviceRequest";
11100            case ENROLLMENTREQUEST: return "EnrollmentRequest";
11101            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
11102            case MEDICATIONREQUEST: return "MedicationRequest";
11103            case NUTRITIONORDER: return "NutritionOrder";
11104            case SERVICEREQUEST: return "ServiceRequest";
11105            case SUPPLYREQUEST: return "SupplyRequest";
11106            case TASK: return "Task";
11107            case VISIONPRESCRIPTION: return "VisionPrescription";
11108            default: return "?";
11109          }
11110        }
11111    }
11112
11113  public static class RequestResourceTypeEnumFactory implements EnumFactory<RequestResourceType> {
11114    public RequestResourceType fromCode(String codeString) throws IllegalArgumentException {
11115      if (codeString == null || "".equals(codeString))
11116            if (codeString == null || "".equals(codeString))
11117                return null;
11118        if ("Appointment".equals(codeString))
11119          return RequestResourceType.APPOINTMENT;
11120        if ("AppointmentResponse".equals(codeString))
11121          return RequestResourceType.APPOINTMENTRESPONSE;
11122        if ("CarePlan".equals(codeString))
11123          return RequestResourceType.CAREPLAN;
11124        if ("Claim".equals(codeString))
11125          return RequestResourceType.CLAIM;
11126        if ("CommunicationRequest".equals(codeString))
11127          return RequestResourceType.COMMUNICATIONREQUEST;
11128        if ("Contract".equals(codeString))
11129          return RequestResourceType.CONTRACT;
11130        if ("DeviceRequest".equals(codeString))
11131          return RequestResourceType.DEVICEREQUEST;
11132        if ("EnrollmentRequest".equals(codeString))
11133          return RequestResourceType.ENROLLMENTREQUEST;
11134        if ("ImmunizationRecommendation".equals(codeString))
11135          return RequestResourceType.IMMUNIZATIONRECOMMENDATION;
11136        if ("MedicationRequest".equals(codeString))
11137          return RequestResourceType.MEDICATIONREQUEST;
11138        if ("NutritionOrder".equals(codeString))
11139          return RequestResourceType.NUTRITIONORDER;
11140        if ("ServiceRequest".equals(codeString))
11141          return RequestResourceType.SERVICEREQUEST;
11142        if ("SupplyRequest".equals(codeString))
11143          return RequestResourceType.SUPPLYREQUEST;
11144        if ("Task".equals(codeString))
11145          return RequestResourceType.TASK;
11146        if ("VisionPrescription".equals(codeString))
11147          return RequestResourceType.VISIONPRESCRIPTION;
11148        throw new IllegalArgumentException("Unknown RequestResourceType code '"+codeString+"'");
11149        }
11150        public Enumeration<RequestResourceType> fromType(Base code) throws FHIRException {
11151          if (code == null)
11152            return null;
11153          if (code.isEmpty())
11154            return new Enumeration<RequestResourceType>(this);
11155          String codeString = ((PrimitiveType) code).asStringValue();
11156          if (codeString == null || "".equals(codeString))
11157            return null;
11158        if ("Appointment".equals(codeString))
11159          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENT);
11160        if ("AppointmentResponse".equals(codeString))
11161          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENTRESPONSE);
11162        if ("CarePlan".equals(codeString))
11163          return new Enumeration<RequestResourceType>(this, RequestResourceType.CAREPLAN);
11164        if ("Claim".equals(codeString))
11165          return new Enumeration<RequestResourceType>(this, RequestResourceType.CLAIM);
11166        if ("CommunicationRequest".equals(codeString))
11167          return new Enumeration<RequestResourceType>(this, RequestResourceType.COMMUNICATIONREQUEST);
11168        if ("Contract".equals(codeString))
11169          return new Enumeration<RequestResourceType>(this, RequestResourceType.CONTRACT);
11170        if ("DeviceRequest".equals(codeString))
11171          return new Enumeration<RequestResourceType>(this, RequestResourceType.DEVICEREQUEST);
11172        if ("EnrollmentRequest".equals(codeString))
11173          return new Enumeration<RequestResourceType>(this, RequestResourceType.ENROLLMENTREQUEST);
11174        if ("ImmunizationRecommendation".equals(codeString))
11175          return new Enumeration<RequestResourceType>(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION);
11176        if ("MedicationRequest".equals(codeString))
11177          return new Enumeration<RequestResourceType>(this, RequestResourceType.MEDICATIONREQUEST);
11178        if ("NutritionOrder".equals(codeString))
11179          return new Enumeration<RequestResourceType>(this, RequestResourceType.NUTRITIONORDER);
11180        if ("ServiceRequest".equals(codeString))
11181          return new Enumeration<RequestResourceType>(this, RequestResourceType.SERVICEREQUEST);
11182        if ("SupplyRequest".equals(codeString))
11183          return new Enumeration<RequestResourceType>(this, RequestResourceType.SUPPLYREQUEST);
11184        if ("Task".equals(codeString))
11185          return new Enumeration<RequestResourceType>(this, RequestResourceType.TASK);
11186        if ("VisionPrescription".equals(codeString))
11187          return new Enumeration<RequestResourceType>(this, RequestResourceType.VISIONPRESCRIPTION);
11188        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
11189        }
11190    public String toCode(RequestResourceType code) {
11191      if (code == RequestResourceType.APPOINTMENT)
11192        return "Appointment";
11193      if (code == RequestResourceType.APPOINTMENTRESPONSE)
11194        return "AppointmentResponse";
11195      if (code == RequestResourceType.CAREPLAN)
11196        return "CarePlan";
11197      if (code == RequestResourceType.CLAIM)
11198        return "Claim";
11199      if (code == RequestResourceType.COMMUNICATIONREQUEST)
11200        return "CommunicationRequest";
11201      if (code == RequestResourceType.CONTRACT)
11202        return "Contract";
11203      if (code == RequestResourceType.DEVICEREQUEST)
11204        return "DeviceRequest";
11205      if (code == RequestResourceType.ENROLLMENTREQUEST)
11206        return "EnrollmentRequest";
11207      if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION)
11208        return "ImmunizationRecommendation";
11209      if (code == RequestResourceType.MEDICATIONREQUEST)
11210        return "MedicationRequest";
11211      if (code == RequestResourceType.NUTRITIONORDER)
11212        return "NutritionOrder";
11213      if (code == RequestResourceType.SERVICEREQUEST)
11214        return "ServiceRequest";
11215      if (code == RequestResourceType.SUPPLYREQUEST)
11216        return "SupplyRequest";
11217      if (code == RequestResourceType.TASK)
11218        return "Task";
11219      if (code == RequestResourceType.VISIONPRESCRIPTION)
11220        return "VisionPrescription";
11221      return "?";
11222      }
11223    public String toSystem(RequestResourceType code) {
11224      return code.getSystem();
11225      }
11226    }
11227
11228    public enum ResourceType {
11229        /**
11230         * 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.
11231         */
11232        ACCOUNT, 
11233        /**
11234         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
11235         */
11236        ACTIVITYDEFINITION, 
11237        /**
11238         * 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.
11239         */
11240        ADVERSEEVENT, 
11241        /**
11242         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
11243         */
11244        ALLERGYINTOLERANCE, 
11245        /**
11246         * 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).
11247         */
11248        APPOINTMENT, 
11249        /**
11250         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
11251         */
11252        APPOINTMENTRESPONSE, 
11253        /**
11254         * 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.
11255         */
11256        AUDITEVENT, 
11257        /**
11258         * 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.
11259         */
11260        BASIC, 
11261        /**
11262         * 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.
11263         */
11264        BINARY, 
11265        /**
11266         * A material substance originating from a biological entity intended to be transplanted or infused
11267into another (possibly the same) biological entity.
11268         */
11269        BIOLOGICALLYDERIVEDPRODUCT, 
11270        /**
11271         * 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.
11272         */
11273        BODYSTRUCTURE, 
11274        /**
11275         * A container for a collection of resources.
11276         */
11277        BUNDLE, 
11278        /**
11279         * 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.
11280         */
11281        CAPABILITYSTATEMENT, 
11282        /**
11283         * 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.
11284         */
11285        CAREPLAN, 
11286        /**
11287         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
11288         */
11289        CARETEAM, 
11290        /**
11291         * Catalog entries are wrappers that contextualize items included in a catalog.
11292         */
11293        CATALOGENTRY, 
11294        /**
11295         * 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.
11296         */
11297        CHARGEITEM, 
11298        /**
11299         * 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.
11300         */
11301        CHARGEITEMDEFINITION, 
11302        /**
11303         * 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.
11304         */
11305        CLAIM, 
11306        /**
11307         * This resource provides the adjudication details from the processing of a Claim resource.
11308         */
11309        CLAIMRESPONSE, 
11310        /**
11311         * 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.
11312         */
11313        CLINICALIMPRESSION, 
11314        /**
11315         * 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.
11316         */
11317        CODESYSTEM, 
11318        /**
11319         * 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.
11320         */
11321        COMMUNICATION, 
11322        /**
11323         * 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.
11324         */
11325        COMMUNICATIONREQUEST, 
11326        /**
11327         * A compartment definition that defines how resources are accessed on a server.
11328         */
11329        COMPARTMENTDEFINITION, 
11330        /**
11331         * 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.).
11332         */
11333        COMPOSITION, 
11334        /**
11335         * 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.
11336         */
11337        CONCEPTMAP, 
11338        /**
11339         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
11340         */
11341        CONDITION, 
11342        /**
11343         * 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.
11344         */
11345        CONSENT, 
11346        /**
11347         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
11348         */
11349        CONTRACT, 
11350        /**
11351         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
11352         */
11353        COVERAGE, 
11354        /**
11355         * 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.
11356         */
11357        COVERAGEELIGIBILITYREQUEST, 
11358        /**
11359         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
11360         */
11361        COVERAGEELIGIBILITYRESPONSE, 
11362        /**
11363         * 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.
11364         */
11365        DETECTEDISSUE, 
11366        /**
11367         * 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.
11368         */
11369        DEVICE, 
11370        /**
11371         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
11372         */
11373        DEVICEDEFINITION, 
11374        /**
11375         * Describes a measurement, calculation or setting capability of a medical device.
11376         */
11377        DEVICEMETRIC, 
11378        /**
11379         * 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.
11380         */
11381        DEVICEREQUEST, 
11382        /**
11383         * 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.
11384         */
11385        DEVICEUSESTATEMENT, 
11386        /**
11387         * 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.
11388         */
11389        DIAGNOSTICREPORT, 
11390        /**
11391         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
11392         */
11393        DOCUMENTMANIFEST, 
11394        /**
11395         * 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.
11396         */
11397        DOCUMENTREFERENCE, 
11398        /**
11399         * A resource that includes narrative, extensions, and contained resources.
11400         */
11401        DOMAINRESOURCE, 
11402        /**
11403         * 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.
11404         */
11405        EFFECTEVIDENCESYNTHESIS, 
11406        /**
11407         * 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.
11408         */
11409        ENCOUNTER, 
11410        /**
11411         * 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.
11412         */
11413        ENDPOINT, 
11414        /**
11415         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
11416         */
11417        ENROLLMENTREQUEST, 
11418        /**
11419         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
11420         */
11421        ENROLLMENTRESPONSE, 
11422        /**
11423         * 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.
11424         */
11425        EPISODEOFCARE, 
11426        /**
11427         * The EventDefinition resource provides a reusable description of when a particular event can occur.
11428         */
11429        EVENTDEFINITION, 
11430        /**
11431         * 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.
11432         */
11433        EVIDENCE, 
11434        /**
11435         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
11436         */
11437        EVIDENCEVARIABLE, 
11438        /**
11439         * Example of workflow instance.
11440         */
11441        EXAMPLESCENARIO, 
11442        /**
11443         * 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.
11444         */
11445        EXPLANATIONOFBENEFIT, 
11446        /**
11447         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
11448         */
11449        FAMILYMEMBERHISTORY, 
11450        /**
11451         * Prospective warnings of potential issues when providing care to the patient.
11452         */
11453        FLAG, 
11454        /**
11455         * 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.
11456         */
11457        GOAL, 
11458        /**
11459         * 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.
11460         */
11461        GRAPHDEFINITION, 
11462        /**
11463         * 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.
11464         */
11465        GROUP, 
11466        /**
11467         * 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.
11468         */
11469        GUIDANCERESPONSE, 
11470        /**
11471         * The details of a healthcare service available at a location.
11472         */
11473        HEALTHCARESERVICE, 
11474        /**
11475         * 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.
11476         */
11477        IMAGINGSTUDY, 
11478        /**
11479         * 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.
11480         */
11481        IMMUNIZATION, 
11482        /**
11483         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
11484         */
11485        IMMUNIZATIONEVALUATION, 
11486        /**
11487         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
11488         */
11489        IMMUNIZATIONRECOMMENDATION, 
11490        /**
11491         * 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.
11492         */
11493        IMPLEMENTATIONGUIDE, 
11494        /**
11495         * Details of a Health Insurance product/plan provided by an organization.
11496         */
11497        INSURANCEPLAN, 
11498        /**
11499         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
11500         */
11501        INVOICE, 
11502        /**
11503         * 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.
11504         */
11505        LIBRARY, 
11506        /**
11507         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
11508         */
11509        LINKAGE, 
11510        /**
11511         * A list is a curated collection of resources.
11512         */
11513        LIST, 
11514        /**
11515         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
11516         */
11517        LOCATION, 
11518        /**
11519         * The Measure resource provides the definition of a quality measure.
11520         */
11521        MEASURE, 
11522        /**
11523         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
11524         */
11525        MEASUREREPORT, 
11526        /**
11527         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
11528         */
11529        MEDIA, 
11530        /**
11531         * 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.
11532         */
11533        MEDICATION, 
11534        /**
11535         * 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.
11536         */
11537        MEDICATIONADMINISTRATION, 
11538        /**
11539         * 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.
11540         */
11541        MEDICATIONDISPENSE, 
11542        /**
11543         * Information about a medication that is used to support knowledge.
11544         */
11545        MEDICATIONKNOWLEDGE, 
11546        /**
11547         * 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.
11548         */
11549        MEDICATIONREQUEST, 
11550        /**
11551         * 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. 
11552
11553The 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.
11554         */
11555        MEDICATIONSTATEMENT, 
11556        /**
11557         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
11558         */
11559        MEDICINALPRODUCT, 
11560        /**
11561         * The regulatory authorization of a medicinal product.
11562         */
11563        MEDICINALPRODUCTAUTHORIZATION, 
11564        /**
11565         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
11566         */
11567        MEDICINALPRODUCTCONTRAINDICATION, 
11568        /**
11569         * Indication for the Medicinal Product.
11570         */
11571        MEDICINALPRODUCTINDICATION, 
11572        /**
11573         * An ingredient of a manufactured item or pharmaceutical product.
11574         */
11575        MEDICINALPRODUCTINGREDIENT, 
11576        /**
11577         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
11578         */
11579        MEDICINALPRODUCTINTERACTION, 
11580        /**
11581         * The manufactured item as contained in the packaged medicinal product.
11582         */
11583        MEDICINALPRODUCTMANUFACTURED, 
11584        /**
11585         * A medicinal product in a container or package.
11586         */
11587        MEDICINALPRODUCTPACKAGED, 
11588        /**
11589         * A pharmaceutical product described in terms of its composition and dose form.
11590         */
11591        MEDICINALPRODUCTPHARMACEUTICAL, 
11592        /**
11593         * Describe the undesirable effects of the medicinal product.
11594         */
11595        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
11596        /**
11597         * 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.
11598         */
11599        MESSAGEDEFINITION, 
11600        /**
11601         * 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.
11602         */
11603        MESSAGEHEADER, 
11604        /**
11605         * Raw data describing a biological sequence.
11606         */
11607        MOLECULARSEQUENCE, 
11608        /**
11609         * 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.
11610         */
11611        NAMINGSYSTEM, 
11612        /**
11613         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
11614         */
11615        NUTRITIONORDER, 
11616        /**
11617         * Measurements and simple assertions made about a patient, device or other subject.
11618         */
11619        OBSERVATION, 
11620        /**
11621         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
11622         */
11623        OBSERVATIONDEFINITION, 
11624        /**
11625         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
11626         */
11627        OPERATIONDEFINITION, 
11628        /**
11629         * A collection of error, warning, or information messages that result from a system action.
11630         */
11631        OPERATIONOUTCOME, 
11632        /**
11633         * 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.
11634         */
11635        ORGANIZATION, 
11636        /**
11637         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
11638         */
11639        ORGANIZATIONAFFILIATION, 
11640        /**
11641         * 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.
11642         */
11643        PARAMETERS, 
11644        /**
11645         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
11646         */
11647        PATIENT, 
11648        /**
11649         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
11650         */
11651        PAYMENTNOTICE, 
11652        /**
11653         * This resource provides the details including amount of a payment and allocates the payment items being paid.
11654         */
11655        PAYMENTRECONCILIATION, 
11656        /**
11657         * Demographics and administrative information about a person independent of a specific health-related context.
11658         */
11659        PERSON, 
11660        /**
11661         * 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.
11662         */
11663        PLANDEFINITION, 
11664        /**
11665         * A person who is directly or indirectly involved in the provisioning of healthcare.
11666         */
11667        PRACTITIONER, 
11668        /**
11669         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
11670         */
11671        PRACTITIONERROLE, 
11672        /**
11673         * 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.
11674         */
11675        PROCEDURE, 
11676        /**
11677         * 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.
11678         */
11679        PROVENANCE, 
11680        /**
11681         * 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.
11682         */
11683        QUESTIONNAIRE, 
11684        /**
11685         * 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.
11686         */
11687        QUESTIONNAIRERESPONSE, 
11688        /**
11689         * 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.
11690         */
11691        RELATEDPERSON, 
11692        /**
11693         * 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".
11694         */
11695        REQUESTGROUP, 
11696        /**
11697         * 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.
11698         */
11699        RESEARCHDEFINITION, 
11700        /**
11701         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
11702         */
11703        RESEARCHELEMENTDEFINITION, 
11704        /**
11705         * 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.
11706         */
11707        RESEARCHSTUDY, 
11708        /**
11709         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
11710         */
11711        RESEARCHSUBJECT, 
11712        /**
11713         * This is the base resource type for everything.
11714         */
11715        RESOURCE, 
11716        /**
11717         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
11718         */
11719        RISKASSESSMENT, 
11720        /**
11721         * 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.
11722         */
11723        RISKEVIDENCESYNTHESIS, 
11724        /**
11725         * A container for slots of time that may be available for booking appointments.
11726         */
11727        SCHEDULE, 
11728        /**
11729         * A search parameter that defines a named search item that can be used to search/filter on a resource.
11730         */
11731        SEARCHPARAMETER, 
11732        /**
11733         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
11734         */
11735        SERVICEREQUEST, 
11736        /**
11737         * A slot of time on a schedule that may be available for booking appointments.
11738         */
11739        SLOT, 
11740        /**
11741         * A sample to be used for analysis.
11742         */
11743        SPECIMEN, 
11744        /**
11745         * A kind of specimen with associated set of requirements.
11746         */
11747        SPECIMENDEFINITION, 
11748        /**
11749         * 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.
11750         */
11751        STRUCTUREDEFINITION, 
11752        /**
11753         * A Map of relationships between 2 structures that can be used to transform data.
11754         */
11755        STRUCTUREMAP, 
11756        /**
11757         * 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.
11758         */
11759        SUBSCRIPTION, 
11760        /**
11761         * A homogeneous material with a definite composition.
11762         */
11763        SUBSTANCE, 
11764        /**
11765         * 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.
11766         */
11767        SUBSTANCENUCLEICACID, 
11768        /**
11769         * Todo.
11770         */
11771        SUBSTANCEPOLYMER, 
11772        /**
11773         * 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.
11774         */
11775        SUBSTANCEPROTEIN, 
11776        /**
11777         * Todo.
11778         */
11779        SUBSTANCEREFERENCEINFORMATION, 
11780        /**
11781         * 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.
11782         */
11783        SUBSTANCESOURCEMATERIAL, 
11784        /**
11785         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
11786         */
11787        SUBSTANCESPECIFICATION, 
11788        /**
11789         * Record of delivery of what is supplied.
11790         */
11791        SUPPLYDELIVERY, 
11792        /**
11793         * A record of a request for a medication, substance or device used in the healthcare setting.
11794         */
11795        SUPPLYREQUEST, 
11796        /**
11797         * A task to be performed.
11798         */
11799        TASK, 
11800        /**
11801         * 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.
11802         */
11803        TERMINOLOGYCAPABILITIES, 
11804        /**
11805         * A summary of information based on the results of executing a TestScript.
11806         */
11807        TESTREPORT, 
11808        /**
11809         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
11810         */
11811        TESTSCRIPT, 
11812        /**
11813         * 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).
11814         */
11815        VALUESET, 
11816        /**
11817         * Describes validation requirements, source(s), status and dates for one or more elements.
11818         */
11819        VERIFICATIONRESULT, 
11820        /**
11821         * An authorization for the provision of glasses and/or contact lenses to a patient.
11822         */
11823        VISIONPRESCRIPTION, 
11824        /**
11825         * added to help the parsers
11826         */
11827        NULL;
11828        public static ResourceType fromCode(String codeString) throws FHIRException {
11829            if (codeString == null || "".equals(codeString))
11830                return null;
11831        if ("Account".equals(codeString))
11832          return ACCOUNT;
11833        if ("ActivityDefinition".equals(codeString))
11834          return ACTIVITYDEFINITION;
11835        if ("AdverseEvent".equals(codeString))
11836          return ADVERSEEVENT;
11837        if ("AllergyIntolerance".equals(codeString))
11838          return ALLERGYINTOLERANCE;
11839        if ("Appointment".equals(codeString))
11840          return APPOINTMENT;
11841        if ("AppointmentResponse".equals(codeString))
11842          return APPOINTMENTRESPONSE;
11843        if ("AuditEvent".equals(codeString))
11844          return AUDITEVENT;
11845        if ("Basic".equals(codeString))
11846          return BASIC;
11847        if ("Binary".equals(codeString))
11848          return BINARY;
11849        if ("BiologicallyDerivedProduct".equals(codeString))
11850          return BIOLOGICALLYDERIVEDPRODUCT;
11851        if ("BodyStructure".equals(codeString))
11852          return BODYSTRUCTURE;
11853        if ("Bundle".equals(codeString))
11854          return BUNDLE;
11855        if ("CapabilityStatement".equals(codeString))
11856          return CAPABILITYSTATEMENT;
11857        if ("CarePlan".equals(codeString))
11858          return CAREPLAN;
11859        if ("CareTeam".equals(codeString))
11860          return CARETEAM;
11861        if ("CatalogEntry".equals(codeString))
11862          return CATALOGENTRY;
11863        if ("ChargeItem".equals(codeString))
11864          return CHARGEITEM;
11865        if ("ChargeItemDefinition".equals(codeString))
11866          return CHARGEITEMDEFINITION;
11867        if ("Claim".equals(codeString))
11868          return CLAIM;
11869        if ("ClaimResponse".equals(codeString))
11870          return CLAIMRESPONSE;
11871        if ("ClinicalImpression".equals(codeString))
11872          return CLINICALIMPRESSION;
11873        if ("CodeSystem".equals(codeString))
11874          return CODESYSTEM;
11875        if ("Communication".equals(codeString))
11876          return COMMUNICATION;
11877        if ("CommunicationRequest".equals(codeString))
11878          return COMMUNICATIONREQUEST;
11879        if ("CompartmentDefinition".equals(codeString))
11880          return COMPARTMENTDEFINITION;
11881        if ("Composition".equals(codeString))
11882          return COMPOSITION;
11883        if ("ConceptMap".equals(codeString))
11884          return CONCEPTMAP;
11885        if ("Condition".equals(codeString))
11886          return CONDITION;
11887        if ("Consent".equals(codeString))
11888          return CONSENT;
11889        if ("Contract".equals(codeString))
11890          return CONTRACT;
11891        if ("Coverage".equals(codeString))
11892          return COVERAGE;
11893        if ("CoverageEligibilityRequest".equals(codeString))
11894          return COVERAGEELIGIBILITYREQUEST;
11895        if ("CoverageEligibilityResponse".equals(codeString))
11896          return COVERAGEELIGIBILITYRESPONSE;
11897        if ("DetectedIssue".equals(codeString))
11898          return DETECTEDISSUE;
11899        if ("Device".equals(codeString))
11900          return DEVICE;
11901        if ("DeviceDefinition".equals(codeString))
11902          return DEVICEDEFINITION;
11903        if ("DeviceMetric".equals(codeString))
11904          return DEVICEMETRIC;
11905        if ("DeviceRequest".equals(codeString))
11906          return DEVICEREQUEST;
11907        if ("DeviceUseStatement".equals(codeString))
11908          return DEVICEUSESTATEMENT;
11909        if ("DiagnosticReport".equals(codeString))
11910          return DIAGNOSTICREPORT;
11911        if ("DocumentManifest".equals(codeString))
11912          return DOCUMENTMANIFEST;
11913        if ("DocumentReference".equals(codeString))
11914          return DOCUMENTREFERENCE;
11915        if ("DomainResource".equals(codeString))
11916          return DOMAINRESOURCE;
11917        if ("EffectEvidenceSynthesis".equals(codeString))
11918          return EFFECTEVIDENCESYNTHESIS;
11919        if ("Encounter".equals(codeString))
11920          return ENCOUNTER;
11921        if ("Endpoint".equals(codeString))
11922          return ENDPOINT;
11923        if ("EnrollmentRequest".equals(codeString))
11924          return ENROLLMENTREQUEST;
11925        if ("EnrollmentResponse".equals(codeString))
11926          return ENROLLMENTRESPONSE;
11927        if ("EpisodeOfCare".equals(codeString))
11928          return EPISODEOFCARE;
11929        if ("EventDefinition".equals(codeString))
11930          return EVENTDEFINITION;
11931        if ("Evidence".equals(codeString))
11932          return EVIDENCE;
11933        if ("EvidenceVariable".equals(codeString))
11934          return EVIDENCEVARIABLE;
11935        if ("ExampleScenario".equals(codeString))
11936          return EXAMPLESCENARIO;
11937        if ("ExplanationOfBenefit".equals(codeString))
11938          return EXPLANATIONOFBENEFIT;
11939        if ("FamilyMemberHistory".equals(codeString))
11940          return FAMILYMEMBERHISTORY;
11941        if ("Flag".equals(codeString))
11942          return FLAG;
11943        if ("Goal".equals(codeString))
11944          return GOAL;
11945        if ("GraphDefinition".equals(codeString))
11946          return GRAPHDEFINITION;
11947        if ("Group".equals(codeString))
11948          return GROUP;
11949        if ("GuidanceResponse".equals(codeString))
11950          return GUIDANCERESPONSE;
11951        if ("HealthcareService".equals(codeString))
11952          return HEALTHCARESERVICE;
11953        if ("ImagingStudy".equals(codeString))
11954          return IMAGINGSTUDY;
11955        if ("Immunization".equals(codeString))
11956          return IMMUNIZATION;
11957        if ("ImmunizationEvaluation".equals(codeString))
11958          return IMMUNIZATIONEVALUATION;
11959        if ("ImmunizationRecommendation".equals(codeString))
11960          return IMMUNIZATIONRECOMMENDATION;
11961        if ("ImplementationGuide".equals(codeString))
11962          return IMPLEMENTATIONGUIDE;
11963        if ("InsurancePlan".equals(codeString))
11964          return INSURANCEPLAN;
11965        if ("Invoice".equals(codeString))
11966          return INVOICE;
11967        if ("Library".equals(codeString))
11968          return LIBRARY;
11969        if ("Linkage".equals(codeString))
11970          return LINKAGE;
11971        if ("List".equals(codeString))
11972          return LIST;
11973        if ("Location".equals(codeString))
11974          return LOCATION;
11975        if ("Measure".equals(codeString))
11976          return MEASURE;
11977        if ("MeasureReport".equals(codeString))
11978          return MEASUREREPORT;
11979        if ("Media".equals(codeString))
11980          return MEDIA;
11981        if ("Medication".equals(codeString))
11982          return MEDICATION;
11983        if ("MedicationAdministration".equals(codeString))
11984          return MEDICATIONADMINISTRATION;
11985        if ("MedicationDispense".equals(codeString))
11986          return MEDICATIONDISPENSE;
11987        if ("MedicationKnowledge".equals(codeString))
11988          return MEDICATIONKNOWLEDGE;
11989        if ("MedicationRequest".equals(codeString))
11990          return MEDICATIONREQUEST;
11991        if ("MedicationStatement".equals(codeString))
11992          return MEDICATIONSTATEMENT;
11993        if ("MedicinalProduct".equals(codeString))
11994          return MEDICINALPRODUCT;
11995        if ("MedicinalProductAuthorization".equals(codeString))
11996          return MEDICINALPRODUCTAUTHORIZATION;
11997        if ("MedicinalProductContraindication".equals(codeString))
11998          return MEDICINALPRODUCTCONTRAINDICATION;
11999        if ("MedicinalProductIndication".equals(codeString))
12000          return MEDICINALPRODUCTINDICATION;
12001        if ("MedicinalProductIngredient".equals(codeString))
12002          return MEDICINALPRODUCTINGREDIENT;
12003        if ("MedicinalProductInteraction".equals(codeString))
12004          return MEDICINALPRODUCTINTERACTION;
12005        if ("MedicinalProductManufactured".equals(codeString))
12006          return MEDICINALPRODUCTMANUFACTURED;
12007        if ("MedicinalProductPackaged".equals(codeString))
12008          return MEDICINALPRODUCTPACKAGED;
12009        if ("MedicinalProductPharmaceutical".equals(codeString))
12010          return MEDICINALPRODUCTPHARMACEUTICAL;
12011        if ("MedicinalProductUndesirableEffect".equals(codeString))
12012          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
12013        if ("MessageDefinition".equals(codeString))
12014          return MESSAGEDEFINITION;
12015        if ("MessageHeader".equals(codeString))
12016          return MESSAGEHEADER;
12017        if ("MolecularSequence".equals(codeString))
12018          return MOLECULARSEQUENCE;
12019        if ("NamingSystem".equals(codeString))
12020          return NAMINGSYSTEM;
12021        if ("NutritionOrder".equals(codeString))
12022          return NUTRITIONORDER;
12023        if ("Observation".equals(codeString))
12024          return OBSERVATION;
12025        if ("ObservationDefinition".equals(codeString))
12026          return OBSERVATIONDEFINITION;
12027        if ("OperationDefinition".equals(codeString))
12028          return OPERATIONDEFINITION;
12029        if ("OperationOutcome".equals(codeString))
12030          return OPERATIONOUTCOME;
12031        if ("Organization".equals(codeString))
12032          return ORGANIZATION;
12033        if ("OrganizationAffiliation".equals(codeString))
12034          return ORGANIZATIONAFFILIATION;
12035        if ("Parameters".equals(codeString))
12036          return PARAMETERS;
12037        if ("Patient".equals(codeString))
12038          return PATIENT;
12039        if ("PaymentNotice".equals(codeString))
12040          return PAYMENTNOTICE;
12041        if ("PaymentReconciliation".equals(codeString))
12042          return PAYMENTRECONCILIATION;
12043        if ("Person".equals(codeString))
12044          return PERSON;
12045        if ("PlanDefinition".equals(codeString))
12046          return PLANDEFINITION;
12047        if ("Practitioner".equals(codeString))
12048          return PRACTITIONER;
12049        if ("PractitionerRole".equals(codeString))
12050          return PRACTITIONERROLE;
12051        if ("Procedure".equals(codeString))
12052          return PROCEDURE;
12053        if ("Provenance".equals(codeString))
12054          return PROVENANCE;
12055        if ("Questionnaire".equals(codeString))
12056          return QUESTIONNAIRE;
12057        if ("QuestionnaireResponse".equals(codeString))
12058          return QUESTIONNAIRERESPONSE;
12059        if ("RelatedPerson".equals(codeString))
12060          return RELATEDPERSON;
12061        if ("RequestGroup".equals(codeString))
12062          return REQUESTGROUP;
12063        if ("ResearchDefinition".equals(codeString))
12064          return RESEARCHDEFINITION;
12065        if ("ResearchElementDefinition".equals(codeString))
12066          return RESEARCHELEMENTDEFINITION;
12067        if ("ResearchStudy".equals(codeString))
12068          return RESEARCHSTUDY;
12069        if ("ResearchSubject".equals(codeString))
12070          return RESEARCHSUBJECT;
12071        if ("Resource".equals(codeString))
12072          return RESOURCE;
12073        if ("RiskAssessment".equals(codeString))
12074          return RISKASSESSMENT;
12075        if ("RiskEvidenceSynthesis".equals(codeString))
12076          return RISKEVIDENCESYNTHESIS;
12077        if ("Schedule".equals(codeString))
12078          return SCHEDULE;
12079        if ("SearchParameter".equals(codeString))
12080          return SEARCHPARAMETER;
12081        if ("ServiceRequest".equals(codeString))
12082          return SERVICEREQUEST;
12083        if ("Slot".equals(codeString))
12084          return SLOT;
12085        if ("Specimen".equals(codeString))
12086          return SPECIMEN;
12087        if ("SpecimenDefinition".equals(codeString))
12088          return SPECIMENDEFINITION;
12089        if ("StructureDefinition".equals(codeString))
12090          return STRUCTUREDEFINITION;
12091        if ("StructureMap".equals(codeString))
12092          return STRUCTUREMAP;
12093        if ("Subscription".equals(codeString))
12094          return SUBSCRIPTION;
12095        if ("Substance".equals(codeString))
12096          return SUBSTANCE;
12097        if ("SubstanceNucleicAcid".equals(codeString))
12098          return SUBSTANCENUCLEICACID;
12099        if ("SubstancePolymer".equals(codeString))
12100          return SUBSTANCEPOLYMER;
12101        if ("SubstanceProtein".equals(codeString))
12102          return SUBSTANCEPROTEIN;
12103        if ("SubstanceReferenceInformation".equals(codeString))
12104          return SUBSTANCEREFERENCEINFORMATION;
12105        if ("SubstanceSourceMaterial".equals(codeString))
12106          return SUBSTANCESOURCEMATERIAL;
12107        if ("SubstanceSpecification".equals(codeString))
12108          return SUBSTANCESPECIFICATION;
12109        if ("SupplyDelivery".equals(codeString))
12110          return SUPPLYDELIVERY;
12111        if ("SupplyRequest".equals(codeString))
12112          return SUPPLYREQUEST;
12113        if ("Task".equals(codeString))
12114          return TASK;
12115        if ("TerminologyCapabilities".equals(codeString))
12116          return TERMINOLOGYCAPABILITIES;
12117        if ("TestReport".equals(codeString))
12118          return TESTREPORT;
12119        if ("TestScript".equals(codeString))
12120          return TESTSCRIPT;
12121        if ("ValueSet".equals(codeString))
12122          return VALUESET;
12123        if ("VerificationResult".equals(codeString))
12124          return VERIFICATIONRESULT;
12125        if ("VisionPrescription".equals(codeString))
12126          return VISIONPRESCRIPTION;
12127        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
12128        }
12129        public String toCode() {
12130          switch (this) {
12131            case ACCOUNT: return "Account";
12132            case ACTIVITYDEFINITION: return "ActivityDefinition";
12133            case ADVERSEEVENT: return "AdverseEvent";
12134            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
12135            case APPOINTMENT: return "Appointment";
12136            case APPOINTMENTRESPONSE: return "AppointmentResponse";
12137            case AUDITEVENT: return "AuditEvent";
12138            case BASIC: return "Basic";
12139            case BINARY: return "Binary";
12140            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
12141            case BODYSTRUCTURE: return "BodyStructure";
12142            case BUNDLE: return "Bundle";
12143            case CAPABILITYSTATEMENT: return "CapabilityStatement";
12144            case CAREPLAN: return "CarePlan";
12145            case CARETEAM: return "CareTeam";
12146            case CATALOGENTRY: return "CatalogEntry";
12147            case CHARGEITEM: return "ChargeItem";
12148            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
12149            case CLAIM: return "Claim";
12150            case CLAIMRESPONSE: return "ClaimResponse";
12151            case CLINICALIMPRESSION: return "ClinicalImpression";
12152            case CODESYSTEM: return "CodeSystem";
12153            case COMMUNICATION: return "Communication";
12154            case COMMUNICATIONREQUEST: return "CommunicationRequest";
12155            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
12156            case COMPOSITION: return "Composition";
12157            case CONCEPTMAP: return "ConceptMap";
12158            case CONDITION: return "Condition";
12159            case CONSENT: return "Consent";
12160            case CONTRACT: return "Contract";
12161            case COVERAGE: return "Coverage";
12162            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
12163            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
12164            case DETECTEDISSUE: return "DetectedIssue";
12165            case DEVICE: return "Device";
12166            case DEVICEDEFINITION: return "DeviceDefinition";
12167            case DEVICEMETRIC: return "DeviceMetric";
12168            case DEVICEREQUEST: return "DeviceRequest";
12169            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
12170            case DIAGNOSTICREPORT: return "DiagnosticReport";
12171            case DOCUMENTMANIFEST: return "DocumentManifest";
12172            case DOCUMENTREFERENCE: return "DocumentReference";
12173            case DOMAINRESOURCE: return "DomainResource";
12174            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
12175            case ENCOUNTER: return "Encounter";
12176            case ENDPOINT: return "Endpoint";
12177            case ENROLLMENTREQUEST: return "EnrollmentRequest";
12178            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
12179            case EPISODEOFCARE: return "EpisodeOfCare";
12180            case EVENTDEFINITION: return "EventDefinition";
12181            case EVIDENCE: return "Evidence";
12182            case EVIDENCEVARIABLE: return "EvidenceVariable";
12183            case EXAMPLESCENARIO: return "ExampleScenario";
12184            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
12185            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
12186            case FLAG: return "Flag";
12187            case GOAL: return "Goal";
12188            case GRAPHDEFINITION: return "GraphDefinition";
12189            case GROUP: return "Group";
12190            case GUIDANCERESPONSE: return "GuidanceResponse";
12191            case HEALTHCARESERVICE: return "HealthcareService";
12192            case IMAGINGSTUDY: return "ImagingStudy";
12193            case IMMUNIZATION: return "Immunization";
12194            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
12195            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
12196            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
12197            case INSURANCEPLAN: return "InsurancePlan";
12198            case INVOICE: return "Invoice";
12199            case LIBRARY: return "Library";
12200            case LINKAGE: return "Linkage";
12201            case LIST: return "List";
12202            case LOCATION: return "Location";
12203            case MEASURE: return "Measure";
12204            case MEASUREREPORT: return "MeasureReport";
12205            case MEDIA: return "Media";
12206            case MEDICATION: return "Medication";
12207            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
12208            case MEDICATIONDISPENSE: return "MedicationDispense";
12209            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
12210            case MEDICATIONREQUEST: return "MedicationRequest";
12211            case MEDICATIONSTATEMENT: return "MedicationStatement";
12212            case MEDICINALPRODUCT: return "MedicinalProduct";
12213            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
12214            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
12215            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
12216            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
12217            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
12218            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
12219            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
12220            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
12221            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
12222            case MESSAGEDEFINITION: return "MessageDefinition";
12223            case MESSAGEHEADER: return "MessageHeader";
12224            case MOLECULARSEQUENCE: return "MolecularSequence";
12225            case NAMINGSYSTEM: return "NamingSystem";
12226            case NUTRITIONORDER: return "NutritionOrder";
12227            case OBSERVATION: return "Observation";
12228            case OBSERVATIONDEFINITION: return "ObservationDefinition";
12229            case OPERATIONDEFINITION: return "OperationDefinition";
12230            case OPERATIONOUTCOME: return "OperationOutcome";
12231            case ORGANIZATION: return "Organization";
12232            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
12233            case PARAMETERS: return "Parameters";
12234            case PATIENT: return "Patient";
12235            case PAYMENTNOTICE: return "PaymentNotice";
12236            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
12237            case PERSON: return "Person";
12238            case PLANDEFINITION: return "PlanDefinition";
12239            case PRACTITIONER: return "Practitioner";
12240            case PRACTITIONERROLE: return "PractitionerRole";
12241            case PROCEDURE: return "Procedure";
12242            case PROVENANCE: return "Provenance";
12243            case QUESTIONNAIRE: return "Questionnaire";
12244            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
12245            case RELATEDPERSON: return "RelatedPerson";
12246            case REQUESTGROUP: return "RequestGroup";
12247            case RESEARCHDEFINITION: return "ResearchDefinition";
12248            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
12249            case RESEARCHSTUDY: return "ResearchStudy";
12250            case RESEARCHSUBJECT: return "ResearchSubject";
12251            case RESOURCE: return "Resource";
12252            case RISKASSESSMENT: return "RiskAssessment";
12253            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
12254            case SCHEDULE: return "Schedule";
12255            case SEARCHPARAMETER: return "SearchParameter";
12256            case SERVICEREQUEST: return "ServiceRequest";
12257            case SLOT: return "Slot";
12258            case SPECIMEN: return "Specimen";
12259            case SPECIMENDEFINITION: return "SpecimenDefinition";
12260            case STRUCTUREDEFINITION: return "StructureDefinition";
12261            case STRUCTUREMAP: return "StructureMap";
12262            case SUBSCRIPTION: return "Subscription";
12263            case SUBSTANCE: return "Substance";
12264            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
12265            case SUBSTANCEPOLYMER: return "SubstancePolymer";
12266            case SUBSTANCEPROTEIN: return "SubstanceProtein";
12267            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
12268            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
12269            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
12270            case SUPPLYDELIVERY: return "SupplyDelivery";
12271            case SUPPLYREQUEST: return "SupplyRequest";
12272            case TASK: return "Task";
12273            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
12274            case TESTREPORT: return "TestReport";
12275            case TESTSCRIPT: return "TestScript";
12276            case VALUESET: return "ValueSet";
12277            case VERIFICATIONRESULT: return "VerificationResult";
12278            case VISIONPRESCRIPTION: return "VisionPrescription";
12279            default: return "?";
12280          }
12281        }
12282        public String getSystem() {
12283          switch (this) {
12284            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
12285            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
12286            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
12287            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
12288            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
12289            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
12290            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
12291            case BASIC: return "http://hl7.org/fhir/resource-types";
12292            case BINARY: return "http://hl7.org/fhir/resource-types";
12293            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
12294            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
12295            case BUNDLE: return "http://hl7.org/fhir/resource-types";
12296            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
12297            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
12298            case CARETEAM: return "http://hl7.org/fhir/resource-types";
12299            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
12300            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
12301            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
12302            case CLAIM: return "http://hl7.org/fhir/resource-types";
12303            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
12304            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
12305            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
12306            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
12307            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
12308            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12309            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
12310            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
12311            case CONDITION: return "http://hl7.org/fhir/resource-types";
12312            case CONSENT: return "http://hl7.org/fhir/resource-types";
12313            case CONTRACT: return "http://hl7.org/fhir/resource-types";
12314            case COVERAGE: return "http://hl7.org/fhir/resource-types";
12315            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
12316            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
12317            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
12318            case DEVICE: return "http://hl7.org/fhir/resource-types";
12319            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
12320            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
12321            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
12322            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
12323            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
12324            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
12325            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
12326            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
12327            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
12328            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
12329            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
12330            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
12331            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
12332            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
12333            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12334            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
12335            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
12336            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
12337            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
12338            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
12339            case FLAG: return "http://hl7.org/fhir/resource-types";
12340            case GOAL: return "http://hl7.org/fhir/resource-types";
12341            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
12342            case GROUP: return "http://hl7.org/fhir/resource-types";
12343            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
12344            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
12345            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
12346            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
12347            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
12348            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
12349            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
12350            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
12351            case INVOICE: return "http://hl7.org/fhir/resource-types";
12352            case LIBRARY: return "http://hl7.org/fhir/resource-types";
12353            case LINKAGE: return "http://hl7.org/fhir/resource-types";
12354            case LIST: return "http://hl7.org/fhir/resource-types";
12355            case LOCATION: return "http://hl7.org/fhir/resource-types";
12356            case MEASURE: return "http://hl7.org/fhir/resource-types";
12357            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
12358            case MEDIA: return "http://hl7.org/fhir/resource-types";
12359            case MEDICATION: return "http://hl7.org/fhir/resource-types";
12360            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
12361            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
12362            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
12363            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
12364            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
12365            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
12366            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
12367            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
12368            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
12369            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
12370            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
12371            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
12372            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
12373            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
12374            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
12375            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
12376            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
12377            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
12378            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
12379            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
12380            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
12381            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
12382            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
12383            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
12384            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
12385            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
12386            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
12387            case PATIENT: return "http://hl7.org/fhir/resource-types";
12388            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
12389            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
12390            case PERSON: return "http://hl7.org/fhir/resource-types";
12391            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
12392            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
12393            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
12394            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
12395            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
12396            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
12397            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
12398            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
12399            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
12400            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
12401            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12402            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
12403            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
12404            case RESOURCE: return "http://hl7.org/fhir/resource-types";
12405            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
12406            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
12407            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
12408            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
12409            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
12410            case SLOT: return "http://hl7.org/fhir/resource-types";
12411            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
12412            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
12413            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
12414            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
12415            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
12416            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
12417            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
12418            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
12419            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
12420            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
12421            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
12422            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
12423            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
12424            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
12425            case TASK: return "http://hl7.org/fhir/resource-types";
12426            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
12427            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
12428            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
12429            case VALUESET: return "http://hl7.org/fhir/resource-types";
12430            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
12431            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
12432            default: return "?";
12433          }
12434        }
12435        public String getDefinition() {
12436          switch (this) {
12437            case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose.  In the healthcare field, used to track charges for a patient, cost centers, etc.";
12438            case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.";
12439            case ADVERSEEVENT: 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.";
12440            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
12441            case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s).";
12442            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
12443            case AUDITEVENT: return "A record of an event made for purposes of maintaining a security log. Typical uses include detection of intrusion attempts and monitoring for inappropriate usage.";
12444            case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification.";
12445            case BINARY: 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.";
12446            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
12447            case BODYSTRUCTURE: 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.";
12448            case BUNDLE: return "A container for a collection of resources.";
12449            case CAPABILITYSTATEMENT: 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.";
12450            case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions.";
12451            case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.";
12452            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
12453            case CHARGEITEM: 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.";
12454            case CHARGEITEMDEFINITION: 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.";
12455            case CLAIM: 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.";
12456            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
12457            case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter,  but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score.";
12458            case CODESYSTEM: 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.";
12459            case COMMUNICATION: 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.";
12460            case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition.";
12461            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
12462            case COMPOSITION: 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.).";
12463            case CONCEPTMAP: 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.";
12464            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
12465            case CONSENT: 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.";
12466            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
12467            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
12468            case COVERAGEELIGIBILITYREQUEST: 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.";
12469            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
12470            case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc.";
12471            case DEVICE: 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.";
12472            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
12473            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
12474            case DEVICEREQUEST: 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.";
12475            case DEVICEUSESTATEMENT: return "A record of a device being used by a patient where the record is the result of a report from the patient or another clinician.";
12476            case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic  tests performed on patients, groups of patients, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting and provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports.";
12477            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
12478            case DOCUMENTREFERENCE: 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.";
12479            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
12480            case EFFECTEVIDENCESYNTHESIS: 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.";
12481            case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient.";
12482            case ENDPOINT: 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.";
12483            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
12484            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
12485            case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time.";
12486            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
12487            case EVIDENCE: 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.";
12488            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
12489            case EXAMPLESCENARIO: return "Example of workflow instance.";
12490            case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.";
12491            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
12492            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
12493            case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.";
12494            case GRAPHDEFINITION: 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.";
12495            case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.";
12496            case GUIDANCERESPONSE: 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.";
12497            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
12498            case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.";
12499            case IMMUNIZATION: 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.";
12500            case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those  recommendations.";
12501            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
12502            case IMPLEMENTATIONGUIDE: 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.";
12503            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
12504            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
12505            case LIBRARY: 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.";
12506            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
12507            case LIST: return "A list is a curated collection of resources.";
12508            case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.";
12509            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
12510            case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.";
12511            case MEDIA: return "A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.";
12512            case MEDICATION: 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.";
12513            case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication.  This may be as simple as swallowing a tablet or it may be a long running infusion.  Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner.";
12514            case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient.  This includes a description of the medication product (supply) provided and the instructions for administering the medication.  The medication dispense is the result of a pharmacy system responding to a medication order.";
12515            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
12516            case MEDICATIONREQUEST: 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.";
12517            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from 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.";
12518            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
12519            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
12520            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
12521            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
12522            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
12523            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
12524            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
12525            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
12526            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
12527            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
12528            case MESSAGEDEFINITION: 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.";
12529            case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action.  The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle.";
12530            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
12531            case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc.  Represents a \"System\" used within the Identifier and Coding data types.";
12532            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
12533            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
12534            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
12535            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
12536            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
12537            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
12538            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
12539            case PARAMETERS: 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.";
12540            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
12541            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
12542            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
12543            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
12544            case PLANDEFINITION: 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.";
12545            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
12546            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
12547            case PROCEDURE: 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.";
12548            case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies.";
12549            case QUESTIONNAIRE: 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.";
12550            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.";
12551            case RELATEDPERSON: return "Information about a person that is involved in the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process.";
12552            case REQUESTGROUP: 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\".";
12553            case RESEARCHDEFINITION: 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.";
12554            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
12555            case RESEARCHSTUDY: 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.";
12556            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
12557            case RESOURCE: return "This is the base resource type for everything.";
12558            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
12559            case RISKEVIDENCESYNTHESIS: 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.";
12560            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
12561            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
12562            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
12563            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
12564            case SPECIMEN: return "A sample to be used for analysis.";
12565            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
12566            case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types.";
12567            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
12568            case SUBSCRIPTION: return "The subscription resource is used to define a push-based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined \"channel\" so that another system can take an appropriate action.";
12569            case SUBSTANCE: return "A homogeneous material with a definite composition.";
12570            case SUBSTANCENUCLEICACID: 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.";
12571            case SUBSTANCEPOLYMER: return "Todo.";
12572            case SUBSTANCEPROTEIN: 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.";
12573            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
12574            case SUBSTANCESOURCEMATERIAL: 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.";
12575            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
12576            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
12577            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
12578            case TASK: return "A task to be performed.";
12579            case TERMINOLOGYCAPABILITIES: 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.";
12580            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
12581            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
12582            case VALUESET: 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).";
12583            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
12584            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
12585            default: return "?";
12586          }
12587        }
12588        public String getDisplay() {
12589          switch (this) {
12590            case ACCOUNT: return "Account";
12591            case ACTIVITYDEFINITION: return "ActivityDefinition";
12592            case ADVERSEEVENT: return "AdverseEvent";
12593            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
12594            case APPOINTMENT: return "Appointment";
12595            case APPOINTMENTRESPONSE: return "AppointmentResponse";
12596            case AUDITEVENT: return "AuditEvent";
12597            case BASIC: return "Basic";
12598            case BINARY: return "Binary";
12599            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
12600            case BODYSTRUCTURE: return "BodyStructure";
12601            case BUNDLE: return "Bundle";
12602            case CAPABILITYSTATEMENT: return "CapabilityStatement";
12603            case CAREPLAN: return "CarePlan";
12604            case CARETEAM: return "CareTeam";
12605            case CATALOGENTRY: return "CatalogEntry";
12606            case CHARGEITEM: return "ChargeItem";
12607            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
12608            case CLAIM: return "Claim";
12609            case CLAIMRESPONSE: return "ClaimResponse";
12610            case CLINICALIMPRESSION: return "ClinicalImpression";
12611            case CODESYSTEM: return "CodeSystem";
12612            case COMMUNICATION: return "Communication";
12613            case COMMUNICATIONREQUEST: return "CommunicationRequest";
12614            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
12615            case COMPOSITION: return "Composition";
12616            case CONCEPTMAP: return "ConceptMap";
12617            case CONDITION: return "Condition";
12618            case CONSENT: return "Consent";
12619            case CONTRACT: return "Contract";
12620            case COVERAGE: return "Coverage";
12621            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
12622            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
12623            case DETECTEDISSUE: return "DetectedIssue";
12624            case DEVICE: return "Device";
12625            case DEVICEDEFINITION: return "DeviceDefinition";
12626            case DEVICEMETRIC: return "DeviceMetric";
12627            case DEVICEREQUEST: return "DeviceRequest";
12628            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
12629            case DIAGNOSTICREPORT: return "DiagnosticReport";
12630            case DOCUMENTMANIFEST: return "DocumentManifest";
12631            case DOCUMENTREFERENCE: return "DocumentReference";
12632            case DOMAINRESOURCE: return "DomainResource";
12633            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
12634            case ENCOUNTER: return "Encounter";
12635            case ENDPOINT: return "Endpoint";
12636            case ENROLLMENTREQUEST: return "EnrollmentRequest";
12637            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
12638            case EPISODEOFCARE: return "EpisodeOfCare";
12639            case EVENTDEFINITION: return "EventDefinition";
12640            case EVIDENCE: return "Evidence";
12641            case EVIDENCEVARIABLE: return "EvidenceVariable";
12642            case EXAMPLESCENARIO: return "ExampleScenario";
12643            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
12644            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
12645            case FLAG: return "Flag";
12646            case GOAL: return "Goal";
12647            case GRAPHDEFINITION: return "GraphDefinition";
12648            case GROUP: return "Group";
12649            case GUIDANCERESPONSE: return "GuidanceResponse";
12650            case HEALTHCARESERVICE: return "HealthcareService";
12651            case IMAGINGSTUDY: return "ImagingStudy";
12652            case IMMUNIZATION: return "Immunization";
12653            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
12654            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
12655            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
12656            case INSURANCEPLAN: return "InsurancePlan";
12657            case INVOICE: return "Invoice";
12658            case LIBRARY: return "Library";
12659            case LINKAGE: return "Linkage";
12660            case LIST: return "List";
12661            case LOCATION: return "Location";
12662            case MEASURE: return "Measure";
12663            case MEASUREREPORT: return "MeasureReport";
12664            case MEDIA: return "Media";
12665            case MEDICATION: return "Medication";
12666            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
12667            case MEDICATIONDISPENSE: return "MedicationDispense";
12668            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
12669            case MEDICATIONREQUEST: return "MedicationRequest";
12670            case MEDICATIONSTATEMENT: return "MedicationStatement";
12671            case MEDICINALPRODUCT: return "MedicinalProduct";
12672            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
12673            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
12674            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
12675            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
12676            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
12677            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
12678            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
12679            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
12680            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
12681            case MESSAGEDEFINITION: return "MessageDefinition";
12682            case MESSAGEHEADER: return "MessageHeader";
12683            case MOLECULARSEQUENCE: return "MolecularSequence";
12684            case NAMINGSYSTEM: return "NamingSystem";
12685            case NUTRITIONORDER: return "NutritionOrder";
12686            case OBSERVATION: return "Observation";
12687            case OBSERVATIONDEFINITION: return "ObservationDefinition";
12688            case OPERATIONDEFINITION: return "OperationDefinition";
12689            case OPERATIONOUTCOME: return "OperationOutcome";
12690            case ORGANIZATION: return "Organization";
12691            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
12692            case PARAMETERS: return "Parameters";
12693            case PATIENT: return "Patient";
12694            case PAYMENTNOTICE: return "PaymentNotice";
12695            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
12696            case PERSON: return "Person";
12697            case PLANDEFINITION: return "PlanDefinition";
12698            case PRACTITIONER: return "Practitioner";
12699            case PRACTITIONERROLE: return "PractitionerRole";
12700            case PROCEDURE: return "Procedure";
12701            case PROVENANCE: return "Provenance";
12702            case QUESTIONNAIRE: return "Questionnaire";
12703            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
12704            case RELATEDPERSON: return "RelatedPerson";
12705            case REQUESTGROUP: return "RequestGroup";
12706            case RESEARCHDEFINITION: return "ResearchDefinition";
12707            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
12708            case RESEARCHSTUDY: return "ResearchStudy";
12709            case RESEARCHSUBJECT: return "ResearchSubject";
12710            case RESOURCE: return "Resource";
12711            case RISKASSESSMENT: return "RiskAssessment";
12712            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
12713            case SCHEDULE: return "Schedule";
12714            case SEARCHPARAMETER: return "SearchParameter";
12715            case SERVICEREQUEST: return "ServiceRequest";
12716            case SLOT: return "Slot";
12717            case SPECIMEN: return "Specimen";
12718            case SPECIMENDEFINITION: return "SpecimenDefinition";
12719            case STRUCTUREDEFINITION: return "StructureDefinition";
12720            case STRUCTUREMAP: return "StructureMap";
12721            case SUBSCRIPTION: return "Subscription";
12722            case SUBSTANCE: return "Substance";
12723            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
12724            case SUBSTANCEPOLYMER: return "SubstancePolymer";
12725            case SUBSTANCEPROTEIN: return "SubstanceProtein";
12726            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
12727            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
12728            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
12729            case SUPPLYDELIVERY: return "SupplyDelivery";
12730            case SUPPLYREQUEST: return "SupplyRequest";
12731            case TASK: return "Task";
12732            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
12733            case TESTREPORT: return "TestReport";
12734            case TESTSCRIPT: return "TestScript";
12735            case VALUESET: return "ValueSet";
12736            case VERIFICATIONRESULT: return "VerificationResult";
12737            case VISIONPRESCRIPTION: return "VisionPrescription";
12738            default: return "?";
12739          }
12740        }
12741    }
12742
12743  public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> {
12744    public ResourceType fromCode(String codeString) throws IllegalArgumentException {
12745      if (codeString == null || "".equals(codeString))
12746            if (codeString == null || "".equals(codeString))
12747                return null;
12748        if ("Account".equals(codeString))
12749          return ResourceType.ACCOUNT;
12750        if ("ActivityDefinition".equals(codeString))
12751          return ResourceType.ACTIVITYDEFINITION;
12752        if ("AdverseEvent".equals(codeString))
12753          return ResourceType.ADVERSEEVENT;
12754        if ("AllergyIntolerance".equals(codeString))
12755          return ResourceType.ALLERGYINTOLERANCE;
12756        if ("Appointment".equals(codeString))
12757          return ResourceType.APPOINTMENT;
12758        if ("AppointmentResponse".equals(codeString))
12759          return ResourceType.APPOINTMENTRESPONSE;
12760        if ("AuditEvent".equals(codeString))
12761          return ResourceType.AUDITEVENT;
12762        if ("Basic".equals(codeString))
12763          return ResourceType.BASIC;
12764        if ("Binary".equals(codeString))
12765          return ResourceType.BINARY;
12766        if ("BiologicallyDerivedProduct".equals(codeString))
12767          return ResourceType.BIOLOGICALLYDERIVEDPRODUCT;
12768        if ("BodyStructure".equals(codeString))
12769          return ResourceType.BODYSTRUCTURE;
12770        if ("Bundle".equals(codeString))
12771          return ResourceType.BUNDLE;
12772        if ("CapabilityStatement".equals(codeString))
12773          return ResourceType.CAPABILITYSTATEMENT;
12774        if ("CarePlan".equals(codeString))
12775          return ResourceType.CAREPLAN;
12776        if ("CareTeam".equals(codeString))
12777          return ResourceType.CARETEAM;
12778        if ("CatalogEntry".equals(codeString))
12779          return ResourceType.CATALOGENTRY;
12780        if ("ChargeItem".equals(codeString))
12781          return ResourceType.CHARGEITEM;
12782        if ("ChargeItemDefinition".equals(codeString))
12783          return ResourceType.CHARGEITEMDEFINITION;
12784        if ("Claim".equals(codeString))
12785          return ResourceType.CLAIM;
12786        if ("ClaimResponse".equals(codeString))
12787          return ResourceType.CLAIMRESPONSE;
12788        if ("ClinicalImpression".equals(codeString))
12789          return ResourceType.CLINICALIMPRESSION;
12790        if ("CodeSystem".equals(codeString))
12791          return ResourceType.CODESYSTEM;
12792        if ("Communication".equals(codeString))
12793          return ResourceType.COMMUNICATION;
12794        if ("CommunicationRequest".equals(codeString))
12795          return ResourceType.COMMUNICATIONREQUEST;
12796        if ("CompartmentDefinition".equals(codeString))
12797          return ResourceType.COMPARTMENTDEFINITION;
12798        if ("Composition".equals(codeString))
12799          return ResourceType.COMPOSITION;
12800        if ("ConceptMap".equals(codeString))
12801          return ResourceType.CONCEPTMAP;
12802        if ("Condition".equals(codeString))
12803          return ResourceType.CONDITION;
12804        if ("Consent".equals(codeString))
12805          return ResourceType.CONSENT;
12806        if ("Contract".equals(codeString))
12807          return ResourceType.CONTRACT;
12808        if ("Coverage".equals(codeString))
12809          return ResourceType.COVERAGE;
12810        if ("CoverageEligibilityRequest".equals(codeString))
12811          return ResourceType.COVERAGEELIGIBILITYREQUEST;
12812        if ("CoverageEligibilityResponse".equals(codeString))
12813          return ResourceType.COVERAGEELIGIBILITYRESPONSE;
12814        if ("DetectedIssue".equals(codeString))
12815          return ResourceType.DETECTEDISSUE;
12816        if ("Device".equals(codeString))
12817          return ResourceType.DEVICE;
12818        if ("DeviceDefinition".equals(codeString))
12819          return ResourceType.DEVICEDEFINITION;
12820        if ("DeviceMetric".equals(codeString))
12821          return ResourceType.DEVICEMETRIC;
12822        if ("DeviceRequest".equals(codeString))
12823          return ResourceType.DEVICEREQUEST;
12824        if ("DeviceUseStatement".equals(codeString))
12825          return ResourceType.DEVICEUSESTATEMENT;
12826        if ("DiagnosticReport".equals(codeString))
12827          return ResourceType.DIAGNOSTICREPORT;
12828        if ("DocumentManifest".equals(codeString))
12829          return ResourceType.DOCUMENTMANIFEST;
12830        if ("DocumentReference".equals(codeString))
12831          return ResourceType.DOCUMENTREFERENCE;
12832        if ("DomainResource".equals(codeString))
12833          return ResourceType.DOMAINRESOURCE;
12834        if ("EffectEvidenceSynthesis".equals(codeString))
12835          return ResourceType.EFFECTEVIDENCESYNTHESIS;
12836        if ("Encounter".equals(codeString))
12837          return ResourceType.ENCOUNTER;
12838        if ("Endpoint".equals(codeString))
12839          return ResourceType.ENDPOINT;
12840        if ("EnrollmentRequest".equals(codeString))
12841          return ResourceType.ENROLLMENTREQUEST;
12842        if ("EnrollmentResponse".equals(codeString))
12843          return ResourceType.ENROLLMENTRESPONSE;
12844        if ("EpisodeOfCare".equals(codeString))
12845          return ResourceType.EPISODEOFCARE;
12846        if ("EventDefinition".equals(codeString))
12847          return ResourceType.EVENTDEFINITION;
12848        if ("Evidence".equals(codeString))
12849          return ResourceType.EVIDENCE;
12850        if ("EvidenceVariable".equals(codeString))
12851          return ResourceType.EVIDENCEVARIABLE;
12852        if ("ExampleScenario".equals(codeString))
12853          return ResourceType.EXAMPLESCENARIO;
12854        if ("ExplanationOfBenefit".equals(codeString))
12855          return ResourceType.EXPLANATIONOFBENEFIT;
12856        if ("FamilyMemberHistory".equals(codeString))
12857          return ResourceType.FAMILYMEMBERHISTORY;
12858        if ("Flag".equals(codeString))
12859          return ResourceType.FLAG;
12860        if ("Goal".equals(codeString))
12861          return ResourceType.GOAL;
12862        if ("GraphDefinition".equals(codeString))
12863          return ResourceType.GRAPHDEFINITION;
12864        if ("Group".equals(codeString))
12865          return ResourceType.GROUP;
12866        if ("GuidanceResponse".equals(codeString))
12867          return ResourceType.GUIDANCERESPONSE;
12868        if ("HealthcareService".equals(codeString))
12869          return ResourceType.HEALTHCARESERVICE;
12870        if ("ImagingStudy".equals(codeString))
12871          return ResourceType.IMAGINGSTUDY;
12872        if ("Immunization".equals(codeString))
12873          return ResourceType.IMMUNIZATION;
12874        if ("ImmunizationEvaluation".equals(codeString))
12875          return ResourceType.IMMUNIZATIONEVALUATION;
12876        if ("ImmunizationRecommendation".equals(codeString))
12877          return ResourceType.IMMUNIZATIONRECOMMENDATION;
12878        if ("ImplementationGuide".equals(codeString))
12879          return ResourceType.IMPLEMENTATIONGUIDE;
12880        if ("InsurancePlan".equals(codeString))
12881          return ResourceType.INSURANCEPLAN;
12882        if ("Invoice".equals(codeString))
12883          return ResourceType.INVOICE;
12884        if ("Library".equals(codeString))
12885          return ResourceType.LIBRARY;
12886        if ("Linkage".equals(codeString))
12887          return ResourceType.LINKAGE;
12888        if ("List".equals(codeString))
12889          return ResourceType.LIST;
12890        if ("Location".equals(codeString))
12891          return ResourceType.LOCATION;
12892        if ("Measure".equals(codeString))
12893          return ResourceType.MEASURE;
12894        if ("MeasureReport".equals(codeString))
12895          return ResourceType.MEASUREREPORT;
12896        if ("Media".equals(codeString))
12897          return ResourceType.MEDIA;
12898        if ("Medication".equals(codeString))
12899          return ResourceType.MEDICATION;
12900        if ("MedicationAdministration".equals(codeString))
12901          return ResourceType.MEDICATIONADMINISTRATION;
12902        if ("MedicationDispense".equals(codeString))
12903          return ResourceType.MEDICATIONDISPENSE;
12904        if ("MedicationKnowledge".equals(codeString))
12905          return ResourceType.MEDICATIONKNOWLEDGE;
12906        if ("MedicationRequest".equals(codeString))
12907          return ResourceType.MEDICATIONREQUEST;
12908        if ("MedicationStatement".equals(codeString))
12909          return ResourceType.MEDICATIONSTATEMENT;
12910        if ("MedicinalProduct".equals(codeString))
12911          return ResourceType.MEDICINALPRODUCT;
12912        if ("MedicinalProductAuthorization".equals(codeString))
12913          return ResourceType.MEDICINALPRODUCTAUTHORIZATION;
12914        if ("MedicinalProductContraindication".equals(codeString))
12915          return ResourceType.MEDICINALPRODUCTCONTRAINDICATION;
12916        if ("MedicinalProductIndication".equals(codeString))
12917          return ResourceType.MEDICINALPRODUCTINDICATION;
12918        if ("MedicinalProductIngredient".equals(codeString))
12919          return ResourceType.MEDICINALPRODUCTINGREDIENT;
12920        if ("MedicinalProductInteraction".equals(codeString))
12921          return ResourceType.MEDICINALPRODUCTINTERACTION;
12922        if ("MedicinalProductManufactured".equals(codeString))
12923          return ResourceType.MEDICINALPRODUCTMANUFACTURED;
12924        if ("MedicinalProductPackaged".equals(codeString))
12925          return ResourceType.MEDICINALPRODUCTPACKAGED;
12926        if ("MedicinalProductPharmaceutical".equals(codeString))
12927          return ResourceType.MEDICINALPRODUCTPHARMACEUTICAL;
12928        if ("MedicinalProductUndesirableEffect".equals(codeString))
12929          return ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
12930        if ("MessageDefinition".equals(codeString))
12931          return ResourceType.MESSAGEDEFINITION;
12932        if ("MessageHeader".equals(codeString))
12933          return ResourceType.MESSAGEHEADER;
12934        if ("MolecularSequence".equals(codeString))
12935          return ResourceType.MOLECULARSEQUENCE;
12936        if ("NamingSystem".equals(codeString))
12937          return ResourceType.NAMINGSYSTEM;
12938        if ("NutritionOrder".equals(codeString))
12939          return ResourceType.NUTRITIONORDER;
12940        if ("Observation".equals(codeString))
12941          return ResourceType.OBSERVATION;
12942        if ("ObservationDefinition".equals(codeString))
12943          return ResourceType.OBSERVATIONDEFINITION;
12944        if ("OperationDefinition".equals(codeString))
12945          return ResourceType.OPERATIONDEFINITION;
12946        if ("OperationOutcome".equals(codeString))
12947          return ResourceType.OPERATIONOUTCOME;
12948        if ("Organization".equals(codeString))
12949          return ResourceType.ORGANIZATION;
12950        if ("OrganizationAffiliation".equals(codeString))
12951          return ResourceType.ORGANIZATIONAFFILIATION;
12952        if ("Parameters".equals(codeString))
12953          return ResourceType.PARAMETERS;
12954        if ("Patient".equals(codeString))
12955          return ResourceType.PATIENT;
12956        if ("PaymentNotice".equals(codeString))
12957          return ResourceType.PAYMENTNOTICE;
12958        if ("PaymentReconciliation".equals(codeString))
12959          return ResourceType.PAYMENTRECONCILIATION;
12960        if ("Person".equals(codeString))
12961          return ResourceType.PERSON;
12962        if ("PlanDefinition".equals(codeString))
12963          return ResourceType.PLANDEFINITION;
12964        if ("Practitioner".equals(codeString))
12965          return ResourceType.PRACTITIONER;
12966        if ("PractitionerRole".equals(codeString))
12967          return ResourceType.PRACTITIONERROLE;
12968        if ("Procedure".equals(codeString))
12969          return ResourceType.PROCEDURE;
12970        if ("Provenance".equals(codeString))
12971          return ResourceType.PROVENANCE;
12972        if ("Questionnaire".equals(codeString))
12973          return ResourceType.QUESTIONNAIRE;
12974        if ("QuestionnaireResponse".equals(codeString))
12975          return ResourceType.QUESTIONNAIRERESPONSE;
12976        if ("RelatedPerson".equals(codeString))
12977          return ResourceType.RELATEDPERSON;
12978        if ("RequestGroup".equals(codeString))
12979          return ResourceType.REQUESTGROUP;
12980        if ("ResearchDefinition".equals(codeString))
12981          return ResourceType.RESEARCHDEFINITION;
12982        if ("ResearchElementDefinition".equals(codeString))
12983          return ResourceType.RESEARCHELEMENTDEFINITION;
12984        if ("ResearchStudy".equals(codeString))
12985          return ResourceType.RESEARCHSTUDY;
12986        if ("ResearchSubject".equals(codeString))
12987          return ResourceType.RESEARCHSUBJECT;
12988        if ("Resource".equals(codeString))
12989          return ResourceType.RESOURCE;
12990        if ("RiskAssessment".equals(codeString))
12991          return ResourceType.RISKASSESSMENT;
12992        if ("RiskEvidenceSynthesis".equals(codeString))
12993          return ResourceType.RISKEVIDENCESYNTHESIS;
12994        if ("Schedule".equals(codeString))
12995          return ResourceType.SCHEDULE;
12996        if ("SearchParameter".equals(codeString))
12997          return ResourceType.SEARCHPARAMETER;
12998        if ("ServiceRequest".equals(codeString))
12999          return ResourceType.SERVICEREQUEST;
13000        if ("Slot".equals(codeString))
13001          return ResourceType.SLOT;
13002        if ("Specimen".equals(codeString))
13003          return ResourceType.SPECIMEN;
13004        if ("SpecimenDefinition".equals(codeString))
13005          return ResourceType.SPECIMENDEFINITION;
13006        if ("StructureDefinition".equals(codeString))
13007          return ResourceType.STRUCTUREDEFINITION;
13008        if ("StructureMap".equals(codeString))
13009          return ResourceType.STRUCTUREMAP;
13010        if ("Subscription".equals(codeString))
13011          return ResourceType.SUBSCRIPTION;
13012        if ("Substance".equals(codeString))
13013          return ResourceType.SUBSTANCE;
13014        if ("SubstanceNucleicAcid".equals(codeString))
13015          return ResourceType.SUBSTANCENUCLEICACID;
13016        if ("SubstancePolymer".equals(codeString))
13017          return ResourceType.SUBSTANCEPOLYMER;
13018        if ("SubstanceProtein".equals(codeString))
13019          return ResourceType.SUBSTANCEPROTEIN;
13020        if ("SubstanceReferenceInformation".equals(codeString))
13021          return ResourceType.SUBSTANCEREFERENCEINFORMATION;
13022        if ("SubstanceSourceMaterial".equals(codeString))
13023          return ResourceType.SUBSTANCESOURCEMATERIAL;
13024        if ("SubstanceSpecification".equals(codeString))
13025          return ResourceType.SUBSTANCESPECIFICATION;
13026        if ("SupplyDelivery".equals(codeString))
13027          return ResourceType.SUPPLYDELIVERY;
13028        if ("SupplyRequest".equals(codeString))
13029          return ResourceType.SUPPLYREQUEST;
13030        if ("Task".equals(codeString))
13031          return ResourceType.TASK;
13032        if ("TerminologyCapabilities".equals(codeString))
13033          return ResourceType.TERMINOLOGYCAPABILITIES;
13034        if ("TestReport".equals(codeString))
13035          return ResourceType.TESTREPORT;
13036        if ("TestScript".equals(codeString))
13037          return ResourceType.TESTSCRIPT;
13038        if ("ValueSet".equals(codeString))
13039          return ResourceType.VALUESET;
13040        if ("VerificationResult".equals(codeString))
13041          return ResourceType.VERIFICATIONRESULT;
13042        if ("VisionPrescription".equals(codeString))
13043          return ResourceType.VISIONPRESCRIPTION;
13044        throw new IllegalArgumentException("Unknown ResourceType code '"+codeString+"'");
13045        }
13046        public Enumeration<ResourceType> fromType(Base code) throws FHIRException {
13047          if (code == null)
13048            return null;
13049          if (code.isEmpty())
13050            return new Enumeration<ResourceType>(this);
13051          String codeString = ((PrimitiveType) code).asStringValue();
13052          if (codeString == null || "".equals(codeString))
13053            return null;
13054        if ("Account".equals(codeString))
13055          return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT);
13056        if ("ActivityDefinition".equals(codeString))
13057          return new Enumeration<ResourceType>(this, ResourceType.ACTIVITYDEFINITION);
13058        if ("AdverseEvent".equals(codeString))
13059          return new Enumeration<ResourceType>(this, ResourceType.ADVERSEEVENT);
13060        if ("AllergyIntolerance".equals(codeString))
13061          return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE);
13062        if ("Appointment".equals(codeString))
13063          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT);
13064        if ("AppointmentResponse".equals(codeString))
13065          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE);
13066        if ("AuditEvent".equals(codeString))
13067          return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT);
13068        if ("Basic".equals(codeString))
13069          return new Enumeration<ResourceType>(this, ResourceType.BASIC);
13070        if ("Binary".equals(codeString))
13071          return new Enumeration<ResourceType>(this, ResourceType.BINARY);
13072        if ("BiologicallyDerivedProduct".equals(codeString))
13073          return new Enumeration<ResourceType>(this, ResourceType.BIOLOGICALLYDERIVEDPRODUCT);
13074        if ("BodyStructure".equals(codeString))
13075          return new Enumeration<ResourceType>(this, ResourceType.BODYSTRUCTURE);
13076        if ("Bundle".equals(codeString))
13077          return new Enumeration<ResourceType>(this, ResourceType.BUNDLE);
13078        if ("CapabilityStatement".equals(codeString))
13079          return new Enumeration<ResourceType>(this, ResourceType.CAPABILITYSTATEMENT);
13080        if ("CarePlan".equals(codeString))
13081          return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN);
13082        if ("CareTeam".equals(codeString))
13083          return new Enumeration<ResourceType>(this, ResourceType.CARETEAM);
13084        if ("CatalogEntry".equals(codeString))
13085          return new Enumeration<ResourceType>(this, ResourceType.CATALOGENTRY);
13086        if ("ChargeItem".equals(codeString))
13087          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEM);
13088        if ("ChargeItemDefinition".equals(codeString))
13089          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEMDEFINITION);
13090        if ("Claim".equals(codeString))
13091          return new Enumeration<ResourceType>(this, ResourceType.CLAIM);
13092        if ("ClaimResponse".equals(codeString))
13093          return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE);
13094        if ("ClinicalImpression".equals(codeString))
13095          return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION);
13096        if ("CodeSystem".equals(codeString))
13097          return new Enumeration<ResourceType>(this, ResourceType.CODESYSTEM);
13098        if ("Communication".equals(codeString))
13099          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION);
13100        if ("CommunicationRequest".equals(codeString))
13101          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST);
13102        if ("CompartmentDefinition".equals(codeString))
13103          return new Enumeration<ResourceType>(this, ResourceType.COMPARTMENTDEFINITION);
13104        if ("Composition".equals(codeString))
13105          return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION);
13106        if ("ConceptMap".equals(codeString))
13107          return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP);
13108        if ("Condition".equals(codeString))
13109          return new Enumeration<ResourceType>(this, ResourceType.CONDITION);
13110        if ("Consent".equals(codeString))
13111          return new Enumeration<ResourceType>(this, ResourceType.CONSENT);
13112        if ("Contract".equals(codeString))
13113          return new Enumeration<ResourceType>(this, ResourceType.CONTRACT);
13114        if ("Coverage".equals(codeString))
13115          return new Enumeration<ResourceType>(this, ResourceType.COVERAGE);
13116        if ("CoverageEligibilityRequest".equals(codeString))
13117          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYREQUEST);
13118        if ("CoverageEligibilityResponse".equals(codeString))
13119          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYRESPONSE);
13120        if ("DetectedIssue".equals(codeString))
13121          return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE);
13122        if ("Device".equals(codeString))
13123          return new Enumeration<ResourceType>(this, ResourceType.DEVICE);
13124        if ("DeviceDefinition".equals(codeString))
13125          return new Enumeration<ResourceType>(this, ResourceType.DEVICEDEFINITION);
13126        if ("DeviceMetric".equals(codeString))
13127          return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC);
13128        if ("DeviceRequest".equals(codeString))
13129          return new Enumeration<ResourceType>(this, ResourceType.DEVICEREQUEST);
13130        if ("DeviceUseStatement".equals(codeString))
13131          return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT);
13132        if ("DiagnosticReport".equals(codeString))
13133          return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT);
13134        if ("DocumentManifest".equals(codeString))
13135          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST);
13136        if ("DocumentReference".equals(codeString))
13137          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE);
13138        if ("DomainResource".equals(codeString))
13139          return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE);
13140        if ("EffectEvidenceSynthesis".equals(codeString))
13141          return new Enumeration<ResourceType>(this, ResourceType.EFFECTEVIDENCESYNTHESIS);
13142        if ("Encounter".equals(codeString))
13143          return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER);
13144        if ("Endpoint".equals(codeString))
13145          return new Enumeration<ResourceType>(this, ResourceType.ENDPOINT);
13146        if ("EnrollmentRequest".equals(codeString))
13147          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST);
13148        if ("EnrollmentResponse".equals(codeString))
13149          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE);
13150        if ("EpisodeOfCare".equals(codeString))
13151          return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE);
13152        if ("EventDefinition".equals(codeString))
13153          return new Enumeration<ResourceType>(this, ResourceType.EVENTDEFINITION);
13154        if ("Evidence".equals(codeString))
13155          return new Enumeration<ResourceType>(this, ResourceType.EVIDENCE);
13156        if ("EvidenceVariable".equals(codeString))
13157          return new Enumeration<ResourceType>(this, ResourceType.EVIDENCEVARIABLE);
13158        if ("ExampleScenario".equals(codeString))
13159          return new Enumeration<ResourceType>(this, ResourceType.EXAMPLESCENARIO);
13160        if ("ExplanationOfBenefit".equals(codeString))
13161          return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT);
13162        if ("FamilyMemberHistory".equals(codeString))
13163          return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY);
13164        if ("Flag".equals(codeString))
13165          return new Enumeration<ResourceType>(this, ResourceType.FLAG);
13166        if ("Goal".equals(codeString))
13167          return new Enumeration<ResourceType>(this, ResourceType.GOAL);
13168        if ("GraphDefinition".equals(codeString))
13169          return new Enumeration<ResourceType>(this, ResourceType.GRAPHDEFINITION);
13170        if ("Group".equals(codeString))
13171          return new Enumeration<ResourceType>(this, ResourceType.GROUP);
13172        if ("GuidanceResponse".equals(codeString))
13173          return new Enumeration<ResourceType>(this, ResourceType.GUIDANCERESPONSE);
13174        if ("HealthcareService".equals(codeString))
13175          return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE);
13176        if ("ImagingStudy".equals(codeString))
13177          return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY);
13178        if ("Immunization".equals(codeString))
13179          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION);
13180        if ("ImmunizationEvaluation".equals(codeString))
13181          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONEVALUATION);
13182        if ("ImmunizationRecommendation".equals(codeString))
13183          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION);
13184        if ("ImplementationGuide".equals(codeString))
13185          return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE);
13186        if ("InsurancePlan".equals(codeString))
13187          return new Enumeration<ResourceType>(this, ResourceType.INSURANCEPLAN);
13188        if ("Invoice".equals(codeString))
13189          return new Enumeration<ResourceType>(this, ResourceType.INVOICE);
13190        if ("Library".equals(codeString))
13191          return new Enumeration<ResourceType>(this, ResourceType.LIBRARY);
13192        if ("Linkage".equals(codeString))
13193          return new Enumeration<ResourceType>(this, ResourceType.LINKAGE);
13194        if ("List".equals(codeString))
13195          return new Enumeration<ResourceType>(this, ResourceType.LIST);
13196        if ("Location".equals(codeString))
13197          return new Enumeration<ResourceType>(this, ResourceType.LOCATION);
13198        if ("Measure".equals(codeString))
13199          return new Enumeration<ResourceType>(this, ResourceType.MEASURE);
13200        if ("MeasureReport".equals(codeString))
13201          return new Enumeration<ResourceType>(this, ResourceType.MEASUREREPORT);
13202        if ("Media".equals(codeString))
13203          return new Enumeration<ResourceType>(this, ResourceType.MEDIA);
13204        if ("Medication".equals(codeString))
13205          return new Enumeration<ResourceType>(this, ResourceType.MEDICATION);
13206        if ("MedicationAdministration".equals(codeString))
13207          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION);
13208        if ("MedicationDispense".equals(codeString))
13209          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE);
13210        if ("MedicationKnowledge".equals(codeString))
13211          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONKNOWLEDGE);
13212        if ("MedicationRequest".equals(codeString))
13213          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONREQUEST);
13214        if ("MedicationStatement".equals(codeString))
13215          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT);
13216        if ("MedicinalProduct".equals(codeString))
13217          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCT);
13218        if ("MedicinalProductAuthorization".equals(codeString))
13219          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTAUTHORIZATION);
13220        if ("MedicinalProductContraindication".equals(codeString))
13221          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCONTRAINDICATION);
13222        if ("MedicinalProductIndication".equals(codeString))
13223          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINDICATION);
13224        if ("MedicinalProductIngredient".equals(codeString))
13225          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINGREDIENT);
13226        if ("MedicinalProductInteraction".equals(codeString))
13227          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINTERACTION);
13228        if ("MedicinalProductManufactured".equals(codeString))
13229          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTMANUFACTURED);
13230        if ("MedicinalProductPackaged".equals(codeString))
13231          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPACKAGED);
13232        if ("MedicinalProductPharmaceutical".equals(codeString))
13233          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPHARMACEUTICAL);
13234        if ("MedicinalProductUndesirableEffect".equals(codeString))
13235          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
13236        if ("MessageDefinition".equals(codeString))
13237          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEDEFINITION);
13238        if ("MessageHeader".equals(codeString))
13239          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER);
13240        if ("MolecularSequence".equals(codeString))
13241          return new Enumeration<ResourceType>(this, ResourceType.MOLECULARSEQUENCE);
13242        if ("NamingSystem".equals(codeString))
13243          return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM);
13244        if ("NutritionOrder".equals(codeString))
13245          return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER);
13246        if ("Observation".equals(codeString))
13247          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION);
13248        if ("ObservationDefinition".equals(codeString))
13249          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATIONDEFINITION);
13250        if ("OperationDefinition".equals(codeString))
13251          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION);
13252        if ("OperationOutcome".equals(codeString))
13253          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME);
13254        if ("Organization".equals(codeString))
13255          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION);
13256        if ("OrganizationAffiliation".equals(codeString))
13257          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATIONAFFILIATION);
13258        if ("Parameters".equals(codeString))
13259          return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS);
13260        if ("Patient".equals(codeString))
13261          return new Enumeration<ResourceType>(this, ResourceType.PATIENT);
13262        if ("PaymentNotice".equals(codeString))
13263          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE);
13264        if ("PaymentReconciliation".equals(codeString))
13265          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION);
13266        if ("Person".equals(codeString))
13267          return new Enumeration<ResourceType>(this, ResourceType.PERSON);
13268        if ("PlanDefinition".equals(codeString))
13269          return new Enumeration<ResourceType>(this, ResourceType.PLANDEFINITION);
13270        if ("Practitioner".equals(codeString))
13271          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER);
13272        if ("PractitionerRole".equals(codeString))
13273          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONERROLE);
13274        if ("Procedure".equals(codeString))
13275          return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE);
13276        if ("Provenance".equals(codeString))
13277          return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE);
13278        if ("Questionnaire".equals(codeString))
13279          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE);
13280        if ("QuestionnaireResponse".equals(codeString))
13281          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE);
13282        if ("RelatedPerson".equals(codeString))
13283          return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON);
13284        if ("RequestGroup".equals(codeString))
13285          return new Enumeration<ResourceType>(this, ResourceType.REQUESTGROUP);
13286        if ("ResearchDefinition".equals(codeString))
13287          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHDEFINITION);
13288        if ("ResearchElementDefinition".equals(codeString))
13289          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHELEMENTDEFINITION);
13290        if ("ResearchStudy".equals(codeString))
13291          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSTUDY);
13292        if ("ResearchSubject".equals(codeString))
13293          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSUBJECT);
13294        if ("Resource".equals(codeString))
13295          return new Enumeration<ResourceType>(this, ResourceType.RESOURCE);
13296        if ("RiskAssessment".equals(codeString))
13297          return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT);
13298        if ("RiskEvidenceSynthesis".equals(codeString))
13299          return new Enumeration<ResourceType>(this, ResourceType.RISKEVIDENCESYNTHESIS);
13300        if ("Schedule".equals(codeString))
13301          return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE);
13302        if ("SearchParameter".equals(codeString))
13303          return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER);
13304        if ("ServiceRequest".equals(codeString))
13305          return new Enumeration<ResourceType>(this, ResourceType.SERVICEREQUEST);
13306        if ("Slot".equals(codeString))
13307          return new Enumeration<ResourceType>(this, ResourceType.SLOT);
13308        if ("Specimen".equals(codeString))
13309          return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN);
13310        if ("SpecimenDefinition".equals(codeString))
13311          return new Enumeration<ResourceType>(this, ResourceType.SPECIMENDEFINITION);
13312        if ("StructureDefinition".equals(codeString))
13313          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION);
13314        if ("StructureMap".equals(codeString))
13315          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREMAP);
13316        if ("Subscription".equals(codeString))
13317          return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION);
13318        if ("Substance".equals(codeString))
13319          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE);
13320        if ("SubstanceNucleicAcid".equals(codeString))
13321          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCENUCLEICACID);
13322        if ("SubstancePolymer".equals(codeString))
13323          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPOLYMER);
13324        if ("SubstanceProtein".equals(codeString))
13325          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPROTEIN);
13326        if ("SubstanceReferenceInformation".equals(codeString))
13327          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEREFERENCEINFORMATION);
13328        if ("SubstanceSourceMaterial".equals(codeString))
13329          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESOURCEMATERIAL);
13330        if ("SubstanceSpecification".equals(codeString))
13331          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESPECIFICATION);
13332        if ("SupplyDelivery".equals(codeString))
13333          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY);
13334        if ("SupplyRequest".equals(codeString))
13335          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST);
13336        if ("Task".equals(codeString))
13337          return new Enumeration<ResourceType>(this, ResourceType.TASK);
13338        if ("TerminologyCapabilities".equals(codeString))
13339          return new Enumeration<ResourceType>(this, ResourceType.TERMINOLOGYCAPABILITIES);
13340        if ("TestReport".equals(codeString))
13341          return new Enumeration<ResourceType>(this, ResourceType.TESTREPORT);
13342        if ("TestScript".equals(codeString))
13343          return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT);
13344        if ("ValueSet".equals(codeString))
13345          return new Enumeration<ResourceType>(this, ResourceType.VALUESET);
13346        if ("VerificationResult".equals(codeString))
13347          return new Enumeration<ResourceType>(this, ResourceType.VERIFICATIONRESULT);
13348        if ("VisionPrescription".equals(codeString))
13349          return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION);
13350        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
13351        }
13352    public String toCode(ResourceType code) {
13353      if (code == ResourceType.ACCOUNT)
13354        return "Account";
13355      if (code == ResourceType.ACTIVITYDEFINITION)
13356        return "ActivityDefinition";
13357      if (code == ResourceType.ADVERSEEVENT)
13358        return "AdverseEvent";
13359      if (code == ResourceType.ALLERGYINTOLERANCE)
13360        return "AllergyIntolerance";
13361      if (code == ResourceType.APPOINTMENT)
13362        return "Appointment";
13363      if (code == ResourceType.APPOINTMENTRESPONSE)
13364        return "AppointmentResponse";
13365      if (code == ResourceType.AUDITEVENT)
13366        return "AuditEvent";
13367      if (code == ResourceType.BASIC)
13368        return "Basic";
13369      if (code == ResourceType.BINARY)
13370        return "Binary";
13371      if (code == ResourceType.BIOLOGICALLYDERIVEDPRODUCT)
13372        return "BiologicallyDerivedProduct";
13373      if (code == ResourceType.BODYSTRUCTURE)
13374        return "BodyStructure";
13375      if (code == ResourceType.BUNDLE)
13376        return "Bundle";
13377      if (code == ResourceType.CAPABILITYSTATEMENT)
13378        return "CapabilityStatement";
13379      if (code == ResourceType.CAREPLAN)
13380        return "CarePlan";
13381      if (code == ResourceType.CARETEAM)
13382        return "CareTeam";
13383      if (code == ResourceType.CATALOGENTRY)
13384        return "CatalogEntry";
13385      if (code == ResourceType.CHARGEITEM)
13386        return "ChargeItem";
13387      if (code == ResourceType.CHARGEITEMDEFINITION)
13388        return "ChargeItemDefinition";
13389      if (code == ResourceType.CLAIM)
13390        return "Claim";
13391      if (code == ResourceType.CLAIMRESPONSE)
13392        return "ClaimResponse";
13393      if (code == ResourceType.CLINICALIMPRESSION)
13394        return "ClinicalImpression";
13395      if (code == ResourceType.CODESYSTEM)
13396        return "CodeSystem";
13397      if (code == ResourceType.COMMUNICATION)
13398        return "Communication";
13399      if (code == ResourceType.COMMUNICATIONREQUEST)
13400        return "CommunicationRequest";
13401      if (code == ResourceType.COMPARTMENTDEFINITION)
13402        return "CompartmentDefinition";
13403      if (code == ResourceType.COMPOSITION)
13404        return "Composition";
13405      if (code == ResourceType.CONCEPTMAP)
13406        return "ConceptMap";
13407      if (code == ResourceType.CONDITION)
13408        return "Condition";
13409      if (code == ResourceType.CONSENT)
13410        return "Consent";
13411      if (code == ResourceType.CONTRACT)
13412        return "Contract";
13413      if (code == ResourceType.COVERAGE)
13414        return "Coverage";
13415      if (code == ResourceType.COVERAGEELIGIBILITYREQUEST)
13416        return "CoverageEligibilityRequest";
13417      if (code == ResourceType.COVERAGEELIGIBILITYRESPONSE)
13418        return "CoverageEligibilityResponse";
13419      if (code == ResourceType.DETECTEDISSUE)
13420        return "DetectedIssue";
13421      if (code == ResourceType.DEVICE)
13422        return "Device";
13423      if (code == ResourceType.DEVICEDEFINITION)
13424        return "DeviceDefinition";
13425      if (code == ResourceType.DEVICEMETRIC)
13426        return "DeviceMetric";
13427      if (code == ResourceType.DEVICEREQUEST)
13428        return "DeviceRequest";
13429      if (code == ResourceType.DEVICEUSESTATEMENT)
13430        return "DeviceUseStatement";
13431      if (code == ResourceType.DIAGNOSTICREPORT)
13432        return "DiagnosticReport";
13433      if (code == ResourceType.DOCUMENTMANIFEST)
13434        return "DocumentManifest";
13435      if (code == ResourceType.DOCUMENTREFERENCE)
13436        return "DocumentReference";
13437      if (code == ResourceType.DOMAINRESOURCE)
13438        return "DomainResource";
13439      if (code == ResourceType.EFFECTEVIDENCESYNTHESIS)
13440        return "EffectEvidenceSynthesis";
13441      if (code == ResourceType.ENCOUNTER)
13442        return "Encounter";
13443      if (code == ResourceType.ENDPOINT)
13444        return "Endpoint";
13445      if (code == ResourceType.ENROLLMENTREQUEST)
13446        return "EnrollmentRequest";
13447      if (code == ResourceType.ENROLLMENTRESPONSE)
13448        return "EnrollmentResponse";
13449      if (code == ResourceType.EPISODEOFCARE)
13450        return "EpisodeOfCare";
13451      if (code == ResourceType.EVENTDEFINITION)
13452        return "EventDefinition";
13453      if (code == ResourceType.EVIDENCE)
13454        return "Evidence";
13455      if (code == ResourceType.EVIDENCEVARIABLE)
13456        return "EvidenceVariable";
13457      if (code == ResourceType.EXAMPLESCENARIO)
13458        return "ExampleScenario";
13459      if (code == ResourceType.EXPLANATIONOFBENEFIT)
13460        return "ExplanationOfBenefit";
13461      if (code == ResourceType.FAMILYMEMBERHISTORY)
13462        return "FamilyMemberHistory";
13463      if (code == ResourceType.FLAG)
13464        return "Flag";
13465      if (code == ResourceType.GOAL)
13466        return "Goal";
13467      if (code == ResourceType.GRAPHDEFINITION)
13468        return "GraphDefinition";
13469      if (code == ResourceType.GROUP)
13470        return "Group";
13471      if (code == ResourceType.GUIDANCERESPONSE)
13472        return "GuidanceResponse";
13473      if (code == ResourceType.HEALTHCARESERVICE)
13474        return "HealthcareService";
13475      if (code == ResourceType.IMAGINGSTUDY)
13476        return "ImagingStudy";
13477      if (code == ResourceType.IMMUNIZATION)
13478        return "Immunization";
13479      if (code == ResourceType.IMMUNIZATIONEVALUATION)
13480        return "ImmunizationEvaluation";
13481      if (code == ResourceType.IMMUNIZATIONRECOMMENDATION)
13482        return "ImmunizationRecommendation";
13483      if (code == ResourceType.IMPLEMENTATIONGUIDE)
13484        return "ImplementationGuide";
13485      if (code == ResourceType.INSURANCEPLAN)
13486        return "InsurancePlan";
13487      if (code == ResourceType.INVOICE)
13488        return "Invoice";
13489      if (code == ResourceType.LIBRARY)
13490        return "Library";
13491      if (code == ResourceType.LINKAGE)
13492        return "Linkage";
13493      if (code == ResourceType.LIST)
13494        return "List";
13495      if (code == ResourceType.LOCATION)
13496        return "Location";
13497      if (code == ResourceType.MEASURE)
13498        return "Measure";
13499      if (code == ResourceType.MEASUREREPORT)
13500        return "MeasureReport";
13501      if (code == ResourceType.MEDIA)
13502        return "Media";
13503      if (code == ResourceType.MEDICATION)
13504        return "Medication";
13505      if (code == ResourceType.MEDICATIONADMINISTRATION)
13506        return "MedicationAdministration";
13507      if (code == ResourceType.MEDICATIONDISPENSE)
13508        return "MedicationDispense";
13509      if (code == ResourceType.MEDICATIONKNOWLEDGE)
13510        return "MedicationKnowledge";
13511      if (code == ResourceType.MEDICATIONREQUEST)
13512        return "MedicationRequest";
13513      if (code == ResourceType.MEDICATIONSTATEMENT)
13514        return "MedicationStatement";
13515      if (code == ResourceType.MEDICINALPRODUCT)
13516        return "MedicinalProduct";
13517      if (code == ResourceType.MEDICINALPRODUCTAUTHORIZATION)
13518        return "MedicinalProductAuthorization";
13519      if (code == ResourceType.MEDICINALPRODUCTCONTRAINDICATION)
13520        return "MedicinalProductContraindication";
13521      if (code == ResourceType.MEDICINALPRODUCTINDICATION)
13522        return "MedicinalProductIndication";
13523      if (code == ResourceType.MEDICINALPRODUCTINGREDIENT)
13524        return "MedicinalProductIngredient";
13525      if (code == ResourceType.MEDICINALPRODUCTINTERACTION)
13526        return "MedicinalProductInteraction";
13527      if (code == ResourceType.MEDICINALPRODUCTMANUFACTURED)
13528        return "MedicinalProductManufactured";
13529      if (code == ResourceType.MEDICINALPRODUCTPACKAGED)
13530        return "MedicinalProductPackaged";
13531      if (code == ResourceType.MEDICINALPRODUCTPHARMACEUTICAL)
13532        return "MedicinalProductPharmaceutical";
13533      if (code == ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
13534        return "MedicinalProductUndesirableEffect";
13535      if (code == ResourceType.MESSAGEDEFINITION)
13536        return "MessageDefinition";
13537      if (code == ResourceType.MESSAGEHEADER)
13538        return "MessageHeader";
13539      if (code == ResourceType.MOLECULARSEQUENCE)
13540        return "MolecularSequence";
13541      if (code == ResourceType.NAMINGSYSTEM)
13542        return "NamingSystem";
13543      if (code == ResourceType.NUTRITIONORDER)
13544        return "NutritionOrder";
13545      if (code == ResourceType.OBSERVATION)
13546        return "Observation";
13547      if (code == ResourceType.OBSERVATIONDEFINITION)
13548        return "ObservationDefinition";
13549      if (code == ResourceType.OPERATIONDEFINITION)
13550        return "OperationDefinition";
13551      if (code == ResourceType.OPERATIONOUTCOME)
13552        return "OperationOutcome";
13553      if (code == ResourceType.ORGANIZATION)
13554        return "Organization";
13555      if (code == ResourceType.ORGANIZATIONAFFILIATION)
13556        return "OrganizationAffiliation";
13557      if (code == ResourceType.PARAMETERS)
13558        return "Parameters";
13559      if (code == ResourceType.PATIENT)
13560        return "Patient";
13561      if (code == ResourceType.PAYMENTNOTICE)
13562        return "PaymentNotice";
13563      if (code == ResourceType.PAYMENTRECONCILIATION)
13564        return "PaymentReconciliation";
13565      if (code == ResourceType.PERSON)
13566        return "Person";
13567      if (code == ResourceType.PLANDEFINITION)
13568        return "PlanDefinition";
13569      if (code == ResourceType.PRACTITIONER)
13570        return "Practitioner";
13571      if (code == ResourceType.PRACTITIONERROLE)
13572        return "PractitionerRole";
13573      if (code == ResourceType.PROCEDURE)
13574        return "Procedure";
13575      if (code == ResourceType.PROVENANCE)
13576        return "Provenance";
13577      if (code == ResourceType.QUESTIONNAIRE)
13578        return "Questionnaire";
13579      if (code == ResourceType.QUESTIONNAIRERESPONSE)
13580        return "QuestionnaireResponse";
13581      if (code == ResourceType.RELATEDPERSON)
13582        return "RelatedPerson";
13583      if (code == ResourceType.REQUESTGROUP)
13584        return "RequestGroup";
13585      if (code == ResourceType.RESEARCHDEFINITION)
13586        return "ResearchDefinition";
13587      if (code == ResourceType.RESEARCHELEMENTDEFINITION)
13588        return "ResearchElementDefinition";
13589      if (code == ResourceType.RESEARCHSTUDY)
13590        return "ResearchStudy";
13591      if (code == ResourceType.RESEARCHSUBJECT)
13592        return "ResearchSubject";
13593      if (code == ResourceType.RESOURCE)
13594        return "Resource";
13595      if (code == ResourceType.RISKASSESSMENT)
13596        return "RiskAssessment";
13597      if (code == ResourceType.RISKEVIDENCESYNTHESIS)
13598        return "RiskEvidenceSynthesis";
13599      if (code == ResourceType.SCHEDULE)
13600        return "Schedule";
13601      if (code == ResourceType.SEARCHPARAMETER)
13602        return "SearchParameter";
13603      if (code == ResourceType.SERVICEREQUEST)
13604        return "ServiceRequest";
13605      if (code == ResourceType.SLOT)
13606        return "Slot";
13607      if (code == ResourceType.SPECIMEN)
13608        return "Specimen";
13609      if (code == ResourceType.SPECIMENDEFINITION)
13610        return "SpecimenDefinition";
13611      if (code == ResourceType.STRUCTUREDEFINITION)
13612        return "StructureDefinition";
13613      if (code == ResourceType.STRUCTUREMAP)
13614        return "StructureMap";
13615      if (code == ResourceType.SUBSCRIPTION)
13616        return "Subscription";
13617      if (code == ResourceType.SUBSTANCE)
13618        return "Substance";
13619      if (code == ResourceType.SUBSTANCENUCLEICACID)
13620        return "SubstanceNucleicAcid";
13621      if (code == ResourceType.SUBSTANCEPOLYMER)
13622        return "SubstancePolymer";
13623      if (code == ResourceType.SUBSTANCEPROTEIN)
13624        return "SubstanceProtein";
13625      if (code == ResourceType.SUBSTANCEREFERENCEINFORMATION)
13626        return "SubstanceReferenceInformation";
13627      if (code == ResourceType.SUBSTANCESOURCEMATERIAL)
13628        return "SubstanceSourceMaterial";
13629      if (code == ResourceType.SUBSTANCESPECIFICATION)
13630        return "SubstanceSpecification";
13631      if (code == ResourceType.SUPPLYDELIVERY)
13632        return "SupplyDelivery";
13633      if (code == ResourceType.SUPPLYREQUEST)
13634        return "SupplyRequest";
13635      if (code == ResourceType.TASK)
13636        return "Task";
13637      if (code == ResourceType.TERMINOLOGYCAPABILITIES)
13638        return "TerminologyCapabilities";
13639      if (code == ResourceType.TESTREPORT)
13640        return "TestReport";
13641      if (code == ResourceType.TESTSCRIPT)
13642        return "TestScript";
13643      if (code == ResourceType.VALUESET)
13644        return "ValueSet";
13645      if (code == ResourceType.VERIFICATIONRESULT)
13646        return "VerificationResult";
13647      if (code == ResourceType.VISIONPRESCRIPTION)
13648        return "VisionPrescription";
13649      return "?";
13650      }
13651    public String toSystem(ResourceType code) {
13652      return code.getSystem();
13653      }
13654    }
13655
13656    public enum SearchParamType {
13657        /**
13658         * Search parameter SHALL be a number (a whole number, or a decimal).
13659         */
13660        NUMBER, 
13661        /**
13662         * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
13663         */
13664        DATE, 
13665        /**
13666         * 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.
13667         */
13668        STRING, 
13669        /**
13670         * 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.
13671         */
13672        TOKEN, 
13673        /**
13674         * A reference to another resource (Reference or canonical).
13675         */
13676        REFERENCE, 
13677        /**
13678         * A composite search parameter that combines a search on two values together.
13679         */
13680        COMPOSITE, 
13681        /**
13682         * A search parameter that searches on a quantity.
13683         */
13684        QUANTITY, 
13685        /**
13686         * A search parameter that searches on a URI (RFC 3986).
13687         */
13688        URI, 
13689        /**
13690         * Special logic applies to this parameter per the description of the search parameter.
13691         */
13692        SPECIAL, 
13693        /**
13694         * added to help the parsers
13695         */
13696        NULL;
13697        public static SearchParamType fromCode(String codeString) throws FHIRException {
13698            if (codeString == null || "".equals(codeString))
13699                return null;
13700        if ("number".equals(codeString))
13701          return NUMBER;
13702        if ("date".equals(codeString))
13703          return DATE;
13704        if ("string".equals(codeString))
13705          return STRING;
13706        if ("token".equals(codeString))
13707          return TOKEN;
13708        if ("reference".equals(codeString))
13709          return REFERENCE;
13710        if ("composite".equals(codeString))
13711          return COMPOSITE;
13712        if ("quantity".equals(codeString))
13713          return QUANTITY;
13714        if ("uri".equals(codeString))
13715          return URI;
13716        if ("special".equals(codeString))
13717          return SPECIAL;
13718        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13719        }
13720        public String toCode() {
13721          switch (this) {
13722            case NUMBER: return "number";
13723            case DATE: return "date";
13724            case STRING: return "string";
13725            case TOKEN: return "token";
13726            case REFERENCE: return "reference";
13727            case COMPOSITE: return "composite";
13728            case QUANTITY: return "quantity";
13729            case URI: return "uri";
13730            case SPECIAL: return "special";
13731            default: return "?";
13732          }
13733        }
13734        public String getSystem() {
13735          switch (this) {
13736            case NUMBER: return "http://hl7.org/fhir/search-param-type";
13737            case DATE: return "http://hl7.org/fhir/search-param-type";
13738            case STRING: return "http://hl7.org/fhir/search-param-type";
13739            case TOKEN: return "http://hl7.org/fhir/search-param-type";
13740            case REFERENCE: return "http://hl7.org/fhir/search-param-type";
13741            case COMPOSITE: return "http://hl7.org/fhir/search-param-type";
13742            case QUANTITY: return "http://hl7.org/fhir/search-param-type";
13743            case URI: return "http://hl7.org/fhir/search-param-type";
13744            case SPECIAL: return "http://hl7.org/fhir/search-param-type";
13745            default: return "?";
13746          }
13747        }
13748        public String getDefinition() {
13749          switch (this) {
13750            case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal).";
13751            case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
13752            case STRING: return "Search parameter is a simple string, like a name part. Search is case-insensitive and accent-insensitive. May match just the start of a string. String parameters may contain spaces.";
13753            case TOKEN: 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.";
13754            case REFERENCE: return "A reference to another resource (Reference or canonical).";
13755            case COMPOSITE: return "A composite search parameter that combines a search on two values together.";
13756            case QUANTITY: return "A search parameter that searches on a quantity.";
13757            case URI: return "A search parameter that searches on a URI (RFC 3986).";
13758            case SPECIAL: return "Special logic applies to this parameter per the description of the search parameter.";
13759            default: return "?";
13760          }
13761        }
13762        public String getDisplay() {
13763          switch (this) {
13764            case NUMBER: return "Number";
13765            case DATE: return "Date/DateTime";
13766            case STRING: return "String";
13767            case TOKEN: return "Token";
13768            case REFERENCE: return "Reference";
13769            case COMPOSITE: return "Composite";
13770            case QUANTITY: return "Quantity";
13771            case URI: return "URI";
13772            case SPECIAL: return "Special";
13773            default: return "?";
13774          }
13775        }
13776    }
13777
13778  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
13779    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
13780      if (codeString == null || "".equals(codeString))
13781            if (codeString == null || "".equals(codeString))
13782                return null;
13783        if ("number".equals(codeString))
13784          return SearchParamType.NUMBER;
13785        if ("date".equals(codeString))
13786          return SearchParamType.DATE;
13787        if ("string".equals(codeString))
13788          return SearchParamType.STRING;
13789        if ("token".equals(codeString))
13790          return SearchParamType.TOKEN;
13791        if ("reference".equals(codeString))
13792          return SearchParamType.REFERENCE;
13793        if ("composite".equals(codeString))
13794          return SearchParamType.COMPOSITE;
13795        if ("quantity".equals(codeString))
13796          return SearchParamType.QUANTITY;
13797        if ("uri".equals(codeString))
13798          return SearchParamType.URI;
13799        if ("special".equals(codeString))
13800          return SearchParamType.SPECIAL;
13801        throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'");
13802        }
13803        public Enumeration<SearchParamType> fromType(Base code) throws FHIRException {
13804          if (code == null)
13805            return null;
13806          if (code.isEmpty())
13807            return new Enumeration<SearchParamType>(this);
13808          String codeString = ((PrimitiveType) code).asStringValue();
13809          if (codeString == null || "".equals(codeString))
13810            return null;
13811        if ("number".equals(codeString))
13812          return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER);
13813        if ("date".equals(codeString))
13814          return new Enumeration<SearchParamType>(this, SearchParamType.DATE);
13815        if ("string".equals(codeString))
13816          return new Enumeration<SearchParamType>(this, SearchParamType.STRING);
13817        if ("token".equals(codeString))
13818          return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN);
13819        if ("reference".equals(codeString))
13820          return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE);
13821        if ("composite".equals(codeString))
13822          return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE);
13823        if ("quantity".equals(codeString))
13824          return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY);
13825        if ("uri".equals(codeString))
13826          return new Enumeration<SearchParamType>(this, SearchParamType.URI);
13827        if ("special".equals(codeString))
13828          return new Enumeration<SearchParamType>(this, SearchParamType.SPECIAL);
13829        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13830        }
13831    public String toCode(SearchParamType code) {
13832      if (code == SearchParamType.NUMBER)
13833        return "number";
13834      if (code == SearchParamType.DATE)
13835        return "date";
13836      if (code == SearchParamType.STRING)
13837        return "string";
13838      if (code == SearchParamType.TOKEN)
13839        return "token";
13840      if (code == SearchParamType.REFERENCE)
13841        return "reference";
13842      if (code == SearchParamType.COMPOSITE)
13843        return "composite";
13844      if (code == SearchParamType.QUANTITY)
13845        return "quantity";
13846      if (code == SearchParamType.URI)
13847        return "uri";
13848      if (code == SearchParamType.SPECIAL)
13849        return "special";
13850      return "?";
13851      }
13852    public String toSystem(SearchParamType code) {
13853      return code.getSystem();
13854      }
13855    }
13856
13857    public enum SpecialValues {
13858        /**
13859         * Boolean true.
13860         */
13861        TRUE, 
13862        /**
13863         * Boolean false.
13864         */
13865        FALSE, 
13866        /**
13867         * The content is greater than zero, but too small to be quantified.
13868         */
13869        TRACE, 
13870        /**
13871         * 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.
13872         */
13873        SUFFICIENT, 
13874        /**
13875         * The value is no longer available.
13876         */
13877        WITHDRAWN, 
13878        /**
13879         * The are no known applicable values in this context.
13880         */
13881        NILKNOWN, 
13882        /**
13883         * added to help the parsers
13884         */
13885        NULL;
13886        public static SpecialValues fromCode(String codeString) throws FHIRException {
13887            if (codeString == null || "".equals(codeString))
13888                return null;
13889        if ("true".equals(codeString))
13890          return TRUE;
13891        if ("false".equals(codeString))
13892          return FALSE;
13893        if ("trace".equals(codeString))
13894          return TRACE;
13895        if ("sufficient".equals(codeString))
13896          return SUFFICIENT;
13897        if ("withdrawn".equals(codeString))
13898          return WITHDRAWN;
13899        if ("nil-known".equals(codeString))
13900          return NILKNOWN;
13901        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13902        }
13903        public String toCode() {
13904          switch (this) {
13905            case TRUE: return "true";
13906            case FALSE: return "false";
13907            case TRACE: return "trace";
13908            case SUFFICIENT: return "sufficient";
13909            case WITHDRAWN: return "withdrawn";
13910            case NILKNOWN: return "nil-known";
13911            default: return "?";
13912          }
13913        }
13914        public String getSystem() {
13915          switch (this) {
13916            case TRUE: return "http://terminology.hl7.org/CodeSystem/special-values";
13917            case FALSE: return "http://terminology.hl7.org/CodeSystem/special-values";
13918            case TRACE: return "http://terminology.hl7.org/CodeSystem/special-values";
13919            case SUFFICIENT: return "http://terminology.hl7.org/CodeSystem/special-values";
13920            case WITHDRAWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13921            case NILKNOWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13922            default: return "?";
13923          }
13924        }
13925        public String getDefinition() {
13926          switch (this) {
13927            case TRUE: return "Boolean true.";
13928            case FALSE: return "Boolean false.";
13929            case TRACE: return "The content is greater than zero, but too small to be quantified.";
13930            case SUFFICIENT: return "The specific quantity is not known, but is known to be non-zero and is not specified because it makes up the bulk of the material.";
13931            case WITHDRAWN: return "The value is no longer available.";
13932            case NILKNOWN: return "The are no known applicable values in this context.";
13933            default: return "?";
13934          }
13935        }
13936        public String getDisplay() {
13937          switch (this) {
13938            case TRUE: return "true";
13939            case FALSE: return "false";
13940            case TRACE: return "Trace Amount Detected";
13941            case SUFFICIENT: return "Sufficient Quantity";
13942            case WITHDRAWN: return "Value Withdrawn";
13943            case NILKNOWN: return "Nil Known";
13944            default: return "?";
13945          }
13946        }
13947    }
13948
13949  public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> {
13950    public SpecialValues fromCode(String codeString) throws IllegalArgumentException {
13951      if (codeString == null || "".equals(codeString))
13952            if (codeString == null || "".equals(codeString))
13953                return null;
13954        if ("true".equals(codeString))
13955          return SpecialValues.TRUE;
13956        if ("false".equals(codeString))
13957          return SpecialValues.FALSE;
13958        if ("trace".equals(codeString))
13959          return SpecialValues.TRACE;
13960        if ("sufficient".equals(codeString))
13961          return SpecialValues.SUFFICIENT;
13962        if ("withdrawn".equals(codeString))
13963          return SpecialValues.WITHDRAWN;
13964        if ("nil-known".equals(codeString))
13965          return SpecialValues.NILKNOWN;
13966        throw new IllegalArgumentException("Unknown SpecialValues code '"+codeString+"'");
13967        }
13968        public Enumeration<SpecialValues> fromType(Base code) throws FHIRException {
13969          if (code == null)
13970            return null;
13971          if (code.isEmpty())
13972            return new Enumeration<SpecialValues>(this);
13973          String codeString = ((PrimitiveType) code).asStringValue();
13974          if (codeString == null || "".equals(codeString))
13975            return null;
13976        if ("true".equals(codeString))
13977          return new Enumeration<SpecialValues>(this, SpecialValues.TRUE);
13978        if ("false".equals(codeString))
13979          return new Enumeration<SpecialValues>(this, SpecialValues.FALSE);
13980        if ("trace".equals(codeString))
13981          return new Enumeration<SpecialValues>(this, SpecialValues.TRACE);
13982        if ("sufficient".equals(codeString))
13983          return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT);
13984        if ("withdrawn".equals(codeString))
13985          return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN);
13986        if ("nil-known".equals(codeString))
13987          return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN);
13988        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13989        }
13990    public String toCode(SpecialValues code) {
13991      if (code == SpecialValues.TRUE)
13992        return "true";
13993      if (code == SpecialValues.FALSE)
13994        return "false";
13995      if (code == SpecialValues.TRACE)
13996        return "trace";
13997      if (code == SpecialValues.SUFFICIENT)
13998        return "sufficient";
13999      if (code == SpecialValues.WITHDRAWN)
14000        return "withdrawn";
14001      if (code == SpecialValues.NILKNOWN)
14002        return "nil-known";
14003      return "?";
14004      }
14005    public String toSystem(SpecialValues code) {
14006      return code.getSystem();
14007      }
14008    }
14009
14010
14011}