001package org.hl7.fhir.r4.model;
002
003/*
004  Copyright (c) 2011+, HL7, Inc.
005  All rights reserved.
006  
007  Redistribution and use in source and binary forms, with or without modification, 
008  are permitted provided that the following conditions are met:
009  
010   * Redistributions of source code must retain the above copyright notice, this 
011     list of conditions and the following disclaimer.
012   * Redistributions in binary form must reproduce the above copyright notice, 
013     this list of conditions and the following disclaimer in the documentation 
014     and/or other materials provided with the distribution.
015   * Neither the name of HL7 nor the names of its contributors may be used to 
016     endorse or promote products derived from this software without specific 
017     prior written permission.
018  
019  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
020  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
021  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
022  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
023  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
024  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
025  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
026  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
027  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
028  POSSIBILITY OF SUCH DAMAGE.
029  
030*/
031
032// Generated on Thu, Sep 13, 2018 09:04-0400 for FHIR v3.5.0
033
034
035import org.hl7.fhir.instance.model.api.*;
036import org.hl7.fhir.exceptions.FHIRException;
037
038public class Enumerations {
039
040// In here: 
041//   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.
042//   AdministrativeGender: The gender of a person used for administrative purposes.
043//   AgeUnits: A valueSet of UCUM codes for representing age value units.
044//   BindingStrength: Indication of the degree of conformance expectations associated with a binding.
045//   ConceptMapEquivalence: The degree of equivalence between concepts.
046//   DataAbsentReason: Used to specify why the normally expected content of the data element is missing.
047//   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).
048//   DefinitionResourceType: A list of all the definition resource types defined in this version of the FHIR specification.
049//   DocumentReferenceStatus: The status of the document reference.
050//   EventResourceType: A list of all the event resource types defined in this version of the FHIR specification.
051//   FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
052//   FHIRDefinedType: A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
053//   KnowledgeResourceType: A list of all the knowledge resource types defined in this version of the FHIR specification.
054//   MessageEvent: One of the message events defined as part of this version of FHIR.
055//   NoteType: The presentation types of notes.
056//   PublicationStatus: The lifecycle status of an artifact.
057//   RemittanceOutcome: The outcome of the processing.
058//   RequestResourceType: A list of all the request resource types defined in this version of the FHIR specification.
059//   ResourceType: One of the resource types defined as part of this version of FHIR.
060//   SearchParamType: Data types allowed to be used for search parameters.
061//   SpecialValues: A set of generally useful codes defined so they can be included in value sets.
062
063
064    public enum AbstractType {
065        /**
066         * A place holder that means any kind of data type
067         */
068        TYPE, 
069        /**
070         * A place holder that means any kind of resource
071         */
072        ANY, 
073        /**
074         * added to help the parsers
075         */
076        NULL;
077        public static AbstractType fromCode(String codeString) throws FHIRException {
078            if (codeString == null || "".equals(codeString))
079                return null;
080        if ("Type".equals(codeString))
081          return TYPE;
082        if ("Any".equals(codeString))
083          return ANY;
084        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
085        }
086        public String toCode() {
087          switch (this) {
088            case TYPE: return "Type";
089            case ANY: return "Any";
090            default: return "?";
091          }
092        }
093        public String getSystem() {
094          switch (this) {
095            case TYPE: return "http://hl7.org/fhir/abstract-types";
096            case ANY: return "http://hl7.org/fhir/abstract-types";
097            default: return "?";
098          }
099        }
100        public String getDefinition() {
101          switch (this) {
102            case TYPE: return "A place holder that means any kind of data type";
103            case ANY: return "A place holder that means any kind of resource";
104            default: return "?";
105          }
106        }
107        public String getDisplay() {
108          switch (this) {
109            case TYPE: return "Type";
110            case ANY: return "Any";
111            default: return "?";
112          }
113        }
114    }
115
116  public static class AbstractTypeEnumFactory implements EnumFactory<AbstractType> {
117    public AbstractType fromCode(String codeString) throws IllegalArgumentException {
118      if (codeString == null || "".equals(codeString))
119            if (codeString == null || "".equals(codeString))
120                return null;
121        if ("Type".equals(codeString))
122          return AbstractType.TYPE;
123        if ("Any".equals(codeString))
124          return AbstractType.ANY;
125        throw new IllegalArgumentException("Unknown AbstractType code '"+codeString+"'");
126        }
127        public Enumeration<AbstractType> fromType(Base code) throws FHIRException {
128          if (code == null)
129            return null;
130          if (code.isEmpty())
131            return new Enumeration<AbstractType>(this);
132          String codeString = ((PrimitiveType) code).asStringValue();
133          if (codeString == null || "".equals(codeString))
134            return null;
135        if ("Type".equals(codeString))
136          return new Enumeration<AbstractType>(this, AbstractType.TYPE);
137        if ("Any".equals(codeString))
138          return new Enumeration<AbstractType>(this, AbstractType.ANY);
139        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
140        }
141    public String toCode(AbstractType code) {
142      if (code == AbstractType.TYPE)
143        return "Type";
144      if (code == AbstractType.ANY)
145        return "Any";
146      return "?";
147      }
148    public String toSystem(AbstractType code) {
149      return code.getSystem();
150      }
151    }
152
153    public enum AdministrativeGender {
154        /**
155         * Male.
156         */
157        MALE, 
158        /**
159         * Female.
160         */
161        FEMALE, 
162        /**
163         * Other.
164         */
165        OTHER, 
166        /**
167         * Unknown.
168         */
169        UNKNOWN, 
170        /**
171         * added to help the parsers
172         */
173        NULL;
174        public static AdministrativeGender fromCode(String codeString) throws FHIRException {
175            if (codeString == null || "".equals(codeString))
176                return null;
177        if ("male".equals(codeString))
178          return MALE;
179        if ("female".equals(codeString))
180          return FEMALE;
181        if ("other".equals(codeString))
182          return OTHER;
183        if ("unknown".equals(codeString))
184          return UNKNOWN;
185        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
186        }
187        public String toCode() {
188          switch (this) {
189            case MALE: return "male";
190            case FEMALE: return "female";
191            case OTHER: return "other";
192            case UNKNOWN: return "unknown";
193            default: return "?";
194          }
195        }
196        public String getSystem() {
197          switch (this) {
198            case MALE: return "http://hl7.org/fhir/administrative-gender";
199            case FEMALE: return "http://hl7.org/fhir/administrative-gender";
200            case OTHER: return "http://hl7.org/fhir/administrative-gender";
201            case UNKNOWN: return "http://hl7.org/fhir/administrative-gender";
202            default: return "?";
203          }
204        }
205        public String getDefinition() {
206          switch (this) {
207            case MALE: return "Male.";
208            case FEMALE: return "Female.";
209            case OTHER: return "Other.";
210            case UNKNOWN: return "Unknown.";
211            default: return "?";
212          }
213        }
214        public String getDisplay() {
215          switch (this) {
216            case MALE: return "Male";
217            case FEMALE: return "Female";
218            case OTHER: return "Other";
219            case UNKNOWN: return "Unknown";
220            default: return "?";
221          }
222        }
223    }
224
225  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
226    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
227      if (codeString == null || "".equals(codeString))
228            if (codeString == null || "".equals(codeString))
229                return null;
230        if ("male".equals(codeString))
231          return AdministrativeGender.MALE;
232        if ("female".equals(codeString))
233          return AdministrativeGender.FEMALE;
234        if ("other".equals(codeString))
235          return AdministrativeGender.OTHER;
236        if ("unknown".equals(codeString))
237          return AdministrativeGender.UNKNOWN;
238        throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'");
239        }
240        public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException {
241          if (code == null)
242            return null;
243          if (code.isEmpty())
244            return new Enumeration<AdministrativeGender>(this);
245          String codeString = ((PrimitiveType) code).asStringValue();
246          if (codeString == null || "".equals(codeString))
247            return null;
248        if ("male".equals(codeString))
249          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE);
250        if ("female".equals(codeString))
251          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE);
252        if ("other".equals(codeString))
253          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER);
254        if ("unknown".equals(codeString))
255          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN);
256        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
257        }
258    public String toCode(AdministrativeGender code) {
259      if (code == AdministrativeGender.MALE)
260        return "male";
261      if (code == AdministrativeGender.FEMALE)
262        return "female";
263      if (code == AdministrativeGender.OTHER)
264        return "other";
265      if (code == AdministrativeGender.UNKNOWN)
266        return "unknown";
267      return "?";
268      }
269    public String toSystem(AdministrativeGender code) {
270      return code.getSystem();
271      }
272    }
273
274    public enum AgeUnits {
275        /**
276         * null
277         */
278        MIN, 
279        /**
280         * null
281         */
282        H, 
283        /**
284         * null
285         */
286        D, 
287        /**
288         * null
289         */
290        WK, 
291        /**
292         * null
293         */
294        MO, 
295        /**
296         * null
297         */
298        A, 
299        /**
300         * added to help the parsers
301         */
302        NULL;
303        public static AgeUnits fromCode(String codeString) throws FHIRException {
304            if (codeString == null || "".equals(codeString))
305                return null;
306        if ("min".equals(codeString))
307          return MIN;
308        if ("h".equals(codeString))
309          return H;
310        if ("d".equals(codeString))
311          return D;
312        if ("wk".equals(codeString))
313          return WK;
314        if ("mo".equals(codeString))
315          return MO;
316        if ("a".equals(codeString))
317          return A;
318        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
319        }
320        public String toCode() {
321          switch (this) {
322            case MIN: return "min";
323            case H: return "h";
324            case D: return "d";
325            case WK: return "wk";
326            case MO: return "mo";
327            case A: return "a";
328            default: return "?";
329          }
330        }
331        public String getSystem() {
332          switch (this) {
333            case MIN: return "http://unitsofmeasure.org";
334            case H: return "http://unitsofmeasure.org";
335            case D: return "http://unitsofmeasure.org";
336            case WK: return "http://unitsofmeasure.org";
337            case MO: return "http://unitsofmeasure.org";
338            case A: return "http://unitsofmeasure.org";
339            default: return "?";
340          }
341        }
342        public String getDefinition() {
343          switch (this) {
344            case MIN: return "";
345            case H: return "";
346            case D: return "";
347            case WK: return "";
348            case MO: return "";
349            case A: return "";
350            default: return "?";
351          }
352        }
353        public String getDisplay() {
354          switch (this) {
355            case MIN: return "Minute";
356            case H: return "Hour";
357            case D: return "Day";
358            case WK: return "Week";
359            case MO: return "Month";
360            case A: return "Year";
361            default: return "?";
362          }
363        }
364    }
365
366  public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> {
367    public AgeUnits fromCode(String codeString) throws IllegalArgumentException {
368      if (codeString == null || "".equals(codeString))
369            if (codeString == null || "".equals(codeString))
370                return null;
371        if ("min".equals(codeString))
372          return AgeUnits.MIN;
373        if ("h".equals(codeString))
374          return AgeUnits.H;
375        if ("d".equals(codeString))
376          return AgeUnits.D;
377        if ("wk".equals(codeString))
378          return AgeUnits.WK;
379        if ("mo".equals(codeString))
380          return AgeUnits.MO;
381        if ("a".equals(codeString))
382          return AgeUnits.A;
383        throw new IllegalArgumentException("Unknown AgeUnits code '"+codeString+"'");
384        }
385        public Enumeration<AgeUnits> fromType(Base code) throws FHIRException {
386          if (code == null)
387            return null;
388          if (code.isEmpty())
389            return new Enumeration<AgeUnits>(this);
390          String codeString = ((PrimitiveType) code).asStringValue();
391          if (codeString == null || "".equals(codeString))
392            return null;
393        if ("min".equals(codeString))
394          return new Enumeration<AgeUnits>(this, AgeUnits.MIN);
395        if ("h".equals(codeString))
396          return new Enumeration<AgeUnits>(this, AgeUnits.H);
397        if ("d".equals(codeString))
398          return new Enumeration<AgeUnits>(this, AgeUnits.D);
399        if ("wk".equals(codeString))
400          return new Enumeration<AgeUnits>(this, AgeUnits.WK);
401        if ("mo".equals(codeString))
402          return new Enumeration<AgeUnits>(this, AgeUnits.MO);
403        if ("a".equals(codeString))
404          return new Enumeration<AgeUnits>(this, AgeUnits.A);
405        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
406        }
407    public String toCode(AgeUnits code) {
408      if (code == AgeUnits.MIN)
409        return "min";
410      if (code == AgeUnits.H)
411        return "h";
412      if (code == AgeUnits.D)
413        return "d";
414      if (code == AgeUnits.WK)
415        return "wk";
416      if (code == AgeUnits.MO)
417        return "mo";
418      if (code == AgeUnits.A)
419        return "a";
420      return "?";
421      }
422    public String toSystem(AgeUnits code) {
423      return code.getSystem();
424      }
425    }
426
427    public enum BindingStrength {
428        /**
429         * To be conformant, the concept in this element SHALL be from the specified value set.
430         */
431        REQUIRED, 
432        /**
433         * 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.
434         */
435        EXTENSIBLE, 
436        /**
437         * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.
438         */
439        PREFERRED, 
440        /**
441         * 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.
442         */
443        EXAMPLE, 
444        /**
445         * added to help the parsers
446         */
447        NULL;
448        public static BindingStrength fromCode(String codeString) throws FHIRException {
449            if (codeString == null || "".equals(codeString))
450                return null;
451        if ("required".equals(codeString))
452          return REQUIRED;
453        if ("extensible".equals(codeString))
454          return EXTENSIBLE;
455        if ("preferred".equals(codeString))
456          return PREFERRED;
457        if ("example".equals(codeString))
458          return EXAMPLE;
459        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
460        }
461        public String toCode() {
462          switch (this) {
463            case REQUIRED: return "required";
464            case EXTENSIBLE: return "extensible";
465            case PREFERRED: return "preferred";
466            case EXAMPLE: return "example";
467            default: return "?";
468          }
469        }
470        public String getSystem() {
471          switch (this) {
472            case REQUIRED: return "http://hl7.org/fhir/binding-strength";
473            case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength";
474            case PREFERRED: return "http://hl7.org/fhir/binding-strength";
475            case EXAMPLE: return "http://hl7.org/fhir/binding-strength";
476            default: return "?";
477          }
478        }
479        public String getDefinition() {
480          switch (this) {
481            case REQUIRED: return "To be conformant, the concept in this element SHALL be from the specified value set.";
482            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.";
483            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.";
484            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.";
485            default: return "?";
486          }
487        }
488        public String getDisplay() {
489          switch (this) {
490            case REQUIRED: return "Required";
491            case EXTENSIBLE: return "Extensible";
492            case PREFERRED: return "Preferred";
493            case EXAMPLE: return "Example";
494            default: return "?";
495          }
496        }
497    }
498
499  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
500    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
501      if (codeString == null || "".equals(codeString))
502            if (codeString == null || "".equals(codeString))
503                return null;
504        if ("required".equals(codeString))
505          return BindingStrength.REQUIRED;
506        if ("extensible".equals(codeString))
507          return BindingStrength.EXTENSIBLE;
508        if ("preferred".equals(codeString))
509          return BindingStrength.PREFERRED;
510        if ("example".equals(codeString))
511          return BindingStrength.EXAMPLE;
512        throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'");
513        }
514        public Enumeration<BindingStrength> fromType(Base code) throws FHIRException {
515          if (code == null)
516            return null;
517          if (code.isEmpty())
518            return new Enumeration<BindingStrength>(this);
519          String codeString = ((PrimitiveType) code).asStringValue();
520          if (codeString == null || "".equals(codeString))
521            return null;
522        if ("required".equals(codeString))
523          return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED);
524        if ("extensible".equals(codeString))
525          return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE);
526        if ("preferred".equals(codeString))
527          return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED);
528        if ("example".equals(codeString))
529          return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE);
530        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
531        }
532    public String toCode(BindingStrength code) {
533      if (code == BindingStrength.REQUIRED)
534        return "required";
535      if (code == BindingStrength.EXTENSIBLE)
536        return "extensible";
537      if (code == BindingStrength.PREFERRED)
538        return "preferred";
539      if (code == BindingStrength.EXAMPLE)
540        return "example";
541      return "?";
542      }
543    public String toSystem(BindingStrength code) {
544      return code.getSystem();
545      }
546    }
547
548    public enum ConceptMapEquivalence {
549        /**
550         * The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known.
551         */
552        RELATEDTO, 
553        /**
554         * The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).
555         */
556        EQUIVALENT, 
557        /**
558         * 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).
559         */
560        EQUAL, 
561        /**
562         * The target mapping is wider in meaning than the source concept.
563         */
564        WIDER, 
565        /**
566         * The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).
567         */
568        SUBSUMES, 
569        /**
570         * 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.
571         */
572        NARROWER, 
573        /**
574         * The target mapping specializes the meaning of the source concept (e.g. the target is-a source).
575         */
576        SPECIALIZES, 
577        /**
578         * 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.
579         */
580        INEXACT, 
581        /**
582         * There is no match for this concept in the target code system.
583         */
584        UNMATCHED, 
585        /**
586         * This is an explicit assertion that there is no mapping between the source and target concept.
587         */
588        DISJOINT, 
589        /**
590         * added to help the parsers
591         */
592        NULL;
593        public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException {
594            if (codeString == null || "".equals(codeString))
595                return null;
596        if ("relatedto".equals(codeString))
597          return RELATEDTO;
598        if ("equivalent".equals(codeString))
599          return EQUIVALENT;
600        if ("equal".equals(codeString))
601          return EQUAL;
602        if ("wider".equals(codeString))
603          return WIDER;
604        if ("subsumes".equals(codeString))
605          return SUBSUMES;
606        if ("narrower".equals(codeString))
607          return NARROWER;
608        if ("specializes".equals(codeString))
609          return SPECIALIZES;
610        if ("inexact".equals(codeString))
611          return INEXACT;
612        if ("unmatched".equals(codeString))
613          return UNMATCHED;
614        if ("disjoint".equals(codeString))
615          return DISJOINT;
616        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
617        }
618        public String toCode() {
619          switch (this) {
620            case RELATEDTO: return "relatedto";
621            case EQUIVALENT: return "equivalent";
622            case EQUAL: return "equal";
623            case WIDER: return "wider";
624            case SUBSUMES: return "subsumes";
625            case NARROWER: return "narrower";
626            case SPECIALIZES: return "specializes";
627            case INEXACT: return "inexact";
628            case UNMATCHED: return "unmatched";
629            case DISJOINT: return "disjoint";
630            default: return "?";
631          }
632        }
633        public String getSystem() {
634          switch (this) {
635            case RELATEDTO: return "http://hl7.org/fhir/concept-map-equivalence";
636            case EQUIVALENT: return "http://hl7.org/fhir/concept-map-equivalence";
637            case EQUAL: return "http://hl7.org/fhir/concept-map-equivalence";
638            case WIDER: return "http://hl7.org/fhir/concept-map-equivalence";
639            case SUBSUMES: return "http://hl7.org/fhir/concept-map-equivalence";
640            case NARROWER: return "http://hl7.org/fhir/concept-map-equivalence";
641            case SPECIALIZES: return "http://hl7.org/fhir/concept-map-equivalence";
642            case INEXACT: return "http://hl7.org/fhir/concept-map-equivalence";
643            case UNMATCHED: return "http://hl7.org/fhir/concept-map-equivalence";
644            case DISJOINT: return "http://hl7.org/fhir/concept-map-equivalence";
645            default: return "?";
646          }
647        }
648        public String getDefinition() {
649          switch (this) {
650            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.";
651            case EQUIVALENT: return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).";
652            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).";
653            case WIDER: return "The target mapping is wider in meaning than the source concept.";
654            case SUBSUMES: return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).";
655            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.";
656            case SPECIALIZES: return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source).";
657            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.";
658            case UNMATCHED: return "There is no match for this concept in the target code system.";
659            case DISJOINT: return "This is an explicit assertion that there is no mapping between the source and target concept.";
660            default: return "?";
661          }
662        }
663        public String getDisplay() {
664          switch (this) {
665            case RELATEDTO: return "Related To";
666            case EQUIVALENT: return "Equivalent";
667            case EQUAL: return "Equal";
668            case WIDER: return "Wider";
669            case SUBSUMES: return "Subsumes";
670            case NARROWER: return "Narrower";
671            case SPECIALIZES: return "Specializes";
672            case INEXACT: return "Inexact";
673            case UNMATCHED: return "Unmatched";
674            case DISJOINT: return "Disjoint";
675            default: return "?";
676          }
677        }
678    }
679
680  public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> {
681    public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException {
682      if (codeString == null || "".equals(codeString))
683            if (codeString == null || "".equals(codeString))
684                return null;
685        if ("relatedto".equals(codeString))
686          return ConceptMapEquivalence.RELATEDTO;
687        if ("equivalent".equals(codeString))
688          return ConceptMapEquivalence.EQUIVALENT;
689        if ("equal".equals(codeString))
690          return ConceptMapEquivalence.EQUAL;
691        if ("wider".equals(codeString))
692          return ConceptMapEquivalence.WIDER;
693        if ("subsumes".equals(codeString))
694          return ConceptMapEquivalence.SUBSUMES;
695        if ("narrower".equals(codeString))
696          return ConceptMapEquivalence.NARROWER;
697        if ("specializes".equals(codeString))
698          return ConceptMapEquivalence.SPECIALIZES;
699        if ("inexact".equals(codeString))
700          return ConceptMapEquivalence.INEXACT;
701        if ("unmatched".equals(codeString))
702          return ConceptMapEquivalence.UNMATCHED;
703        if ("disjoint".equals(codeString))
704          return ConceptMapEquivalence.DISJOINT;
705        throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '"+codeString+"'");
706        }
707        public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException {
708          if (code == null)
709            return null;
710          if (code.isEmpty())
711            return new Enumeration<ConceptMapEquivalence>(this);
712          String codeString = ((PrimitiveType) code).asStringValue();
713          if (codeString == null || "".equals(codeString))
714            return null;
715        if ("relatedto".equals(codeString))
716          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.RELATEDTO);
717        if ("equivalent".equals(codeString))
718          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT);
719        if ("equal".equals(codeString))
720          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL);
721        if ("wider".equals(codeString))
722          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER);
723        if ("subsumes".equals(codeString))
724          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES);
725        if ("narrower".equals(codeString))
726          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER);
727        if ("specializes".equals(codeString))
728          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES);
729        if ("inexact".equals(codeString))
730          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT);
731        if ("unmatched".equals(codeString))
732          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED);
733        if ("disjoint".equals(codeString))
734          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT);
735        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
736        }
737    public String toCode(ConceptMapEquivalence code) {
738      if (code == ConceptMapEquivalence.RELATEDTO)
739        return "relatedto";
740      if (code == ConceptMapEquivalence.EQUIVALENT)
741        return "equivalent";
742      if (code == ConceptMapEquivalence.EQUAL)
743        return "equal";
744      if (code == ConceptMapEquivalence.WIDER)
745        return "wider";
746      if (code == ConceptMapEquivalence.SUBSUMES)
747        return "subsumes";
748      if (code == ConceptMapEquivalence.NARROWER)
749        return "narrower";
750      if (code == ConceptMapEquivalence.SPECIALIZES)
751        return "specializes";
752      if (code == ConceptMapEquivalence.INEXACT)
753        return "inexact";
754      if (code == ConceptMapEquivalence.UNMATCHED)
755        return "unmatched";
756      if (code == ConceptMapEquivalence.DISJOINT)
757        return "disjoint";
758      return "?";
759      }
760    public String toSystem(ConceptMapEquivalence code) {
761      return code.getSystem();
762      }
763    }
764
765    public enum DataAbsentReason {
766        /**
767         * The value is expected to exist but is not known.
768         */
769        UNKNOWN, 
770        /**
771         * The source was asked but does not know the value.
772         */
773        ASKEDUNKNOWN, 
774        /**
775         * There is reason to expect (from the workflow) that the value may become known.
776         */
777        TEMPUNKNOWN, 
778        /**
779         * The workflow didn't lead to this value being known.
780         */
781        NOTASKED, 
782        /**
783         * The source was asked but declined to answer.
784         */
785        ASKEDDECLINED, 
786        /**
787         * The information is not available due to security, privacy or related reasons.
788         */
789        MASKED, 
790        /**
791         * There is no proper value for this element (e.g. last menstrual period for a male).
792         */
793        NOTAPPLICABLE, 
794        /**
795         * The source system wasn't capable of supporting this element.
796         */
797        UNSUPPORTED, 
798        /**
799         * The content of the data is represented in the resource narrative.
800         */
801        ASTEXT, 
802        /**
803         * Some system or workflow process error means that the information is not available.
804         */
805        ERROR, 
806        /**
807         * The numeric value is undefined or unrepresentable due to a floating point processing error.
808         */
809        NOTANUMBER, 
810        /**
811         * The numeric value is excessively low and unrepresentable due to a floating point processing error.
812         */
813        NEGATIVEINFINITY, 
814        /**
815         * The numeric value is excessively high and unrepresentable due to a floating point processing error.
816         */
817        POSITIVEINFINITY, 
818        /**
819         * The value is not available because the observation procedure (test, etc.) was not performed.
820         */
821        NOTPERFORMED, 
822        /**
823         * The value is not permitted in this context (e.g. due to profiles, or the base data types).
824         */
825        NOTPERMITTED, 
826        /**
827         * added to help the parsers
828         */
829        NULL;
830        public static DataAbsentReason fromCode(String codeString) throws FHIRException {
831            if (codeString == null || "".equals(codeString))
832                return null;
833        if ("unknown".equals(codeString))
834          return UNKNOWN;
835        if ("asked-unknown".equals(codeString))
836          return ASKEDUNKNOWN;
837        if ("temp-unknown".equals(codeString))
838          return TEMPUNKNOWN;
839        if ("not-asked".equals(codeString))
840          return NOTASKED;
841        if ("asked-declined".equals(codeString))
842          return ASKEDDECLINED;
843        if ("masked".equals(codeString))
844          return MASKED;
845        if ("not-applicable".equals(codeString))
846          return NOTAPPLICABLE;
847        if ("unsupported".equals(codeString))
848          return UNSUPPORTED;
849        if ("as-text".equals(codeString))
850          return ASTEXT;
851        if ("error".equals(codeString))
852          return ERROR;
853        if ("not-a-number".equals(codeString))
854          return NOTANUMBER;
855        if ("negative-infinity".equals(codeString))
856          return NEGATIVEINFINITY;
857        if ("positive-infinity".equals(codeString))
858          return POSITIVEINFINITY;
859        if ("not-performed".equals(codeString))
860          return NOTPERFORMED;
861        if ("not-permitted".equals(codeString))
862          return NOTPERMITTED;
863        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
864        }
865        public String toCode() {
866          switch (this) {
867            case UNKNOWN: return "unknown";
868            case ASKEDUNKNOWN: return "asked-unknown";
869            case TEMPUNKNOWN: return "temp-unknown";
870            case NOTASKED: return "not-asked";
871            case ASKEDDECLINED: return "asked-declined";
872            case MASKED: return "masked";
873            case NOTAPPLICABLE: return "not-applicable";
874            case UNSUPPORTED: return "unsupported";
875            case ASTEXT: return "as-text";
876            case ERROR: return "error";
877            case NOTANUMBER: return "not-a-number";
878            case NEGATIVEINFINITY: return "negative-infinity";
879            case POSITIVEINFINITY: return "positive-infinity";
880            case NOTPERFORMED: return "not-performed";
881            case NOTPERMITTED: return "not-permitted";
882            default: return "?";
883          }
884        }
885        public String getSystem() {
886          switch (this) {
887            case UNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
888            case ASKEDUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
889            case TEMPUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
890            case NOTASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
891            case ASKEDDECLINED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
892            case MASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
893            case NOTAPPLICABLE: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
894            case UNSUPPORTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
895            case ASTEXT: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
896            case ERROR: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
897            case NOTANUMBER: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
898            case NEGATIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
899            case POSITIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
900            case NOTPERFORMED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
901            case NOTPERMITTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
902            default: return "?";
903          }
904        }
905        public String getDefinition() {
906          switch (this) {
907            case UNKNOWN: return "The value is expected to exist but is not known.";
908            case ASKEDUNKNOWN: return "The source was asked but does not know the value.";
909            case TEMPUNKNOWN: return "There is reason to expect (from the workflow) that the value may become known.";
910            case NOTASKED: return "The workflow didn't lead to this value being known.";
911            case ASKEDDECLINED: return "The source was asked but declined to answer.";
912            case MASKED: return "The information is not available due to security, privacy or related reasons.";
913            case NOTAPPLICABLE: return "There is no proper value for this element (e.g. last menstrual period for a male).";
914            case UNSUPPORTED: return "The source system wasn't capable of supporting this element.";
915            case ASTEXT: return "The content of the data is represented in the resource narrative.";
916            case ERROR: return "Some system or workflow process error means that the information is not available.";
917            case NOTANUMBER: return "The numeric value is undefined or unrepresentable due to a floating point processing error.";
918            case NEGATIVEINFINITY: return "The numeric value is excessively low and unrepresentable due to a floating point processing error.";
919            case POSITIVEINFINITY: return "The numeric value is excessively high and unrepresentable due to a floating point processing error.";
920            case NOTPERFORMED: return "The value is not available because the observation procedure (test, etc.) was not performed.";
921            case NOTPERMITTED: return "The value is not permitted in this context (e.g. due to profiles, or the base data types).";
922            default: return "?";
923          }
924        }
925        public String getDisplay() {
926          switch (this) {
927            case UNKNOWN: return "Unknown";
928            case ASKEDUNKNOWN: return "Asked But Unknown";
929            case TEMPUNKNOWN: return "Temporarily Unknown";
930            case NOTASKED: return "Not Asked";
931            case ASKEDDECLINED: return "Asked But Declined";
932            case MASKED: return "Masked";
933            case NOTAPPLICABLE: return "Not Applicable";
934            case UNSUPPORTED: return "Unsupported";
935            case ASTEXT: return "As Text";
936            case ERROR: return "Error";
937            case NOTANUMBER: return "Not a Number (NaN)";
938            case NEGATIVEINFINITY: return "Negative Infinity (NINF)";
939            case POSITIVEINFINITY: return "Positive Infinity (PINF)";
940            case NOTPERFORMED: return "Not Performed";
941            case NOTPERMITTED: return "Not Permitted";
942            default: return "?";
943          }
944        }
945    }
946
947  public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> {
948    public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException {
949      if (codeString == null || "".equals(codeString))
950            if (codeString == null || "".equals(codeString))
951                return null;
952        if ("unknown".equals(codeString))
953          return DataAbsentReason.UNKNOWN;
954        if ("asked-unknown".equals(codeString))
955          return DataAbsentReason.ASKEDUNKNOWN;
956        if ("temp-unknown".equals(codeString))
957          return DataAbsentReason.TEMPUNKNOWN;
958        if ("not-asked".equals(codeString))
959          return DataAbsentReason.NOTASKED;
960        if ("asked-declined".equals(codeString))
961          return DataAbsentReason.ASKEDDECLINED;
962        if ("masked".equals(codeString))
963          return DataAbsentReason.MASKED;
964        if ("not-applicable".equals(codeString))
965          return DataAbsentReason.NOTAPPLICABLE;
966        if ("unsupported".equals(codeString))
967          return DataAbsentReason.UNSUPPORTED;
968        if ("as-text".equals(codeString))
969          return DataAbsentReason.ASTEXT;
970        if ("error".equals(codeString))
971          return DataAbsentReason.ERROR;
972        if ("not-a-number".equals(codeString))
973          return DataAbsentReason.NOTANUMBER;
974        if ("negative-infinity".equals(codeString))
975          return DataAbsentReason.NEGATIVEINFINITY;
976        if ("positive-infinity".equals(codeString))
977          return DataAbsentReason.POSITIVEINFINITY;
978        if ("not-performed".equals(codeString))
979          return DataAbsentReason.NOTPERFORMED;
980        if ("not-permitted".equals(codeString))
981          return DataAbsentReason.NOTPERMITTED;
982        throw new IllegalArgumentException("Unknown DataAbsentReason code '"+codeString+"'");
983        }
984        public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException {
985          if (code == null)
986            return null;
987          if (code.isEmpty())
988            return new Enumeration<DataAbsentReason>(this);
989          String codeString = ((PrimitiveType) code).asStringValue();
990          if (codeString == null || "".equals(codeString))
991            return null;
992        if ("unknown".equals(codeString))
993          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN);
994        if ("asked-unknown".equals(codeString))
995          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDUNKNOWN);
996        if ("temp-unknown".equals(codeString))
997          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMPUNKNOWN);
998        if ("not-asked".equals(codeString))
999          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED);
1000        if ("asked-declined".equals(codeString))
1001          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDDECLINED);
1002        if ("masked".equals(codeString))
1003          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED);
1004        if ("not-applicable".equals(codeString))
1005          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTAPPLICABLE);
1006        if ("unsupported".equals(codeString))
1007          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED);
1008        if ("as-text".equals(codeString))
1009          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT);
1010        if ("error".equals(codeString))
1011          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR);
1012        if ("not-a-number".equals(codeString))
1013          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTANUMBER);
1014        if ("negative-infinity".equals(codeString))
1015          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NEGATIVEINFINITY);
1016        if ("positive-infinity".equals(codeString))
1017          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.POSITIVEINFINITY);
1018        if ("not-performed".equals(codeString))
1019          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERFORMED);
1020        if ("not-permitted".equals(codeString))
1021          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERMITTED);
1022        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
1023        }
1024    public String toCode(DataAbsentReason code) {
1025      if (code == DataAbsentReason.UNKNOWN)
1026        return "unknown";
1027      if (code == DataAbsentReason.ASKEDUNKNOWN)
1028        return "asked-unknown";
1029      if (code == DataAbsentReason.TEMPUNKNOWN)
1030        return "temp-unknown";
1031      if (code == DataAbsentReason.NOTASKED)
1032        return "not-asked";
1033      if (code == DataAbsentReason.ASKEDDECLINED)
1034        return "asked-declined";
1035      if (code == DataAbsentReason.MASKED)
1036        return "masked";
1037      if (code == DataAbsentReason.NOTAPPLICABLE)
1038        return "not-applicable";
1039      if (code == DataAbsentReason.UNSUPPORTED)
1040        return "unsupported";
1041      if (code == DataAbsentReason.ASTEXT)
1042        return "as-text";
1043      if (code == DataAbsentReason.ERROR)
1044        return "error";
1045      if (code == DataAbsentReason.NOTANUMBER)
1046        return "not-a-number";
1047      if (code == DataAbsentReason.NEGATIVEINFINITY)
1048        return "negative-infinity";
1049      if (code == DataAbsentReason.POSITIVEINFINITY)
1050        return "positive-infinity";
1051      if (code == DataAbsentReason.NOTPERFORMED)
1052        return "not-performed";
1053      if (code == DataAbsentReason.NOTPERMITTED)
1054        return "not-permitted";
1055      return "?";
1056      }
1057    public String toSystem(DataAbsentReason code) {
1058      return code.getSystem();
1059      }
1060    }
1061
1062    public enum DataType {
1063        /**
1064         * 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.
1065         */
1066        ADDRESS, 
1067        /**
1068         * A duration of time during which an organism (or a process) has existed.
1069         */
1070        AGE, 
1071        /**
1072         * A  text note which also  contains information about who made the statement and when.
1073         */
1074        ANNOTATION, 
1075        /**
1076         * For referring to data content defined in other formats.
1077         */
1078        ATTACHMENT, 
1079        /**
1080         * Base definition for all elements that are defined inside a resource - but not those in a data type.
1081         */
1082        BACKBONEELEMENT, 
1083        /**
1084         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
1085         */
1086        CODEABLECONCEPT, 
1087        /**
1088         * A reference to a code defined by a terminology system.
1089         */
1090        CODING, 
1091        /**
1092         * Specifies contact information for a person or organization.
1093         */
1094        CONTACTDETAIL, 
1095        /**
1096         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
1097         */
1098        CONTACTPOINT, 
1099        /**
1100         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
1101         */
1102        CONTRIBUTOR, 
1103        /**
1104         * 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.
1105         */
1106        COUNT, 
1107        /**
1108         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
1109         */
1110        DATAREQUIREMENT, 
1111        /**
1112         * A length - a value with a unit that is a physical distance.
1113         */
1114        DISTANCE, 
1115        /**
1116         * Indicates how the medication is/was taken or should be taken by the patient.
1117         */
1118        DOSAGE, 
1119        /**
1120         * A length of time.
1121         */
1122        DURATION, 
1123        /**
1124         * Base definition for all elements in a resource.
1125         */
1126        ELEMENT, 
1127        /**
1128         * Captures constraints on each element within the resource, profile, or extension.
1129         */
1130        ELEMENTDEFINITION, 
1131        /**
1132         * 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.
1133         */
1134        EXPRESSION, 
1135        /**
1136         * Optional Extension Element - found in all resources.
1137         */
1138        EXTENSION, 
1139        /**
1140         * A human's name with the ability to identify parts and usage.
1141         */
1142        HUMANNAME, 
1143        /**
1144         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
1145         */
1146        IDENTIFIER, 
1147        /**
1148         * 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.
1149         */
1150        MARKETINGSTATUS, 
1151        /**
1152         * 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.
1153         */
1154        META, 
1155        /**
1156         * An amount of economic utility in some recognized currency.
1157         */
1158        MONEY, 
1159        /**
1160         * null
1161         */
1162        MONEYQUANTITY, 
1163        /**
1164         * A human-readable formatted text, including images.
1165         */
1166        NARRATIVE, 
1167        /**
1168         * 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.
1169         */
1170        PARAMETERDEFINITION, 
1171        /**
1172         * A time period defined by a start and end date and optionally time.
1173         */
1174        PERIOD, 
1175        /**
1176         * 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.
1177         */
1178        PRODCHARACTERISTIC, 
1179        /**
1180         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
1181         */
1182        PRODUCTSHELFLIFE, 
1183        /**
1184         * 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.
1185         */
1186        QUANTITY, 
1187        /**
1188         * A set of ordered Quantities defined by a low and high limit.
1189         */
1190        RANGE, 
1191        /**
1192         * A relationship of two Quantity values - expressed as a numerator and a denominator.
1193         */
1194        RATIO, 
1195        /**
1196         * A reference from one resource to another.
1197         */
1198        REFERENCE, 
1199        /**
1200         * Related artifacts such as additional documentation, justification, or bibliographic references.
1201         */
1202        RELATEDARTIFACT, 
1203        /**
1204         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
1205         */
1206        SAMPLEDDATA, 
1207        /**
1208         * 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.
1209         */
1210        SIGNATURE, 
1211        /**
1212         * null
1213         */
1214        SIMPLEQUANTITY, 
1215        /**
1216         * 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.
1217         */
1218        SUBSTANCEAMOUNT, 
1219        /**
1220         * 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.
1221         */
1222        SUBSTANCEMOIETY, 
1223        /**
1224         * 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.
1225         */
1226        TIMING, 
1227        /**
1228         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
1229         */
1230        TRIGGERDEFINITION, 
1231        /**
1232         * 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).
1233         */
1234        USAGECONTEXT, 
1235        /**
1236         * A stream of bytes
1237         */
1238        BASE64BINARY, 
1239        /**
1240         * Value of "true" or "false"
1241         */
1242        BOOLEAN, 
1243        /**
1244         * A URI that is a reference to a canonical URI on a FHIR resource
1245         */
1246        CANONICAL, 
1247        /**
1248         * 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
1249         */
1250        CODE, 
1251        /**
1252         * 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.
1253         */
1254        DATE, 
1255        /**
1256         * 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.
1257         */
1258        DATETIME, 
1259        /**
1260         * A rational number with implicit precision
1261         */
1262        DECIMAL, 
1263        /**
1264         * 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.
1265         */
1266        ID, 
1267        /**
1268         * An instant in time - known at least to the second
1269         */
1270        INSTANT, 
1271        /**
1272         * A whole number
1273         */
1274        INTEGER, 
1275        /**
1276         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
1277         */
1278        MARKDOWN, 
1279        /**
1280         * An OID represented as a URI
1281         */
1282        OID, 
1283        /**
1284         * An integer with a value that is positive (e.g. >0)
1285         */
1286        POSITIVEINT, 
1287        /**
1288         * A sequence of Unicode characters
1289         */
1290        STRING, 
1291        /**
1292         * A time during the day, with no date specified
1293         */
1294        TIME, 
1295        /**
1296         * An integer with a value that is not negative (e.g. >= 0)
1297         */
1298        UNSIGNEDINT, 
1299        /**
1300         * String of characters used to identify a name or a resource
1301         */
1302        URI, 
1303        /**
1304         * A URI that is a literal reference
1305         */
1306        URL, 
1307        /**
1308         * A UUID, represented as a URI
1309         */
1310        UUID, 
1311        /**
1312         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
1313         */
1314        XHTML, 
1315        /**
1316         * added to help the parsers
1317         */
1318        NULL;
1319        public static DataType fromCode(String codeString) throws FHIRException {
1320            if (codeString == null || "".equals(codeString))
1321                return null;
1322        if ("Address".equals(codeString))
1323          return ADDRESS;
1324        if ("Age".equals(codeString))
1325          return AGE;
1326        if ("Annotation".equals(codeString))
1327          return ANNOTATION;
1328        if ("Attachment".equals(codeString))
1329          return ATTACHMENT;
1330        if ("BackboneElement".equals(codeString))
1331          return BACKBONEELEMENT;
1332        if ("CodeableConcept".equals(codeString))
1333          return CODEABLECONCEPT;
1334        if ("Coding".equals(codeString))
1335          return CODING;
1336        if ("ContactDetail".equals(codeString))
1337          return CONTACTDETAIL;
1338        if ("ContactPoint".equals(codeString))
1339          return CONTACTPOINT;
1340        if ("Contributor".equals(codeString))
1341          return CONTRIBUTOR;
1342        if ("Count".equals(codeString))
1343          return COUNT;
1344        if ("DataRequirement".equals(codeString))
1345          return DATAREQUIREMENT;
1346        if ("Distance".equals(codeString))
1347          return DISTANCE;
1348        if ("Dosage".equals(codeString))
1349          return DOSAGE;
1350        if ("Duration".equals(codeString))
1351          return DURATION;
1352        if ("Element".equals(codeString))
1353          return ELEMENT;
1354        if ("ElementDefinition".equals(codeString))
1355          return ELEMENTDEFINITION;
1356        if ("Expression".equals(codeString))
1357          return EXPRESSION;
1358        if ("Extension".equals(codeString))
1359          return EXTENSION;
1360        if ("HumanName".equals(codeString))
1361          return HUMANNAME;
1362        if ("Identifier".equals(codeString))
1363          return IDENTIFIER;
1364        if ("MarketingStatus".equals(codeString))
1365          return MARKETINGSTATUS;
1366        if ("Meta".equals(codeString))
1367          return META;
1368        if ("Money".equals(codeString))
1369          return MONEY;
1370        if ("MoneyQuantity".equals(codeString))
1371          return MONEYQUANTITY;
1372        if ("Narrative".equals(codeString))
1373          return NARRATIVE;
1374        if ("ParameterDefinition".equals(codeString))
1375          return PARAMETERDEFINITION;
1376        if ("Period".equals(codeString))
1377          return PERIOD;
1378        if ("ProdCharacteristic".equals(codeString))
1379          return PRODCHARACTERISTIC;
1380        if ("ProductShelfLife".equals(codeString))
1381          return PRODUCTSHELFLIFE;
1382        if ("Quantity".equals(codeString))
1383          return QUANTITY;
1384        if ("Range".equals(codeString))
1385          return RANGE;
1386        if ("Ratio".equals(codeString))
1387          return RATIO;
1388        if ("Reference".equals(codeString))
1389          return REFERENCE;
1390        if ("RelatedArtifact".equals(codeString))
1391          return RELATEDARTIFACT;
1392        if ("SampledData".equals(codeString))
1393          return SAMPLEDDATA;
1394        if ("Signature".equals(codeString))
1395          return SIGNATURE;
1396        if ("SimpleQuantity".equals(codeString))
1397          return SIMPLEQUANTITY;
1398        if ("SubstanceAmount".equals(codeString))
1399          return SUBSTANCEAMOUNT;
1400        if ("SubstanceMoiety".equals(codeString))
1401          return SUBSTANCEMOIETY;
1402        if ("Timing".equals(codeString))
1403          return TIMING;
1404        if ("TriggerDefinition".equals(codeString))
1405          return TRIGGERDEFINITION;
1406        if ("UsageContext".equals(codeString))
1407          return USAGECONTEXT;
1408        if ("base64Binary".equals(codeString))
1409          return BASE64BINARY;
1410        if ("boolean".equals(codeString))
1411          return BOOLEAN;
1412        if ("canonical".equals(codeString))
1413          return CANONICAL;
1414        if ("code".equals(codeString))
1415          return CODE;
1416        if ("date".equals(codeString))
1417          return DATE;
1418        if ("dateTime".equals(codeString))
1419          return DATETIME;
1420        if ("decimal".equals(codeString))
1421          return DECIMAL;
1422        if ("id".equals(codeString))
1423          return ID;
1424        if ("instant".equals(codeString))
1425          return INSTANT;
1426        if ("integer".equals(codeString))
1427          return INTEGER;
1428        if ("markdown".equals(codeString))
1429          return MARKDOWN;
1430        if ("oid".equals(codeString))
1431          return OID;
1432        if ("positiveInt".equals(codeString))
1433          return POSITIVEINT;
1434        if ("string".equals(codeString))
1435          return STRING;
1436        if ("time".equals(codeString))
1437          return TIME;
1438        if ("unsignedInt".equals(codeString))
1439          return UNSIGNEDINT;
1440        if ("uri".equals(codeString))
1441          return URI;
1442        if ("url".equals(codeString))
1443          return URL;
1444        if ("uuid".equals(codeString))
1445          return UUID;
1446        if ("xhtml".equals(codeString))
1447          return XHTML;
1448        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1449        }
1450        public String toCode() {
1451          switch (this) {
1452            case ADDRESS: return "Address";
1453            case AGE: return "Age";
1454            case ANNOTATION: return "Annotation";
1455            case ATTACHMENT: return "Attachment";
1456            case BACKBONEELEMENT: return "BackboneElement";
1457            case CODEABLECONCEPT: return "CodeableConcept";
1458            case CODING: return "Coding";
1459            case CONTACTDETAIL: return "ContactDetail";
1460            case CONTACTPOINT: return "ContactPoint";
1461            case CONTRIBUTOR: return "Contributor";
1462            case COUNT: return "Count";
1463            case DATAREQUIREMENT: return "DataRequirement";
1464            case DISTANCE: return "Distance";
1465            case DOSAGE: return "Dosage";
1466            case DURATION: return "Duration";
1467            case ELEMENT: return "Element";
1468            case ELEMENTDEFINITION: return "ElementDefinition";
1469            case EXPRESSION: return "Expression";
1470            case EXTENSION: return "Extension";
1471            case HUMANNAME: return "HumanName";
1472            case IDENTIFIER: return "Identifier";
1473            case MARKETINGSTATUS: return "MarketingStatus";
1474            case META: return "Meta";
1475            case MONEY: return "Money";
1476            case MONEYQUANTITY: return "MoneyQuantity";
1477            case NARRATIVE: return "Narrative";
1478            case PARAMETERDEFINITION: return "ParameterDefinition";
1479            case PERIOD: return "Period";
1480            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1481            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1482            case QUANTITY: return "Quantity";
1483            case RANGE: return "Range";
1484            case RATIO: return "Ratio";
1485            case REFERENCE: return "Reference";
1486            case RELATEDARTIFACT: return "RelatedArtifact";
1487            case SAMPLEDDATA: return "SampledData";
1488            case SIGNATURE: return "Signature";
1489            case SIMPLEQUANTITY: return "SimpleQuantity";
1490            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1491            case SUBSTANCEMOIETY: return "SubstanceMoiety";
1492            case TIMING: return "Timing";
1493            case TRIGGERDEFINITION: return "TriggerDefinition";
1494            case USAGECONTEXT: return "UsageContext";
1495            case BASE64BINARY: return "base64Binary";
1496            case BOOLEAN: return "boolean";
1497            case CANONICAL: return "canonical";
1498            case CODE: return "code";
1499            case DATE: return "date";
1500            case DATETIME: return "dateTime";
1501            case DECIMAL: return "decimal";
1502            case ID: return "id";
1503            case INSTANT: return "instant";
1504            case INTEGER: return "integer";
1505            case MARKDOWN: return "markdown";
1506            case OID: return "oid";
1507            case POSITIVEINT: return "positiveInt";
1508            case STRING: return "string";
1509            case TIME: return "time";
1510            case UNSIGNEDINT: return "unsignedInt";
1511            case URI: return "uri";
1512            case URL: return "url";
1513            case UUID: return "uuid";
1514            case XHTML: return "xhtml";
1515            default: return "?";
1516          }
1517        }
1518        public String getSystem() {
1519          switch (this) {
1520            case ADDRESS: return "http://hl7.org/fhir/data-types";
1521            case AGE: return "http://hl7.org/fhir/data-types";
1522            case ANNOTATION: return "http://hl7.org/fhir/data-types";
1523            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
1524            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
1525            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
1526            case CODING: return "http://hl7.org/fhir/data-types";
1527            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
1528            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
1529            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
1530            case COUNT: return "http://hl7.org/fhir/data-types";
1531            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
1532            case DISTANCE: return "http://hl7.org/fhir/data-types";
1533            case DOSAGE: return "http://hl7.org/fhir/data-types";
1534            case DURATION: return "http://hl7.org/fhir/data-types";
1535            case ELEMENT: return "http://hl7.org/fhir/data-types";
1536            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
1537            case EXPRESSION: return "http://hl7.org/fhir/data-types";
1538            case EXTENSION: return "http://hl7.org/fhir/data-types";
1539            case HUMANNAME: return "http://hl7.org/fhir/data-types";
1540            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
1541            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
1542            case META: return "http://hl7.org/fhir/data-types";
1543            case MONEY: return "http://hl7.org/fhir/data-types";
1544            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
1545            case NARRATIVE: return "http://hl7.org/fhir/data-types";
1546            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
1547            case PERIOD: return "http://hl7.org/fhir/data-types";
1548            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
1549            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
1550            case QUANTITY: return "http://hl7.org/fhir/data-types";
1551            case RANGE: return "http://hl7.org/fhir/data-types";
1552            case RATIO: return "http://hl7.org/fhir/data-types";
1553            case REFERENCE: return "http://hl7.org/fhir/data-types";
1554            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
1555            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
1556            case SIGNATURE: return "http://hl7.org/fhir/data-types";
1557            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
1558            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
1559            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
1560            case TIMING: return "http://hl7.org/fhir/data-types";
1561            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
1562            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
1563            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
1564            case BOOLEAN: return "http://hl7.org/fhir/data-types";
1565            case CANONICAL: return "http://hl7.org/fhir/data-types";
1566            case CODE: return "http://hl7.org/fhir/data-types";
1567            case DATE: return "http://hl7.org/fhir/data-types";
1568            case DATETIME: return "http://hl7.org/fhir/data-types";
1569            case DECIMAL: return "http://hl7.org/fhir/data-types";
1570            case ID: return "http://hl7.org/fhir/data-types";
1571            case INSTANT: return "http://hl7.org/fhir/data-types";
1572            case INTEGER: return "http://hl7.org/fhir/data-types";
1573            case MARKDOWN: return "http://hl7.org/fhir/data-types";
1574            case OID: return "http://hl7.org/fhir/data-types";
1575            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
1576            case STRING: return "http://hl7.org/fhir/data-types";
1577            case TIME: return "http://hl7.org/fhir/data-types";
1578            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
1579            case URI: return "http://hl7.org/fhir/data-types";
1580            case URL: return "http://hl7.org/fhir/data-types";
1581            case UUID: return "http://hl7.org/fhir/data-types";
1582            case XHTML: return "http://hl7.org/fhir/data-types";
1583            default: return "?";
1584          }
1585        }
1586        public String getDefinition() {
1587          switch (this) {
1588            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.";
1589            case AGE: return "A duration of time during which an organism (or a process) has existed.";
1590            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
1591            case ATTACHMENT: return "For referring to data content defined in other formats.";
1592            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
1593            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
1594            case CODING: return "A reference to a code defined by a terminology system.";
1595            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
1596            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
1597            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
1598            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.";
1599            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.";
1600            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
1601            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
1602            case DURATION: return "A length of time.";
1603            case ELEMENT: return "Base definition for all elements in a resource.";
1604            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
1605            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.";
1606            case EXTENSION: return "Optional Extension Element - found in all resources.";
1607            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
1608            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
1609            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.";
1610            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.";
1611            case MONEY: return "An amount of economic utility in some recognized currency.";
1612            case MONEYQUANTITY: return "";
1613            case NARRATIVE: return "A human-readable formatted text, including images.";
1614            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.";
1615            case PERIOD: return "A time period defined by a start and end date and optionally time.";
1616            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.";
1617            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
1618            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.";
1619            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
1620            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
1621            case REFERENCE: return "A reference from one resource to another.";
1622            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
1623            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.";
1624            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.";
1625            case SIMPLEQUANTITY: return "";
1626            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.";
1627            case SUBSTANCEMOIETY: 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.";
1628            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.";
1629            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.";
1630            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).";
1631            case BASE64BINARY: return "A stream of bytes";
1632            case BOOLEAN: return "Value of \"true\" or \"false\"";
1633            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
1634            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";
1635            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.";
1636            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.";
1637            case DECIMAL: return "A rational number with implicit precision";
1638            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.";
1639            case INSTANT: return "An instant in time - known at least to the second";
1640            case INTEGER: return "A whole number";
1641            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
1642            case OID: return "An OID represented as a URI";
1643            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
1644            case STRING: return "A sequence of Unicode characters";
1645            case TIME: return "A time during the day, with no date specified";
1646            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
1647            case URI: return "String of characters used to identify a name or a resource";
1648            case URL: return "A URI that is a literal reference";
1649            case UUID: return "A UUID, represented as a URI";
1650            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
1651            default: return "?";
1652          }
1653        }
1654        public String getDisplay() {
1655          switch (this) {
1656            case ADDRESS: return "Address";
1657            case AGE: return "Age";
1658            case ANNOTATION: return "Annotation";
1659            case ATTACHMENT: return "Attachment";
1660            case BACKBONEELEMENT: return "BackboneElement";
1661            case CODEABLECONCEPT: return "CodeableConcept";
1662            case CODING: return "Coding";
1663            case CONTACTDETAIL: return "ContactDetail";
1664            case CONTACTPOINT: return "ContactPoint";
1665            case CONTRIBUTOR: return "Contributor";
1666            case COUNT: return "Count";
1667            case DATAREQUIREMENT: return "DataRequirement";
1668            case DISTANCE: return "Distance";
1669            case DOSAGE: return "Dosage";
1670            case DURATION: return "Duration";
1671            case ELEMENT: return "Element";
1672            case ELEMENTDEFINITION: return "ElementDefinition";
1673            case EXPRESSION: return "Expression";
1674            case EXTENSION: return "Extension";
1675            case HUMANNAME: return "HumanName";
1676            case IDENTIFIER: return "Identifier";
1677            case MARKETINGSTATUS: return "MarketingStatus";
1678            case META: return "Meta";
1679            case MONEY: return "Money";
1680            case MONEYQUANTITY: return "MoneyQuantity";
1681            case NARRATIVE: return "Narrative";
1682            case PARAMETERDEFINITION: return "ParameterDefinition";
1683            case PERIOD: return "Period";
1684            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1685            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1686            case QUANTITY: return "Quantity";
1687            case RANGE: return "Range";
1688            case RATIO: return "Ratio";
1689            case REFERENCE: return "Reference";
1690            case RELATEDARTIFACT: return "RelatedArtifact";
1691            case SAMPLEDDATA: return "SampledData";
1692            case SIGNATURE: return "Signature";
1693            case SIMPLEQUANTITY: return "SimpleQuantity";
1694            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1695            case SUBSTANCEMOIETY: return "SubstanceMoiety";
1696            case TIMING: return "Timing";
1697            case TRIGGERDEFINITION: return "TriggerDefinition";
1698            case USAGECONTEXT: return "UsageContext";
1699            case BASE64BINARY: return "base64Binary";
1700            case BOOLEAN: return "boolean";
1701            case CANONICAL: return "canonical";
1702            case CODE: return "code";
1703            case DATE: return "date";
1704            case DATETIME: return "dateTime";
1705            case DECIMAL: return "decimal";
1706            case ID: return "id";
1707            case INSTANT: return "instant";
1708            case INTEGER: return "integer";
1709            case MARKDOWN: return "markdown";
1710            case OID: return "oid";
1711            case POSITIVEINT: return "positiveInt";
1712            case STRING: return "string";
1713            case TIME: return "time";
1714            case UNSIGNEDINT: return "unsignedInt";
1715            case URI: return "uri";
1716            case URL: return "url";
1717            case UUID: return "uuid";
1718            case XHTML: return "XHTML";
1719            default: return "?";
1720          }
1721        }
1722    }
1723
1724  public static class DataTypeEnumFactory implements EnumFactory<DataType> {
1725    public DataType fromCode(String codeString) throws IllegalArgumentException {
1726      if (codeString == null || "".equals(codeString))
1727            if (codeString == null || "".equals(codeString))
1728                return null;
1729        if ("Address".equals(codeString))
1730          return DataType.ADDRESS;
1731        if ("Age".equals(codeString))
1732          return DataType.AGE;
1733        if ("Annotation".equals(codeString))
1734          return DataType.ANNOTATION;
1735        if ("Attachment".equals(codeString))
1736          return DataType.ATTACHMENT;
1737        if ("BackboneElement".equals(codeString))
1738          return DataType.BACKBONEELEMENT;
1739        if ("CodeableConcept".equals(codeString))
1740          return DataType.CODEABLECONCEPT;
1741        if ("Coding".equals(codeString))
1742          return DataType.CODING;
1743        if ("ContactDetail".equals(codeString))
1744          return DataType.CONTACTDETAIL;
1745        if ("ContactPoint".equals(codeString))
1746          return DataType.CONTACTPOINT;
1747        if ("Contributor".equals(codeString))
1748          return DataType.CONTRIBUTOR;
1749        if ("Count".equals(codeString))
1750          return DataType.COUNT;
1751        if ("DataRequirement".equals(codeString))
1752          return DataType.DATAREQUIREMENT;
1753        if ("Distance".equals(codeString))
1754          return DataType.DISTANCE;
1755        if ("Dosage".equals(codeString))
1756          return DataType.DOSAGE;
1757        if ("Duration".equals(codeString))
1758          return DataType.DURATION;
1759        if ("Element".equals(codeString))
1760          return DataType.ELEMENT;
1761        if ("ElementDefinition".equals(codeString))
1762          return DataType.ELEMENTDEFINITION;
1763        if ("Expression".equals(codeString))
1764          return DataType.EXPRESSION;
1765        if ("Extension".equals(codeString))
1766          return DataType.EXTENSION;
1767        if ("HumanName".equals(codeString))
1768          return DataType.HUMANNAME;
1769        if ("Identifier".equals(codeString))
1770          return DataType.IDENTIFIER;
1771        if ("MarketingStatus".equals(codeString))
1772          return DataType.MARKETINGSTATUS;
1773        if ("Meta".equals(codeString))
1774          return DataType.META;
1775        if ("Money".equals(codeString))
1776          return DataType.MONEY;
1777        if ("MoneyQuantity".equals(codeString))
1778          return DataType.MONEYQUANTITY;
1779        if ("Narrative".equals(codeString))
1780          return DataType.NARRATIVE;
1781        if ("ParameterDefinition".equals(codeString))
1782          return DataType.PARAMETERDEFINITION;
1783        if ("Period".equals(codeString))
1784          return DataType.PERIOD;
1785        if ("ProdCharacteristic".equals(codeString))
1786          return DataType.PRODCHARACTERISTIC;
1787        if ("ProductShelfLife".equals(codeString))
1788          return DataType.PRODUCTSHELFLIFE;
1789        if ("Quantity".equals(codeString))
1790          return DataType.QUANTITY;
1791        if ("Range".equals(codeString))
1792          return DataType.RANGE;
1793        if ("Ratio".equals(codeString))
1794          return DataType.RATIO;
1795        if ("Reference".equals(codeString))
1796          return DataType.REFERENCE;
1797        if ("RelatedArtifact".equals(codeString))
1798          return DataType.RELATEDARTIFACT;
1799        if ("SampledData".equals(codeString))
1800          return DataType.SAMPLEDDATA;
1801        if ("Signature".equals(codeString))
1802          return DataType.SIGNATURE;
1803        if ("SimpleQuantity".equals(codeString))
1804          return DataType.SIMPLEQUANTITY;
1805        if ("SubstanceAmount".equals(codeString))
1806          return DataType.SUBSTANCEAMOUNT;
1807        if ("SubstanceMoiety".equals(codeString))
1808          return DataType.SUBSTANCEMOIETY;
1809        if ("Timing".equals(codeString))
1810          return DataType.TIMING;
1811        if ("TriggerDefinition".equals(codeString))
1812          return DataType.TRIGGERDEFINITION;
1813        if ("UsageContext".equals(codeString))
1814          return DataType.USAGECONTEXT;
1815        if ("base64Binary".equals(codeString))
1816          return DataType.BASE64BINARY;
1817        if ("boolean".equals(codeString))
1818          return DataType.BOOLEAN;
1819        if ("canonical".equals(codeString))
1820          return DataType.CANONICAL;
1821        if ("code".equals(codeString))
1822          return DataType.CODE;
1823        if ("date".equals(codeString))
1824          return DataType.DATE;
1825        if ("dateTime".equals(codeString))
1826          return DataType.DATETIME;
1827        if ("decimal".equals(codeString))
1828          return DataType.DECIMAL;
1829        if ("id".equals(codeString))
1830          return DataType.ID;
1831        if ("instant".equals(codeString))
1832          return DataType.INSTANT;
1833        if ("integer".equals(codeString))
1834          return DataType.INTEGER;
1835        if ("markdown".equals(codeString))
1836          return DataType.MARKDOWN;
1837        if ("oid".equals(codeString))
1838          return DataType.OID;
1839        if ("positiveInt".equals(codeString))
1840          return DataType.POSITIVEINT;
1841        if ("string".equals(codeString))
1842          return DataType.STRING;
1843        if ("time".equals(codeString))
1844          return DataType.TIME;
1845        if ("unsignedInt".equals(codeString))
1846          return DataType.UNSIGNEDINT;
1847        if ("uri".equals(codeString))
1848          return DataType.URI;
1849        if ("url".equals(codeString))
1850          return DataType.URL;
1851        if ("uuid".equals(codeString))
1852          return DataType.UUID;
1853        if ("xhtml".equals(codeString))
1854          return DataType.XHTML;
1855        throw new IllegalArgumentException("Unknown DataType code '"+codeString+"'");
1856        }
1857        public Enumeration<DataType> fromType(Base code) throws FHIRException {
1858          if (code == null)
1859            return null;
1860          if (code.isEmpty())
1861            return new Enumeration<DataType>(this);
1862          String codeString = ((PrimitiveType) code).asStringValue();
1863          if (codeString == null || "".equals(codeString))
1864            return null;
1865        if ("Address".equals(codeString))
1866          return new Enumeration<DataType>(this, DataType.ADDRESS);
1867        if ("Age".equals(codeString))
1868          return new Enumeration<DataType>(this, DataType.AGE);
1869        if ("Annotation".equals(codeString))
1870          return new Enumeration<DataType>(this, DataType.ANNOTATION);
1871        if ("Attachment".equals(codeString))
1872          return new Enumeration<DataType>(this, DataType.ATTACHMENT);
1873        if ("BackboneElement".equals(codeString))
1874          return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT);
1875        if ("CodeableConcept".equals(codeString))
1876          return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT);
1877        if ("Coding".equals(codeString))
1878          return new Enumeration<DataType>(this, DataType.CODING);
1879        if ("ContactDetail".equals(codeString))
1880          return new Enumeration<DataType>(this, DataType.CONTACTDETAIL);
1881        if ("ContactPoint".equals(codeString))
1882          return new Enumeration<DataType>(this, DataType.CONTACTPOINT);
1883        if ("Contributor".equals(codeString))
1884          return new Enumeration<DataType>(this, DataType.CONTRIBUTOR);
1885        if ("Count".equals(codeString))
1886          return new Enumeration<DataType>(this, DataType.COUNT);
1887        if ("DataRequirement".equals(codeString))
1888          return new Enumeration<DataType>(this, DataType.DATAREQUIREMENT);
1889        if ("Distance".equals(codeString))
1890          return new Enumeration<DataType>(this, DataType.DISTANCE);
1891        if ("Dosage".equals(codeString))
1892          return new Enumeration<DataType>(this, DataType.DOSAGE);
1893        if ("Duration".equals(codeString))
1894          return new Enumeration<DataType>(this, DataType.DURATION);
1895        if ("Element".equals(codeString))
1896          return new Enumeration<DataType>(this, DataType.ELEMENT);
1897        if ("ElementDefinition".equals(codeString))
1898          return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION);
1899        if ("Expression".equals(codeString))
1900          return new Enumeration<DataType>(this, DataType.EXPRESSION);
1901        if ("Extension".equals(codeString))
1902          return new Enumeration<DataType>(this, DataType.EXTENSION);
1903        if ("HumanName".equals(codeString))
1904          return new Enumeration<DataType>(this, DataType.HUMANNAME);
1905        if ("Identifier".equals(codeString))
1906          return new Enumeration<DataType>(this, DataType.IDENTIFIER);
1907        if ("MarketingStatus".equals(codeString))
1908          return new Enumeration<DataType>(this, DataType.MARKETINGSTATUS);
1909        if ("Meta".equals(codeString))
1910          return new Enumeration<DataType>(this, DataType.META);
1911        if ("Money".equals(codeString))
1912          return new Enumeration<DataType>(this, DataType.MONEY);
1913        if ("MoneyQuantity".equals(codeString))
1914          return new Enumeration<DataType>(this, DataType.MONEYQUANTITY);
1915        if ("Narrative".equals(codeString))
1916          return new Enumeration<DataType>(this, DataType.NARRATIVE);
1917        if ("ParameterDefinition".equals(codeString))
1918          return new Enumeration<DataType>(this, DataType.PARAMETERDEFINITION);
1919        if ("Period".equals(codeString))
1920          return new Enumeration<DataType>(this, DataType.PERIOD);
1921        if ("ProdCharacteristic".equals(codeString))
1922          return new Enumeration<DataType>(this, DataType.PRODCHARACTERISTIC);
1923        if ("ProductShelfLife".equals(codeString))
1924          return new Enumeration<DataType>(this, DataType.PRODUCTSHELFLIFE);
1925        if ("Quantity".equals(codeString))
1926          return new Enumeration<DataType>(this, DataType.QUANTITY);
1927        if ("Range".equals(codeString))
1928          return new Enumeration<DataType>(this, DataType.RANGE);
1929        if ("Ratio".equals(codeString))
1930          return new Enumeration<DataType>(this, DataType.RATIO);
1931        if ("Reference".equals(codeString))
1932          return new Enumeration<DataType>(this, DataType.REFERENCE);
1933        if ("RelatedArtifact".equals(codeString))
1934          return new Enumeration<DataType>(this, DataType.RELATEDARTIFACT);
1935        if ("SampledData".equals(codeString))
1936          return new Enumeration<DataType>(this, DataType.SAMPLEDDATA);
1937        if ("Signature".equals(codeString))
1938          return new Enumeration<DataType>(this, DataType.SIGNATURE);
1939        if ("SimpleQuantity".equals(codeString))
1940          return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY);
1941        if ("SubstanceAmount".equals(codeString))
1942          return new Enumeration<DataType>(this, DataType.SUBSTANCEAMOUNT);
1943        if ("SubstanceMoiety".equals(codeString))
1944          return new Enumeration<DataType>(this, DataType.SUBSTANCEMOIETY);
1945        if ("Timing".equals(codeString))
1946          return new Enumeration<DataType>(this, DataType.TIMING);
1947        if ("TriggerDefinition".equals(codeString))
1948          return new Enumeration<DataType>(this, DataType.TRIGGERDEFINITION);
1949        if ("UsageContext".equals(codeString))
1950          return new Enumeration<DataType>(this, DataType.USAGECONTEXT);
1951        if ("base64Binary".equals(codeString))
1952          return new Enumeration<DataType>(this, DataType.BASE64BINARY);
1953        if ("boolean".equals(codeString))
1954          return new Enumeration<DataType>(this, DataType.BOOLEAN);
1955        if ("canonical".equals(codeString))
1956          return new Enumeration<DataType>(this, DataType.CANONICAL);
1957        if ("code".equals(codeString))
1958          return new Enumeration<DataType>(this, DataType.CODE);
1959        if ("date".equals(codeString))
1960          return new Enumeration<DataType>(this, DataType.DATE);
1961        if ("dateTime".equals(codeString))
1962          return new Enumeration<DataType>(this, DataType.DATETIME);
1963        if ("decimal".equals(codeString))
1964          return new Enumeration<DataType>(this, DataType.DECIMAL);
1965        if ("id".equals(codeString))
1966          return new Enumeration<DataType>(this, DataType.ID);
1967        if ("instant".equals(codeString))
1968          return new Enumeration<DataType>(this, DataType.INSTANT);
1969        if ("integer".equals(codeString))
1970          return new Enumeration<DataType>(this, DataType.INTEGER);
1971        if ("markdown".equals(codeString))
1972          return new Enumeration<DataType>(this, DataType.MARKDOWN);
1973        if ("oid".equals(codeString))
1974          return new Enumeration<DataType>(this, DataType.OID);
1975        if ("positiveInt".equals(codeString))
1976          return new Enumeration<DataType>(this, DataType.POSITIVEINT);
1977        if ("string".equals(codeString))
1978          return new Enumeration<DataType>(this, DataType.STRING);
1979        if ("time".equals(codeString))
1980          return new Enumeration<DataType>(this, DataType.TIME);
1981        if ("unsignedInt".equals(codeString))
1982          return new Enumeration<DataType>(this, DataType.UNSIGNEDINT);
1983        if ("uri".equals(codeString))
1984          return new Enumeration<DataType>(this, DataType.URI);
1985        if ("url".equals(codeString))
1986          return new Enumeration<DataType>(this, DataType.URL);
1987        if ("uuid".equals(codeString))
1988          return new Enumeration<DataType>(this, DataType.UUID);
1989        if ("xhtml".equals(codeString))
1990          return new Enumeration<DataType>(this, DataType.XHTML);
1991        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1992        }
1993    public String toCode(DataType code) {
1994      if (code == DataType.ADDRESS)
1995        return "Address";
1996      if (code == DataType.AGE)
1997        return "Age";
1998      if (code == DataType.ANNOTATION)
1999        return "Annotation";
2000      if (code == DataType.ATTACHMENT)
2001        return "Attachment";
2002      if (code == DataType.BACKBONEELEMENT)
2003        return "BackboneElement";
2004      if (code == DataType.CODEABLECONCEPT)
2005        return "CodeableConcept";
2006      if (code == DataType.CODING)
2007        return "Coding";
2008      if (code == DataType.CONTACTDETAIL)
2009        return "ContactDetail";
2010      if (code == DataType.CONTACTPOINT)
2011        return "ContactPoint";
2012      if (code == DataType.CONTRIBUTOR)
2013        return "Contributor";
2014      if (code == DataType.COUNT)
2015        return "Count";
2016      if (code == DataType.DATAREQUIREMENT)
2017        return "DataRequirement";
2018      if (code == DataType.DISTANCE)
2019        return "Distance";
2020      if (code == DataType.DOSAGE)
2021        return "Dosage";
2022      if (code == DataType.DURATION)
2023        return "Duration";
2024      if (code == DataType.ELEMENT)
2025        return "Element";
2026      if (code == DataType.ELEMENTDEFINITION)
2027        return "ElementDefinition";
2028      if (code == DataType.EXPRESSION)
2029        return "Expression";
2030      if (code == DataType.EXTENSION)
2031        return "Extension";
2032      if (code == DataType.HUMANNAME)
2033        return "HumanName";
2034      if (code == DataType.IDENTIFIER)
2035        return "Identifier";
2036      if (code == DataType.MARKETINGSTATUS)
2037        return "MarketingStatus";
2038      if (code == DataType.META)
2039        return "Meta";
2040      if (code == DataType.MONEY)
2041        return "Money";
2042      if (code == DataType.MONEYQUANTITY)
2043        return "MoneyQuantity";
2044      if (code == DataType.NARRATIVE)
2045        return "Narrative";
2046      if (code == DataType.PARAMETERDEFINITION)
2047        return "ParameterDefinition";
2048      if (code == DataType.PERIOD)
2049        return "Period";
2050      if (code == DataType.PRODCHARACTERISTIC)
2051        return "ProdCharacteristic";
2052      if (code == DataType.PRODUCTSHELFLIFE)
2053        return "ProductShelfLife";
2054      if (code == DataType.QUANTITY)
2055        return "Quantity";
2056      if (code == DataType.RANGE)
2057        return "Range";
2058      if (code == DataType.RATIO)
2059        return "Ratio";
2060      if (code == DataType.REFERENCE)
2061        return "Reference";
2062      if (code == DataType.RELATEDARTIFACT)
2063        return "RelatedArtifact";
2064      if (code == DataType.SAMPLEDDATA)
2065        return "SampledData";
2066      if (code == DataType.SIGNATURE)
2067        return "Signature";
2068      if (code == DataType.SIMPLEQUANTITY)
2069        return "SimpleQuantity";
2070      if (code == DataType.SUBSTANCEAMOUNT)
2071        return "SubstanceAmount";
2072      if (code == DataType.SUBSTANCEMOIETY)
2073        return "SubstanceMoiety";
2074      if (code == DataType.TIMING)
2075        return "Timing";
2076      if (code == DataType.TRIGGERDEFINITION)
2077        return "TriggerDefinition";
2078      if (code == DataType.USAGECONTEXT)
2079        return "UsageContext";
2080      if (code == DataType.BASE64BINARY)
2081        return "base64Binary";
2082      if (code == DataType.BOOLEAN)
2083        return "boolean";
2084      if (code == DataType.CANONICAL)
2085        return "canonical";
2086      if (code == DataType.CODE)
2087        return "code";
2088      if (code == DataType.DATE)
2089        return "date";
2090      if (code == DataType.DATETIME)
2091        return "dateTime";
2092      if (code == DataType.DECIMAL)
2093        return "decimal";
2094      if (code == DataType.ID)
2095        return "id";
2096      if (code == DataType.INSTANT)
2097        return "instant";
2098      if (code == DataType.INTEGER)
2099        return "integer";
2100      if (code == DataType.MARKDOWN)
2101        return "markdown";
2102      if (code == DataType.OID)
2103        return "oid";
2104      if (code == DataType.POSITIVEINT)
2105        return "positiveInt";
2106      if (code == DataType.STRING)
2107        return "string";
2108      if (code == DataType.TIME)
2109        return "time";
2110      if (code == DataType.UNSIGNEDINT)
2111        return "unsignedInt";
2112      if (code == DataType.URI)
2113        return "uri";
2114      if (code == DataType.URL)
2115        return "url";
2116      if (code == DataType.UUID)
2117        return "uuid";
2118      if (code == DataType.XHTML)
2119        return "xhtml";
2120      return "?";
2121      }
2122    public String toSystem(DataType code) {
2123      return code.getSystem();
2124      }
2125    }
2126
2127    public enum DefinitionResourceType {
2128        /**
2129         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
2130         */
2131        ACTIVITYDEFINITION, 
2132        /**
2133         * The EventDefinition resource provides a reusable description of when a particular event can occur.
2134         */
2135        EVENTDEFINITION, 
2136        /**
2137         * The Measure resource provides the definition of a quality measure.
2138         */
2139        MEASURE, 
2140        /**
2141         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
2142         */
2143        OPERATIONDEFINITION, 
2144        /**
2145         * 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.
2146         */
2147        PLANDEFINITION, 
2148        /**
2149         * 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.
2150         */
2151        QUESTIONNAIRE, 
2152        /**
2153         * added to help the parsers
2154         */
2155        NULL;
2156        public static DefinitionResourceType fromCode(String codeString) throws FHIRException {
2157            if (codeString == null || "".equals(codeString))
2158                return null;
2159        if ("ActivityDefinition".equals(codeString))
2160          return ACTIVITYDEFINITION;
2161        if ("EventDefinition".equals(codeString))
2162          return EVENTDEFINITION;
2163        if ("Measure".equals(codeString))
2164          return MEASURE;
2165        if ("OperationDefinition".equals(codeString))
2166          return OPERATIONDEFINITION;
2167        if ("PlanDefinition".equals(codeString))
2168          return PLANDEFINITION;
2169        if ("Questionnaire".equals(codeString))
2170          return QUESTIONNAIRE;
2171        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2172        }
2173        public String toCode() {
2174          switch (this) {
2175            case ACTIVITYDEFINITION: return "ActivityDefinition";
2176            case EVENTDEFINITION: return "EventDefinition";
2177            case MEASURE: return "Measure";
2178            case OPERATIONDEFINITION: return "OperationDefinition";
2179            case PLANDEFINITION: return "PlanDefinition";
2180            case QUESTIONNAIRE: return "Questionnaire";
2181            default: return "?";
2182          }
2183        }
2184        public String getSystem() {
2185          switch (this) {
2186            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2187            case EVENTDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2188            case MEASURE: return "http://hl7.org/fhir/definition-resource-types";
2189            case OPERATIONDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2190            case PLANDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2191            case QUESTIONNAIRE: return "http://hl7.org/fhir/definition-resource-types";
2192            default: return "?";
2193          }
2194        }
2195        public String getDefinition() {
2196          switch (this) {
2197            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.";
2198            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
2199            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
2200            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
2201            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.";
2202            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.";
2203            default: return "?";
2204          }
2205        }
2206        public String getDisplay() {
2207          switch (this) {
2208            case ACTIVITYDEFINITION: return "ActivityDefinition";
2209            case EVENTDEFINITION: return "EventDefinition";
2210            case MEASURE: return "Measure";
2211            case OPERATIONDEFINITION: return "OperationDefinition";
2212            case PLANDEFINITION: return "PlanDefinition";
2213            case QUESTIONNAIRE: return "Questionnaire";
2214            default: return "?";
2215          }
2216        }
2217    }
2218
2219  public static class DefinitionResourceTypeEnumFactory implements EnumFactory<DefinitionResourceType> {
2220    public DefinitionResourceType fromCode(String codeString) throws IllegalArgumentException {
2221      if (codeString == null || "".equals(codeString))
2222            if (codeString == null || "".equals(codeString))
2223                return null;
2224        if ("ActivityDefinition".equals(codeString))
2225          return DefinitionResourceType.ACTIVITYDEFINITION;
2226        if ("EventDefinition".equals(codeString))
2227          return DefinitionResourceType.EVENTDEFINITION;
2228        if ("Measure".equals(codeString))
2229          return DefinitionResourceType.MEASURE;
2230        if ("OperationDefinition".equals(codeString))
2231          return DefinitionResourceType.OPERATIONDEFINITION;
2232        if ("PlanDefinition".equals(codeString))
2233          return DefinitionResourceType.PLANDEFINITION;
2234        if ("Questionnaire".equals(codeString))
2235          return DefinitionResourceType.QUESTIONNAIRE;
2236        throw new IllegalArgumentException("Unknown DefinitionResourceType code '"+codeString+"'");
2237        }
2238        public Enumeration<DefinitionResourceType> fromType(Base code) throws FHIRException {
2239          if (code == null)
2240            return null;
2241          if (code.isEmpty())
2242            return new Enumeration<DefinitionResourceType>(this);
2243          String codeString = ((PrimitiveType) code).asStringValue();
2244          if (codeString == null || "".equals(codeString))
2245            return null;
2246        if ("ActivityDefinition".equals(codeString))
2247          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.ACTIVITYDEFINITION);
2248        if ("EventDefinition".equals(codeString))
2249          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.EVENTDEFINITION);
2250        if ("Measure".equals(codeString))
2251          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.MEASURE);
2252        if ("OperationDefinition".equals(codeString))
2253          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.OPERATIONDEFINITION);
2254        if ("PlanDefinition".equals(codeString))
2255          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.PLANDEFINITION);
2256        if ("Questionnaire".equals(codeString))
2257          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.QUESTIONNAIRE);
2258        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2259        }
2260    public String toCode(DefinitionResourceType code) {
2261      if (code == DefinitionResourceType.ACTIVITYDEFINITION)
2262        return "ActivityDefinition";
2263      if (code == DefinitionResourceType.EVENTDEFINITION)
2264        return "EventDefinition";
2265      if (code == DefinitionResourceType.MEASURE)
2266        return "Measure";
2267      if (code == DefinitionResourceType.OPERATIONDEFINITION)
2268        return "OperationDefinition";
2269      if (code == DefinitionResourceType.PLANDEFINITION)
2270        return "PlanDefinition";
2271      if (code == DefinitionResourceType.QUESTIONNAIRE)
2272        return "Questionnaire";
2273      return "?";
2274      }
2275    public String toSystem(DefinitionResourceType code) {
2276      return code.getSystem();
2277      }
2278    }
2279
2280    public enum DocumentReferenceStatus {
2281        /**
2282         * This is the current reference for this document.
2283         */
2284        CURRENT, 
2285        /**
2286         * This reference has been superseded by another reference.
2287         */
2288        SUPERSEDED, 
2289        /**
2290         * This reference was created in error.
2291         */
2292        ENTEREDINERROR, 
2293        /**
2294         * added to help the parsers
2295         */
2296        NULL;
2297        public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException {
2298            if (codeString == null || "".equals(codeString))
2299                return null;
2300        if ("current".equals(codeString))
2301          return CURRENT;
2302        if ("superseded".equals(codeString))
2303          return SUPERSEDED;
2304        if ("entered-in-error".equals(codeString))
2305          return ENTEREDINERROR;
2306        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2307        }
2308        public String toCode() {
2309          switch (this) {
2310            case CURRENT: return "current";
2311            case SUPERSEDED: return "superseded";
2312            case ENTEREDINERROR: return "entered-in-error";
2313            default: return "?";
2314          }
2315        }
2316        public String getSystem() {
2317          switch (this) {
2318            case CURRENT: return "http://hl7.org/fhir/document-reference-status";
2319            case SUPERSEDED: return "http://hl7.org/fhir/document-reference-status";
2320            case ENTEREDINERROR: return "http://hl7.org/fhir/document-reference-status";
2321            default: return "?";
2322          }
2323        }
2324        public String getDefinition() {
2325          switch (this) {
2326            case CURRENT: return "This is the current reference for this document.";
2327            case SUPERSEDED: return "This reference has been superseded by another reference.";
2328            case ENTEREDINERROR: return "This reference was created in error.";
2329            default: return "?";
2330          }
2331        }
2332        public String getDisplay() {
2333          switch (this) {
2334            case CURRENT: return "Current";
2335            case SUPERSEDED: return "Superseded";
2336            case ENTEREDINERROR: return "Entered in Error";
2337            default: return "?";
2338          }
2339        }
2340    }
2341
2342  public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> {
2343    public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException {
2344      if (codeString == null || "".equals(codeString))
2345            if (codeString == null || "".equals(codeString))
2346                return null;
2347        if ("current".equals(codeString))
2348          return DocumentReferenceStatus.CURRENT;
2349        if ("superseded".equals(codeString))
2350          return DocumentReferenceStatus.SUPERSEDED;
2351        if ("entered-in-error".equals(codeString))
2352          return DocumentReferenceStatus.ENTEREDINERROR;
2353        throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2354        }
2355        public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException {
2356          if (code == null)
2357            return null;
2358          if (code.isEmpty())
2359            return new Enumeration<DocumentReferenceStatus>(this);
2360          String codeString = ((PrimitiveType) code).asStringValue();
2361          if (codeString == null || "".equals(codeString))
2362            return null;
2363        if ("current".equals(codeString))
2364          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT);
2365        if ("superseded".equals(codeString))
2366          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED);
2367        if ("entered-in-error".equals(codeString))
2368          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR);
2369        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2370        }
2371    public String toCode(DocumentReferenceStatus code) {
2372      if (code == DocumentReferenceStatus.CURRENT)
2373        return "current";
2374      if (code == DocumentReferenceStatus.SUPERSEDED)
2375        return "superseded";
2376      if (code == DocumentReferenceStatus.ENTEREDINERROR)
2377        return "entered-in-error";
2378      return "?";
2379      }
2380    public String toSystem(DocumentReferenceStatus code) {
2381      return code.getSystem();
2382      }
2383    }
2384
2385    public enum EventResourceType {
2386        /**
2387         * Item containing charge code(s) associated with the provision of healthcare provider products.
2388         */
2389        CHARGEITEM, 
2390        /**
2391         * Remittance resource.
2392         */
2393        CLAIMRESPONSE, 
2394        /**
2395         * A clinical assessment performed when planning treatments and management strategies for a patient.
2396         */
2397        CLINICALIMPRESSION, 
2398        /**
2399         * A record of information transmitted from a sender to a receiver.
2400         */
2401        COMMUNICATION, 
2402        /**
2403         * A set of resources composed into a single coherent clinical statement with clinical attestation.
2404         */
2405        COMPOSITION, 
2406        /**
2407         * Detailed information about conditions, problems or diagnoses.
2408         */
2409        CONDITION, 
2410        /**
2411         * A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.
2412         */
2413        CONSENT, 
2414        /**
2415         * Insurance or medical plan or a payment agreement.
2416         */
2417        COVERAGE, 
2418        /**
2419         * Record of use of a device.
2420         */
2421        DEVICEUSESTATEMENT, 
2422        /**
2423         * A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.
2424         */
2425        DIAGNOSTICREPORT, 
2426        /**
2427         * A list that defines a set of documents.
2428         */
2429        DOCUMENTMANIFEST, 
2430        /**
2431         * A reference to a document.
2432         */
2433        DOCUMENTREFERENCE, 
2434        /**
2435         * An interaction during which services are provided to the patient.
2436         */
2437        ENCOUNTER, 
2438        /**
2439         * EnrollmentResponse resource.
2440         */
2441        ENROLLMENTRESPONSE, 
2442        /**
2443         * 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.
2444         */
2445        EPISODEOFCARE, 
2446        /**
2447         * Explanation of Benefit resource.
2448         */
2449        EXPLANATIONOFBENEFIT, 
2450        /**
2451         * Information about patient's relatives, relevant for patient.
2452         */
2453        FAMILYMEMBERHISTORY, 
2454        /**
2455         * The formal response to a guidance request.
2456         */
2457        GUIDANCERESPONSE, 
2458        /**
2459         * A set of images produced in single study (one or more series of references images).
2460         */
2461        IMAGINGSTUDY, 
2462        /**
2463         * Immunization event information.
2464         */
2465        IMMUNIZATION, 
2466        /**
2467         * Results of a measure evaluation.
2468         */
2469        MEASUREREPORT, 
2470        /**
2471         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
2472         */
2473        MEDIA, 
2474        /**
2475         * Administration of medication to a patient.
2476         */
2477        MEDICATIONADMINISTRATION, 
2478        /**
2479         * Dispensing a medication to a named patient.
2480         */
2481        MEDICATIONDISPENSE, 
2482        /**
2483         * Record of medication being taken by a patient.
2484         */
2485        MEDICATIONSTATEMENT, 
2486        /**
2487         * Measurements and simple assertions.
2488         */
2489        OBSERVATION, 
2490        /**
2491         * PaymentNotice request.
2492         */
2493        PAYMENTNOTICE, 
2494        /**
2495         * PaymentReconciliation resource.
2496         */
2497        PAYMENTRECONCILIATION, 
2498        /**
2499         * An action that is being or was performed on a patient.
2500         */
2501        PROCEDURE, 
2502        /**
2503         * ProcessResponse resource.
2504         */
2505        PROCESSRESPONSE, 
2506        /**
2507         * A structured set of questions and their answers.
2508         */
2509        QUESTIONNAIRERESPONSE, 
2510        /**
2511         * Potential outcomes for a subject with likelihood.
2512         */
2513        RISKASSESSMENT, 
2514        /**
2515         * Delivery of bulk Supplies.
2516         */
2517        SUPPLYDELIVERY, 
2518        /**
2519         * A task to be performed.
2520         */
2521        TASK, 
2522        /**
2523         * added to help the parsers
2524         */
2525        NULL;
2526        public static EventResourceType fromCode(String codeString) throws FHIRException {
2527            if (codeString == null || "".equals(codeString))
2528                return null;
2529        if ("ChargeItem".equals(codeString))
2530          return CHARGEITEM;
2531        if ("ClaimResponse".equals(codeString))
2532          return CLAIMRESPONSE;
2533        if ("ClinicalImpression".equals(codeString))
2534          return CLINICALIMPRESSION;
2535        if ("Communication".equals(codeString))
2536          return COMMUNICATION;
2537        if ("Composition".equals(codeString))
2538          return COMPOSITION;
2539        if ("Condition".equals(codeString))
2540          return CONDITION;
2541        if ("Consent".equals(codeString))
2542          return CONSENT;
2543        if ("Coverage".equals(codeString))
2544          return COVERAGE;
2545        if ("DeviceUseStatement".equals(codeString))
2546          return DEVICEUSESTATEMENT;
2547        if ("DiagnosticReport".equals(codeString))
2548          return DIAGNOSTICREPORT;
2549        if ("DocumentManifest".equals(codeString))
2550          return DOCUMENTMANIFEST;
2551        if ("DocumentReference".equals(codeString))
2552          return DOCUMENTREFERENCE;
2553        if ("Encounter".equals(codeString))
2554          return ENCOUNTER;
2555        if ("EnrollmentResponse".equals(codeString))
2556          return ENROLLMENTRESPONSE;
2557        if ("EpisodeOfCare".equals(codeString))
2558          return EPISODEOFCARE;
2559        if ("ExplanationOfBenefit".equals(codeString))
2560          return EXPLANATIONOFBENEFIT;
2561        if ("FamilyMemberHistory".equals(codeString))
2562          return FAMILYMEMBERHISTORY;
2563        if ("GuidanceResponse".equals(codeString))
2564          return GUIDANCERESPONSE;
2565        if ("ImagingStudy".equals(codeString))
2566          return IMAGINGSTUDY;
2567        if ("Immunization".equals(codeString))
2568          return IMMUNIZATION;
2569        if ("MeasureReport".equals(codeString))
2570          return MEASUREREPORT;
2571        if ("Media".equals(codeString))
2572          return MEDIA;
2573        if ("MedicationAdministration".equals(codeString))
2574          return MEDICATIONADMINISTRATION;
2575        if ("MedicationDispense".equals(codeString))
2576          return MEDICATIONDISPENSE;
2577        if ("MedicationStatement".equals(codeString))
2578          return MEDICATIONSTATEMENT;
2579        if ("Observation".equals(codeString))
2580          return OBSERVATION;
2581        if ("PaymentNotice".equals(codeString))
2582          return PAYMENTNOTICE;
2583        if ("PaymentReconciliation".equals(codeString))
2584          return PAYMENTRECONCILIATION;
2585        if ("Procedure".equals(codeString))
2586          return PROCEDURE;
2587        if ("ProcessResponse".equals(codeString))
2588          return PROCESSRESPONSE;
2589        if ("QuestionnaireResponse".equals(codeString))
2590          return QUESTIONNAIRERESPONSE;
2591        if ("RiskAssessment".equals(codeString))
2592          return RISKASSESSMENT;
2593        if ("SupplyDelivery".equals(codeString))
2594          return SUPPLYDELIVERY;
2595        if ("Task".equals(codeString))
2596          return TASK;
2597        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2598        }
2599        public String toCode() {
2600          switch (this) {
2601            case CHARGEITEM: return "ChargeItem";
2602            case CLAIMRESPONSE: return "ClaimResponse";
2603            case CLINICALIMPRESSION: return "ClinicalImpression";
2604            case COMMUNICATION: return "Communication";
2605            case COMPOSITION: return "Composition";
2606            case CONDITION: return "Condition";
2607            case CONSENT: return "Consent";
2608            case COVERAGE: return "Coverage";
2609            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2610            case DIAGNOSTICREPORT: return "DiagnosticReport";
2611            case DOCUMENTMANIFEST: return "DocumentManifest";
2612            case DOCUMENTREFERENCE: return "DocumentReference";
2613            case ENCOUNTER: return "Encounter";
2614            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2615            case EPISODEOFCARE: return "EpisodeOfCare";
2616            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2617            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2618            case GUIDANCERESPONSE: return "GuidanceResponse";
2619            case IMAGINGSTUDY: return "ImagingStudy";
2620            case IMMUNIZATION: return "Immunization";
2621            case MEASUREREPORT: return "MeasureReport";
2622            case MEDIA: return "Media";
2623            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2624            case MEDICATIONDISPENSE: return "MedicationDispense";
2625            case MEDICATIONSTATEMENT: return "MedicationStatement";
2626            case OBSERVATION: return "Observation";
2627            case PAYMENTNOTICE: return "PaymentNotice";
2628            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2629            case PROCEDURE: return "Procedure";
2630            case PROCESSRESPONSE: return "ProcessResponse";
2631            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2632            case RISKASSESSMENT: return "RiskAssessment";
2633            case SUPPLYDELIVERY: return "SupplyDelivery";
2634            case TASK: return "Task";
2635            default: return "?";
2636          }
2637        }
2638        public String getSystem() {
2639          switch (this) {
2640            case CHARGEITEM: return "http://hl7.org/fhir/event-resource-types";
2641            case CLAIMRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2642            case CLINICALIMPRESSION: return "http://hl7.org/fhir/event-resource-types";
2643            case COMMUNICATION: return "http://hl7.org/fhir/event-resource-types";
2644            case COMPOSITION: return "http://hl7.org/fhir/event-resource-types";
2645            case CONDITION: return "http://hl7.org/fhir/event-resource-types";
2646            case CONSENT: return "http://hl7.org/fhir/event-resource-types";
2647            case COVERAGE: return "http://hl7.org/fhir/event-resource-types";
2648            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2649            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/event-resource-types";
2650            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/event-resource-types";
2651            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/event-resource-types";
2652            case ENCOUNTER: return "http://hl7.org/fhir/event-resource-types";
2653            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2654            case EPISODEOFCARE: return "http://hl7.org/fhir/event-resource-types";
2655            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/event-resource-types";
2656            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/event-resource-types";
2657            case GUIDANCERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2658            case IMAGINGSTUDY: return "http://hl7.org/fhir/event-resource-types";
2659            case IMMUNIZATION: return "http://hl7.org/fhir/event-resource-types";
2660            case MEASUREREPORT: return "http://hl7.org/fhir/event-resource-types";
2661            case MEDIA: return "http://hl7.org/fhir/event-resource-types";
2662            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/event-resource-types";
2663            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/event-resource-types";
2664            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2665            case OBSERVATION: return "http://hl7.org/fhir/event-resource-types";
2666            case PAYMENTNOTICE: return "http://hl7.org/fhir/event-resource-types";
2667            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/event-resource-types";
2668            case PROCEDURE: return "http://hl7.org/fhir/event-resource-types";
2669            case PROCESSRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2670            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2671            case RISKASSESSMENT: return "http://hl7.org/fhir/event-resource-types";
2672            case SUPPLYDELIVERY: return "http://hl7.org/fhir/event-resource-types";
2673            case TASK: return "http://hl7.org/fhir/event-resource-types";
2674            default: return "?";
2675          }
2676        }
2677        public String getDefinition() {
2678          switch (this) {
2679            case CHARGEITEM: return "Item containing charge code(s) associated with the provision of healthcare provider products.";
2680            case CLAIMRESPONSE: return "Remittance resource.";
2681            case CLINICALIMPRESSION: return "A clinical assessment performed when planning treatments and management strategies for a patient.";
2682            case COMMUNICATION: return "A record of information transmitted from a sender to a receiver.";
2683            case COMPOSITION: return "A set of resources composed into a single coherent clinical statement with clinical attestation.";
2684            case CONDITION: return "Detailed information about conditions, problems or diagnoses.";
2685            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.";
2686            case COVERAGE: return "Insurance or medical plan or a payment agreement.";
2687            case DEVICEUSESTATEMENT: return "Record of use of a device.";
2688            case DIAGNOSTICREPORT: return "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.";
2689            case DOCUMENTMANIFEST: return "A list that defines a set of documents.";
2690            case DOCUMENTREFERENCE: return "A reference to a document.";
2691            case ENCOUNTER: return "An interaction during which services are provided to the patient.";
2692            case ENROLLMENTRESPONSE: return "EnrollmentResponse resource.";
2693            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.";
2694            case EXPLANATIONOFBENEFIT: return "Explanation of Benefit resource.";
2695            case FAMILYMEMBERHISTORY: return "Information about patient's relatives, relevant for patient.";
2696            case GUIDANCERESPONSE: return "The formal response to a guidance request.";
2697            case IMAGINGSTUDY: return "A set of images produced in single study (one or more series of references images).";
2698            case IMMUNIZATION: return "Immunization event information.";
2699            case MEASUREREPORT: return "Results of a measure evaluation.";
2700            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.";
2701            case MEDICATIONADMINISTRATION: return "Administration of medication to a patient.";
2702            case MEDICATIONDISPENSE: return "Dispensing a medication to a named patient.";
2703            case MEDICATIONSTATEMENT: return "Record of medication being taken by a patient.";
2704            case OBSERVATION: return "Measurements and simple assertions.";
2705            case PAYMENTNOTICE: return "PaymentNotice request.";
2706            case PAYMENTRECONCILIATION: return "PaymentReconciliation resource.";
2707            case PROCEDURE: return "An action that is being or was performed on a patient.";
2708            case PROCESSRESPONSE: return "ProcessResponse resource.";
2709            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers.";
2710            case RISKASSESSMENT: return "Potential outcomes for a subject with likelihood.";
2711            case SUPPLYDELIVERY: return "Delivery of bulk Supplies.";
2712            case TASK: return "A task to be performed.";
2713            default: return "?";
2714          }
2715        }
2716        public String getDisplay() {
2717          switch (this) {
2718            case CHARGEITEM: return "ChargeItem";
2719            case CLAIMRESPONSE: return "ClaimResponse";
2720            case CLINICALIMPRESSION: return "ClinicalImpression";
2721            case COMMUNICATION: return "Communication";
2722            case COMPOSITION: return "Composition";
2723            case CONDITION: return "Condition";
2724            case CONSENT: return "Consent";
2725            case COVERAGE: return "Coverage";
2726            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2727            case DIAGNOSTICREPORT: return "DiagnosticReport";
2728            case DOCUMENTMANIFEST: return "DocumentManifest";
2729            case DOCUMENTREFERENCE: return "DocumentReference";
2730            case ENCOUNTER: return "Encounter";
2731            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2732            case EPISODEOFCARE: return "EpisodeOfCare";
2733            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2734            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2735            case GUIDANCERESPONSE: return "GuidanceResponse";
2736            case IMAGINGSTUDY: return "ImagingStudy";
2737            case IMMUNIZATION: return "Immunization";
2738            case MEASUREREPORT: return "MeasureReport";
2739            case MEDIA: return "Media";
2740            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2741            case MEDICATIONDISPENSE: return "MedicationDispense";
2742            case MEDICATIONSTATEMENT: return "MedicationStatement";
2743            case OBSERVATION: return "Observation";
2744            case PAYMENTNOTICE: return "PaymentNotice";
2745            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2746            case PROCEDURE: return "Procedure";
2747            case PROCESSRESPONSE: return "ProcessResponse";
2748            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2749            case RISKASSESSMENT: return "RiskAssessment";
2750            case SUPPLYDELIVERY: return "SupplyDelivery";
2751            case TASK: return "Task";
2752            default: return "?";
2753          }
2754        }
2755    }
2756
2757  public static class EventResourceTypeEnumFactory implements EnumFactory<EventResourceType> {
2758    public EventResourceType fromCode(String codeString) throws IllegalArgumentException {
2759      if (codeString == null || "".equals(codeString))
2760            if (codeString == null || "".equals(codeString))
2761                return null;
2762        if ("ChargeItem".equals(codeString))
2763          return EventResourceType.CHARGEITEM;
2764        if ("ClaimResponse".equals(codeString))
2765          return EventResourceType.CLAIMRESPONSE;
2766        if ("ClinicalImpression".equals(codeString))
2767          return EventResourceType.CLINICALIMPRESSION;
2768        if ("Communication".equals(codeString))
2769          return EventResourceType.COMMUNICATION;
2770        if ("Composition".equals(codeString))
2771          return EventResourceType.COMPOSITION;
2772        if ("Condition".equals(codeString))
2773          return EventResourceType.CONDITION;
2774        if ("Consent".equals(codeString))
2775          return EventResourceType.CONSENT;
2776        if ("Coverage".equals(codeString))
2777          return EventResourceType.COVERAGE;
2778        if ("DeviceUseStatement".equals(codeString))
2779          return EventResourceType.DEVICEUSESTATEMENT;
2780        if ("DiagnosticReport".equals(codeString))
2781          return EventResourceType.DIAGNOSTICREPORT;
2782        if ("DocumentManifest".equals(codeString))
2783          return EventResourceType.DOCUMENTMANIFEST;
2784        if ("DocumentReference".equals(codeString))
2785          return EventResourceType.DOCUMENTREFERENCE;
2786        if ("Encounter".equals(codeString))
2787          return EventResourceType.ENCOUNTER;
2788        if ("EnrollmentResponse".equals(codeString))
2789          return EventResourceType.ENROLLMENTRESPONSE;
2790        if ("EpisodeOfCare".equals(codeString))
2791          return EventResourceType.EPISODEOFCARE;
2792        if ("ExplanationOfBenefit".equals(codeString))
2793          return EventResourceType.EXPLANATIONOFBENEFIT;
2794        if ("FamilyMemberHistory".equals(codeString))
2795          return EventResourceType.FAMILYMEMBERHISTORY;
2796        if ("GuidanceResponse".equals(codeString))
2797          return EventResourceType.GUIDANCERESPONSE;
2798        if ("ImagingStudy".equals(codeString))
2799          return EventResourceType.IMAGINGSTUDY;
2800        if ("Immunization".equals(codeString))
2801          return EventResourceType.IMMUNIZATION;
2802        if ("MeasureReport".equals(codeString))
2803          return EventResourceType.MEASUREREPORT;
2804        if ("Media".equals(codeString))
2805          return EventResourceType.MEDIA;
2806        if ("MedicationAdministration".equals(codeString))
2807          return EventResourceType.MEDICATIONADMINISTRATION;
2808        if ("MedicationDispense".equals(codeString))
2809          return EventResourceType.MEDICATIONDISPENSE;
2810        if ("MedicationStatement".equals(codeString))
2811          return EventResourceType.MEDICATIONSTATEMENT;
2812        if ("Observation".equals(codeString))
2813          return EventResourceType.OBSERVATION;
2814        if ("PaymentNotice".equals(codeString))
2815          return EventResourceType.PAYMENTNOTICE;
2816        if ("PaymentReconciliation".equals(codeString))
2817          return EventResourceType.PAYMENTRECONCILIATION;
2818        if ("Procedure".equals(codeString))
2819          return EventResourceType.PROCEDURE;
2820        if ("ProcessResponse".equals(codeString))
2821          return EventResourceType.PROCESSRESPONSE;
2822        if ("QuestionnaireResponse".equals(codeString))
2823          return EventResourceType.QUESTIONNAIRERESPONSE;
2824        if ("RiskAssessment".equals(codeString))
2825          return EventResourceType.RISKASSESSMENT;
2826        if ("SupplyDelivery".equals(codeString))
2827          return EventResourceType.SUPPLYDELIVERY;
2828        if ("Task".equals(codeString))
2829          return EventResourceType.TASK;
2830        throw new IllegalArgumentException("Unknown EventResourceType code '"+codeString+"'");
2831        }
2832        public Enumeration<EventResourceType> fromType(Base code) throws FHIRException {
2833          if (code == null)
2834            return null;
2835          if (code.isEmpty())
2836            return new Enumeration<EventResourceType>(this);
2837          String codeString = ((PrimitiveType) code).asStringValue();
2838          if (codeString == null || "".equals(codeString))
2839            return null;
2840        if ("ChargeItem".equals(codeString))
2841          return new Enumeration<EventResourceType>(this, EventResourceType.CHARGEITEM);
2842        if ("ClaimResponse".equals(codeString))
2843          return new Enumeration<EventResourceType>(this, EventResourceType.CLAIMRESPONSE);
2844        if ("ClinicalImpression".equals(codeString))
2845          return new Enumeration<EventResourceType>(this, EventResourceType.CLINICALIMPRESSION);
2846        if ("Communication".equals(codeString))
2847          return new Enumeration<EventResourceType>(this, EventResourceType.COMMUNICATION);
2848        if ("Composition".equals(codeString))
2849          return new Enumeration<EventResourceType>(this, EventResourceType.COMPOSITION);
2850        if ("Condition".equals(codeString))
2851          return new Enumeration<EventResourceType>(this, EventResourceType.CONDITION);
2852        if ("Consent".equals(codeString))
2853          return new Enumeration<EventResourceType>(this, EventResourceType.CONSENT);
2854        if ("Coverage".equals(codeString))
2855          return new Enumeration<EventResourceType>(this, EventResourceType.COVERAGE);
2856        if ("DeviceUseStatement".equals(codeString))
2857          return new Enumeration<EventResourceType>(this, EventResourceType.DEVICEUSESTATEMENT);
2858        if ("DiagnosticReport".equals(codeString))
2859          return new Enumeration<EventResourceType>(this, EventResourceType.DIAGNOSTICREPORT);
2860        if ("DocumentManifest".equals(codeString))
2861          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTMANIFEST);
2862        if ("DocumentReference".equals(codeString))
2863          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTREFERENCE);
2864        if ("Encounter".equals(codeString))
2865          return new Enumeration<EventResourceType>(this, EventResourceType.ENCOUNTER);
2866        if ("EnrollmentResponse".equals(codeString))
2867          return new Enumeration<EventResourceType>(this, EventResourceType.ENROLLMENTRESPONSE);
2868        if ("EpisodeOfCare".equals(codeString))
2869          return new Enumeration<EventResourceType>(this, EventResourceType.EPISODEOFCARE);
2870        if ("ExplanationOfBenefit".equals(codeString))
2871          return new Enumeration<EventResourceType>(this, EventResourceType.EXPLANATIONOFBENEFIT);
2872        if ("FamilyMemberHistory".equals(codeString))
2873          return new Enumeration<EventResourceType>(this, EventResourceType.FAMILYMEMBERHISTORY);
2874        if ("GuidanceResponse".equals(codeString))
2875          return new Enumeration<EventResourceType>(this, EventResourceType.GUIDANCERESPONSE);
2876        if ("ImagingStudy".equals(codeString))
2877          return new Enumeration<EventResourceType>(this, EventResourceType.IMAGINGSTUDY);
2878        if ("Immunization".equals(codeString))
2879          return new Enumeration<EventResourceType>(this, EventResourceType.IMMUNIZATION);
2880        if ("MeasureReport".equals(codeString))
2881          return new Enumeration<EventResourceType>(this, EventResourceType.MEASUREREPORT);
2882        if ("Media".equals(codeString))
2883          return new Enumeration<EventResourceType>(this, EventResourceType.MEDIA);
2884        if ("MedicationAdministration".equals(codeString))
2885          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONADMINISTRATION);
2886        if ("MedicationDispense".equals(codeString))
2887          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONDISPENSE);
2888        if ("MedicationStatement".equals(codeString))
2889          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONSTATEMENT);
2890        if ("Observation".equals(codeString))
2891          return new Enumeration<EventResourceType>(this, EventResourceType.OBSERVATION);
2892        if ("PaymentNotice".equals(codeString))
2893          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTNOTICE);
2894        if ("PaymentReconciliation".equals(codeString))
2895          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTRECONCILIATION);
2896        if ("Procedure".equals(codeString))
2897          return new Enumeration<EventResourceType>(this, EventResourceType.PROCEDURE);
2898        if ("ProcessResponse".equals(codeString))
2899          return new Enumeration<EventResourceType>(this, EventResourceType.PROCESSRESPONSE);
2900        if ("QuestionnaireResponse".equals(codeString))
2901          return new Enumeration<EventResourceType>(this, EventResourceType.QUESTIONNAIRERESPONSE);
2902        if ("RiskAssessment".equals(codeString))
2903          return new Enumeration<EventResourceType>(this, EventResourceType.RISKASSESSMENT);
2904        if ("SupplyDelivery".equals(codeString))
2905          return new Enumeration<EventResourceType>(this, EventResourceType.SUPPLYDELIVERY);
2906        if ("Task".equals(codeString))
2907          return new Enumeration<EventResourceType>(this, EventResourceType.TASK);
2908        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2909        }
2910    public String toCode(EventResourceType code) {
2911      if (code == EventResourceType.CHARGEITEM)
2912        return "ChargeItem";
2913      if (code == EventResourceType.CLAIMRESPONSE)
2914        return "ClaimResponse";
2915      if (code == EventResourceType.CLINICALIMPRESSION)
2916        return "ClinicalImpression";
2917      if (code == EventResourceType.COMMUNICATION)
2918        return "Communication";
2919      if (code == EventResourceType.COMPOSITION)
2920        return "Composition";
2921      if (code == EventResourceType.CONDITION)
2922        return "Condition";
2923      if (code == EventResourceType.CONSENT)
2924        return "Consent";
2925      if (code == EventResourceType.COVERAGE)
2926        return "Coverage";
2927      if (code == EventResourceType.DEVICEUSESTATEMENT)
2928        return "DeviceUseStatement";
2929      if (code == EventResourceType.DIAGNOSTICREPORT)
2930        return "DiagnosticReport";
2931      if (code == EventResourceType.DOCUMENTMANIFEST)
2932        return "DocumentManifest";
2933      if (code == EventResourceType.DOCUMENTREFERENCE)
2934        return "DocumentReference";
2935      if (code == EventResourceType.ENCOUNTER)
2936        return "Encounter";
2937      if (code == EventResourceType.ENROLLMENTRESPONSE)
2938        return "EnrollmentResponse";
2939      if (code == EventResourceType.EPISODEOFCARE)
2940        return "EpisodeOfCare";
2941      if (code == EventResourceType.EXPLANATIONOFBENEFIT)
2942        return "ExplanationOfBenefit";
2943      if (code == EventResourceType.FAMILYMEMBERHISTORY)
2944        return "FamilyMemberHistory";
2945      if (code == EventResourceType.GUIDANCERESPONSE)
2946        return "GuidanceResponse";
2947      if (code == EventResourceType.IMAGINGSTUDY)
2948        return "ImagingStudy";
2949      if (code == EventResourceType.IMMUNIZATION)
2950        return "Immunization";
2951      if (code == EventResourceType.MEASUREREPORT)
2952        return "MeasureReport";
2953      if (code == EventResourceType.MEDIA)
2954        return "Media";
2955      if (code == EventResourceType.MEDICATIONADMINISTRATION)
2956        return "MedicationAdministration";
2957      if (code == EventResourceType.MEDICATIONDISPENSE)
2958        return "MedicationDispense";
2959      if (code == EventResourceType.MEDICATIONSTATEMENT)
2960        return "MedicationStatement";
2961      if (code == EventResourceType.OBSERVATION)
2962        return "Observation";
2963      if (code == EventResourceType.PAYMENTNOTICE)
2964        return "PaymentNotice";
2965      if (code == EventResourceType.PAYMENTRECONCILIATION)
2966        return "PaymentReconciliation";
2967      if (code == EventResourceType.PROCEDURE)
2968        return "Procedure";
2969      if (code == EventResourceType.PROCESSRESPONSE)
2970        return "ProcessResponse";
2971      if (code == EventResourceType.QUESTIONNAIRERESPONSE)
2972        return "QuestionnaireResponse";
2973      if (code == EventResourceType.RISKASSESSMENT)
2974        return "RiskAssessment";
2975      if (code == EventResourceType.SUPPLYDELIVERY)
2976        return "SupplyDelivery";
2977      if (code == EventResourceType.TASK)
2978        return "Task";
2979      return "?";
2980      }
2981    public String toSystem(EventResourceType code) {
2982      return code.getSystem();
2983      }
2984    }
2985
2986    public enum FHIRAllTypes {
2987        /**
2988         * 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.
2989         */
2990        ADDRESS, 
2991        /**
2992         * A duration of time during which an organism (or a process) has existed.
2993         */
2994        AGE, 
2995        /**
2996         * A  text note which also  contains information about who made the statement and when.
2997         */
2998        ANNOTATION, 
2999        /**
3000         * For referring to data content defined in other formats.
3001         */
3002        ATTACHMENT, 
3003        /**
3004         * Base definition for all elements that are defined inside a resource - but not those in a data type.
3005         */
3006        BACKBONEELEMENT, 
3007        /**
3008         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
3009         */
3010        CODEABLECONCEPT, 
3011        /**
3012         * A reference to a code defined by a terminology system.
3013         */
3014        CODING, 
3015        /**
3016         * Specifies contact information for a person or organization.
3017         */
3018        CONTACTDETAIL, 
3019        /**
3020         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
3021         */
3022        CONTACTPOINT, 
3023        /**
3024         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
3025         */
3026        CONTRIBUTOR, 
3027        /**
3028         * 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.
3029         */
3030        COUNT, 
3031        /**
3032         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
3033         */
3034        DATAREQUIREMENT, 
3035        /**
3036         * A length - a value with a unit that is a physical distance.
3037         */
3038        DISTANCE, 
3039        /**
3040         * Indicates how the medication is/was taken or should be taken by the patient.
3041         */
3042        DOSAGE, 
3043        /**
3044         * A length of time.
3045         */
3046        DURATION, 
3047        /**
3048         * Base definition for all elements in a resource.
3049         */
3050        ELEMENT, 
3051        /**
3052         * Captures constraints on each element within the resource, profile, or extension.
3053         */
3054        ELEMENTDEFINITION, 
3055        /**
3056         * 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.
3057         */
3058        EXPRESSION, 
3059        /**
3060         * Optional Extension Element - found in all resources.
3061         */
3062        EXTENSION, 
3063        /**
3064         * A human's name with the ability to identify parts and usage.
3065         */
3066        HUMANNAME, 
3067        /**
3068         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
3069         */
3070        IDENTIFIER, 
3071        /**
3072         * 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.
3073         */
3074        MARKETINGSTATUS, 
3075        /**
3076         * 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.
3077         */
3078        META, 
3079        /**
3080         * An amount of economic utility in some recognized currency.
3081         */
3082        MONEY, 
3083        /**
3084         * null
3085         */
3086        MONEYQUANTITY, 
3087        /**
3088         * A human-readable formatted text, including images.
3089         */
3090        NARRATIVE, 
3091        /**
3092         * 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.
3093         */
3094        PARAMETERDEFINITION, 
3095        /**
3096         * A time period defined by a start and end date and optionally time.
3097         */
3098        PERIOD, 
3099        /**
3100         * 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.
3101         */
3102        PRODCHARACTERISTIC, 
3103        /**
3104         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
3105         */
3106        PRODUCTSHELFLIFE, 
3107        /**
3108         * 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.
3109         */
3110        QUANTITY, 
3111        /**
3112         * A set of ordered Quantities defined by a low and high limit.
3113         */
3114        RANGE, 
3115        /**
3116         * A relationship of two Quantity values - expressed as a numerator and a denominator.
3117         */
3118        RATIO, 
3119        /**
3120         * A reference from one resource to another.
3121         */
3122        REFERENCE, 
3123        /**
3124         * Related artifacts such as additional documentation, justification, or bibliographic references.
3125         */
3126        RELATEDARTIFACT, 
3127        /**
3128         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
3129         */
3130        SAMPLEDDATA, 
3131        /**
3132         * 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.
3133         */
3134        SIGNATURE, 
3135        /**
3136         * null
3137         */
3138        SIMPLEQUANTITY, 
3139        /**
3140         * 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.
3141         */
3142        SUBSTANCEAMOUNT, 
3143        /**
3144         * 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.
3145         */
3146        SUBSTANCEMOIETY, 
3147        /**
3148         * 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.
3149         */
3150        TIMING, 
3151        /**
3152         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
3153         */
3154        TRIGGERDEFINITION, 
3155        /**
3156         * 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).
3157         */
3158        USAGECONTEXT, 
3159        /**
3160         * A stream of bytes
3161         */
3162        BASE64BINARY, 
3163        /**
3164         * Value of "true" or "false"
3165         */
3166        BOOLEAN, 
3167        /**
3168         * A URI that is a reference to a canonical URI on a FHIR resource
3169         */
3170        CANONICAL, 
3171        /**
3172         * 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
3173         */
3174        CODE, 
3175        /**
3176         * 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.
3177         */
3178        DATE, 
3179        /**
3180         * 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.
3181         */
3182        DATETIME, 
3183        /**
3184         * A rational number with implicit precision
3185         */
3186        DECIMAL, 
3187        /**
3188         * 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.
3189         */
3190        ID, 
3191        /**
3192         * An instant in time - known at least to the second
3193         */
3194        INSTANT, 
3195        /**
3196         * A whole number
3197         */
3198        INTEGER, 
3199        /**
3200         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
3201         */
3202        MARKDOWN, 
3203        /**
3204         * An OID represented as a URI
3205         */
3206        OID, 
3207        /**
3208         * An integer with a value that is positive (e.g. >0)
3209         */
3210        POSITIVEINT, 
3211        /**
3212         * A sequence of Unicode characters
3213         */
3214        STRING, 
3215        /**
3216         * A time during the day, with no date specified
3217         */
3218        TIME, 
3219        /**
3220         * An integer with a value that is not negative (e.g. >= 0)
3221         */
3222        UNSIGNEDINT, 
3223        /**
3224         * String of characters used to identify a name or a resource
3225         */
3226        URI, 
3227        /**
3228         * A URI that is a literal reference
3229         */
3230        URL, 
3231        /**
3232         * A UUID, represented as a URI
3233         */
3234        UUID, 
3235        /**
3236         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
3237         */
3238        XHTML, 
3239        /**
3240         * 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.
3241         */
3242        ACCOUNT, 
3243        /**
3244         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
3245         */
3246        ACTIVITYDEFINITION, 
3247        /**
3248         * 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.
3249         */
3250        ADVERSEEVENT, 
3251        /**
3252         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
3253         */
3254        ALLERGYINTOLERANCE, 
3255        /**
3256         * 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).
3257         */
3258        APPOINTMENT, 
3259        /**
3260         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
3261         */
3262        APPOINTMENTRESPONSE, 
3263        /**
3264         * 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.
3265         */
3266        AUDITEVENT, 
3267        /**
3268         * 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.
3269         */
3270        BASIC, 
3271        /**
3272         * 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.
3273         */
3274        BINARY, 
3275        /**
3276         * A material substance originating from a biological entity intended to be transplanted or infused
3277into another (possibly the same) biological entity.
3278         */
3279        BIOLOGICALLYDERIVEDPRODUCT, 
3280        /**
3281         * 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.
3282         */
3283        BODYSTRUCTURE, 
3284        /**
3285         * A container for a collection of resources.
3286         */
3287        BUNDLE, 
3288        /**
3289         * A Capability Statement 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.
3290         */
3291        CAPABILITYSTATEMENT, 
3292        /**
3293         * 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.
3294         */
3295        CAREPLAN, 
3296        /**
3297         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
3298         */
3299        CARETEAM, 
3300        /**
3301         * Catalog entries are wrappers that contextualize items included in a catalog.
3302         */
3303        CATALOGENTRY, 
3304        /**
3305         * 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.
3306         */
3307        CHARGEITEM, 
3308        /**
3309         * 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.
3310         */
3311        CHARGEITEMDEFINITION, 
3312        /**
3313         * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
3314         */
3315        CLAIM, 
3316        /**
3317         * This resource provides the adjudication details from the processing of a Claim resource.
3318         */
3319        CLAIMRESPONSE, 
3320        /**
3321         * 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.
3322         */
3323        CLINICALIMPRESSION, 
3324        /**
3325         * 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.
3326         */
3327        CODESYSTEM, 
3328        /**
3329         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
3330         */
3331        COMMUNICATION, 
3332        /**
3333         * 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.
3334         */
3335        COMMUNICATIONREQUEST, 
3336        /**
3337         * A compartment definition that defines how resources are accessed on a server.
3338         */
3339        COMPARTMENTDEFINITION, 
3340        /**
3341         * 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.).
3342         */
3343        COMPOSITION, 
3344        /**
3345         * 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.
3346         */
3347        CONCEPTMAP, 
3348        /**
3349         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
3350         */
3351        CONDITION, 
3352        /**
3353         * 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.
3354         */
3355        CONSENT, 
3356        /**
3357         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
3358         */
3359        CONTRACT, 
3360        /**
3361         * Financial instrument which may be used to reimburse or pay for health care products and services.
3362         */
3363        COVERAGE, 
3364        /**
3365         * 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.
3366         */
3367        COVERAGEELIGIBILITYREQUEST, 
3368        /**
3369         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
3370         */
3371        COVERAGEELIGIBILITYRESPONSE, 
3372        /**
3373         * 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.
3374         */
3375        DETECTEDISSUE, 
3376        /**
3377         * This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).
3378         */
3379        DEVICE, 
3380        /**
3381         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
3382         */
3383        DEVICEDEFINITION, 
3384        /**
3385         * Describes a measurement, calculation or setting capability of a medical device.
3386         */
3387        DEVICEMETRIC, 
3388        /**
3389         * 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.
3390         */
3391        DEVICEREQUEST, 
3392        /**
3393         * 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.
3394         */
3395        DEVICEUSESTATEMENT, 
3396        /**
3397         * 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.
3398         */
3399        DIAGNOSTICREPORT, 
3400        /**
3401         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
3402         */
3403        DOCUMENTMANIFEST, 
3404        /**
3405         * A reference to a document.
3406         */
3407        DOCUMENTREFERENCE, 
3408        /**
3409         * A resource that includes narrative, extensions, and contained resources.
3410         */
3411        DOMAINRESOURCE, 
3412        /**
3413         * 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.
3414         */
3415        ENCOUNTER, 
3416        /**
3417         * 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.
3418         */
3419        ENDPOINT, 
3420        /**
3421         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
3422         */
3423        ENROLLMENTREQUEST, 
3424        /**
3425         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
3426         */
3427        ENROLLMENTRESPONSE, 
3428        /**
3429         * 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.
3430         */
3431        EPISODEOFCARE, 
3432        /**
3433         * The EventDefinition resource provides a reusable description of when a particular event can occur.
3434         */
3435        EVENTDEFINITION, 
3436        /**
3437         * Example of workflow instance.
3438         */
3439        EXAMPLESCENARIO, 
3440        /**
3441         * 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.
3442         */
3443        EXPLANATIONOFBENEFIT, 
3444        /**
3445         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
3446         */
3447        FAMILYMEMBERHISTORY, 
3448        /**
3449         * Prospective warnings of potential issues when providing care to the patient.
3450         */
3451        FLAG, 
3452        /**
3453         * 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.
3454         */
3455        GOAL, 
3456        /**
3457         * 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.
3458         */
3459        GRAPHDEFINITION, 
3460        /**
3461         * 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.
3462         */
3463        GROUP, 
3464        /**
3465         * 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.
3466         */
3467        GUIDANCERESPONSE, 
3468        /**
3469         * The details of a healthcare service available at a location.
3470         */
3471        HEALTHCARESERVICE, 
3472        /**
3473         * 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.
3474         */
3475        IMAGINGSTUDY, 
3476        /**
3477         * 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.
3478         */
3479        IMMUNIZATION, 
3480        /**
3481         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
3482         */
3483        IMMUNIZATIONEVALUATION, 
3484        /**
3485         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
3486         */
3487        IMMUNIZATIONRECOMMENDATION, 
3488        /**
3489         * A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
3490         */
3491        IMPLEMENTATIONGUIDE, 
3492        /**
3493         * Details of a Health Insurance product/plan provided by an organization.
3494         */
3495        INSURANCEPLAN, 
3496        /**
3497         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
3498         */
3499        INVOICE, 
3500        /**
3501         * A physical, countable instance of an item, for example one box or one unit.
3502         */
3503        ITEMINSTANCE, 
3504        /**
3505         * 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.
3506         */
3507        LIBRARY, 
3508        /**
3509         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
3510         */
3511        LINKAGE, 
3512        /**
3513         * A set of information summarized from a list of other resources.
3514         */
3515        LIST, 
3516        /**
3517         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
3518         */
3519        LOCATION, 
3520        /**
3521         * The Measure resource provides the definition of a quality measure.
3522         */
3523        MEASURE, 
3524        /**
3525         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
3526         */
3527        MEASUREREPORT, 
3528        /**
3529         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
3530         */
3531        MEDIA, 
3532        /**
3533         * 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.
3534         */
3535        MEDICATION, 
3536        /**
3537         * 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.
3538         */
3539        MEDICATIONADMINISTRATION, 
3540        /**
3541         * 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.
3542         */
3543        MEDICATIONDISPENSE, 
3544        /**
3545         * Information about a medication that is used to support knowledge.
3546         */
3547        MEDICATIONKNOWLEDGE, 
3548        /**
3549         * 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.
3550         */
3551        MEDICATIONREQUEST, 
3552        /**
3553         * 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. 
3554
3555The 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.
3556         */
3557        MEDICATIONSTATEMENT, 
3558        /**
3559         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
3560         */
3561        MEDICINALPRODUCT, 
3562        /**
3563         * The regulatory authorization of a medicinal product.
3564         */
3565        MEDICINALPRODUCTAUTHORIZATION, 
3566        /**
3567         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
3568         */
3569        MEDICINALPRODUCTCLINICALS, 
3570        /**
3571         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
3572         */
3573        MEDICINALPRODUCTCONTRAINDICATION, 
3574        /**
3575         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.
3576         */
3577        MEDICINALPRODUCTDEVICESPEC, 
3578        /**
3579         * Indication for the Medicinal Product.
3580         */
3581        MEDICINALPRODUCTINDICATION, 
3582        /**
3583         * An ingredient of a manufactured item or pharmaceutical product.
3584         */
3585        MEDICINALPRODUCTINGREDIENT, 
3586        /**
3587         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
3588         */
3589        MEDICINALPRODUCTINTERACTION, 
3590        /**
3591         * The manufactured item as contained in the packaged medicinal product.
3592         */
3593        MEDICINALPRODUCTMANUFACTURED, 
3594        /**
3595         * A medicinal product in a container or package.
3596         */
3597        MEDICINALPRODUCTPACKAGED, 
3598        /**
3599         * A pharmaceutical product described in terms of its composition and dose form.
3600         */
3601        MEDICINALPRODUCTPHARMACEUTICAL, 
3602        /**
3603         * Describe the undesirable effects of the medicinal product.
3604         */
3605        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
3606        /**
3607         * 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.
3608         */
3609        MESSAGEDEFINITION, 
3610        /**
3611         * 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.
3612         */
3613        MESSAGEHEADER, 
3614        /**
3615         * 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.
3616         */
3617        NAMINGSYSTEM, 
3618        /**
3619         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
3620         */
3621        NUTRITIONORDER, 
3622        /**
3623         * Measurements and simple assertions made about a patient, device or other subject.
3624         */
3625        OBSERVATION, 
3626        /**
3627         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
3628         */
3629        OBSERVATIONDEFINITION, 
3630        /**
3631         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
3632         */
3633        OPERATIONDEFINITION, 
3634        /**
3635         * A collection of error, warning or information messages that result from a system action.
3636         */
3637        OPERATIONOUTCOME, 
3638        /**
3639         * 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.
3640         */
3641        ORGANIZATION, 
3642        /**
3643         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
3644         */
3645        ORGANIZATIONAFFILIATION, 
3646        /**
3647         * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.
3648         */
3649        PARAMETERS, 
3650        /**
3651         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
3652         */
3653        PATIENT, 
3654        /**
3655         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
3656         */
3657        PAYMENTNOTICE, 
3658        /**
3659         * This resource provides payment details and claim references supporting a bulk payment.
3660         */
3661        PAYMENTRECONCILIATION, 
3662        /**
3663         * Demographics and administrative information about a person independent of a specific health-related context.
3664         */
3665        PERSON, 
3666        /**
3667         * 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.
3668         */
3669        PLANDEFINITION, 
3670        /**
3671         * A person who is directly or indirectly involved in the provisioning of healthcare.
3672         */
3673        PRACTITIONER, 
3674        /**
3675         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
3676         */
3677        PRACTITIONERROLE, 
3678        /**
3679         * 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.
3680         */
3681        PROCEDURE, 
3682        /**
3683         * This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.
3684         */
3685        PROCESSREQUEST, 
3686        /**
3687         * This resource provides processing status, errors and notes from the processing of a resource.
3688         */
3689        PROCESSRESPONSE, 
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         * 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.
3712         */
3713        RESEARCHSTUDY, 
3714        /**
3715         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
3716         */
3717        RESEARCHSUBJECT, 
3718        /**
3719         * This is the base resource type for everything.
3720         */
3721        RESOURCE, 
3722        /**
3723         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
3724         */
3725        RISKASSESSMENT, 
3726        /**
3727         * A container for slots of time that may be available for booking appointments.
3728         */
3729        SCHEDULE, 
3730        /**
3731         * A search parameter that defines a named search item that can be used to search/filter on a resource.
3732         */
3733        SEARCHPARAMETER, 
3734        /**
3735         * Raw data describing a biological sequence.
3736         */
3737        SEQUENCE, 
3738        /**
3739         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
3740         */
3741        SERVICEREQUEST, 
3742        /**
3743         * A slot of time on a schedule that may be available for booking appointments.
3744         */
3745        SLOT, 
3746        /**
3747         * A sample to be used for analysis.
3748         */
3749        SPECIMEN, 
3750        /**
3751         * A kind of specimen with associated set of requirements.
3752         */
3753        SPECIMENDEFINITION, 
3754        /**
3755         * 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.
3756         */
3757        STRUCTUREDEFINITION, 
3758        /**
3759         * A Map of relationships between 2 structures that can be used to transform data.
3760         */
3761        STRUCTUREMAP, 
3762        /**
3763         * 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.
3764         */
3765        SUBSCRIPTION, 
3766        /**
3767         * A homogeneous material with a definite composition.
3768         */
3769        SUBSTANCE, 
3770        /**
3771         * Todo.
3772         */
3773        SUBSTANCEPOLYMER, 
3774        /**
3775         * Todo.
3776         */
3777        SUBSTANCEREFERENCEINFORMATION, 
3778        /**
3779         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
3780         */
3781        SUBSTANCESPECIFICATION, 
3782        /**
3783         * Record of delivery of what is supplied.
3784         */
3785        SUPPLYDELIVERY, 
3786        /**
3787         * A record of a request for a medication, substance or device used in the healthcare setting.
3788         */
3789        SUPPLYREQUEST, 
3790        /**
3791         * A task to be performed.
3792         */
3793        TASK, 
3794        /**
3795         * 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.
3796         */
3797        TERMINOLOGYCAPABILITIES, 
3798        /**
3799         * A summary of information based on the results of executing a TestScript.
3800         */
3801        TESTREPORT, 
3802        /**
3803         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
3804         */
3805        TESTSCRIPT, 
3806        /**
3807         * Information about a user's current session.
3808         */
3809        USERSESSION, 
3810        /**
3811         * A ValueSet resource instances 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).
3812         */
3813        VALUESET, 
3814        /**
3815         * Describes validation requirements, source(s), status and dates for one or more elements.
3816         */
3817        VERIFICATIONRESULT, 
3818        /**
3819         * An authorization for the supply of glasses and/or contact lenses to a patient.
3820         */
3821        VISIONPRESCRIPTION, 
3822        /**
3823         * A place holder that means any kind of data type
3824         */
3825        TYPE, 
3826        /**
3827         * A place holder that means any kind of resource
3828         */
3829        ANY, 
3830        /**
3831         * added to help the parsers
3832         */
3833        NULL;
3834        public static FHIRAllTypes fromCode(String codeString) throws FHIRException {
3835            if (codeString == null || "".equals(codeString))
3836                return null;
3837        if ("Address".equals(codeString))
3838          return ADDRESS;
3839        if ("Age".equals(codeString))
3840          return AGE;
3841        if ("Annotation".equals(codeString))
3842          return ANNOTATION;
3843        if ("Attachment".equals(codeString))
3844          return ATTACHMENT;
3845        if ("BackboneElement".equals(codeString))
3846          return BACKBONEELEMENT;
3847        if ("CodeableConcept".equals(codeString))
3848          return CODEABLECONCEPT;
3849        if ("Coding".equals(codeString))
3850          return CODING;
3851        if ("ContactDetail".equals(codeString))
3852          return CONTACTDETAIL;
3853        if ("ContactPoint".equals(codeString))
3854          return CONTACTPOINT;
3855        if ("Contributor".equals(codeString))
3856          return CONTRIBUTOR;
3857        if ("Count".equals(codeString))
3858          return COUNT;
3859        if ("DataRequirement".equals(codeString))
3860          return DATAREQUIREMENT;
3861        if ("Distance".equals(codeString))
3862          return DISTANCE;
3863        if ("Dosage".equals(codeString))
3864          return DOSAGE;
3865        if ("Duration".equals(codeString))
3866          return DURATION;
3867        if ("Element".equals(codeString))
3868          return ELEMENT;
3869        if ("ElementDefinition".equals(codeString))
3870          return ELEMENTDEFINITION;
3871        if ("Expression".equals(codeString))
3872          return EXPRESSION;
3873        if ("Extension".equals(codeString))
3874          return EXTENSION;
3875        if ("HumanName".equals(codeString))
3876          return HUMANNAME;
3877        if ("Identifier".equals(codeString))
3878          return IDENTIFIER;
3879        if ("MarketingStatus".equals(codeString))
3880          return MARKETINGSTATUS;
3881        if ("Meta".equals(codeString))
3882          return META;
3883        if ("Money".equals(codeString))
3884          return MONEY;
3885        if ("MoneyQuantity".equals(codeString))
3886          return MONEYQUANTITY;
3887        if ("Narrative".equals(codeString))
3888          return NARRATIVE;
3889        if ("ParameterDefinition".equals(codeString))
3890          return PARAMETERDEFINITION;
3891        if ("Period".equals(codeString))
3892          return PERIOD;
3893        if ("ProdCharacteristic".equals(codeString))
3894          return PRODCHARACTERISTIC;
3895        if ("ProductShelfLife".equals(codeString))
3896          return PRODUCTSHELFLIFE;
3897        if ("Quantity".equals(codeString))
3898          return QUANTITY;
3899        if ("Range".equals(codeString))
3900          return RANGE;
3901        if ("Ratio".equals(codeString))
3902          return RATIO;
3903        if ("Reference".equals(codeString))
3904          return REFERENCE;
3905        if ("RelatedArtifact".equals(codeString))
3906          return RELATEDARTIFACT;
3907        if ("SampledData".equals(codeString))
3908          return SAMPLEDDATA;
3909        if ("Signature".equals(codeString))
3910          return SIGNATURE;
3911        if ("SimpleQuantity".equals(codeString))
3912          return SIMPLEQUANTITY;
3913        if ("SubstanceAmount".equals(codeString))
3914          return SUBSTANCEAMOUNT;
3915        if ("SubstanceMoiety".equals(codeString))
3916          return SUBSTANCEMOIETY;
3917        if ("Timing".equals(codeString))
3918          return TIMING;
3919        if ("TriggerDefinition".equals(codeString))
3920          return TRIGGERDEFINITION;
3921        if ("UsageContext".equals(codeString))
3922          return USAGECONTEXT;
3923        if ("base64Binary".equals(codeString))
3924          return BASE64BINARY;
3925        if ("boolean".equals(codeString))
3926          return BOOLEAN;
3927        if ("canonical".equals(codeString))
3928          return CANONICAL;
3929        if ("code".equals(codeString))
3930          return CODE;
3931        if ("date".equals(codeString))
3932          return DATE;
3933        if ("dateTime".equals(codeString))
3934          return DATETIME;
3935        if ("decimal".equals(codeString))
3936          return DECIMAL;
3937        if ("id".equals(codeString))
3938          return ID;
3939        if ("instant".equals(codeString))
3940          return INSTANT;
3941        if ("integer".equals(codeString))
3942          return INTEGER;
3943        if ("markdown".equals(codeString))
3944          return MARKDOWN;
3945        if ("oid".equals(codeString))
3946          return OID;
3947        if ("positiveInt".equals(codeString))
3948          return POSITIVEINT;
3949        if ("string".equals(codeString))
3950          return STRING;
3951        if ("time".equals(codeString))
3952          return TIME;
3953        if ("unsignedInt".equals(codeString))
3954          return UNSIGNEDINT;
3955        if ("uri".equals(codeString))
3956          return URI;
3957        if ("url".equals(codeString))
3958          return URL;
3959        if ("uuid".equals(codeString))
3960          return UUID;
3961        if ("xhtml".equals(codeString))
3962          return XHTML;
3963        if ("Account".equals(codeString))
3964          return ACCOUNT;
3965        if ("ActivityDefinition".equals(codeString))
3966          return ACTIVITYDEFINITION;
3967        if ("AdverseEvent".equals(codeString))
3968          return ADVERSEEVENT;
3969        if ("AllergyIntolerance".equals(codeString))
3970          return ALLERGYINTOLERANCE;
3971        if ("Appointment".equals(codeString))
3972          return APPOINTMENT;
3973        if ("AppointmentResponse".equals(codeString))
3974          return APPOINTMENTRESPONSE;
3975        if ("AuditEvent".equals(codeString))
3976          return AUDITEVENT;
3977        if ("Basic".equals(codeString))
3978          return BASIC;
3979        if ("Binary".equals(codeString))
3980          return BINARY;
3981        if ("BiologicallyDerivedProduct".equals(codeString))
3982          return BIOLOGICALLYDERIVEDPRODUCT;
3983        if ("BodyStructure".equals(codeString))
3984          return BODYSTRUCTURE;
3985        if ("Bundle".equals(codeString))
3986          return BUNDLE;
3987        if ("CapabilityStatement".equals(codeString))
3988          return CAPABILITYSTATEMENT;
3989        if ("CarePlan".equals(codeString))
3990          return CAREPLAN;
3991        if ("CareTeam".equals(codeString))
3992          return CARETEAM;
3993        if ("CatalogEntry".equals(codeString))
3994          return CATALOGENTRY;
3995        if ("ChargeItem".equals(codeString))
3996          return CHARGEITEM;
3997        if ("ChargeItemDefinition".equals(codeString))
3998          return CHARGEITEMDEFINITION;
3999        if ("Claim".equals(codeString))
4000          return CLAIM;
4001        if ("ClaimResponse".equals(codeString))
4002          return CLAIMRESPONSE;
4003        if ("ClinicalImpression".equals(codeString))
4004          return CLINICALIMPRESSION;
4005        if ("CodeSystem".equals(codeString))
4006          return CODESYSTEM;
4007        if ("Communication".equals(codeString))
4008          return COMMUNICATION;
4009        if ("CommunicationRequest".equals(codeString))
4010          return COMMUNICATIONREQUEST;
4011        if ("CompartmentDefinition".equals(codeString))
4012          return COMPARTMENTDEFINITION;
4013        if ("Composition".equals(codeString))
4014          return COMPOSITION;
4015        if ("ConceptMap".equals(codeString))
4016          return CONCEPTMAP;
4017        if ("Condition".equals(codeString))
4018          return CONDITION;
4019        if ("Consent".equals(codeString))
4020          return CONSENT;
4021        if ("Contract".equals(codeString))
4022          return CONTRACT;
4023        if ("Coverage".equals(codeString))
4024          return COVERAGE;
4025        if ("CoverageEligibilityRequest".equals(codeString))
4026          return COVERAGEELIGIBILITYREQUEST;
4027        if ("CoverageEligibilityResponse".equals(codeString))
4028          return COVERAGEELIGIBILITYRESPONSE;
4029        if ("DetectedIssue".equals(codeString))
4030          return DETECTEDISSUE;
4031        if ("Device".equals(codeString))
4032          return DEVICE;
4033        if ("DeviceDefinition".equals(codeString))
4034          return DEVICEDEFINITION;
4035        if ("DeviceMetric".equals(codeString))
4036          return DEVICEMETRIC;
4037        if ("DeviceRequest".equals(codeString))
4038          return DEVICEREQUEST;
4039        if ("DeviceUseStatement".equals(codeString))
4040          return DEVICEUSESTATEMENT;
4041        if ("DiagnosticReport".equals(codeString))
4042          return DIAGNOSTICREPORT;
4043        if ("DocumentManifest".equals(codeString))
4044          return DOCUMENTMANIFEST;
4045        if ("DocumentReference".equals(codeString))
4046          return DOCUMENTREFERENCE;
4047        if ("DomainResource".equals(codeString))
4048          return DOMAINRESOURCE;
4049        if ("Encounter".equals(codeString))
4050          return ENCOUNTER;
4051        if ("Endpoint".equals(codeString))
4052          return ENDPOINT;
4053        if ("EnrollmentRequest".equals(codeString))
4054          return ENROLLMENTREQUEST;
4055        if ("EnrollmentResponse".equals(codeString))
4056          return ENROLLMENTRESPONSE;
4057        if ("EpisodeOfCare".equals(codeString))
4058          return EPISODEOFCARE;
4059        if ("EventDefinition".equals(codeString))
4060          return EVENTDEFINITION;
4061        if ("ExampleScenario".equals(codeString))
4062          return EXAMPLESCENARIO;
4063        if ("ExplanationOfBenefit".equals(codeString))
4064          return EXPLANATIONOFBENEFIT;
4065        if ("FamilyMemberHistory".equals(codeString))
4066          return FAMILYMEMBERHISTORY;
4067        if ("Flag".equals(codeString))
4068          return FLAG;
4069        if ("Goal".equals(codeString))
4070          return GOAL;
4071        if ("GraphDefinition".equals(codeString))
4072          return GRAPHDEFINITION;
4073        if ("Group".equals(codeString))
4074          return GROUP;
4075        if ("GuidanceResponse".equals(codeString))
4076          return GUIDANCERESPONSE;
4077        if ("HealthcareService".equals(codeString))
4078          return HEALTHCARESERVICE;
4079        if ("ImagingStudy".equals(codeString))
4080          return IMAGINGSTUDY;
4081        if ("Immunization".equals(codeString))
4082          return IMMUNIZATION;
4083        if ("ImmunizationEvaluation".equals(codeString))
4084          return IMMUNIZATIONEVALUATION;
4085        if ("ImmunizationRecommendation".equals(codeString))
4086          return IMMUNIZATIONRECOMMENDATION;
4087        if ("ImplementationGuide".equals(codeString))
4088          return IMPLEMENTATIONGUIDE;
4089        if ("InsurancePlan".equals(codeString))
4090          return INSURANCEPLAN;
4091        if ("Invoice".equals(codeString))
4092          return INVOICE;
4093        if ("ItemInstance".equals(codeString))
4094          return ITEMINSTANCE;
4095        if ("Library".equals(codeString))
4096          return LIBRARY;
4097        if ("Linkage".equals(codeString))
4098          return LINKAGE;
4099        if ("List".equals(codeString))
4100          return LIST;
4101        if ("Location".equals(codeString))
4102          return LOCATION;
4103        if ("Measure".equals(codeString))
4104          return MEASURE;
4105        if ("MeasureReport".equals(codeString))
4106          return MEASUREREPORT;
4107        if ("Media".equals(codeString))
4108          return MEDIA;
4109        if ("Medication".equals(codeString))
4110          return MEDICATION;
4111        if ("MedicationAdministration".equals(codeString))
4112          return MEDICATIONADMINISTRATION;
4113        if ("MedicationDispense".equals(codeString))
4114          return MEDICATIONDISPENSE;
4115        if ("MedicationKnowledge".equals(codeString))
4116          return MEDICATIONKNOWLEDGE;
4117        if ("MedicationRequest".equals(codeString))
4118          return MEDICATIONREQUEST;
4119        if ("MedicationStatement".equals(codeString))
4120          return MEDICATIONSTATEMENT;
4121        if ("MedicinalProduct".equals(codeString))
4122          return MEDICINALPRODUCT;
4123        if ("MedicinalProductAuthorization".equals(codeString))
4124          return MEDICINALPRODUCTAUTHORIZATION;
4125        if ("MedicinalProductClinicals".equals(codeString))
4126          return MEDICINALPRODUCTCLINICALS;
4127        if ("MedicinalProductContraindication".equals(codeString))
4128          return MEDICINALPRODUCTCONTRAINDICATION;
4129        if ("MedicinalProductDeviceSpec".equals(codeString))
4130          return MEDICINALPRODUCTDEVICESPEC;
4131        if ("MedicinalProductIndication".equals(codeString))
4132          return MEDICINALPRODUCTINDICATION;
4133        if ("MedicinalProductIngredient".equals(codeString))
4134          return MEDICINALPRODUCTINGREDIENT;
4135        if ("MedicinalProductInteraction".equals(codeString))
4136          return MEDICINALPRODUCTINTERACTION;
4137        if ("MedicinalProductManufactured".equals(codeString))
4138          return MEDICINALPRODUCTMANUFACTURED;
4139        if ("MedicinalProductPackaged".equals(codeString))
4140          return MEDICINALPRODUCTPACKAGED;
4141        if ("MedicinalProductPharmaceutical".equals(codeString))
4142          return MEDICINALPRODUCTPHARMACEUTICAL;
4143        if ("MedicinalProductUndesirableEffect".equals(codeString))
4144          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
4145        if ("MessageDefinition".equals(codeString))
4146          return MESSAGEDEFINITION;
4147        if ("MessageHeader".equals(codeString))
4148          return MESSAGEHEADER;
4149        if ("NamingSystem".equals(codeString))
4150          return NAMINGSYSTEM;
4151        if ("NutritionOrder".equals(codeString))
4152          return NUTRITIONORDER;
4153        if ("Observation".equals(codeString))
4154          return OBSERVATION;
4155        if ("ObservationDefinition".equals(codeString))
4156          return OBSERVATIONDEFINITION;
4157        if ("OperationDefinition".equals(codeString))
4158          return OPERATIONDEFINITION;
4159        if ("OperationOutcome".equals(codeString))
4160          return OPERATIONOUTCOME;
4161        if ("Organization".equals(codeString))
4162          return ORGANIZATION;
4163        if ("OrganizationAffiliation".equals(codeString))
4164          return ORGANIZATIONAFFILIATION;
4165        if ("Parameters".equals(codeString))
4166          return PARAMETERS;
4167        if ("Patient".equals(codeString))
4168          return PATIENT;
4169        if ("PaymentNotice".equals(codeString))
4170          return PAYMENTNOTICE;
4171        if ("PaymentReconciliation".equals(codeString))
4172          return PAYMENTRECONCILIATION;
4173        if ("Person".equals(codeString))
4174          return PERSON;
4175        if ("PlanDefinition".equals(codeString))
4176          return PLANDEFINITION;
4177        if ("Practitioner".equals(codeString))
4178          return PRACTITIONER;
4179        if ("PractitionerRole".equals(codeString))
4180          return PRACTITIONERROLE;
4181        if ("Procedure".equals(codeString))
4182          return PROCEDURE;
4183        if ("ProcessRequest".equals(codeString))
4184          return PROCESSREQUEST;
4185        if ("ProcessResponse".equals(codeString))
4186          return PROCESSRESPONSE;
4187        if ("Provenance".equals(codeString))
4188          return PROVENANCE;
4189        if ("Questionnaire".equals(codeString))
4190          return QUESTIONNAIRE;
4191        if ("QuestionnaireResponse".equals(codeString))
4192          return QUESTIONNAIRERESPONSE;
4193        if ("RelatedPerson".equals(codeString))
4194          return RELATEDPERSON;
4195        if ("RequestGroup".equals(codeString))
4196          return REQUESTGROUP;
4197        if ("ResearchStudy".equals(codeString))
4198          return RESEARCHSTUDY;
4199        if ("ResearchSubject".equals(codeString))
4200          return RESEARCHSUBJECT;
4201        if ("Resource".equals(codeString))
4202          return RESOURCE;
4203        if ("RiskAssessment".equals(codeString))
4204          return RISKASSESSMENT;
4205        if ("Schedule".equals(codeString))
4206          return SCHEDULE;
4207        if ("SearchParameter".equals(codeString))
4208          return SEARCHPARAMETER;
4209        if ("Sequence".equals(codeString))
4210          return SEQUENCE;
4211        if ("ServiceRequest".equals(codeString))
4212          return SERVICEREQUEST;
4213        if ("Slot".equals(codeString))
4214          return SLOT;
4215        if ("Specimen".equals(codeString))
4216          return SPECIMEN;
4217        if ("SpecimenDefinition".equals(codeString))
4218          return SPECIMENDEFINITION;
4219        if ("StructureDefinition".equals(codeString))
4220          return STRUCTUREDEFINITION;
4221        if ("StructureMap".equals(codeString))
4222          return STRUCTUREMAP;
4223        if ("Subscription".equals(codeString))
4224          return SUBSCRIPTION;
4225        if ("Substance".equals(codeString))
4226          return SUBSTANCE;
4227        if ("SubstancePolymer".equals(codeString))
4228          return SUBSTANCEPOLYMER;
4229        if ("SubstanceReferenceInformation".equals(codeString))
4230          return SUBSTANCEREFERENCEINFORMATION;
4231        if ("SubstanceSpecification".equals(codeString))
4232          return SUBSTANCESPECIFICATION;
4233        if ("SupplyDelivery".equals(codeString))
4234          return SUPPLYDELIVERY;
4235        if ("SupplyRequest".equals(codeString))
4236          return SUPPLYREQUEST;
4237        if ("Task".equals(codeString))
4238          return TASK;
4239        if ("TerminologyCapabilities".equals(codeString))
4240          return TERMINOLOGYCAPABILITIES;
4241        if ("TestReport".equals(codeString))
4242          return TESTREPORT;
4243        if ("TestScript".equals(codeString))
4244          return TESTSCRIPT;
4245        if ("UserSession".equals(codeString))
4246          return USERSESSION;
4247        if ("ValueSet".equals(codeString))
4248          return VALUESET;
4249        if ("VerificationResult".equals(codeString))
4250          return VERIFICATIONRESULT;
4251        if ("VisionPrescription".equals(codeString))
4252          return VISIONPRESCRIPTION;
4253        if ("Type".equals(codeString))
4254          return TYPE;
4255        if ("Any".equals(codeString))
4256          return ANY;
4257        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
4258        }
4259        public String toCode() {
4260          switch (this) {
4261            case ADDRESS: return "Address";
4262            case AGE: return "Age";
4263            case ANNOTATION: return "Annotation";
4264            case ATTACHMENT: return "Attachment";
4265            case BACKBONEELEMENT: return "BackboneElement";
4266            case CODEABLECONCEPT: return "CodeableConcept";
4267            case CODING: return "Coding";
4268            case CONTACTDETAIL: return "ContactDetail";
4269            case CONTACTPOINT: return "ContactPoint";
4270            case CONTRIBUTOR: return "Contributor";
4271            case COUNT: return "Count";
4272            case DATAREQUIREMENT: return "DataRequirement";
4273            case DISTANCE: return "Distance";
4274            case DOSAGE: return "Dosage";
4275            case DURATION: return "Duration";
4276            case ELEMENT: return "Element";
4277            case ELEMENTDEFINITION: return "ElementDefinition";
4278            case EXPRESSION: return "Expression";
4279            case EXTENSION: return "Extension";
4280            case HUMANNAME: return "HumanName";
4281            case IDENTIFIER: return "Identifier";
4282            case MARKETINGSTATUS: return "MarketingStatus";
4283            case META: return "Meta";
4284            case MONEY: return "Money";
4285            case MONEYQUANTITY: return "MoneyQuantity";
4286            case NARRATIVE: return "Narrative";
4287            case PARAMETERDEFINITION: return "ParameterDefinition";
4288            case PERIOD: return "Period";
4289            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4290            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4291            case QUANTITY: return "Quantity";
4292            case RANGE: return "Range";
4293            case RATIO: return "Ratio";
4294            case REFERENCE: return "Reference";
4295            case RELATEDARTIFACT: return "RelatedArtifact";
4296            case SAMPLEDDATA: return "SampledData";
4297            case SIGNATURE: return "Signature";
4298            case SIMPLEQUANTITY: return "SimpleQuantity";
4299            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4300            case SUBSTANCEMOIETY: return "SubstanceMoiety";
4301            case TIMING: return "Timing";
4302            case TRIGGERDEFINITION: return "TriggerDefinition";
4303            case USAGECONTEXT: return "UsageContext";
4304            case BASE64BINARY: return "base64Binary";
4305            case BOOLEAN: return "boolean";
4306            case CANONICAL: return "canonical";
4307            case CODE: return "code";
4308            case DATE: return "date";
4309            case DATETIME: return "dateTime";
4310            case DECIMAL: return "decimal";
4311            case ID: return "id";
4312            case INSTANT: return "instant";
4313            case INTEGER: return "integer";
4314            case MARKDOWN: return "markdown";
4315            case OID: return "oid";
4316            case POSITIVEINT: return "positiveInt";
4317            case STRING: return "string";
4318            case TIME: return "time";
4319            case UNSIGNEDINT: return "unsignedInt";
4320            case URI: return "uri";
4321            case URL: return "url";
4322            case UUID: return "uuid";
4323            case XHTML: return "xhtml";
4324            case ACCOUNT: return "Account";
4325            case ACTIVITYDEFINITION: return "ActivityDefinition";
4326            case ADVERSEEVENT: return "AdverseEvent";
4327            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4328            case APPOINTMENT: return "Appointment";
4329            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4330            case AUDITEVENT: return "AuditEvent";
4331            case BASIC: return "Basic";
4332            case BINARY: return "Binary";
4333            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4334            case BODYSTRUCTURE: return "BodyStructure";
4335            case BUNDLE: return "Bundle";
4336            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4337            case CAREPLAN: return "CarePlan";
4338            case CARETEAM: return "CareTeam";
4339            case CATALOGENTRY: return "CatalogEntry";
4340            case CHARGEITEM: return "ChargeItem";
4341            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
4342            case CLAIM: return "Claim";
4343            case CLAIMRESPONSE: return "ClaimResponse";
4344            case CLINICALIMPRESSION: return "ClinicalImpression";
4345            case CODESYSTEM: return "CodeSystem";
4346            case COMMUNICATION: return "Communication";
4347            case COMMUNICATIONREQUEST: return "CommunicationRequest";
4348            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
4349            case COMPOSITION: return "Composition";
4350            case CONCEPTMAP: return "ConceptMap";
4351            case CONDITION: return "Condition";
4352            case CONSENT: return "Consent";
4353            case CONTRACT: return "Contract";
4354            case COVERAGE: return "Coverage";
4355            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
4356            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
4357            case DETECTEDISSUE: return "DetectedIssue";
4358            case DEVICE: return "Device";
4359            case DEVICEDEFINITION: return "DeviceDefinition";
4360            case DEVICEMETRIC: return "DeviceMetric";
4361            case DEVICEREQUEST: return "DeviceRequest";
4362            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
4363            case DIAGNOSTICREPORT: return "DiagnosticReport";
4364            case DOCUMENTMANIFEST: return "DocumentManifest";
4365            case DOCUMENTREFERENCE: return "DocumentReference";
4366            case DOMAINRESOURCE: return "DomainResource";
4367            case ENCOUNTER: return "Encounter";
4368            case ENDPOINT: return "Endpoint";
4369            case ENROLLMENTREQUEST: return "EnrollmentRequest";
4370            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
4371            case EPISODEOFCARE: return "EpisodeOfCare";
4372            case EVENTDEFINITION: return "EventDefinition";
4373            case EXAMPLESCENARIO: return "ExampleScenario";
4374            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
4375            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
4376            case FLAG: return "Flag";
4377            case GOAL: return "Goal";
4378            case GRAPHDEFINITION: return "GraphDefinition";
4379            case GROUP: return "Group";
4380            case GUIDANCERESPONSE: return "GuidanceResponse";
4381            case HEALTHCARESERVICE: return "HealthcareService";
4382            case IMAGINGSTUDY: return "ImagingStudy";
4383            case IMMUNIZATION: return "Immunization";
4384            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
4385            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
4386            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
4387            case INSURANCEPLAN: return "InsurancePlan";
4388            case INVOICE: return "Invoice";
4389            case ITEMINSTANCE: return "ItemInstance";
4390            case LIBRARY: return "Library";
4391            case LINKAGE: return "Linkage";
4392            case LIST: return "List";
4393            case LOCATION: return "Location";
4394            case MEASURE: return "Measure";
4395            case MEASUREREPORT: return "MeasureReport";
4396            case MEDIA: return "Media";
4397            case MEDICATION: return "Medication";
4398            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
4399            case MEDICATIONDISPENSE: return "MedicationDispense";
4400            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
4401            case MEDICATIONREQUEST: return "MedicationRequest";
4402            case MEDICATIONSTATEMENT: return "MedicationStatement";
4403            case MEDICINALPRODUCT: return "MedicinalProduct";
4404            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
4405            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
4406            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
4407            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
4408            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
4409            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
4410            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
4411            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
4412            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
4413            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
4414            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
4415            case MESSAGEDEFINITION: return "MessageDefinition";
4416            case MESSAGEHEADER: return "MessageHeader";
4417            case NAMINGSYSTEM: return "NamingSystem";
4418            case NUTRITIONORDER: return "NutritionOrder";
4419            case OBSERVATION: return "Observation";
4420            case OBSERVATIONDEFINITION: return "ObservationDefinition";
4421            case OPERATIONDEFINITION: return "OperationDefinition";
4422            case OPERATIONOUTCOME: return "OperationOutcome";
4423            case ORGANIZATION: return "Organization";
4424            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
4425            case PARAMETERS: return "Parameters";
4426            case PATIENT: return "Patient";
4427            case PAYMENTNOTICE: return "PaymentNotice";
4428            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
4429            case PERSON: return "Person";
4430            case PLANDEFINITION: return "PlanDefinition";
4431            case PRACTITIONER: return "Practitioner";
4432            case PRACTITIONERROLE: return "PractitionerRole";
4433            case PROCEDURE: return "Procedure";
4434            case PROCESSREQUEST: return "ProcessRequest";
4435            case PROCESSRESPONSE: return "ProcessResponse";
4436            case PROVENANCE: return "Provenance";
4437            case QUESTIONNAIRE: return "Questionnaire";
4438            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
4439            case RELATEDPERSON: return "RelatedPerson";
4440            case REQUESTGROUP: return "RequestGroup";
4441            case RESEARCHSTUDY: return "ResearchStudy";
4442            case RESEARCHSUBJECT: return "ResearchSubject";
4443            case RESOURCE: return "Resource";
4444            case RISKASSESSMENT: return "RiskAssessment";
4445            case SCHEDULE: return "Schedule";
4446            case SEARCHPARAMETER: return "SearchParameter";
4447            case SEQUENCE: return "Sequence";
4448            case SERVICEREQUEST: return "ServiceRequest";
4449            case SLOT: return "Slot";
4450            case SPECIMEN: return "Specimen";
4451            case SPECIMENDEFINITION: return "SpecimenDefinition";
4452            case STRUCTUREDEFINITION: return "StructureDefinition";
4453            case STRUCTUREMAP: return "StructureMap";
4454            case SUBSCRIPTION: return "Subscription";
4455            case SUBSTANCE: return "Substance";
4456            case SUBSTANCEPOLYMER: return "SubstancePolymer";
4457            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
4458            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
4459            case SUPPLYDELIVERY: return "SupplyDelivery";
4460            case SUPPLYREQUEST: return "SupplyRequest";
4461            case TASK: return "Task";
4462            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
4463            case TESTREPORT: return "TestReport";
4464            case TESTSCRIPT: return "TestScript";
4465            case USERSESSION: return "UserSession";
4466            case VALUESET: return "ValueSet";
4467            case VERIFICATIONRESULT: return "VerificationResult";
4468            case VISIONPRESCRIPTION: return "VisionPrescription";
4469            case TYPE: return "Type";
4470            case ANY: return "Any";
4471            default: return "?";
4472          }
4473        }
4474        public String getSystem() {
4475          switch (this) {
4476            case ADDRESS: return "http://hl7.org/fhir/data-types";
4477            case AGE: return "http://hl7.org/fhir/data-types";
4478            case ANNOTATION: return "http://hl7.org/fhir/data-types";
4479            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
4480            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
4481            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
4482            case CODING: return "http://hl7.org/fhir/data-types";
4483            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
4484            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
4485            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
4486            case COUNT: return "http://hl7.org/fhir/data-types";
4487            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
4488            case DISTANCE: return "http://hl7.org/fhir/data-types";
4489            case DOSAGE: return "http://hl7.org/fhir/data-types";
4490            case DURATION: return "http://hl7.org/fhir/data-types";
4491            case ELEMENT: return "http://hl7.org/fhir/data-types";
4492            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
4493            case EXPRESSION: return "http://hl7.org/fhir/data-types";
4494            case EXTENSION: return "http://hl7.org/fhir/data-types";
4495            case HUMANNAME: return "http://hl7.org/fhir/data-types";
4496            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
4497            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
4498            case META: return "http://hl7.org/fhir/data-types";
4499            case MONEY: return "http://hl7.org/fhir/data-types";
4500            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
4501            case NARRATIVE: return "http://hl7.org/fhir/data-types";
4502            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
4503            case PERIOD: return "http://hl7.org/fhir/data-types";
4504            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
4505            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
4506            case QUANTITY: return "http://hl7.org/fhir/data-types";
4507            case RANGE: return "http://hl7.org/fhir/data-types";
4508            case RATIO: return "http://hl7.org/fhir/data-types";
4509            case REFERENCE: return "http://hl7.org/fhir/data-types";
4510            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
4511            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
4512            case SIGNATURE: return "http://hl7.org/fhir/data-types";
4513            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
4514            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
4515            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
4516            case TIMING: return "http://hl7.org/fhir/data-types";
4517            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
4518            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
4519            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
4520            case BOOLEAN: return "http://hl7.org/fhir/data-types";
4521            case CANONICAL: return "http://hl7.org/fhir/data-types";
4522            case CODE: return "http://hl7.org/fhir/data-types";
4523            case DATE: return "http://hl7.org/fhir/data-types";
4524            case DATETIME: return "http://hl7.org/fhir/data-types";
4525            case DECIMAL: return "http://hl7.org/fhir/data-types";
4526            case ID: return "http://hl7.org/fhir/data-types";
4527            case INSTANT: return "http://hl7.org/fhir/data-types";
4528            case INTEGER: return "http://hl7.org/fhir/data-types";
4529            case MARKDOWN: return "http://hl7.org/fhir/data-types";
4530            case OID: return "http://hl7.org/fhir/data-types";
4531            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
4532            case STRING: return "http://hl7.org/fhir/data-types";
4533            case TIME: return "http://hl7.org/fhir/data-types";
4534            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
4535            case URI: return "http://hl7.org/fhir/data-types";
4536            case URL: return "http://hl7.org/fhir/data-types";
4537            case UUID: return "http://hl7.org/fhir/data-types";
4538            case XHTML: return "http://hl7.org/fhir/data-types";
4539            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
4540            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
4541            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
4542            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
4543            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
4544            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4545            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
4546            case BASIC: return "http://hl7.org/fhir/resource-types";
4547            case BINARY: return "http://hl7.org/fhir/resource-types";
4548            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
4549            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
4550            case BUNDLE: return "http://hl7.org/fhir/resource-types";
4551            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
4552            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
4553            case CARETEAM: return "http://hl7.org/fhir/resource-types";
4554            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
4555            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
4556            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
4557            case CLAIM: return "http://hl7.org/fhir/resource-types";
4558            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
4559            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
4560            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
4561            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
4562            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4563            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4564            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
4565            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
4566            case CONDITION: return "http://hl7.org/fhir/resource-types";
4567            case CONSENT: return "http://hl7.org/fhir/resource-types";
4568            case CONTRACT: return "http://hl7.org/fhir/resource-types";
4569            case COVERAGE: return "http://hl7.org/fhir/resource-types";
4570            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
4571            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
4572            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
4573            case DEVICE: return "http://hl7.org/fhir/resource-types";
4574            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
4575            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
4576            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4577            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
4578            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
4579            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
4580            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
4581            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
4582            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
4583            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
4584            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
4585            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4586            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
4587            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4588            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
4589            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
4590            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
4591            case FLAG: return "http://hl7.org/fhir/resource-types";
4592            case GOAL: return "http://hl7.org/fhir/resource-types";
4593            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
4594            case GROUP: return "http://hl7.org/fhir/resource-types";
4595            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
4596            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
4597            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
4598            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
4599            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
4600            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
4601            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
4602            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
4603            case INVOICE: return "http://hl7.org/fhir/resource-types";
4604            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
4605            case LIBRARY: return "http://hl7.org/fhir/resource-types";
4606            case LINKAGE: return "http://hl7.org/fhir/resource-types";
4607            case LIST: return "http://hl7.org/fhir/resource-types";
4608            case LOCATION: return "http://hl7.org/fhir/resource-types";
4609            case MEASURE: return "http://hl7.org/fhir/resource-types";
4610            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
4611            case MEDIA: return "http://hl7.org/fhir/resource-types";
4612            case MEDICATION: return "http://hl7.org/fhir/resource-types";
4613            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
4614            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
4615            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
4616            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4617            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
4618            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
4619            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
4620            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
4621            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
4622            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
4623            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
4624            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
4625            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
4626            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
4627            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
4628            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
4629            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
4630            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
4631            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
4632            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
4633            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
4634            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
4635            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4636            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4637            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
4638            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
4639            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
4640            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
4641            case PATIENT: return "http://hl7.org/fhir/resource-types";
4642            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
4643            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
4644            case PERSON: return "http://hl7.org/fhir/resource-types";
4645            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
4646            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
4647            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
4648            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
4649            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
4650            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
4651            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
4652            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
4653            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
4654            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
4655            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
4656            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
4657            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
4658            case RESOURCE: return "http://hl7.org/fhir/resource-types";
4659            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
4660            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
4661            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
4662            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
4663            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4664            case SLOT: return "http://hl7.org/fhir/resource-types";
4665            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
4666            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
4667            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
4668            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
4669            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
4670            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
4671            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
4672            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
4673            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
4674            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
4675            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
4676            case TASK: return "http://hl7.org/fhir/resource-types";
4677            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
4678            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
4679            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
4680            case USERSESSION: return "http://hl7.org/fhir/resource-types";
4681            case VALUESET: return "http://hl7.org/fhir/resource-types";
4682            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
4683            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
4684            case TYPE: return "http://hl7.org/fhir/abstract-types";
4685            case ANY: return "http://hl7.org/fhir/abstract-types";
4686            default: return "?";
4687          }
4688        }
4689        public String getDefinition() {
4690          switch (this) {
4691            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.";
4692            case AGE: return "A duration of time during which an organism (or a process) has existed.";
4693            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
4694            case ATTACHMENT: return "For referring to data content defined in other formats.";
4695            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
4696            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
4697            case CODING: return "A reference to a code defined by a terminology system.";
4698            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
4699            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
4700            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
4701            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.";
4702            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.";
4703            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
4704            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
4705            case DURATION: return "A length of time.";
4706            case ELEMENT: return "Base definition for all elements in a resource.";
4707            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
4708            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.";
4709            case EXTENSION: return "Optional Extension Element - found in all resources.";
4710            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
4711            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
4712            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.";
4713            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.";
4714            case MONEY: return "An amount of economic utility in some recognized currency.";
4715            case MONEYQUANTITY: return "";
4716            case NARRATIVE: return "A human-readable formatted text, including images.";
4717            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.";
4718            case PERIOD: return "A time period defined by a start and end date and optionally time.";
4719            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.";
4720            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
4721            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.";
4722            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
4723            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
4724            case REFERENCE: return "A reference from one resource to another.";
4725            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
4726            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.";
4727            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.";
4728            case SIMPLEQUANTITY: return "";
4729            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.";
4730            case SUBSTANCEMOIETY: 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.";
4731            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.";
4732            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.";
4733            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).";
4734            case BASE64BINARY: return "A stream of bytes";
4735            case BOOLEAN: return "Value of \"true\" or \"false\"";
4736            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
4737            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";
4738            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.";
4739            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.";
4740            case DECIMAL: return "A rational number with implicit precision";
4741            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.";
4742            case INSTANT: return "An instant in time - known at least to the second";
4743            case INTEGER: return "A whole number";
4744            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
4745            case OID: return "An OID represented as a URI";
4746            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
4747            case STRING: return "A sequence of Unicode characters";
4748            case TIME: return "A time during the day, with no date specified";
4749            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
4750            case URI: return "String of characters used to identify a name or a resource";
4751            case URL: return "A URI that is a literal reference";
4752            case UUID: return "A UUID, represented as a URI";
4753            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
4754            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.";
4755            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.";
4756            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.";
4757            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
4758            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).";
4759            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
4760            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.";
4761            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.";
4762            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.";
4763            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
4764            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.";
4765            case BUNDLE: return "A container for a collection of resources.";
4766            case CAPABILITYSTATEMENT: return "A Capability Statement 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.";
4767            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.";
4768            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.";
4769            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
4770            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.";
4771            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.";
4772            case CLAIM: return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.";
4773            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
4774            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.";
4775            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.";
4776            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.";
4777            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.";
4778            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
4779            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.).";
4780            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.";
4781            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
4782            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.";
4783            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
4784            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
4785            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.";
4786            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
4787            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.";
4788            case DEVICE: return "This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).";
4789            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
4790            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
4791            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.";
4792            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.";
4793            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.";
4794            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
4795            case DOCUMENTREFERENCE: return "A reference to a document.";
4796            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
4797            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.";
4798            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.";
4799            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
4800            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
4801            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.";
4802            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
4803            case EXAMPLESCENARIO: return "Example of workflow instance.";
4804            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.";
4805            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
4806            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
4807            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.";
4808            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.";
4809            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.";
4810            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.";
4811            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
4812            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.";
4813            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.";
4814            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.";
4815            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
4816            case IMPLEMENTATIONGUIDE: return "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
4817            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
4818            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
4819            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
4820            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.";
4821            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
4822            case LIST: return "A set of information summarized from a list of other resources.";
4823            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.";
4824            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
4825            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.";
4826            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.";
4827            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.";
4828            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.";
4829            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.";
4830            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
4831            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.";
4832            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. \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
4833            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
4834            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
4835            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
4836            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
4837            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.";
4838            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
4839            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
4840            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
4841            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
4842            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
4843            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
4844            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
4845            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.";
4846            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.";
4847            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.";
4848            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
4849            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
4850            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
4851            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
4852            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
4853            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.";
4854            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
4855            case PARAMETERS: return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
4856            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
4857            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
4858            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
4859            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
4860            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.";
4861            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
4862            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
4863            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.";
4864            case PROCESSREQUEST: return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.";
4865            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
4866            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.";
4867            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.";
4868            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.";
4869            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.";
4870            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\".";
4871            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.";
4872            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
4873            case RESOURCE: return "This is the base resource type for everything.";
4874            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
4875            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
4876            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
4877            case SEQUENCE: return "Raw data describing a biological sequence.";
4878            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
4879            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
4880            case SPECIMEN: return "A sample to be used for analysis.";
4881            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
4882            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.";
4883            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
4884            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.";
4885            case SUBSTANCE: return "A homogeneous material with a definite composition.";
4886            case SUBSTANCEPOLYMER: return "Todo.";
4887            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
4888            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
4889            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
4890            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
4891            case TASK: return "A task to be performed.";
4892            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.";
4893            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
4894            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
4895            case USERSESSION: return "Information about a user's current session.";
4896            case VALUESET: return "A ValueSet resource instances 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).";
4897            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
4898            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
4899            case TYPE: return "A place holder that means any kind of data type";
4900            case ANY: return "A place holder that means any kind of resource";
4901            default: return "?";
4902          }
4903        }
4904        public String getDisplay() {
4905          switch (this) {
4906            case ADDRESS: return "Address";
4907            case AGE: return "Age";
4908            case ANNOTATION: return "Annotation";
4909            case ATTACHMENT: return "Attachment";
4910            case BACKBONEELEMENT: return "BackboneElement";
4911            case CODEABLECONCEPT: return "CodeableConcept";
4912            case CODING: return "Coding";
4913            case CONTACTDETAIL: return "ContactDetail";
4914            case CONTACTPOINT: return "ContactPoint";
4915            case CONTRIBUTOR: return "Contributor";
4916            case COUNT: return "Count";
4917            case DATAREQUIREMENT: return "DataRequirement";
4918            case DISTANCE: return "Distance";
4919            case DOSAGE: return "Dosage";
4920            case DURATION: return "Duration";
4921            case ELEMENT: return "Element";
4922            case ELEMENTDEFINITION: return "ElementDefinition";
4923            case EXPRESSION: return "Expression";
4924            case EXTENSION: return "Extension";
4925            case HUMANNAME: return "HumanName";
4926            case IDENTIFIER: return "Identifier";
4927            case MARKETINGSTATUS: return "MarketingStatus";
4928            case META: return "Meta";
4929            case MONEY: return "Money";
4930            case MONEYQUANTITY: return "MoneyQuantity";
4931            case NARRATIVE: return "Narrative";
4932            case PARAMETERDEFINITION: return "ParameterDefinition";
4933            case PERIOD: return "Period";
4934            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4935            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4936            case QUANTITY: return "Quantity";
4937            case RANGE: return "Range";
4938            case RATIO: return "Ratio";
4939            case REFERENCE: return "Reference";
4940            case RELATEDARTIFACT: return "RelatedArtifact";
4941            case SAMPLEDDATA: return "SampledData";
4942            case SIGNATURE: return "Signature";
4943            case SIMPLEQUANTITY: return "SimpleQuantity";
4944            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4945            case SUBSTANCEMOIETY: return "SubstanceMoiety";
4946            case TIMING: return "Timing";
4947            case TRIGGERDEFINITION: return "TriggerDefinition";
4948            case USAGECONTEXT: return "UsageContext";
4949            case BASE64BINARY: return "base64Binary";
4950            case BOOLEAN: return "boolean";
4951            case CANONICAL: return "canonical";
4952            case CODE: return "code";
4953            case DATE: return "date";
4954            case DATETIME: return "dateTime";
4955            case DECIMAL: return "decimal";
4956            case ID: return "id";
4957            case INSTANT: return "instant";
4958            case INTEGER: return "integer";
4959            case MARKDOWN: return "markdown";
4960            case OID: return "oid";
4961            case POSITIVEINT: return "positiveInt";
4962            case STRING: return "string";
4963            case TIME: return "time";
4964            case UNSIGNEDINT: return "unsignedInt";
4965            case URI: return "uri";
4966            case URL: return "url";
4967            case UUID: return "uuid";
4968            case XHTML: return "XHTML";
4969            case ACCOUNT: return "Account";
4970            case ACTIVITYDEFINITION: return "ActivityDefinition";
4971            case ADVERSEEVENT: return "AdverseEvent";
4972            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4973            case APPOINTMENT: return "Appointment";
4974            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4975            case AUDITEVENT: return "AuditEvent";
4976            case BASIC: return "Basic";
4977            case BINARY: return "Binary";
4978            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4979            case BODYSTRUCTURE: return "BodyStructure";
4980            case BUNDLE: return "Bundle";
4981            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4982            case CAREPLAN: return "CarePlan";
4983            case CARETEAM: return "CareTeam";
4984            case CATALOGENTRY: return "CatalogEntry";
4985            case CHARGEITEM: return "ChargeItem";
4986            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
4987            case CLAIM: return "Claim";
4988            case CLAIMRESPONSE: return "ClaimResponse";
4989            case CLINICALIMPRESSION: return "ClinicalImpression";
4990            case CODESYSTEM: return "CodeSystem";
4991            case COMMUNICATION: return "Communication";
4992            case COMMUNICATIONREQUEST: return "CommunicationRequest";
4993            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
4994            case COMPOSITION: return "Composition";
4995            case CONCEPTMAP: return "ConceptMap";
4996            case CONDITION: return "Condition";
4997            case CONSENT: return "Consent";
4998            case CONTRACT: return "Contract";
4999            case COVERAGE: return "Coverage";
5000            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
5001            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
5002            case DETECTEDISSUE: return "DetectedIssue";
5003            case DEVICE: return "Device";
5004            case DEVICEDEFINITION: return "DeviceDefinition";
5005            case DEVICEMETRIC: return "DeviceMetric";
5006            case DEVICEREQUEST: return "DeviceRequest";
5007            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
5008            case DIAGNOSTICREPORT: return "DiagnosticReport";
5009            case DOCUMENTMANIFEST: return "DocumentManifest";
5010            case DOCUMENTREFERENCE: return "DocumentReference";
5011            case DOMAINRESOURCE: return "DomainResource";
5012            case ENCOUNTER: return "Encounter";
5013            case ENDPOINT: return "Endpoint";
5014            case ENROLLMENTREQUEST: return "EnrollmentRequest";
5015            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
5016            case EPISODEOFCARE: return "EpisodeOfCare";
5017            case EVENTDEFINITION: return "EventDefinition";
5018            case EXAMPLESCENARIO: return "ExampleScenario";
5019            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
5020            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
5021            case FLAG: return "Flag";
5022            case GOAL: return "Goal";
5023            case GRAPHDEFINITION: return "GraphDefinition";
5024            case GROUP: return "Group";
5025            case GUIDANCERESPONSE: return "GuidanceResponse";
5026            case HEALTHCARESERVICE: return "HealthcareService";
5027            case IMAGINGSTUDY: return "ImagingStudy";
5028            case IMMUNIZATION: return "Immunization";
5029            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
5030            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
5031            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
5032            case INSURANCEPLAN: return "InsurancePlan";
5033            case INVOICE: return "Invoice";
5034            case ITEMINSTANCE: return "ItemInstance";
5035            case LIBRARY: return "Library";
5036            case LINKAGE: return "Linkage";
5037            case LIST: return "List";
5038            case LOCATION: return "Location";
5039            case MEASURE: return "Measure";
5040            case MEASUREREPORT: return "MeasureReport";
5041            case MEDIA: return "Media";
5042            case MEDICATION: return "Medication";
5043            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
5044            case MEDICATIONDISPENSE: return "MedicationDispense";
5045            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
5046            case MEDICATIONREQUEST: return "MedicationRequest";
5047            case MEDICATIONSTATEMENT: return "MedicationStatement";
5048            case MEDICINALPRODUCT: return "MedicinalProduct";
5049            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
5050            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
5051            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
5052            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
5053            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
5054            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
5055            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
5056            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
5057            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
5058            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
5059            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
5060            case MESSAGEDEFINITION: return "MessageDefinition";
5061            case MESSAGEHEADER: return "MessageHeader";
5062            case NAMINGSYSTEM: return "NamingSystem";
5063            case NUTRITIONORDER: return "NutritionOrder";
5064            case OBSERVATION: return "Observation";
5065            case OBSERVATIONDEFINITION: return "ObservationDefinition";
5066            case OPERATIONDEFINITION: return "OperationDefinition";
5067            case OPERATIONOUTCOME: return "OperationOutcome";
5068            case ORGANIZATION: return "Organization";
5069            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
5070            case PARAMETERS: return "Parameters";
5071            case PATIENT: return "Patient";
5072            case PAYMENTNOTICE: return "PaymentNotice";
5073            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
5074            case PERSON: return "Person";
5075            case PLANDEFINITION: return "PlanDefinition";
5076            case PRACTITIONER: return "Practitioner";
5077            case PRACTITIONERROLE: return "PractitionerRole";
5078            case PROCEDURE: return "Procedure";
5079            case PROCESSREQUEST: return "ProcessRequest";
5080            case PROCESSRESPONSE: return "ProcessResponse";
5081            case PROVENANCE: return "Provenance";
5082            case QUESTIONNAIRE: return "Questionnaire";
5083            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
5084            case RELATEDPERSON: return "RelatedPerson";
5085            case REQUESTGROUP: return "RequestGroup";
5086            case RESEARCHSTUDY: return "ResearchStudy";
5087            case RESEARCHSUBJECT: return "ResearchSubject";
5088            case RESOURCE: return "Resource";
5089            case RISKASSESSMENT: return "RiskAssessment";
5090            case SCHEDULE: return "Schedule";
5091            case SEARCHPARAMETER: return "SearchParameter";
5092            case SEQUENCE: return "Sequence";
5093            case SERVICEREQUEST: return "ServiceRequest";
5094            case SLOT: return "Slot";
5095            case SPECIMEN: return "Specimen";
5096            case SPECIMENDEFINITION: return "SpecimenDefinition";
5097            case STRUCTUREDEFINITION: return "StructureDefinition";
5098            case STRUCTUREMAP: return "StructureMap";
5099            case SUBSCRIPTION: return "Subscription";
5100            case SUBSTANCE: return "Substance";
5101            case SUBSTANCEPOLYMER: return "SubstancePolymer";
5102            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
5103            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
5104            case SUPPLYDELIVERY: return "SupplyDelivery";
5105            case SUPPLYREQUEST: return "SupplyRequest";
5106            case TASK: return "Task";
5107            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
5108            case TESTREPORT: return "TestReport";
5109            case TESTSCRIPT: return "TestScript";
5110            case USERSESSION: return "UserSession";
5111            case VALUESET: return "ValueSet";
5112            case VERIFICATIONRESULT: return "VerificationResult";
5113            case VISIONPRESCRIPTION: return "VisionPrescription";
5114            case TYPE: return "Type";
5115            case ANY: return "Any";
5116            default: return "?";
5117          }
5118        }
5119    }
5120
5121  public static class FHIRAllTypesEnumFactory implements EnumFactory<FHIRAllTypes> {
5122    public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException {
5123      if (codeString == null || "".equals(codeString))
5124            if (codeString == null || "".equals(codeString))
5125                return null;
5126        if ("Address".equals(codeString))
5127          return FHIRAllTypes.ADDRESS;
5128        if ("Age".equals(codeString))
5129          return FHIRAllTypes.AGE;
5130        if ("Annotation".equals(codeString))
5131          return FHIRAllTypes.ANNOTATION;
5132        if ("Attachment".equals(codeString))
5133          return FHIRAllTypes.ATTACHMENT;
5134        if ("BackboneElement".equals(codeString))
5135          return FHIRAllTypes.BACKBONEELEMENT;
5136        if ("CodeableConcept".equals(codeString))
5137          return FHIRAllTypes.CODEABLECONCEPT;
5138        if ("Coding".equals(codeString))
5139          return FHIRAllTypes.CODING;
5140        if ("ContactDetail".equals(codeString))
5141          return FHIRAllTypes.CONTACTDETAIL;
5142        if ("ContactPoint".equals(codeString))
5143          return FHIRAllTypes.CONTACTPOINT;
5144        if ("Contributor".equals(codeString))
5145          return FHIRAllTypes.CONTRIBUTOR;
5146        if ("Count".equals(codeString))
5147          return FHIRAllTypes.COUNT;
5148        if ("DataRequirement".equals(codeString))
5149          return FHIRAllTypes.DATAREQUIREMENT;
5150        if ("Distance".equals(codeString))
5151          return FHIRAllTypes.DISTANCE;
5152        if ("Dosage".equals(codeString))
5153          return FHIRAllTypes.DOSAGE;
5154        if ("Duration".equals(codeString))
5155          return FHIRAllTypes.DURATION;
5156        if ("Element".equals(codeString))
5157          return FHIRAllTypes.ELEMENT;
5158        if ("ElementDefinition".equals(codeString))
5159          return FHIRAllTypes.ELEMENTDEFINITION;
5160        if ("Expression".equals(codeString))
5161          return FHIRAllTypes.EXPRESSION;
5162        if ("Extension".equals(codeString))
5163          return FHIRAllTypes.EXTENSION;
5164        if ("HumanName".equals(codeString))
5165          return FHIRAllTypes.HUMANNAME;
5166        if ("Identifier".equals(codeString))
5167          return FHIRAllTypes.IDENTIFIER;
5168        if ("MarketingStatus".equals(codeString))
5169          return FHIRAllTypes.MARKETINGSTATUS;
5170        if ("Meta".equals(codeString))
5171          return FHIRAllTypes.META;
5172        if ("Money".equals(codeString))
5173          return FHIRAllTypes.MONEY;
5174        if ("MoneyQuantity".equals(codeString))
5175          return FHIRAllTypes.MONEYQUANTITY;
5176        if ("Narrative".equals(codeString))
5177          return FHIRAllTypes.NARRATIVE;
5178        if ("ParameterDefinition".equals(codeString))
5179          return FHIRAllTypes.PARAMETERDEFINITION;
5180        if ("Period".equals(codeString))
5181          return FHIRAllTypes.PERIOD;
5182        if ("ProdCharacteristic".equals(codeString))
5183          return FHIRAllTypes.PRODCHARACTERISTIC;
5184        if ("ProductShelfLife".equals(codeString))
5185          return FHIRAllTypes.PRODUCTSHELFLIFE;
5186        if ("Quantity".equals(codeString))
5187          return FHIRAllTypes.QUANTITY;
5188        if ("Range".equals(codeString))
5189          return FHIRAllTypes.RANGE;
5190        if ("Ratio".equals(codeString))
5191          return FHIRAllTypes.RATIO;
5192        if ("Reference".equals(codeString))
5193          return FHIRAllTypes.REFERENCE;
5194        if ("RelatedArtifact".equals(codeString))
5195          return FHIRAllTypes.RELATEDARTIFACT;
5196        if ("SampledData".equals(codeString))
5197          return FHIRAllTypes.SAMPLEDDATA;
5198        if ("Signature".equals(codeString))
5199          return FHIRAllTypes.SIGNATURE;
5200        if ("SimpleQuantity".equals(codeString))
5201          return FHIRAllTypes.SIMPLEQUANTITY;
5202        if ("SubstanceAmount".equals(codeString))
5203          return FHIRAllTypes.SUBSTANCEAMOUNT;
5204        if ("SubstanceMoiety".equals(codeString))
5205          return FHIRAllTypes.SUBSTANCEMOIETY;
5206        if ("Timing".equals(codeString))
5207          return FHIRAllTypes.TIMING;
5208        if ("TriggerDefinition".equals(codeString))
5209          return FHIRAllTypes.TRIGGERDEFINITION;
5210        if ("UsageContext".equals(codeString))
5211          return FHIRAllTypes.USAGECONTEXT;
5212        if ("base64Binary".equals(codeString))
5213          return FHIRAllTypes.BASE64BINARY;
5214        if ("boolean".equals(codeString))
5215          return FHIRAllTypes.BOOLEAN;
5216        if ("canonical".equals(codeString))
5217          return FHIRAllTypes.CANONICAL;
5218        if ("code".equals(codeString))
5219          return FHIRAllTypes.CODE;
5220        if ("date".equals(codeString))
5221          return FHIRAllTypes.DATE;
5222        if ("dateTime".equals(codeString))
5223          return FHIRAllTypes.DATETIME;
5224        if ("decimal".equals(codeString))
5225          return FHIRAllTypes.DECIMAL;
5226        if ("id".equals(codeString))
5227          return FHIRAllTypes.ID;
5228        if ("instant".equals(codeString))
5229          return FHIRAllTypes.INSTANT;
5230        if ("integer".equals(codeString))
5231          return FHIRAllTypes.INTEGER;
5232        if ("markdown".equals(codeString))
5233          return FHIRAllTypes.MARKDOWN;
5234        if ("oid".equals(codeString))
5235          return FHIRAllTypes.OID;
5236        if ("positiveInt".equals(codeString))
5237          return FHIRAllTypes.POSITIVEINT;
5238        if ("string".equals(codeString))
5239          return FHIRAllTypes.STRING;
5240        if ("time".equals(codeString))
5241          return FHIRAllTypes.TIME;
5242        if ("unsignedInt".equals(codeString))
5243          return FHIRAllTypes.UNSIGNEDINT;
5244        if ("uri".equals(codeString))
5245          return FHIRAllTypes.URI;
5246        if ("url".equals(codeString))
5247          return FHIRAllTypes.URL;
5248        if ("uuid".equals(codeString))
5249          return FHIRAllTypes.UUID;
5250        if ("xhtml".equals(codeString))
5251          return FHIRAllTypes.XHTML;
5252        if ("Account".equals(codeString))
5253          return FHIRAllTypes.ACCOUNT;
5254        if ("ActivityDefinition".equals(codeString))
5255          return FHIRAllTypes.ACTIVITYDEFINITION;
5256        if ("AdverseEvent".equals(codeString))
5257          return FHIRAllTypes.ADVERSEEVENT;
5258        if ("AllergyIntolerance".equals(codeString))
5259          return FHIRAllTypes.ALLERGYINTOLERANCE;
5260        if ("Appointment".equals(codeString))
5261          return FHIRAllTypes.APPOINTMENT;
5262        if ("AppointmentResponse".equals(codeString))
5263          return FHIRAllTypes.APPOINTMENTRESPONSE;
5264        if ("AuditEvent".equals(codeString))
5265          return FHIRAllTypes.AUDITEVENT;
5266        if ("Basic".equals(codeString))
5267          return FHIRAllTypes.BASIC;
5268        if ("Binary".equals(codeString))
5269          return FHIRAllTypes.BINARY;
5270        if ("BiologicallyDerivedProduct".equals(codeString))
5271          return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT;
5272        if ("BodyStructure".equals(codeString))
5273          return FHIRAllTypes.BODYSTRUCTURE;
5274        if ("Bundle".equals(codeString))
5275          return FHIRAllTypes.BUNDLE;
5276        if ("CapabilityStatement".equals(codeString))
5277          return FHIRAllTypes.CAPABILITYSTATEMENT;
5278        if ("CarePlan".equals(codeString))
5279          return FHIRAllTypes.CAREPLAN;
5280        if ("CareTeam".equals(codeString))
5281          return FHIRAllTypes.CARETEAM;
5282        if ("CatalogEntry".equals(codeString))
5283          return FHIRAllTypes.CATALOGENTRY;
5284        if ("ChargeItem".equals(codeString))
5285          return FHIRAllTypes.CHARGEITEM;
5286        if ("ChargeItemDefinition".equals(codeString))
5287          return FHIRAllTypes.CHARGEITEMDEFINITION;
5288        if ("Claim".equals(codeString))
5289          return FHIRAllTypes.CLAIM;
5290        if ("ClaimResponse".equals(codeString))
5291          return FHIRAllTypes.CLAIMRESPONSE;
5292        if ("ClinicalImpression".equals(codeString))
5293          return FHIRAllTypes.CLINICALIMPRESSION;
5294        if ("CodeSystem".equals(codeString))
5295          return FHIRAllTypes.CODESYSTEM;
5296        if ("Communication".equals(codeString))
5297          return FHIRAllTypes.COMMUNICATION;
5298        if ("CommunicationRequest".equals(codeString))
5299          return FHIRAllTypes.COMMUNICATIONREQUEST;
5300        if ("CompartmentDefinition".equals(codeString))
5301          return FHIRAllTypes.COMPARTMENTDEFINITION;
5302        if ("Composition".equals(codeString))
5303          return FHIRAllTypes.COMPOSITION;
5304        if ("ConceptMap".equals(codeString))
5305          return FHIRAllTypes.CONCEPTMAP;
5306        if ("Condition".equals(codeString))
5307          return FHIRAllTypes.CONDITION;
5308        if ("Consent".equals(codeString))
5309          return FHIRAllTypes.CONSENT;
5310        if ("Contract".equals(codeString))
5311          return FHIRAllTypes.CONTRACT;
5312        if ("Coverage".equals(codeString))
5313          return FHIRAllTypes.COVERAGE;
5314        if ("CoverageEligibilityRequest".equals(codeString))
5315          return FHIRAllTypes.COVERAGEELIGIBILITYREQUEST;
5316        if ("CoverageEligibilityResponse".equals(codeString))
5317          return FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE;
5318        if ("DetectedIssue".equals(codeString))
5319          return FHIRAllTypes.DETECTEDISSUE;
5320        if ("Device".equals(codeString))
5321          return FHIRAllTypes.DEVICE;
5322        if ("DeviceDefinition".equals(codeString))
5323          return FHIRAllTypes.DEVICEDEFINITION;
5324        if ("DeviceMetric".equals(codeString))
5325          return FHIRAllTypes.DEVICEMETRIC;
5326        if ("DeviceRequest".equals(codeString))
5327          return FHIRAllTypes.DEVICEREQUEST;
5328        if ("DeviceUseStatement".equals(codeString))
5329          return FHIRAllTypes.DEVICEUSESTATEMENT;
5330        if ("DiagnosticReport".equals(codeString))
5331          return FHIRAllTypes.DIAGNOSTICREPORT;
5332        if ("DocumentManifest".equals(codeString))
5333          return FHIRAllTypes.DOCUMENTMANIFEST;
5334        if ("DocumentReference".equals(codeString))
5335          return FHIRAllTypes.DOCUMENTREFERENCE;
5336        if ("DomainResource".equals(codeString))
5337          return FHIRAllTypes.DOMAINRESOURCE;
5338        if ("Encounter".equals(codeString))
5339          return FHIRAllTypes.ENCOUNTER;
5340        if ("Endpoint".equals(codeString))
5341          return FHIRAllTypes.ENDPOINT;
5342        if ("EnrollmentRequest".equals(codeString))
5343          return FHIRAllTypes.ENROLLMENTREQUEST;
5344        if ("EnrollmentResponse".equals(codeString))
5345          return FHIRAllTypes.ENROLLMENTRESPONSE;
5346        if ("EpisodeOfCare".equals(codeString))
5347          return FHIRAllTypes.EPISODEOFCARE;
5348        if ("EventDefinition".equals(codeString))
5349          return FHIRAllTypes.EVENTDEFINITION;
5350        if ("ExampleScenario".equals(codeString))
5351          return FHIRAllTypes.EXAMPLESCENARIO;
5352        if ("ExplanationOfBenefit".equals(codeString))
5353          return FHIRAllTypes.EXPLANATIONOFBENEFIT;
5354        if ("FamilyMemberHistory".equals(codeString))
5355          return FHIRAllTypes.FAMILYMEMBERHISTORY;
5356        if ("Flag".equals(codeString))
5357          return FHIRAllTypes.FLAG;
5358        if ("Goal".equals(codeString))
5359          return FHIRAllTypes.GOAL;
5360        if ("GraphDefinition".equals(codeString))
5361          return FHIRAllTypes.GRAPHDEFINITION;
5362        if ("Group".equals(codeString))
5363          return FHIRAllTypes.GROUP;
5364        if ("GuidanceResponse".equals(codeString))
5365          return FHIRAllTypes.GUIDANCERESPONSE;
5366        if ("HealthcareService".equals(codeString))
5367          return FHIRAllTypes.HEALTHCARESERVICE;
5368        if ("ImagingStudy".equals(codeString))
5369          return FHIRAllTypes.IMAGINGSTUDY;
5370        if ("Immunization".equals(codeString))
5371          return FHIRAllTypes.IMMUNIZATION;
5372        if ("ImmunizationEvaluation".equals(codeString))
5373          return FHIRAllTypes.IMMUNIZATIONEVALUATION;
5374        if ("ImmunizationRecommendation".equals(codeString))
5375          return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION;
5376        if ("ImplementationGuide".equals(codeString))
5377          return FHIRAllTypes.IMPLEMENTATIONGUIDE;
5378        if ("InsurancePlan".equals(codeString))
5379          return FHIRAllTypes.INSURANCEPLAN;
5380        if ("Invoice".equals(codeString))
5381          return FHIRAllTypes.INVOICE;
5382        if ("ItemInstance".equals(codeString))
5383          return FHIRAllTypes.ITEMINSTANCE;
5384        if ("Library".equals(codeString))
5385          return FHIRAllTypes.LIBRARY;
5386        if ("Linkage".equals(codeString))
5387          return FHIRAllTypes.LINKAGE;
5388        if ("List".equals(codeString))
5389          return FHIRAllTypes.LIST;
5390        if ("Location".equals(codeString))
5391          return FHIRAllTypes.LOCATION;
5392        if ("Measure".equals(codeString))
5393          return FHIRAllTypes.MEASURE;
5394        if ("MeasureReport".equals(codeString))
5395          return FHIRAllTypes.MEASUREREPORT;
5396        if ("Media".equals(codeString))
5397          return FHIRAllTypes.MEDIA;
5398        if ("Medication".equals(codeString))
5399          return FHIRAllTypes.MEDICATION;
5400        if ("MedicationAdministration".equals(codeString))
5401          return FHIRAllTypes.MEDICATIONADMINISTRATION;
5402        if ("MedicationDispense".equals(codeString))
5403          return FHIRAllTypes.MEDICATIONDISPENSE;
5404        if ("MedicationKnowledge".equals(codeString))
5405          return FHIRAllTypes.MEDICATIONKNOWLEDGE;
5406        if ("MedicationRequest".equals(codeString))
5407          return FHIRAllTypes.MEDICATIONREQUEST;
5408        if ("MedicationStatement".equals(codeString))
5409          return FHIRAllTypes.MEDICATIONSTATEMENT;
5410        if ("MedicinalProduct".equals(codeString))
5411          return FHIRAllTypes.MEDICINALPRODUCT;
5412        if ("MedicinalProductAuthorization".equals(codeString))
5413          return FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION;
5414        if ("MedicinalProductClinicals".equals(codeString))
5415          return FHIRAllTypes.MEDICINALPRODUCTCLINICALS;
5416        if ("MedicinalProductContraindication".equals(codeString))
5417          return FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION;
5418        if ("MedicinalProductDeviceSpec".equals(codeString))
5419          return FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC;
5420        if ("MedicinalProductIndication".equals(codeString))
5421          return FHIRAllTypes.MEDICINALPRODUCTINDICATION;
5422        if ("MedicinalProductIngredient".equals(codeString))
5423          return FHIRAllTypes.MEDICINALPRODUCTINGREDIENT;
5424        if ("MedicinalProductInteraction".equals(codeString))
5425          return FHIRAllTypes.MEDICINALPRODUCTINTERACTION;
5426        if ("MedicinalProductManufactured".equals(codeString))
5427          return FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED;
5428        if ("MedicinalProductPackaged".equals(codeString))
5429          return FHIRAllTypes.MEDICINALPRODUCTPACKAGED;
5430        if ("MedicinalProductPharmaceutical".equals(codeString))
5431          return FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL;
5432        if ("MedicinalProductUndesirableEffect".equals(codeString))
5433          return FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT;
5434        if ("MessageDefinition".equals(codeString))
5435          return FHIRAllTypes.MESSAGEDEFINITION;
5436        if ("MessageHeader".equals(codeString))
5437          return FHIRAllTypes.MESSAGEHEADER;
5438        if ("NamingSystem".equals(codeString))
5439          return FHIRAllTypes.NAMINGSYSTEM;
5440        if ("NutritionOrder".equals(codeString))
5441          return FHIRAllTypes.NUTRITIONORDER;
5442        if ("Observation".equals(codeString))
5443          return FHIRAllTypes.OBSERVATION;
5444        if ("ObservationDefinition".equals(codeString))
5445          return FHIRAllTypes.OBSERVATIONDEFINITION;
5446        if ("OperationDefinition".equals(codeString))
5447          return FHIRAllTypes.OPERATIONDEFINITION;
5448        if ("OperationOutcome".equals(codeString))
5449          return FHIRAllTypes.OPERATIONOUTCOME;
5450        if ("Organization".equals(codeString))
5451          return FHIRAllTypes.ORGANIZATION;
5452        if ("OrganizationAffiliation".equals(codeString))
5453          return FHIRAllTypes.ORGANIZATIONAFFILIATION;
5454        if ("Parameters".equals(codeString))
5455          return FHIRAllTypes.PARAMETERS;
5456        if ("Patient".equals(codeString))
5457          return FHIRAllTypes.PATIENT;
5458        if ("PaymentNotice".equals(codeString))
5459          return FHIRAllTypes.PAYMENTNOTICE;
5460        if ("PaymentReconciliation".equals(codeString))
5461          return FHIRAllTypes.PAYMENTRECONCILIATION;
5462        if ("Person".equals(codeString))
5463          return FHIRAllTypes.PERSON;
5464        if ("PlanDefinition".equals(codeString))
5465          return FHIRAllTypes.PLANDEFINITION;
5466        if ("Practitioner".equals(codeString))
5467          return FHIRAllTypes.PRACTITIONER;
5468        if ("PractitionerRole".equals(codeString))
5469          return FHIRAllTypes.PRACTITIONERROLE;
5470        if ("Procedure".equals(codeString))
5471          return FHIRAllTypes.PROCEDURE;
5472        if ("ProcessRequest".equals(codeString))
5473          return FHIRAllTypes.PROCESSREQUEST;
5474        if ("ProcessResponse".equals(codeString))
5475          return FHIRAllTypes.PROCESSRESPONSE;
5476        if ("Provenance".equals(codeString))
5477          return FHIRAllTypes.PROVENANCE;
5478        if ("Questionnaire".equals(codeString))
5479          return FHIRAllTypes.QUESTIONNAIRE;
5480        if ("QuestionnaireResponse".equals(codeString))
5481          return FHIRAllTypes.QUESTIONNAIRERESPONSE;
5482        if ("RelatedPerson".equals(codeString))
5483          return FHIRAllTypes.RELATEDPERSON;
5484        if ("RequestGroup".equals(codeString))
5485          return FHIRAllTypes.REQUESTGROUP;
5486        if ("ResearchStudy".equals(codeString))
5487          return FHIRAllTypes.RESEARCHSTUDY;
5488        if ("ResearchSubject".equals(codeString))
5489          return FHIRAllTypes.RESEARCHSUBJECT;
5490        if ("Resource".equals(codeString))
5491          return FHIRAllTypes.RESOURCE;
5492        if ("RiskAssessment".equals(codeString))
5493          return FHIRAllTypes.RISKASSESSMENT;
5494        if ("Schedule".equals(codeString))
5495          return FHIRAllTypes.SCHEDULE;
5496        if ("SearchParameter".equals(codeString))
5497          return FHIRAllTypes.SEARCHPARAMETER;
5498        if ("Sequence".equals(codeString))
5499          return FHIRAllTypes.SEQUENCE;
5500        if ("ServiceRequest".equals(codeString))
5501          return FHIRAllTypes.SERVICEREQUEST;
5502        if ("Slot".equals(codeString))
5503          return FHIRAllTypes.SLOT;
5504        if ("Specimen".equals(codeString))
5505          return FHIRAllTypes.SPECIMEN;
5506        if ("SpecimenDefinition".equals(codeString))
5507          return FHIRAllTypes.SPECIMENDEFINITION;
5508        if ("StructureDefinition".equals(codeString))
5509          return FHIRAllTypes.STRUCTUREDEFINITION;
5510        if ("StructureMap".equals(codeString))
5511          return FHIRAllTypes.STRUCTUREMAP;
5512        if ("Subscription".equals(codeString))
5513          return FHIRAllTypes.SUBSCRIPTION;
5514        if ("Substance".equals(codeString))
5515          return FHIRAllTypes.SUBSTANCE;
5516        if ("SubstancePolymer".equals(codeString))
5517          return FHIRAllTypes.SUBSTANCEPOLYMER;
5518        if ("SubstanceReferenceInformation".equals(codeString))
5519          return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION;
5520        if ("SubstanceSpecification".equals(codeString))
5521          return FHIRAllTypes.SUBSTANCESPECIFICATION;
5522        if ("SupplyDelivery".equals(codeString))
5523          return FHIRAllTypes.SUPPLYDELIVERY;
5524        if ("SupplyRequest".equals(codeString))
5525          return FHIRAllTypes.SUPPLYREQUEST;
5526        if ("Task".equals(codeString))
5527          return FHIRAllTypes.TASK;
5528        if ("TerminologyCapabilities".equals(codeString))
5529          return FHIRAllTypes.TERMINOLOGYCAPABILITIES;
5530        if ("TestReport".equals(codeString))
5531          return FHIRAllTypes.TESTREPORT;
5532        if ("TestScript".equals(codeString))
5533          return FHIRAllTypes.TESTSCRIPT;
5534        if ("UserSession".equals(codeString))
5535          return FHIRAllTypes.USERSESSION;
5536        if ("ValueSet".equals(codeString))
5537          return FHIRAllTypes.VALUESET;
5538        if ("VerificationResult".equals(codeString))
5539          return FHIRAllTypes.VERIFICATIONRESULT;
5540        if ("VisionPrescription".equals(codeString))
5541          return FHIRAllTypes.VISIONPRESCRIPTION;
5542        if ("Type".equals(codeString))
5543          return FHIRAllTypes.TYPE;
5544        if ("Any".equals(codeString))
5545          return FHIRAllTypes.ANY;
5546        throw new IllegalArgumentException("Unknown FHIRAllTypes code '"+codeString+"'");
5547        }
5548        public Enumeration<FHIRAllTypes> fromType(Base code) throws FHIRException {
5549          if (code == null)
5550            return null;
5551          if (code.isEmpty())
5552            return new Enumeration<FHIRAllTypes>(this);
5553          String codeString = ((PrimitiveType) code).asStringValue();
5554          if (codeString == null || "".equals(codeString))
5555            return null;
5556        if ("Address".equals(codeString))
5557          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADDRESS);
5558        if ("Age".equals(codeString))
5559          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AGE);
5560        if ("Annotation".equals(codeString))
5561          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANNOTATION);
5562        if ("Attachment".equals(codeString))
5563          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ATTACHMENT);
5564        if ("BackboneElement".equals(codeString))
5565          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BACKBONEELEMENT);
5566        if ("CodeableConcept".equals(codeString))
5567          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODEABLECONCEPT);
5568        if ("Coding".equals(codeString))
5569          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODING);
5570        if ("ContactDetail".equals(codeString))
5571          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTDETAIL);
5572        if ("ContactPoint".equals(codeString))
5573          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTPOINT);
5574        if ("Contributor".equals(codeString))
5575          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRIBUTOR);
5576        if ("Count".equals(codeString))
5577          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COUNT);
5578        if ("DataRequirement".equals(codeString))
5579          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATAREQUIREMENT);
5580        if ("Distance".equals(codeString))
5581          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DISTANCE);
5582        if ("Dosage".equals(codeString))
5583          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOSAGE);
5584        if ("Duration".equals(codeString))
5585          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DURATION);
5586        if ("Element".equals(codeString))
5587          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENT);
5588        if ("ElementDefinition".equals(codeString))
5589          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENTDEFINITION);
5590        if ("Expression".equals(codeString))
5591          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPRESSION);
5592        if ("Extension".equals(codeString))
5593          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXTENSION);
5594        if ("HumanName".equals(codeString))
5595          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HUMANNAME);
5596        if ("Identifier".equals(codeString))
5597          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IDENTIFIER);
5598        if ("MarketingStatus".equals(codeString))
5599          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKETINGSTATUS);
5600        if ("Meta".equals(codeString))
5601          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.META);
5602        if ("Money".equals(codeString))
5603          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEY);
5604        if ("MoneyQuantity".equals(codeString))
5605          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEYQUANTITY);
5606        if ("Narrative".equals(codeString))
5607          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NARRATIVE);
5608        if ("ParameterDefinition".equals(codeString))
5609          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERDEFINITION);
5610        if ("Period".equals(codeString))
5611          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERIOD);
5612        if ("ProdCharacteristic".equals(codeString))
5613          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODCHARACTERISTIC);
5614        if ("ProductShelfLife".equals(codeString))
5615          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTSHELFLIFE);
5616        if ("Quantity".equals(codeString))
5617          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUANTITY);
5618        if ("Range".equals(codeString))
5619          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RANGE);
5620        if ("Ratio".equals(codeString))
5621          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RATIO);
5622        if ("Reference".equals(codeString))
5623          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REFERENCE);
5624        if ("RelatedArtifact".equals(codeString))
5625          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDARTIFACT);
5626        if ("SampledData".equals(codeString))
5627          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SAMPLEDDATA);
5628        if ("Signature".equals(codeString))
5629          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIGNATURE);
5630        if ("SimpleQuantity".equals(codeString))
5631          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIMPLEQUANTITY);
5632        if ("SubstanceAmount".equals(codeString))
5633          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEAMOUNT);
5634        if ("SubstanceMoiety".equals(codeString))
5635          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEMOIETY);
5636        if ("Timing".equals(codeString))
5637          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIMING);
5638        if ("TriggerDefinition".equals(codeString))
5639          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TRIGGERDEFINITION);
5640        if ("UsageContext".equals(codeString))
5641          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USAGECONTEXT);
5642        if ("base64Binary".equals(codeString))
5643          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASE64BINARY);
5644        if ("boolean".equals(codeString))
5645          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BOOLEAN);
5646        if ("canonical".equals(codeString))
5647          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CANONICAL);
5648        if ("code".equals(codeString))
5649          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODE);
5650        if ("date".equals(codeString))
5651          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATE);
5652        if ("dateTime".equals(codeString))
5653          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATETIME);
5654        if ("decimal".equals(codeString))
5655          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DECIMAL);
5656        if ("id".equals(codeString))
5657          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ID);
5658        if ("instant".equals(codeString))
5659          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSTANT);
5660        if ("integer".equals(codeString))
5661          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INTEGER);
5662        if ("markdown".equals(codeString))
5663          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKDOWN);
5664        if ("oid".equals(codeString))
5665          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OID);
5666        if ("positiveInt".equals(codeString))
5667          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POSITIVEINT);
5668        if ("string".equals(codeString))
5669          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRING);
5670        if ("time".equals(codeString))
5671          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIME);
5672        if ("unsignedInt".equals(codeString))
5673          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UNSIGNEDINT);
5674        if ("uri".equals(codeString))
5675          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URI);
5676        if ("url".equals(codeString))
5677          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URL);
5678        if ("uuid".equals(codeString))
5679          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UUID);
5680        if ("xhtml".equals(codeString))
5681          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.XHTML);
5682        if ("Account".equals(codeString))
5683          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACCOUNT);
5684        if ("ActivityDefinition".equals(codeString))
5685          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACTIVITYDEFINITION);
5686        if ("AdverseEvent".equals(codeString))
5687          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADVERSEEVENT);
5688        if ("AllergyIntolerance".equals(codeString))
5689          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ALLERGYINTOLERANCE);
5690        if ("Appointment".equals(codeString))
5691          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENT);
5692        if ("AppointmentResponse".equals(codeString))
5693          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENTRESPONSE);
5694        if ("AuditEvent".equals(codeString))
5695          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AUDITEVENT);
5696        if ("Basic".equals(codeString))
5697          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASIC);
5698        if ("Binary".equals(codeString))
5699          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BINARY);
5700        if ("BiologicallyDerivedProduct".equals(codeString))
5701          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT);
5702        if ("BodyStructure".equals(codeString))
5703          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BODYSTRUCTURE);
5704        if ("Bundle".equals(codeString))
5705          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BUNDLE);
5706        if ("CapabilityStatement".equals(codeString))
5707          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAPABILITYSTATEMENT);
5708        if ("CarePlan".equals(codeString))
5709          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAREPLAN);
5710        if ("CareTeam".equals(codeString))
5711          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CARETEAM);
5712        if ("CatalogEntry".equals(codeString))
5713          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CATALOGENTRY);
5714        if ("ChargeItem".equals(codeString))
5715          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEM);
5716        if ("ChargeItemDefinition".equals(codeString))
5717          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEMDEFINITION);
5718        if ("Claim".equals(codeString))
5719          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIM);
5720        if ("ClaimResponse".equals(codeString))
5721          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIMRESPONSE);
5722        if ("ClinicalImpression".equals(codeString))
5723          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLINICALIMPRESSION);
5724        if ("CodeSystem".equals(codeString))
5725          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODESYSTEM);
5726        if ("Communication".equals(codeString))
5727          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATION);
5728        if ("CommunicationRequest".equals(codeString))
5729          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATIONREQUEST);
5730        if ("CompartmentDefinition".equals(codeString))
5731          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPARTMENTDEFINITION);
5732        if ("Composition".equals(codeString))
5733          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPOSITION);
5734        if ("ConceptMap".equals(codeString))
5735          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONCEPTMAP);
5736        if ("Condition".equals(codeString))
5737          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONDITION);
5738        if ("Consent".equals(codeString))
5739          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONSENT);
5740        if ("Contract".equals(codeString))
5741          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRACT);
5742        if ("Coverage".equals(codeString))
5743          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGE);
5744        if ("CoverageEligibilityRequest".equals(codeString))
5745          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYREQUEST);
5746        if ("CoverageEligibilityResponse".equals(codeString))
5747          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE);
5748        if ("DetectedIssue".equals(codeString))
5749          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DETECTEDISSUE);
5750        if ("Device".equals(codeString))
5751          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICE);
5752        if ("DeviceDefinition".equals(codeString))
5753          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEDEFINITION);
5754        if ("DeviceMetric".equals(codeString))
5755          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEMETRIC);
5756        if ("DeviceRequest".equals(codeString))
5757          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEREQUEST);
5758        if ("DeviceUseStatement".equals(codeString))
5759          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEUSESTATEMENT);
5760        if ("DiagnosticReport".equals(codeString))
5761          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DIAGNOSTICREPORT);
5762        if ("DocumentManifest".equals(codeString))
5763          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTMANIFEST);
5764        if ("DocumentReference".equals(codeString))
5765          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTREFERENCE);
5766        if ("DomainResource".equals(codeString))
5767          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOMAINRESOURCE);
5768        if ("Encounter".equals(codeString))
5769          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENCOUNTER);
5770        if ("Endpoint".equals(codeString))
5771          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENDPOINT);
5772        if ("EnrollmentRequest".equals(codeString))
5773          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTREQUEST);
5774        if ("EnrollmentResponse".equals(codeString))
5775          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTRESPONSE);
5776        if ("EpisodeOfCare".equals(codeString))
5777          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EPISODEOFCARE);
5778        if ("EventDefinition".equals(codeString))
5779          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVENTDEFINITION);
5780        if ("ExampleScenario".equals(codeString))
5781          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXAMPLESCENARIO);
5782        if ("ExplanationOfBenefit".equals(codeString))
5783          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPLANATIONOFBENEFIT);
5784        if ("FamilyMemberHistory".equals(codeString))
5785          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FAMILYMEMBERHISTORY);
5786        if ("Flag".equals(codeString))
5787          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FLAG);
5788        if ("Goal".equals(codeString))
5789          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GOAL);
5790        if ("GraphDefinition".equals(codeString))
5791          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GRAPHDEFINITION);
5792        if ("Group".equals(codeString))
5793          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GROUP);
5794        if ("GuidanceResponse".equals(codeString))
5795          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GUIDANCERESPONSE);
5796        if ("HealthcareService".equals(codeString))
5797          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HEALTHCARESERVICE);
5798        if ("ImagingStudy".equals(codeString))
5799          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMAGINGSTUDY);
5800        if ("Immunization".equals(codeString))
5801          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATION);
5802        if ("ImmunizationEvaluation".equals(codeString))
5803          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONEVALUATION);
5804        if ("ImmunizationRecommendation".equals(codeString))
5805          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION);
5806        if ("ImplementationGuide".equals(codeString))
5807          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMPLEMENTATIONGUIDE);
5808        if ("InsurancePlan".equals(codeString))
5809          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSURANCEPLAN);
5810        if ("Invoice".equals(codeString))
5811          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INVOICE);
5812        if ("ItemInstance".equals(codeString))
5813          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ITEMINSTANCE);
5814        if ("Library".equals(codeString))
5815          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIBRARY);
5816        if ("Linkage".equals(codeString))
5817          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LINKAGE);
5818        if ("List".equals(codeString))
5819          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIST);
5820        if ("Location".equals(codeString))
5821          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LOCATION);
5822        if ("Measure".equals(codeString))
5823          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASURE);
5824        if ("MeasureReport".equals(codeString))
5825          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASUREREPORT);
5826        if ("Media".equals(codeString))
5827          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDIA);
5828        if ("Medication".equals(codeString))
5829          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATION);
5830        if ("MedicationAdministration".equals(codeString))
5831          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONADMINISTRATION);
5832        if ("MedicationDispense".equals(codeString))
5833          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONDISPENSE);
5834        if ("MedicationKnowledge".equals(codeString))
5835          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONKNOWLEDGE);
5836        if ("MedicationRequest".equals(codeString))
5837          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONREQUEST);
5838        if ("MedicationStatement".equals(codeString))
5839          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONSTATEMENT);
5840        if ("MedicinalProduct".equals(codeString))
5841          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCT);
5842        if ("MedicinalProductAuthorization".equals(codeString))
5843          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION);
5844        if ("MedicinalProductClinicals".equals(codeString))
5845          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCLINICALS);
5846        if ("MedicinalProductContraindication".equals(codeString))
5847          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION);
5848        if ("MedicinalProductDeviceSpec".equals(codeString))
5849          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC);
5850        if ("MedicinalProductIndication".equals(codeString))
5851          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINDICATION);
5852        if ("MedicinalProductIngredient".equals(codeString))
5853          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINGREDIENT);
5854        if ("MedicinalProductInteraction".equals(codeString))
5855          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINTERACTION);
5856        if ("MedicinalProductManufactured".equals(codeString))
5857          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED);
5858        if ("MedicinalProductPackaged".equals(codeString))
5859          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPACKAGED);
5860        if ("MedicinalProductPharmaceutical".equals(codeString))
5861          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL);
5862        if ("MedicinalProductUndesirableEffect".equals(codeString))
5863          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT);
5864        if ("MessageDefinition".equals(codeString))
5865          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEDEFINITION);
5866        if ("MessageHeader".equals(codeString))
5867          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEHEADER);
5868        if ("NamingSystem".equals(codeString))
5869          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NAMINGSYSTEM);
5870        if ("NutritionOrder".equals(codeString))
5871          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NUTRITIONORDER);
5872        if ("Observation".equals(codeString))
5873          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATION);
5874        if ("ObservationDefinition".equals(codeString))
5875          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATIONDEFINITION);
5876        if ("OperationDefinition".equals(codeString))
5877          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONDEFINITION);
5878        if ("OperationOutcome".equals(codeString))
5879          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONOUTCOME);
5880        if ("Organization".equals(codeString))
5881          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATION);
5882        if ("OrganizationAffiliation".equals(codeString))
5883          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATIONAFFILIATION);
5884        if ("Parameters".equals(codeString))
5885          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERS);
5886        if ("Patient".equals(codeString))
5887          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PATIENT);
5888        if ("PaymentNotice".equals(codeString))
5889          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTNOTICE);
5890        if ("PaymentReconciliation".equals(codeString))
5891          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTRECONCILIATION);
5892        if ("Person".equals(codeString))
5893          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERSON);
5894        if ("PlanDefinition".equals(codeString))
5895          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PLANDEFINITION);
5896        if ("Practitioner".equals(codeString))
5897          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONER);
5898        if ("PractitionerRole".equals(codeString))
5899          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONERROLE);
5900        if ("Procedure".equals(codeString))
5901          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCEDURE);
5902        if ("ProcessRequest".equals(codeString))
5903          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCESSREQUEST);
5904        if ("ProcessResponse".equals(codeString))
5905          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCESSRESPONSE);
5906        if ("Provenance".equals(codeString))
5907          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROVENANCE);
5908        if ("Questionnaire".equals(codeString))
5909          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRE);
5910        if ("QuestionnaireResponse".equals(codeString))
5911          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRERESPONSE);
5912        if ("RelatedPerson".equals(codeString))
5913          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDPERSON);
5914        if ("RequestGroup".equals(codeString))
5915          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REQUESTGROUP);
5916        if ("ResearchStudy".equals(codeString))
5917          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSTUDY);
5918        if ("ResearchSubject".equals(codeString))
5919          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSUBJECT);
5920        if ("Resource".equals(codeString))
5921          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESOURCE);
5922        if ("RiskAssessment".equals(codeString))
5923          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKASSESSMENT);
5924        if ("Schedule".equals(codeString))
5925          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SCHEDULE);
5926        if ("SearchParameter".equals(codeString))
5927          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEARCHPARAMETER);
5928        if ("Sequence".equals(codeString))
5929          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEQUENCE);
5930        if ("ServiceRequest".equals(codeString))
5931          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SERVICEREQUEST);
5932        if ("Slot".equals(codeString))
5933          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SLOT);
5934        if ("Specimen".equals(codeString))
5935          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMEN);
5936        if ("SpecimenDefinition".equals(codeString))
5937          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMENDEFINITION);
5938        if ("StructureDefinition".equals(codeString))
5939          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREDEFINITION);
5940        if ("StructureMap".equals(codeString))
5941          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREMAP);
5942        if ("Subscription".equals(codeString))
5943          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSCRIPTION);
5944        if ("Substance".equals(codeString))
5945          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCE);
5946        if ("SubstancePolymer".equals(codeString))
5947          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPOLYMER);
5948        if ("SubstanceReferenceInformation".equals(codeString))
5949          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION);
5950        if ("SubstanceSpecification".equals(codeString))
5951          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESPECIFICATION);
5952        if ("SupplyDelivery".equals(codeString))
5953          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYDELIVERY);
5954        if ("SupplyRequest".equals(codeString))
5955          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYREQUEST);
5956        if ("Task".equals(codeString))
5957          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TASK);
5958        if ("TerminologyCapabilities".equals(codeString))
5959          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES);
5960        if ("TestReport".equals(codeString))
5961          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTREPORT);
5962        if ("TestScript".equals(codeString))
5963          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTSCRIPT);
5964        if ("UserSession".equals(codeString))
5965          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USERSESSION);
5966        if ("ValueSet".equals(codeString))
5967          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VALUESET);
5968        if ("VerificationResult".equals(codeString))
5969          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VERIFICATIONRESULT);
5970        if ("VisionPrescription".equals(codeString))
5971          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VISIONPRESCRIPTION);
5972        if ("Type".equals(codeString))
5973          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TYPE);
5974        if ("Any".equals(codeString))
5975          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANY);
5976        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
5977        }
5978    public String toCode(FHIRAllTypes code) {
5979      if (code == FHIRAllTypes.ADDRESS)
5980        return "Address";
5981      if (code == FHIRAllTypes.AGE)
5982        return "Age";
5983      if (code == FHIRAllTypes.ANNOTATION)
5984        return "Annotation";
5985      if (code == FHIRAllTypes.ATTACHMENT)
5986        return "Attachment";
5987      if (code == FHIRAllTypes.BACKBONEELEMENT)
5988        return "BackboneElement";
5989      if (code == FHIRAllTypes.CODEABLECONCEPT)
5990        return "CodeableConcept";
5991      if (code == FHIRAllTypes.CODING)
5992        return "Coding";
5993      if (code == FHIRAllTypes.CONTACTDETAIL)
5994        return "ContactDetail";
5995      if (code == FHIRAllTypes.CONTACTPOINT)
5996        return "ContactPoint";
5997      if (code == FHIRAllTypes.CONTRIBUTOR)
5998        return "Contributor";
5999      if (code == FHIRAllTypes.COUNT)
6000        return "Count";
6001      if (code == FHIRAllTypes.DATAREQUIREMENT)
6002        return "DataRequirement";
6003      if (code == FHIRAllTypes.DISTANCE)
6004        return "Distance";
6005      if (code == FHIRAllTypes.DOSAGE)
6006        return "Dosage";
6007      if (code == FHIRAllTypes.DURATION)
6008        return "Duration";
6009      if (code == FHIRAllTypes.ELEMENT)
6010        return "Element";
6011      if (code == FHIRAllTypes.ELEMENTDEFINITION)
6012        return "ElementDefinition";
6013      if (code == FHIRAllTypes.EXPRESSION)
6014        return "Expression";
6015      if (code == FHIRAllTypes.EXTENSION)
6016        return "Extension";
6017      if (code == FHIRAllTypes.HUMANNAME)
6018        return "HumanName";
6019      if (code == FHIRAllTypes.IDENTIFIER)
6020        return "Identifier";
6021      if (code == FHIRAllTypes.MARKETINGSTATUS)
6022        return "MarketingStatus";
6023      if (code == FHIRAllTypes.META)
6024        return "Meta";
6025      if (code == FHIRAllTypes.MONEY)
6026        return "Money";
6027      if (code == FHIRAllTypes.MONEYQUANTITY)
6028        return "MoneyQuantity";
6029      if (code == FHIRAllTypes.NARRATIVE)
6030        return "Narrative";
6031      if (code == FHIRAllTypes.PARAMETERDEFINITION)
6032        return "ParameterDefinition";
6033      if (code == FHIRAllTypes.PERIOD)
6034        return "Period";
6035      if (code == FHIRAllTypes.PRODCHARACTERISTIC)
6036        return "ProdCharacteristic";
6037      if (code == FHIRAllTypes.PRODUCTSHELFLIFE)
6038        return "ProductShelfLife";
6039      if (code == FHIRAllTypes.QUANTITY)
6040        return "Quantity";
6041      if (code == FHIRAllTypes.RANGE)
6042        return "Range";
6043      if (code == FHIRAllTypes.RATIO)
6044        return "Ratio";
6045      if (code == FHIRAllTypes.REFERENCE)
6046        return "Reference";
6047      if (code == FHIRAllTypes.RELATEDARTIFACT)
6048        return "RelatedArtifact";
6049      if (code == FHIRAllTypes.SAMPLEDDATA)
6050        return "SampledData";
6051      if (code == FHIRAllTypes.SIGNATURE)
6052        return "Signature";
6053      if (code == FHIRAllTypes.SIMPLEQUANTITY)
6054        return "SimpleQuantity";
6055      if (code == FHIRAllTypes.SUBSTANCEAMOUNT)
6056        return "SubstanceAmount";
6057      if (code == FHIRAllTypes.SUBSTANCEMOIETY)
6058        return "SubstanceMoiety";
6059      if (code == FHIRAllTypes.TIMING)
6060        return "Timing";
6061      if (code == FHIRAllTypes.TRIGGERDEFINITION)
6062        return "TriggerDefinition";
6063      if (code == FHIRAllTypes.USAGECONTEXT)
6064        return "UsageContext";
6065      if (code == FHIRAllTypes.BASE64BINARY)
6066        return "base64Binary";
6067      if (code == FHIRAllTypes.BOOLEAN)
6068        return "boolean";
6069      if (code == FHIRAllTypes.CANONICAL)
6070        return "canonical";
6071      if (code == FHIRAllTypes.CODE)
6072        return "code";
6073      if (code == FHIRAllTypes.DATE)
6074        return "date";
6075      if (code == FHIRAllTypes.DATETIME)
6076        return "dateTime";
6077      if (code == FHIRAllTypes.DECIMAL)
6078        return "decimal";
6079      if (code == FHIRAllTypes.ID)
6080        return "id";
6081      if (code == FHIRAllTypes.INSTANT)
6082        return "instant";
6083      if (code == FHIRAllTypes.INTEGER)
6084        return "integer";
6085      if (code == FHIRAllTypes.MARKDOWN)
6086        return "markdown";
6087      if (code == FHIRAllTypes.OID)
6088        return "oid";
6089      if (code == FHIRAllTypes.POSITIVEINT)
6090        return "positiveInt";
6091      if (code == FHIRAllTypes.STRING)
6092        return "string";
6093      if (code == FHIRAllTypes.TIME)
6094        return "time";
6095      if (code == FHIRAllTypes.UNSIGNEDINT)
6096        return "unsignedInt";
6097      if (code == FHIRAllTypes.URI)
6098        return "uri";
6099      if (code == FHIRAllTypes.URL)
6100        return "url";
6101      if (code == FHIRAllTypes.UUID)
6102        return "uuid";
6103      if (code == FHIRAllTypes.XHTML)
6104        return "xhtml";
6105      if (code == FHIRAllTypes.ACCOUNT)
6106        return "Account";
6107      if (code == FHIRAllTypes.ACTIVITYDEFINITION)
6108        return "ActivityDefinition";
6109      if (code == FHIRAllTypes.ADVERSEEVENT)
6110        return "AdverseEvent";
6111      if (code == FHIRAllTypes.ALLERGYINTOLERANCE)
6112        return "AllergyIntolerance";
6113      if (code == FHIRAllTypes.APPOINTMENT)
6114        return "Appointment";
6115      if (code == FHIRAllTypes.APPOINTMENTRESPONSE)
6116        return "AppointmentResponse";
6117      if (code == FHIRAllTypes.AUDITEVENT)
6118        return "AuditEvent";
6119      if (code == FHIRAllTypes.BASIC)
6120        return "Basic";
6121      if (code == FHIRAllTypes.BINARY)
6122        return "Binary";
6123      if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT)
6124        return "BiologicallyDerivedProduct";
6125      if (code == FHIRAllTypes.BODYSTRUCTURE)
6126        return "BodyStructure";
6127      if (code == FHIRAllTypes.BUNDLE)
6128        return "Bundle";
6129      if (code == FHIRAllTypes.CAPABILITYSTATEMENT)
6130        return "CapabilityStatement";
6131      if (code == FHIRAllTypes.CAREPLAN)
6132        return "CarePlan";
6133      if (code == FHIRAllTypes.CARETEAM)
6134        return "CareTeam";
6135      if (code == FHIRAllTypes.CATALOGENTRY)
6136        return "CatalogEntry";
6137      if (code == FHIRAllTypes.CHARGEITEM)
6138        return "ChargeItem";
6139      if (code == FHIRAllTypes.CHARGEITEMDEFINITION)
6140        return "ChargeItemDefinition";
6141      if (code == FHIRAllTypes.CLAIM)
6142        return "Claim";
6143      if (code == FHIRAllTypes.CLAIMRESPONSE)
6144        return "ClaimResponse";
6145      if (code == FHIRAllTypes.CLINICALIMPRESSION)
6146        return "ClinicalImpression";
6147      if (code == FHIRAllTypes.CODESYSTEM)
6148        return "CodeSystem";
6149      if (code == FHIRAllTypes.COMMUNICATION)
6150        return "Communication";
6151      if (code == FHIRAllTypes.COMMUNICATIONREQUEST)
6152        return "CommunicationRequest";
6153      if (code == FHIRAllTypes.COMPARTMENTDEFINITION)
6154        return "CompartmentDefinition";
6155      if (code == FHIRAllTypes.COMPOSITION)
6156        return "Composition";
6157      if (code == FHIRAllTypes.CONCEPTMAP)
6158        return "ConceptMap";
6159      if (code == FHIRAllTypes.CONDITION)
6160        return "Condition";
6161      if (code == FHIRAllTypes.CONSENT)
6162        return "Consent";
6163      if (code == FHIRAllTypes.CONTRACT)
6164        return "Contract";
6165      if (code == FHIRAllTypes.COVERAGE)
6166        return "Coverage";
6167      if (code == FHIRAllTypes.COVERAGEELIGIBILITYREQUEST)
6168        return "CoverageEligibilityRequest";
6169      if (code == FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE)
6170        return "CoverageEligibilityResponse";
6171      if (code == FHIRAllTypes.DETECTEDISSUE)
6172        return "DetectedIssue";
6173      if (code == FHIRAllTypes.DEVICE)
6174        return "Device";
6175      if (code == FHIRAllTypes.DEVICEDEFINITION)
6176        return "DeviceDefinition";
6177      if (code == FHIRAllTypes.DEVICEMETRIC)
6178        return "DeviceMetric";
6179      if (code == FHIRAllTypes.DEVICEREQUEST)
6180        return "DeviceRequest";
6181      if (code == FHIRAllTypes.DEVICEUSESTATEMENT)
6182        return "DeviceUseStatement";
6183      if (code == FHIRAllTypes.DIAGNOSTICREPORT)
6184        return "DiagnosticReport";
6185      if (code == FHIRAllTypes.DOCUMENTMANIFEST)
6186        return "DocumentManifest";
6187      if (code == FHIRAllTypes.DOCUMENTREFERENCE)
6188        return "DocumentReference";
6189      if (code == FHIRAllTypes.DOMAINRESOURCE)
6190        return "DomainResource";
6191      if (code == FHIRAllTypes.ENCOUNTER)
6192        return "Encounter";
6193      if (code == FHIRAllTypes.ENDPOINT)
6194        return "Endpoint";
6195      if (code == FHIRAllTypes.ENROLLMENTREQUEST)
6196        return "EnrollmentRequest";
6197      if (code == FHIRAllTypes.ENROLLMENTRESPONSE)
6198        return "EnrollmentResponse";
6199      if (code == FHIRAllTypes.EPISODEOFCARE)
6200        return "EpisodeOfCare";
6201      if (code == FHIRAllTypes.EVENTDEFINITION)
6202        return "EventDefinition";
6203      if (code == FHIRAllTypes.EXAMPLESCENARIO)
6204        return "ExampleScenario";
6205      if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT)
6206        return "ExplanationOfBenefit";
6207      if (code == FHIRAllTypes.FAMILYMEMBERHISTORY)
6208        return "FamilyMemberHistory";
6209      if (code == FHIRAllTypes.FLAG)
6210        return "Flag";
6211      if (code == FHIRAllTypes.GOAL)
6212        return "Goal";
6213      if (code == FHIRAllTypes.GRAPHDEFINITION)
6214        return "GraphDefinition";
6215      if (code == FHIRAllTypes.GROUP)
6216        return "Group";
6217      if (code == FHIRAllTypes.GUIDANCERESPONSE)
6218        return "GuidanceResponse";
6219      if (code == FHIRAllTypes.HEALTHCARESERVICE)
6220        return "HealthcareService";
6221      if (code == FHIRAllTypes.IMAGINGSTUDY)
6222        return "ImagingStudy";
6223      if (code == FHIRAllTypes.IMMUNIZATION)
6224        return "Immunization";
6225      if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION)
6226        return "ImmunizationEvaluation";
6227      if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION)
6228        return "ImmunizationRecommendation";
6229      if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE)
6230        return "ImplementationGuide";
6231      if (code == FHIRAllTypes.INSURANCEPLAN)
6232        return "InsurancePlan";
6233      if (code == FHIRAllTypes.INVOICE)
6234        return "Invoice";
6235      if (code == FHIRAllTypes.ITEMINSTANCE)
6236        return "ItemInstance";
6237      if (code == FHIRAllTypes.LIBRARY)
6238        return "Library";
6239      if (code == FHIRAllTypes.LINKAGE)
6240        return "Linkage";
6241      if (code == FHIRAllTypes.LIST)
6242        return "List";
6243      if (code == FHIRAllTypes.LOCATION)
6244        return "Location";
6245      if (code == FHIRAllTypes.MEASURE)
6246        return "Measure";
6247      if (code == FHIRAllTypes.MEASUREREPORT)
6248        return "MeasureReport";
6249      if (code == FHIRAllTypes.MEDIA)
6250        return "Media";
6251      if (code == FHIRAllTypes.MEDICATION)
6252        return "Medication";
6253      if (code == FHIRAllTypes.MEDICATIONADMINISTRATION)
6254        return "MedicationAdministration";
6255      if (code == FHIRAllTypes.MEDICATIONDISPENSE)
6256        return "MedicationDispense";
6257      if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE)
6258        return "MedicationKnowledge";
6259      if (code == FHIRAllTypes.MEDICATIONREQUEST)
6260        return "MedicationRequest";
6261      if (code == FHIRAllTypes.MEDICATIONSTATEMENT)
6262        return "MedicationStatement";
6263      if (code == FHIRAllTypes.MEDICINALPRODUCT)
6264        return "MedicinalProduct";
6265      if (code == FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION)
6266        return "MedicinalProductAuthorization";
6267      if (code == FHIRAllTypes.MEDICINALPRODUCTCLINICALS)
6268        return "MedicinalProductClinicals";
6269      if (code == FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION)
6270        return "MedicinalProductContraindication";
6271      if (code == FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC)
6272        return "MedicinalProductDeviceSpec";
6273      if (code == FHIRAllTypes.MEDICINALPRODUCTINDICATION)
6274        return "MedicinalProductIndication";
6275      if (code == FHIRAllTypes.MEDICINALPRODUCTINGREDIENT)
6276        return "MedicinalProductIngredient";
6277      if (code == FHIRAllTypes.MEDICINALPRODUCTINTERACTION)
6278        return "MedicinalProductInteraction";
6279      if (code == FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED)
6280        return "MedicinalProductManufactured";
6281      if (code == FHIRAllTypes.MEDICINALPRODUCTPACKAGED)
6282        return "MedicinalProductPackaged";
6283      if (code == FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL)
6284        return "MedicinalProductPharmaceutical";
6285      if (code == FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT)
6286        return "MedicinalProductUndesirableEffect";
6287      if (code == FHIRAllTypes.MESSAGEDEFINITION)
6288        return "MessageDefinition";
6289      if (code == FHIRAllTypes.MESSAGEHEADER)
6290        return "MessageHeader";
6291      if (code == FHIRAllTypes.NAMINGSYSTEM)
6292        return "NamingSystem";
6293      if (code == FHIRAllTypes.NUTRITIONORDER)
6294        return "NutritionOrder";
6295      if (code == FHIRAllTypes.OBSERVATION)
6296        return "Observation";
6297      if (code == FHIRAllTypes.OBSERVATIONDEFINITION)
6298        return "ObservationDefinition";
6299      if (code == FHIRAllTypes.OPERATIONDEFINITION)
6300        return "OperationDefinition";
6301      if (code == FHIRAllTypes.OPERATIONOUTCOME)
6302        return "OperationOutcome";
6303      if (code == FHIRAllTypes.ORGANIZATION)
6304        return "Organization";
6305      if (code == FHIRAllTypes.ORGANIZATIONAFFILIATION)
6306        return "OrganizationAffiliation";
6307      if (code == FHIRAllTypes.PARAMETERS)
6308        return "Parameters";
6309      if (code == FHIRAllTypes.PATIENT)
6310        return "Patient";
6311      if (code == FHIRAllTypes.PAYMENTNOTICE)
6312        return "PaymentNotice";
6313      if (code == FHIRAllTypes.PAYMENTRECONCILIATION)
6314        return "PaymentReconciliation";
6315      if (code == FHIRAllTypes.PERSON)
6316        return "Person";
6317      if (code == FHIRAllTypes.PLANDEFINITION)
6318        return "PlanDefinition";
6319      if (code == FHIRAllTypes.PRACTITIONER)
6320        return "Practitioner";
6321      if (code == FHIRAllTypes.PRACTITIONERROLE)
6322        return "PractitionerRole";
6323      if (code == FHIRAllTypes.PROCEDURE)
6324        return "Procedure";
6325      if (code == FHIRAllTypes.PROCESSREQUEST)
6326        return "ProcessRequest";
6327      if (code == FHIRAllTypes.PROCESSRESPONSE)
6328        return "ProcessResponse";
6329      if (code == FHIRAllTypes.PROVENANCE)
6330        return "Provenance";
6331      if (code == FHIRAllTypes.QUESTIONNAIRE)
6332        return "Questionnaire";
6333      if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE)
6334        return "QuestionnaireResponse";
6335      if (code == FHIRAllTypes.RELATEDPERSON)
6336        return "RelatedPerson";
6337      if (code == FHIRAllTypes.REQUESTGROUP)
6338        return "RequestGroup";
6339      if (code == FHIRAllTypes.RESEARCHSTUDY)
6340        return "ResearchStudy";
6341      if (code == FHIRAllTypes.RESEARCHSUBJECT)
6342        return "ResearchSubject";
6343      if (code == FHIRAllTypes.RESOURCE)
6344        return "Resource";
6345      if (code == FHIRAllTypes.RISKASSESSMENT)
6346        return "RiskAssessment";
6347      if (code == FHIRAllTypes.SCHEDULE)
6348        return "Schedule";
6349      if (code == FHIRAllTypes.SEARCHPARAMETER)
6350        return "SearchParameter";
6351      if (code == FHIRAllTypes.SEQUENCE)
6352        return "Sequence";
6353      if (code == FHIRAllTypes.SERVICEREQUEST)
6354        return "ServiceRequest";
6355      if (code == FHIRAllTypes.SLOT)
6356        return "Slot";
6357      if (code == FHIRAllTypes.SPECIMEN)
6358        return "Specimen";
6359      if (code == FHIRAllTypes.SPECIMENDEFINITION)
6360        return "SpecimenDefinition";
6361      if (code == FHIRAllTypes.STRUCTUREDEFINITION)
6362        return "StructureDefinition";
6363      if (code == FHIRAllTypes.STRUCTUREMAP)
6364        return "StructureMap";
6365      if (code == FHIRAllTypes.SUBSCRIPTION)
6366        return "Subscription";
6367      if (code == FHIRAllTypes.SUBSTANCE)
6368        return "Substance";
6369      if (code == FHIRAllTypes.SUBSTANCEPOLYMER)
6370        return "SubstancePolymer";
6371      if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION)
6372        return "SubstanceReferenceInformation";
6373      if (code == FHIRAllTypes.SUBSTANCESPECIFICATION)
6374        return "SubstanceSpecification";
6375      if (code == FHIRAllTypes.SUPPLYDELIVERY)
6376        return "SupplyDelivery";
6377      if (code == FHIRAllTypes.SUPPLYREQUEST)
6378        return "SupplyRequest";
6379      if (code == FHIRAllTypes.TASK)
6380        return "Task";
6381      if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES)
6382        return "TerminologyCapabilities";
6383      if (code == FHIRAllTypes.TESTREPORT)
6384        return "TestReport";
6385      if (code == FHIRAllTypes.TESTSCRIPT)
6386        return "TestScript";
6387      if (code == FHIRAllTypes.USERSESSION)
6388        return "UserSession";
6389      if (code == FHIRAllTypes.VALUESET)
6390        return "ValueSet";
6391      if (code == FHIRAllTypes.VERIFICATIONRESULT)
6392        return "VerificationResult";
6393      if (code == FHIRAllTypes.VISIONPRESCRIPTION)
6394        return "VisionPrescription";
6395      if (code == FHIRAllTypes.TYPE)
6396        return "Type";
6397      if (code == FHIRAllTypes.ANY)
6398        return "Any";
6399      return "?";
6400      }
6401    public String toSystem(FHIRAllTypes code) {
6402      return code.getSystem();
6403      }
6404    }
6405
6406    public enum FHIRDefinedType {
6407        /**
6408         * 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.
6409         */
6410        ADDRESS, 
6411        /**
6412         * A duration of time during which an organism (or a process) has existed.
6413         */
6414        AGE, 
6415        /**
6416         * A  text note which also  contains information about who made the statement and when.
6417         */
6418        ANNOTATION, 
6419        /**
6420         * For referring to data content defined in other formats.
6421         */
6422        ATTACHMENT, 
6423        /**
6424         * Base definition for all elements that are defined inside a resource - but not those in a data type.
6425         */
6426        BACKBONEELEMENT, 
6427        /**
6428         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
6429         */
6430        CODEABLECONCEPT, 
6431        /**
6432         * A reference to a code defined by a terminology system.
6433         */
6434        CODING, 
6435        /**
6436         * Specifies contact information for a person or organization.
6437         */
6438        CONTACTDETAIL, 
6439        /**
6440         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
6441         */
6442        CONTACTPOINT, 
6443        /**
6444         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
6445         */
6446        CONTRIBUTOR, 
6447        /**
6448         * 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.
6449         */
6450        COUNT, 
6451        /**
6452         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
6453         */
6454        DATAREQUIREMENT, 
6455        /**
6456         * A length - a value with a unit that is a physical distance.
6457         */
6458        DISTANCE, 
6459        /**
6460         * Indicates how the medication is/was taken or should be taken by the patient.
6461         */
6462        DOSAGE, 
6463        /**
6464         * A length of time.
6465         */
6466        DURATION, 
6467        /**
6468         * Base definition for all elements in a resource.
6469         */
6470        ELEMENT, 
6471        /**
6472         * Captures constraints on each element within the resource, profile, or extension.
6473         */
6474        ELEMENTDEFINITION, 
6475        /**
6476         * 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.
6477         */
6478        EXPRESSION, 
6479        /**
6480         * Optional Extension Element - found in all resources.
6481         */
6482        EXTENSION, 
6483        /**
6484         * A human's name with the ability to identify parts and usage.
6485         */
6486        HUMANNAME, 
6487        /**
6488         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
6489         */
6490        IDENTIFIER, 
6491        /**
6492         * 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.
6493         */
6494        MARKETINGSTATUS, 
6495        /**
6496         * 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.
6497         */
6498        META, 
6499        /**
6500         * An amount of economic utility in some recognized currency.
6501         */
6502        MONEY, 
6503        /**
6504         * null
6505         */
6506        MONEYQUANTITY, 
6507        /**
6508         * A human-readable formatted text, including images.
6509         */
6510        NARRATIVE, 
6511        /**
6512         * 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.
6513         */
6514        PARAMETERDEFINITION, 
6515        /**
6516         * A time period defined by a start and end date and optionally time.
6517         */
6518        PERIOD, 
6519        /**
6520         * 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.
6521         */
6522        PRODCHARACTERISTIC, 
6523        /**
6524         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
6525         */
6526        PRODUCTSHELFLIFE, 
6527        /**
6528         * 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.
6529         */
6530        QUANTITY, 
6531        /**
6532         * A set of ordered Quantities defined by a low and high limit.
6533         */
6534        RANGE, 
6535        /**
6536         * A relationship of two Quantity values - expressed as a numerator and a denominator.
6537         */
6538        RATIO, 
6539        /**
6540         * A reference from one resource to another.
6541         */
6542        REFERENCE, 
6543        /**
6544         * Related artifacts such as additional documentation, justification, or bibliographic references.
6545         */
6546        RELATEDARTIFACT, 
6547        /**
6548         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
6549         */
6550        SAMPLEDDATA, 
6551        /**
6552         * 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.
6553         */
6554        SIGNATURE, 
6555        /**
6556         * null
6557         */
6558        SIMPLEQUANTITY, 
6559        /**
6560         * 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.
6561         */
6562        SUBSTANCEAMOUNT, 
6563        /**
6564         * 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.
6565         */
6566        SUBSTANCEMOIETY, 
6567        /**
6568         * 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.
6569         */
6570        TIMING, 
6571        /**
6572         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
6573         */
6574        TRIGGERDEFINITION, 
6575        /**
6576         * 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).
6577         */
6578        USAGECONTEXT, 
6579        /**
6580         * A stream of bytes
6581         */
6582        BASE64BINARY, 
6583        /**
6584         * Value of "true" or "false"
6585         */
6586        BOOLEAN, 
6587        /**
6588         * A URI that is a reference to a canonical URI on a FHIR resource
6589         */
6590        CANONICAL, 
6591        /**
6592         * 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
6593         */
6594        CODE, 
6595        /**
6596         * 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.
6597         */
6598        DATE, 
6599        /**
6600         * 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.
6601         */
6602        DATETIME, 
6603        /**
6604         * A rational number with implicit precision
6605         */
6606        DECIMAL, 
6607        /**
6608         * 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.
6609         */
6610        ID, 
6611        /**
6612         * An instant in time - known at least to the second
6613         */
6614        INSTANT, 
6615        /**
6616         * A whole number
6617         */
6618        INTEGER, 
6619        /**
6620         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
6621         */
6622        MARKDOWN, 
6623        /**
6624         * An OID represented as a URI
6625         */
6626        OID, 
6627        /**
6628         * An integer with a value that is positive (e.g. >0)
6629         */
6630        POSITIVEINT, 
6631        /**
6632         * A sequence of Unicode characters
6633         */
6634        STRING, 
6635        /**
6636         * A time during the day, with no date specified
6637         */
6638        TIME, 
6639        /**
6640         * An integer with a value that is not negative (e.g. >= 0)
6641         */
6642        UNSIGNEDINT, 
6643        /**
6644         * String of characters used to identify a name or a resource
6645         */
6646        URI, 
6647        /**
6648         * A URI that is a literal reference
6649         */
6650        URL, 
6651        /**
6652         * A UUID, represented as a URI
6653         */
6654        UUID, 
6655        /**
6656         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
6657         */
6658        XHTML, 
6659        /**
6660         * 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.
6661         */
6662        ACCOUNT, 
6663        /**
6664         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
6665         */
6666        ACTIVITYDEFINITION, 
6667        /**
6668         * 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.
6669         */
6670        ADVERSEEVENT, 
6671        /**
6672         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
6673         */
6674        ALLERGYINTOLERANCE, 
6675        /**
6676         * 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).
6677         */
6678        APPOINTMENT, 
6679        /**
6680         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
6681         */
6682        APPOINTMENTRESPONSE, 
6683        /**
6684         * 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.
6685         */
6686        AUDITEVENT, 
6687        /**
6688         * 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.
6689         */
6690        BASIC, 
6691        /**
6692         * 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.
6693         */
6694        BINARY, 
6695        /**
6696         * A material substance originating from a biological entity intended to be transplanted or infused
6697into another (possibly the same) biological entity.
6698         */
6699        BIOLOGICALLYDERIVEDPRODUCT, 
6700        /**
6701         * 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.
6702         */
6703        BODYSTRUCTURE, 
6704        /**
6705         * A container for a collection of resources.
6706         */
6707        BUNDLE, 
6708        /**
6709         * A Capability Statement 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.
6710         */
6711        CAPABILITYSTATEMENT, 
6712        /**
6713         * 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.
6714         */
6715        CAREPLAN, 
6716        /**
6717         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
6718         */
6719        CARETEAM, 
6720        /**
6721         * Catalog entries are wrappers that contextualize items included in a catalog.
6722         */
6723        CATALOGENTRY, 
6724        /**
6725         * 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.
6726         */
6727        CHARGEITEM, 
6728        /**
6729         * 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.
6730         */
6731        CHARGEITEMDEFINITION, 
6732        /**
6733         * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
6734         */
6735        CLAIM, 
6736        /**
6737         * This resource provides the adjudication details from the processing of a Claim resource.
6738         */
6739        CLAIMRESPONSE, 
6740        /**
6741         * 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.
6742         */
6743        CLINICALIMPRESSION, 
6744        /**
6745         * 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.
6746         */
6747        CODESYSTEM, 
6748        /**
6749         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
6750         */
6751        COMMUNICATION, 
6752        /**
6753         * 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.
6754         */
6755        COMMUNICATIONREQUEST, 
6756        /**
6757         * A compartment definition that defines how resources are accessed on a server.
6758         */
6759        COMPARTMENTDEFINITION, 
6760        /**
6761         * 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.).
6762         */
6763        COMPOSITION, 
6764        /**
6765         * 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.
6766         */
6767        CONCEPTMAP, 
6768        /**
6769         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
6770         */
6771        CONDITION, 
6772        /**
6773         * 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.
6774         */
6775        CONSENT, 
6776        /**
6777         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
6778         */
6779        CONTRACT, 
6780        /**
6781         * Financial instrument which may be used to reimburse or pay for health care products and services.
6782         */
6783        COVERAGE, 
6784        /**
6785         * 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.
6786         */
6787        COVERAGEELIGIBILITYREQUEST, 
6788        /**
6789         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
6790         */
6791        COVERAGEELIGIBILITYRESPONSE, 
6792        /**
6793         * 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.
6794         */
6795        DETECTEDISSUE, 
6796        /**
6797         * This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).
6798         */
6799        DEVICE, 
6800        /**
6801         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
6802         */
6803        DEVICEDEFINITION, 
6804        /**
6805         * Describes a measurement, calculation or setting capability of a medical device.
6806         */
6807        DEVICEMETRIC, 
6808        /**
6809         * 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.
6810         */
6811        DEVICEREQUEST, 
6812        /**
6813         * 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.
6814         */
6815        DEVICEUSESTATEMENT, 
6816        /**
6817         * 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.
6818         */
6819        DIAGNOSTICREPORT, 
6820        /**
6821         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
6822         */
6823        DOCUMENTMANIFEST, 
6824        /**
6825         * A reference to a document.
6826         */
6827        DOCUMENTREFERENCE, 
6828        /**
6829         * A resource that includes narrative, extensions, and contained resources.
6830         */
6831        DOMAINRESOURCE, 
6832        /**
6833         * 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.
6834         */
6835        ENCOUNTER, 
6836        /**
6837         * 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.
6838         */
6839        ENDPOINT, 
6840        /**
6841         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
6842         */
6843        ENROLLMENTREQUEST, 
6844        /**
6845         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
6846         */
6847        ENROLLMENTRESPONSE, 
6848        /**
6849         * 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.
6850         */
6851        EPISODEOFCARE, 
6852        /**
6853         * The EventDefinition resource provides a reusable description of when a particular event can occur.
6854         */
6855        EVENTDEFINITION, 
6856        /**
6857         * Example of workflow instance.
6858         */
6859        EXAMPLESCENARIO, 
6860        /**
6861         * 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.
6862         */
6863        EXPLANATIONOFBENEFIT, 
6864        /**
6865         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
6866         */
6867        FAMILYMEMBERHISTORY, 
6868        /**
6869         * Prospective warnings of potential issues when providing care to the patient.
6870         */
6871        FLAG, 
6872        /**
6873         * 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.
6874         */
6875        GOAL, 
6876        /**
6877         * 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.
6878         */
6879        GRAPHDEFINITION, 
6880        /**
6881         * 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.
6882         */
6883        GROUP, 
6884        /**
6885         * 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.
6886         */
6887        GUIDANCERESPONSE, 
6888        /**
6889         * The details of a healthcare service available at a location.
6890         */
6891        HEALTHCARESERVICE, 
6892        /**
6893         * 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.
6894         */
6895        IMAGINGSTUDY, 
6896        /**
6897         * 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.
6898         */
6899        IMMUNIZATION, 
6900        /**
6901         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
6902         */
6903        IMMUNIZATIONEVALUATION, 
6904        /**
6905         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
6906         */
6907        IMMUNIZATIONRECOMMENDATION, 
6908        /**
6909         * A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
6910         */
6911        IMPLEMENTATIONGUIDE, 
6912        /**
6913         * Details of a Health Insurance product/plan provided by an organization.
6914         */
6915        INSURANCEPLAN, 
6916        /**
6917         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
6918         */
6919        INVOICE, 
6920        /**
6921         * A physical, countable instance of an item, for example one box or one unit.
6922         */
6923        ITEMINSTANCE, 
6924        /**
6925         * 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.
6926         */
6927        LIBRARY, 
6928        /**
6929         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
6930         */
6931        LINKAGE, 
6932        /**
6933         * A set of information summarized from a list of other resources.
6934         */
6935        LIST, 
6936        /**
6937         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
6938         */
6939        LOCATION, 
6940        /**
6941         * The Measure resource provides the definition of a quality measure.
6942         */
6943        MEASURE, 
6944        /**
6945         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
6946         */
6947        MEASUREREPORT, 
6948        /**
6949         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
6950         */
6951        MEDIA, 
6952        /**
6953         * 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.
6954         */
6955        MEDICATION, 
6956        /**
6957         * 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.
6958         */
6959        MEDICATIONADMINISTRATION, 
6960        /**
6961         * 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.
6962         */
6963        MEDICATIONDISPENSE, 
6964        /**
6965         * Information about a medication that is used to support knowledge.
6966         */
6967        MEDICATIONKNOWLEDGE, 
6968        /**
6969         * 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.
6970         */
6971        MEDICATIONREQUEST, 
6972        /**
6973         * 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. 
6974
6975The 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.
6976         */
6977        MEDICATIONSTATEMENT, 
6978        /**
6979         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
6980         */
6981        MEDICINALPRODUCT, 
6982        /**
6983         * The regulatory authorization of a medicinal product.
6984         */
6985        MEDICINALPRODUCTAUTHORIZATION, 
6986        /**
6987         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
6988         */
6989        MEDICINALPRODUCTCLINICALS, 
6990        /**
6991         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
6992         */
6993        MEDICINALPRODUCTCONTRAINDICATION, 
6994        /**
6995         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.
6996         */
6997        MEDICINALPRODUCTDEVICESPEC, 
6998        /**
6999         * Indication for the Medicinal Product.
7000         */
7001        MEDICINALPRODUCTINDICATION, 
7002        /**
7003         * An ingredient of a manufactured item or pharmaceutical product.
7004         */
7005        MEDICINALPRODUCTINGREDIENT, 
7006        /**
7007         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
7008         */
7009        MEDICINALPRODUCTINTERACTION, 
7010        /**
7011         * The manufactured item as contained in the packaged medicinal product.
7012         */
7013        MEDICINALPRODUCTMANUFACTURED, 
7014        /**
7015         * A medicinal product in a container or package.
7016         */
7017        MEDICINALPRODUCTPACKAGED, 
7018        /**
7019         * A pharmaceutical product described in terms of its composition and dose form.
7020         */
7021        MEDICINALPRODUCTPHARMACEUTICAL, 
7022        /**
7023         * Describe the undesirable effects of the medicinal product.
7024         */
7025        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
7026        /**
7027         * 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.
7028         */
7029        MESSAGEDEFINITION, 
7030        /**
7031         * 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.
7032         */
7033        MESSAGEHEADER, 
7034        /**
7035         * 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.
7036         */
7037        NAMINGSYSTEM, 
7038        /**
7039         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
7040         */
7041        NUTRITIONORDER, 
7042        /**
7043         * Measurements and simple assertions made about a patient, device or other subject.
7044         */
7045        OBSERVATION, 
7046        /**
7047         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
7048         */
7049        OBSERVATIONDEFINITION, 
7050        /**
7051         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
7052         */
7053        OPERATIONDEFINITION, 
7054        /**
7055         * A collection of error, warning or information messages that result from a system action.
7056         */
7057        OPERATIONOUTCOME, 
7058        /**
7059         * 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.
7060         */
7061        ORGANIZATION, 
7062        /**
7063         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
7064         */
7065        ORGANIZATIONAFFILIATION, 
7066        /**
7067         * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.
7068         */
7069        PARAMETERS, 
7070        /**
7071         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
7072         */
7073        PATIENT, 
7074        /**
7075         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
7076         */
7077        PAYMENTNOTICE, 
7078        /**
7079         * This resource provides payment details and claim references supporting a bulk payment.
7080         */
7081        PAYMENTRECONCILIATION, 
7082        /**
7083         * Demographics and administrative information about a person independent of a specific health-related context.
7084         */
7085        PERSON, 
7086        /**
7087         * 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.
7088         */
7089        PLANDEFINITION, 
7090        /**
7091         * A person who is directly or indirectly involved in the provisioning of healthcare.
7092         */
7093        PRACTITIONER, 
7094        /**
7095         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
7096         */
7097        PRACTITIONERROLE, 
7098        /**
7099         * 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.
7100         */
7101        PROCEDURE, 
7102        /**
7103         * This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.
7104         */
7105        PROCESSREQUEST, 
7106        /**
7107         * This resource provides processing status, errors and notes from the processing of a resource.
7108         */
7109        PROCESSRESPONSE, 
7110        /**
7111         * 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.
7112         */
7113        PROVENANCE, 
7114        /**
7115         * 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.
7116         */
7117        QUESTIONNAIRE, 
7118        /**
7119         * 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.
7120         */
7121        QUESTIONNAIRERESPONSE, 
7122        /**
7123         * 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.
7124         */
7125        RELATEDPERSON, 
7126        /**
7127         * 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".
7128         */
7129        REQUESTGROUP, 
7130        /**
7131         * 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.
7132         */
7133        RESEARCHSTUDY, 
7134        /**
7135         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
7136         */
7137        RESEARCHSUBJECT, 
7138        /**
7139         * This is the base resource type for everything.
7140         */
7141        RESOURCE, 
7142        /**
7143         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
7144         */
7145        RISKASSESSMENT, 
7146        /**
7147         * A container for slots of time that may be available for booking appointments.
7148         */
7149        SCHEDULE, 
7150        /**
7151         * A search parameter that defines a named search item that can be used to search/filter on a resource.
7152         */
7153        SEARCHPARAMETER, 
7154        /**
7155         * Raw data describing a biological sequence.
7156         */
7157        SEQUENCE, 
7158        /**
7159         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
7160         */
7161        SERVICEREQUEST, 
7162        /**
7163         * A slot of time on a schedule that may be available for booking appointments.
7164         */
7165        SLOT, 
7166        /**
7167         * A sample to be used for analysis.
7168         */
7169        SPECIMEN, 
7170        /**
7171         * A kind of specimen with associated set of requirements.
7172         */
7173        SPECIMENDEFINITION, 
7174        /**
7175         * 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.
7176         */
7177        STRUCTUREDEFINITION, 
7178        /**
7179         * A Map of relationships between 2 structures that can be used to transform data.
7180         */
7181        STRUCTUREMAP, 
7182        /**
7183         * 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.
7184         */
7185        SUBSCRIPTION, 
7186        /**
7187         * A homogeneous material with a definite composition.
7188         */
7189        SUBSTANCE, 
7190        /**
7191         * Todo.
7192         */
7193        SUBSTANCEPOLYMER, 
7194        /**
7195         * Todo.
7196         */
7197        SUBSTANCEREFERENCEINFORMATION, 
7198        /**
7199         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
7200         */
7201        SUBSTANCESPECIFICATION, 
7202        /**
7203         * Record of delivery of what is supplied.
7204         */
7205        SUPPLYDELIVERY, 
7206        /**
7207         * A record of a request for a medication, substance or device used in the healthcare setting.
7208         */
7209        SUPPLYREQUEST, 
7210        /**
7211         * A task to be performed.
7212         */
7213        TASK, 
7214        /**
7215         * 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.
7216         */
7217        TERMINOLOGYCAPABILITIES, 
7218        /**
7219         * A summary of information based on the results of executing a TestScript.
7220         */
7221        TESTREPORT, 
7222        /**
7223         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
7224         */
7225        TESTSCRIPT, 
7226        /**
7227         * Information about a user's current session.
7228         */
7229        USERSESSION, 
7230        /**
7231         * A ValueSet resource instances 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).
7232         */
7233        VALUESET, 
7234        /**
7235         * Describes validation requirements, source(s), status and dates for one or more elements.
7236         */
7237        VERIFICATIONRESULT, 
7238        /**
7239         * An authorization for the supply of glasses and/or contact lenses to a patient.
7240         */
7241        VISIONPRESCRIPTION, 
7242        /**
7243         * added to help the parsers
7244         */
7245        NULL;
7246        public static FHIRDefinedType fromCode(String codeString) throws FHIRException {
7247            if (codeString == null || "".equals(codeString))
7248                return null;
7249        if ("Address".equals(codeString))
7250          return ADDRESS;
7251        if ("Age".equals(codeString))
7252          return AGE;
7253        if ("Annotation".equals(codeString))
7254          return ANNOTATION;
7255        if ("Attachment".equals(codeString))
7256          return ATTACHMENT;
7257        if ("BackboneElement".equals(codeString))
7258          return BACKBONEELEMENT;
7259        if ("CodeableConcept".equals(codeString))
7260          return CODEABLECONCEPT;
7261        if ("Coding".equals(codeString))
7262          return CODING;
7263        if ("ContactDetail".equals(codeString))
7264          return CONTACTDETAIL;
7265        if ("ContactPoint".equals(codeString))
7266          return CONTACTPOINT;
7267        if ("Contributor".equals(codeString))
7268          return CONTRIBUTOR;
7269        if ("Count".equals(codeString))
7270          return COUNT;
7271        if ("DataRequirement".equals(codeString))
7272          return DATAREQUIREMENT;
7273        if ("Distance".equals(codeString))
7274          return DISTANCE;
7275        if ("Dosage".equals(codeString))
7276          return DOSAGE;
7277        if ("Duration".equals(codeString))
7278          return DURATION;
7279        if ("Element".equals(codeString))
7280          return ELEMENT;
7281        if ("ElementDefinition".equals(codeString))
7282          return ELEMENTDEFINITION;
7283        if ("Expression".equals(codeString))
7284          return EXPRESSION;
7285        if ("Extension".equals(codeString))
7286          return EXTENSION;
7287        if ("HumanName".equals(codeString))
7288          return HUMANNAME;
7289        if ("Identifier".equals(codeString))
7290          return IDENTIFIER;
7291        if ("MarketingStatus".equals(codeString))
7292          return MARKETINGSTATUS;
7293        if ("Meta".equals(codeString))
7294          return META;
7295        if ("Money".equals(codeString))
7296          return MONEY;
7297        if ("MoneyQuantity".equals(codeString))
7298          return MONEYQUANTITY;
7299        if ("Narrative".equals(codeString))
7300          return NARRATIVE;
7301        if ("ParameterDefinition".equals(codeString))
7302          return PARAMETERDEFINITION;
7303        if ("Period".equals(codeString))
7304          return PERIOD;
7305        if ("ProdCharacteristic".equals(codeString))
7306          return PRODCHARACTERISTIC;
7307        if ("ProductShelfLife".equals(codeString))
7308          return PRODUCTSHELFLIFE;
7309        if ("Quantity".equals(codeString))
7310          return QUANTITY;
7311        if ("Range".equals(codeString))
7312          return RANGE;
7313        if ("Ratio".equals(codeString))
7314          return RATIO;
7315        if ("Reference".equals(codeString))
7316          return REFERENCE;
7317        if ("RelatedArtifact".equals(codeString))
7318          return RELATEDARTIFACT;
7319        if ("SampledData".equals(codeString))
7320          return SAMPLEDDATA;
7321        if ("Signature".equals(codeString))
7322          return SIGNATURE;
7323        if ("SimpleQuantity".equals(codeString))
7324          return SIMPLEQUANTITY;
7325        if ("SubstanceAmount".equals(codeString))
7326          return SUBSTANCEAMOUNT;
7327        if ("SubstanceMoiety".equals(codeString))
7328          return SUBSTANCEMOIETY;
7329        if ("Timing".equals(codeString))
7330          return TIMING;
7331        if ("TriggerDefinition".equals(codeString))
7332          return TRIGGERDEFINITION;
7333        if ("UsageContext".equals(codeString))
7334          return USAGECONTEXT;
7335        if ("base64Binary".equals(codeString))
7336          return BASE64BINARY;
7337        if ("boolean".equals(codeString))
7338          return BOOLEAN;
7339        if ("canonical".equals(codeString))
7340          return CANONICAL;
7341        if ("code".equals(codeString))
7342          return CODE;
7343        if ("date".equals(codeString))
7344          return DATE;
7345        if ("dateTime".equals(codeString))
7346          return DATETIME;
7347        if ("decimal".equals(codeString))
7348          return DECIMAL;
7349        if ("id".equals(codeString))
7350          return ID;
7351        if ("instant".equals(codeString))
7352          return INSTANT;
7353        if ("integer".equals(codeString))
7354          return INTEGER;
7355        if ("markdown".equals(codeString))
7356          return MARKDOWN;
7357        if ("oid".equals(codeString))
7358          return OID;
7359        if ("positiveInt".equals(codeString))
7360          return POSITIVEINT;
7361        if ("string".equals(codeString))
7362          return STRING;
7363        if ("time".equals(codeString))
7364          return TIME;
7365        if ("unsignedInt".equals(codeString))
7366          return UNSIGNEDINT;
7367        if ("uri".equals(codeString))
7368          return URI;
7369        if ("url".equals(codeString))
7370          return URL;
7371        if ("uuid".equals(codeString))
7372          return UUID;
7373        if ("xhtml".equals(codeString))
7374          return XHTML;
7375        if ("Account".equals(codeString))
7376          return ACCOUNT;
7377        if ("ActivityDefinition".equals(codeString))
7378          return ACTIVITYDEFINITION;
7379        if ("AdverseEvent".equals(codeString))
7380          return ADVERSEEVENT;
7381        if ("AllergyIntolerance".equals(codeString))
7382          return ALLERGYINTOLERANCE;
7383        if ("Appointment".equals(codeString))
7384          return APPOINTMENT;
7385        if ("AppointmentResponse".equals(codeString))
7386          return APPOINTMENTRESPONSE;
7387        if ("AuditEvent".equals(codeString))
7388          return AUDITEVENT;
7389        if ("Basic".equals(codeString))
7390          return BASIC;
7391        if ("Binary".equals(codeString))
7392          return BINARY;
7393        if ("BiologicallyDerivedProduct".equals(codeString))
7394          return BIOLOGICALLYDERIVEDPRODUCT;
7395        if ("BodyStructure".equals(codeString))
7396          return BODYSTRUCTURE;
7397        if ("Bundle".equals(codeString))
7398          return BUNDLE;
7399        if ("CapabilityStatement".equals(codeString))
7400          return CAPABILITYSTATEMENT;
7401        if ("CarePlan".equals(codeString))
7402          return CAREPLAN;
7403        if ("CareTeam".equals(codeString))
7404          return CARETEAM;
7405        if ("CatalogEntry".equals(codeString))
7406          return CATALOGENTRY;
7407        if ("ChargeItem".equals(codeString))
7408          return CHARGEITEM;
7409        if ("ChargeItemDefinition".equals(codeString))
7410          return CHARGEITEMDEFINITION;
7411        if ("Claim".equals(codeString))
7412          return CLAIM;
7413        if ("ClaimResponse".equals(codeString))
7414          return CLAIMRESPONSE;
7415        if ("ClinicalImpression".equals(codeString))
7416          return CLINICALIMPRESSION;
7417        if ("CodeSystem".equals(codeString))
7418          return CODESYSTEM;
7419        if ("Communication".equals(codeString))
7420          return COMMUNICATION;
7421        if ("CommunicationRequest".equals(codeString))
7422          return COMMUNICATIONREQUEST;
7423        if ("CompartmentDefinition".equals(codeString))
7424          return COMPARTMENTDEFINITION;
7425        if ("Composition".equals(codeString))
7426          return COMPOSITION;
7427        if ("ConceptMap".equals(codeString))
7428          return CONCEPTMAP;
7429        if ("Condition".equals(codeString))
7430          return CONDITION;
7431        if ("Consent".equals(codeString))
7432          return CONSENT;
7433        if ("Contract".equals(codeString))
7434          return CONTRACT;
7435        if ("Coverage".equals(codeString))
7436          return COVERAGE;
7437        if ("CoverageEligibilityRequest".equals(codeString))
7438          return COVERAGEELIGIBILITYREQUEST;
7439        if ("CoverageEligibilityResponse".equals(codeString))
7440          return COVERAGEELIGIBILITYRESPONSE;
7441        if ("DetectedIssue".equals(codeString))
7442          return DETECTEDISSUE;
7443        if ("Device".equals(codeString))
7444          return DEVICE;
7445        if ("DeviceDefinition".equals(codeString))
7446          return DEVICEDEFINITION;
7447        if ("DeviceMetric".equals(codeString))
7448          return DEVICEMETRIC;
7449        if ("DeviceRequest".equals(codeString))
7450          return DEVICEREQUEST;
7451        if ("DeviceUseStatement".equals(codeString))
7452          return DEVICEUSESTATEMENT;
7453        if ("DiagnosticReport".equals(codeString))
7454          return DIAGNOSTICREPORT;
7455        if ("DocumentManifest".equals(codeString))
7456          return DOCUMENTMANIFEST;
7457        if ("DocumentReference".equals(codeString))
7458          return DOCUMENTREFERENCE;
7459        if ("DomainResource".equals(codeString))
7460          return DOMAINRESOURCE;
7461        if ("Encounter".equals(codeString))
7462          return ENCOUNTER;
7463        if ("Endpoint".equals(codeString))
7464          return ENDPOINT;
7465        if ("EnrollmentRequest".equals(codeString))
7466          return ENROLLMENTREQUEST;
7467        if ("EnrollmentResponse".equals(codeString))
7468          return ENROLLMENTRESPONSE;
7469        if ("EpisodeOfCare".equals(codeString))
7470          return EPISODEOFCARE;
7471        if ("EventDefinition".equals(codeString))
7472          return EVENTDEFINITION;
7473        if ("ExampleScenario".equals(codeString))
7474          return EXAMPLESCENARIO;
7475        if ("ExplanationOfBenefit".equals(codeString))
7476          return EXPLANATIONOFBENEFIT;
7477        if ("FamilyMemberHistory".equals(codeString))
7478          return FAMILYMEMBERHISTORY;
7479        if ("Flag".equals(codeString))
7480          return FLAG;
7481        if ("Goal".equals(codeString))
7482          return GOAL;
7483        if ("GraphDefinition".equals(codeString))
7484          return GRAPHDEFINITION;
7485        if ("Group".equals(codeString))
7486          return GROUP;
7487        if ("GuidanceResponse".equals(codeString))
7488          return GUIDANCERESPONSE;
7489        if ("HealthcareService".equals(codeString))
7490          return HEALTHCARESERVICE;
7491        if ("ImagingStudy".equals(codeString))
7492          return IMAGINGSTUDY;
7493        if ("Immunization".equals(codeString))
7494          return IMMUNIZATION;
7495        if ("ImmunizationEvaluation".equals(codeString))
7496          return IMMUNIZATIONEVALUATION;
7497        if ("ImmunizationRecommendation".equals(codeString))
7498          return IMMUNIZATIONRECOMMENDATION;
7499        if ("ImplementationGuide".equals(codeString))
7500          return IMPLEMENTATIONGUIDE;
7501        if ("InsurancePlan".equals(codeString))
7502          return INSURANCEPLAN;
7503        if ("Invoice".equals(codeString))
7504          return INVOICE;
7505        if ("ItemInstance".equals(codeString))
7506          return ITEMINSTANCE;
7507        if ("Library".equals(codeString))
7508          return LIBRARY;
7509        if ("Linkage".equals(codeString))
7510          return LINKAGE;
7511        if ("List".equals(codeString))
7512          return LIST;
7513        if ("Location".equals(codeString))
7514          return LOCATION;
7515        if ("Measure".equals(codeString))
7516          return MEASURE;
7517        if ("MeasureReport".equals(codeString))
7518          return MEASUREREPORT;
7519        if ("Media".equals(codeString))
7520          return MEDIA;
7521        if ("Medication".equals(codeString))
7522          return MEDICATION;
7523        if ("MedicationAdministration".equals(codeString))
7524          return MEDICATIONADMINISTRATION;
7525        if ("MedicationDispense".equals(codeString))
7526          return MEDICATIONDISPENSE;
7527        if ("MedicationKnowledge".equals(codeString))
7528          return MEDICATIONKNOWLEDGE;
7529        if ("MedicationRequest".equals(codeString))
7530          return MEDICATIONREQUEST;
7531        if ("MedicationStatement".equals(codeString))
7532          return MEDICATIONSTATEMENT;
7533        if ("MedicinalProduct".equals(codeString))
7534          return MEDICINALPRODUCT;
7535        if ("MedicinalProductAuthorization".equals(codeString))
7536          return MEDICINALPRODUCTAUTHORIZATION;
7537        if ("MedicinalProductClinicals".equals(codeString))
7538          return MEDICINALPRODUCTCLINICALS;
7539        if ("MedicinalProductContraindication".equals(codeString))
7540          return MEDICINALPRODUCTCONTRAINDICATION;
7541        if ("MedicinalProductDeviceSpec".equals(codeString))
7542          return MEDICINALPRODUCTDEVICESPEC;
7543        if ("MedicinalProductIndication".equals(codeString))
7544          return MEDICINALPRODUCTINDICATION;
7545        if ("MedicinalProductIngredient".equals(codeString))
7546          return MEDICINALPRODUCTINGREDIENT;
7547        if ("MedicinalProductInteraction".equals(codeString))
7548          return MEDICINALPRODUCTINTERACTION;
7549        if ("MedicinalProductManufactured".equals(codeString))
7550          return MEDICINALPRODUCTMANUFACTURED;
7551        if ("MedicinalProductPackaged".equals(codeString))
7552          return MEDICINALPRODUCTPACKAGED;
7553        if ("MedicinalProductPharmaceutical".equals(codeString))
7554          return MEDICINALPRODUCTPHARMACEUTICAL;
7555        if ("MedicinalProductUndesirableEffect".equals(codeString))
7556          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
7557        if ("MessageDefinition".equals(codeString))
7558          return MESSAGEDEFINITION;
7559        if ("MessageHeader".equals(codeString))
7560          return MESSAGEHEADER;
7561        if ("NamingSystem".equals(codeString))
7562          return NAMINGSYSTEM;
7563        if ("NutritionOrder".equals(codeString))
7564          return NUTRITIONORDER;
7565        if ("Observation".equals(codeString))
7566          return OBSERVATION;
7567        if ("ObservationDefinition".equals(codeString))
7568          return OBSERVATIONDEFINITION;
7569        if ("OperationDefinition".equals(codeString))
7570          return OPERATIONDEFINITION;
7571        if ("OperationOutcome".equals(codeString))
7572          return OPERATIONOUTCOME;
7573        if ("Organization".equals(codeString))
7574          return ORGANIZATION;
7575        if ("OrganizationAffiliation".equals(codeString))
7576          return ORGANIZATIONAFFILIATION;
7577        if ("Parameters".equals(codeString))
7578          return PARAMETERS;
7579        if ("Patient".equals(codeString))
7580          return PATIENT;
7581        if ("PaymentNotice".equals(codeString))
7582          return PAYMENTNOTICE;
7583        if ("PaymentReconciliation".equals(codeString))
7584          return PAYMENTRECONCILIATION;
7585        if ("Person".equals(codeString))
7586          return PERSON;
7587        if ("PlanDefinition".equals(codeString))
7588          return PLANDEFINITION;
7589        if ("Practitioner".equals(codeString))
7590          return PRACTITIONER;
7591        if ("PractitionerRole".equals(codeString))
7592          return PRACTITIONERROLE;
7593        if ("Procedure".equals(codeString))
7594          return PROCEDURE;
7595        if ("ProcessRequest".equals(codeString))
7596          return PROCESSREQUEST;
7597        if ("ProcessResponse".equals(codeString))
7598          return PROCESSRESPONSE;
7599        if ("Provenance".equals(codeString))
7600          return PROVENANCE;
7601        if ("Questionnaire".equals(codeString))
7602          return QUESTIONNAIRE;
7603        if ("QuestionnaireResponse".equals(codeString))
7604          return QUESTIONNAIRERESPONSE;
7605        if ("RelatedPerson".equals(codeString))
7606          return RELATEDPERSON;
7607        if ("RequestGroup".equals(codeString))
7608          return REQUESTGROUP;
7609        if ("ResearchStudy".equals(codeString))
7610          return RESEARCHSTUDY;
7611        if ("ResearchSubject".equals(codeString))
7612          return RESEARCHSUBJECT;
7613        if ("Resource".equals(codeString))
7614          return RESOURCE;
7615        if ("RiskAssessment".equals(codeString))
7616          return RISKASSESSMENT;
7617        if ("Schedule".equals(codeString))
7618          return SCHEDULE;
7619        if ("SearchParameter".equals(codeString))
7620          return SEARCHPARAMETER;
7621        if ("Sequence".equals(codeString))
7622          return SEQUENCE;
7623        if ("ServiceRequest".equals(codeString))
7624          return SERVICEREQUEST;
7625        if ("Slot".equals(codeString))
7626          return SLOT;
7627        if ("Specimen".equals(codeString))
7628          return SPECIMEN;
7629        if ("SpecimenDefinition".equals(codeString))
7630          return SPECIMENDEFINITION;
7631        if ("StructureDefinition".equals(codeString))
7632          return STRUCTUREDEFINITION;
7633        if ("StructureMap".equals(codeString))
7634          return STRUCTUREMAP;
7635        if ("Subscription".equals(codeString))
7636          return SUBSCRIPTION;
7637        if ("Substance".equals(codeString))
7638          return SUBSTANCE;
7639        if ("SubstancePolymer".equals(codeString))
7640          return SUBSTANCEPOLYMER;
7641        if ("SubstanceReferenceInformation".equals(codeString))
7642          return SUBSTANCEREFERENCEINFORMATION;
7643        if ("SubstanceSpecification".equals(codeString))
7644          return SUBSTANCESPECIFICATION;
7645        if ("SupplyDelivery".equals(codeString))
7646          return SUPPLYDELIVERY;
7647        if ("SupplyRequest".equals(codeString))
7648          return SUPPLYREQUEST;
7649        if ("Task".equals(codeString))
7650          return TASK;
7651        if ("TerminologyCapabilities".equals(codeString))
7652          return TERMINOLOGYCAPABILITIES;
7653        if ("TestReport".equals(codeString))
7654          return TESTREPORT;
7655        if ("TestScript".equals(codeString))
7656          return TESTSCRIPT;
7657        if ("UserSession".equals(codeString))
7658          return USERSESSION;
7659        if ("ValueSet".equals(codeString))
7660          return VALUESET;
7661        if ("VerificationResult".equals(codeString))
7662          return VERIFICATIONRESULT;
7663        if ("VisionPrescription".equals(codeString))
7664          return VISIONPRESCRIPTION;
7665        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
7666        }
7667        public String toCode() {
7668          switch (this) {
7669            case ADDRESS: return "Address";
7670            case AGE: return "Age";
7671            case ANNOTATION: return "Annotation";
7672            case ATTACHMENT: return "Attachment";
7673            case BACKBONEELEMENT: return "BackboneElement";
7674            case CODEABLECONCEPT: return "CodeableConcept";
7675            case CODING: return "Coding";
7676            case CONTACTDETAIL: return "ContactDetail";
7677            case CONTACTPOINT: return "ContactPoint";
7678            case CONTRIBUTOR: return "Contributor";
7679            case COUNT: return "Count";
7680            case DATAREQUIREMENT: return "DataRequirement";
7681            case DISTANCE: return "Distance";
7682            case DOSAGE: return "Dosage";
7683            case DURATION: return "Duration";
7684            case ELEMENT: return "Element";
7685            case ELEMENTDEFINITION: return "ElementDefinition";
7686            case EXPRESSION: return "Expression";
7687            case EXTENSION: return "Extension";
7688            case HUMANNAME: return "HumanName";
7689            case IDENTIFIER: return "Identifier";
7690            case MARKETINGSTATUS: return "MarketingStatus";
7691            case META: return "Meta";
7692            case MONEY: return "Money";
7693            case MONEYQUANTITY: return "MoneyQuantity";
7694            case NARRATIVE: return "Narrative";
7695            case PARAMETERDEFINITION: return "ParameterDefinition";
7696            case PERIOD: return "Period";
7697            case PRODCHARACTERISTIC: return "ProdCharacteristic";
7698            case PRODUCTSHELFLIFE: return "ProductShelfLife";
7699            case QUANTITY: return "Quantity";
7700            case RANGE: return "Range";
7701            case RATIO: return "Ratio";
7702            case REFERENCE: return "Reference";
7703            case RELATEDARTIFACT: return "RelatedArtifact";
7704            case SAMPLEDDATA: return "SampledData";
7705            case SIGNATURE: return "Signature";
7706            case SIMPLEQUANTITY: return "SimpleQuantity";
7707            case SUBSTANCEAMOUNT: return "SubstanceAmount";
7708            case SUBSTANCEMOIETY: return "SubstanceMoiety";
7709            case TIMING: return "Timing";
7710            case TRIGGERDEFINITION: return "TriggerDefinition";
7711            case USAGECONTEXT: return "UsageContext";
7712            case BASE64BINARY: return "base64Binary";
7713            case BOOLEAN: return "boolean";
7714            case CANONICAL: return "canonical";
7715            case CODE: return "code";
7716            case DATE: return "date";
7717            case DATETIME: return "dateTime";
7718            case DECIMAL: return "decimal";
7719            case ID: return "id";
7720            case INSTANT: return "instant";
7721            case INTEGER: return "integer";
7722            case MARKDOWN: return "markdown";
7723            case OID: return "oid";
7724            case POSITIVEINT: return "positiveInt";
7725            case STRING: return "string";
7726            case TIME: return "time";
7727            case UNSIGNEDINT: return "unsignedInt";
7728            case URI: return "uri";
7729            case URL: return "url";
7730            case UUID: return "uuid";
7731            case XHTML: return "xhtml";
7732            case ACCOUNT: return "Account";
7733            case ACTIVITYDEFINITION: return "ActivityDefinition";
7734            case ADVERSEEVENT: return "AdverseEvent";
7735            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
7736            case APPOINTMENT: return "Appointment";
7737            case APPOINTMENTRESPONSE: return "AppointmentResponse";
7738            case AUDITEVENT: return "AuditEvent";
7739            case BASIC: return "Basic";
7740            case BINARY: return "Binary";
7741            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
7742            case BODYSTRUCTURE: return "BodyStructure";
7743            case BUNDLE: return "Bundle";
7744            case CAPABILITYSTATEMENT: return "CapabilityStatement";
7745            case CAREPLAN: return "CarePlan";
7746            case CARETEAM: return "CareTeam";
7747            case CATALOGENTRY: return "CatalogEntry";
7748            case CHARGEITEM: return "ChargeItem";
7749            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
7750            case CLAIM: return "Claim";
7751            case CLAIMRESPONSE: return "ClaimResponse";
7752            case CLINICALIMPRESSION: return "ClinicalImpression";
7753            case CODESYSTEM: return "CodeSystem";
7754            case COMMUNICATION: return "Communication";
7755            case COMMUNICATIONREQUEST: return "CommunicationRequest";
7756            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
7757            case COMPOSITION: return "Composition";
7758            case CONCEPTMAP: return "ConceptMap";
7759            case CONDITION: return "Condition";
7760            case CONSENT: return "Consent";
7761            case CONTRACT: return "Contract";
7762            case COVERAGE: return "Coverage";
7763            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
7764            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
7765            case DETECTEDISSUE: return "DetectedIssue";
7766            case DEVICE: return "Device";
7767            case DEVICEDEFINITION: return "DeviceDefinition";
7768            case DEVICEMETRIC: return "DeviceMetric";
7769            case DEVICEREQUEST: return "DeviceRequest";
7770            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
7771            case DIAGNOSTICREPORT: return "DiagnosticReport";
7772            case DOCUMENTMANIFEST: return "DocumentManifest";
7773            case DOCUMENTREFERENCE: return "DocumentReference";
7774            case DOMAINRESOURCE: return "DomainResource";
7775            case ENCOUNTER: return "Encounter";
7776            case ENDPOINT: return "Endpoint";
7777            case ENROLLMENTREQUEST: return "EnrollmentRequest";
7778            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
7779            case EPISODEOFCARE: return "EpisodeOfCare";
7780            case EVENTDEFINITION: return "EventDefinition";
7781            case EXAMPLESCENARIO: return "ExampleScenario";
7782            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
7783            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
7784            case FLAG: return "Flag";
7785            case GOAL: return "Goal";
7786            case GRAPHDEFINITION: return "GraphDefinition";
7787            case GROUP: return "Group";
7788            case GUIDANCERESPONSE: return "GuidanceResponse";
7789            case HEALTHCARESERVICE: return "HealthcareService";
7790            case IMAGINGSTUDY: return "ImagingStudy";
7791            case IMMUNIZATION: return "Immunization";
7792            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
7793            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
7794            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
7795            case INSURANCEPLAN: return "InsurancePlan";
7796            case INVOICE: return "Invoice";
7797            case ITEMINSTANCE: return "ItemInstance";
7798            case LIBRARY: return "Library";
7799            case LINKAGE: return "Linkage";
7800            case LIST: return "List";
7801            case LOCATION: return "Location";
7802            case MEASURE: return "Measure";
7803            case MEASUREREPORT: return "MeasureReport";
7804            case MEDIA: return "Media";
7805            case MEDICATION: return "Medication";
7806            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
7807            case MEDICATIONDISPENSE: return "MedicationDispense";
7808            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
7809            case MEDICATIONREQUEST: return "MedicationRequest";
7810            case MEDICATIONSTATEMENT: return "MedicationStatement";
7811            case MEDICINALPRODUCT: return "MedicinalProduct";
7812            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
7813            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
7814            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
7815            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
7816            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
7817            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
7818            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
7819            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
7820            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
7821            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
7822            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
7823            case MESSAGEDEFINITION: return "MessageDefinition";
7824            case MESSAGEHEADER: return "MessageHeader";
7825            case NAMINGSYSTEM: return "NamingSystem";
7826            case NUTRITIONORDER: return "NutritionOrder";
7827            case OBSERVATION: return "Observation";
7828            case OBSERVATIONDEFINITION: return "ObservationDefinition";
7829            case OPERATIONDEFINITION: return "OperationDefinition";
7830            case OPERATIONOUTCOME: return "OperationOutcome";
7831            case ORGANIZATION: return "Organization";
7832            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
7833            case PARAMETERS: return "Parameters";
7834            case PATIENT: return "Patient";
7835            case PAYMENTNOTICE: return "PaymentNotice";
7836            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
7837            case PERSON: return "Person";
7838            case PLANDEFINITION: return "PlanDefinition";
7839            case PRACTITIONER: return "Practitioner";
7840            case PRACTITIONERROLE: return "PractitionerRole";
7841            case PROCEDURE: return "Procedure";
7842            case PROCESSREQUEST: return "ProcessRequest";
7843            case PROCESSRESPONSE: return "ProcessResponse";
7844            case PROVENANCE: return "Provenance";
7845            case QUESTIONNAIRE: return "Questionnaire";
7846            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
7847            case RELATEDPERSON: return "RelatedPerson";
7848            case REQUESTGROUP: return "RequestGroup";
7849            case RESEARCHSTUDY: return "ResearchStudy";
7850            case RESEARCHSUBJECT: return "ResearchSubject";
7851            case RESOURCE: return "Resource";
7852            case RISKASSESSMENT: return "RiskAssessment";
7853            case SCHEDULE: return "Schedule";
7854            case SEARCHPARAMETER: return "SearchParameter";
7855            case SEQUENCE: return "Sequence";
7856            case SERVICEREQUEST: return "ServiceRequest";
7857            case SLOT: return "Slot";
7858            case SPECIMEN: return "Specimen";
7859            case SPECIMENDEFINITION: return "SpecimenDefinition";
7860            case STRUCTUREDEFINITION: return "StructureDefinition";
7861            case STRUCTUREMAP: return "StructureMap";
7862            case SUBSCRIPTION: return "Subscription";
7863            case SUBSTANCE: return "Substance";
7864            case SUBSTANCEPOLYMER: return "SubstancePolymer";
7865            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
7866            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
7867            case SUPPLYDELIVERY: return "SupplyDelivery";
7868            case SUPPLYREQUEST: return "SupplyRequest";
7869            case TASK: return "Task";
7870            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
7871            case TESTREPORT: return "TestReport";
7872            case TESTSCRIPT: return "TestScript";
7873            case USERSESSION: return "UserSession";
7874            case VALUESET: return "ValueSet";
7875            case VERIFICATIONRESULT: return "VerificationResult";
7876            case VISIONPRESCRIPTION: return "VisionPrescription";
7877            default: return "?";
7878          }
7879        }
7880        public String getSystem() {
7881          switch (this) {
7882            case ADDRESS: return "http://hl7.org/fhir/data-types";
7883            case AGE: return "http://hl7.org/fhir/data-types";
7884            case ANNOTATION: return "http://hl7.org/fhir/data-types";
7885            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
7886            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
7887            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
7888            case CODING: return "http://hl7.org/fhir/data-types";
7889            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
7890            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
7891            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
7892            case COUNT: return "http://hl7.org/fhir/data-types";
7893            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
7894            case DISTANCE: return "http://hl7.org/fhir/data-types";
7895            case DOSAGE: return "http://hl7.org/fhir/data-types";
7896            case DURATION: return "http://hl7.org/fhir/data-types";
7897            case ELEMENT: return "http://hl7.org/fhir/data-types";
7898            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
7899            case EXPRESSION: return "http://hl7.org/fhir/data-types";
7900            case EXTENSION: return "http://hl7.org/fhir/data-types";
7901            case HUMANNAME: return "http://hl7.org/fhir/data-types";
7902            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
7903            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
7904            case META: return "http://hl7.org/fhir/data-types";
7905            case MONEY: return "http://hl7.org/fhir/data-types";
7906            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
7907            case NARRATIVE: return "http://hl7.org/fhir/data-types";
7908            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
7909            case PERIOD: return "http://hl7.org/fhir/data-types";
7910            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
7911            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
7912            case QUANTITY: return "http://hl7.org/fhir/data-types";
7913            case RANGE: return "http://hl7.org/fhir/data-types";
7914            case RATIO: return "http://hl7.org/fhir/data-types";
7915            case REFERENCE: return "http://hl7.org/fhir/data-types";
7916            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
7917            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
7918            case SIGNATURE: return "http://hl7.org/fhir/data-types";
7919            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
7920            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
7921            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
7922            case TIMING: return "http://hl7.org/fhir/data-types";
7923            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
7924            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
7925            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
7926            case BOOLEAN: return "http://hl7.org/fhir/data-types";
7927            case CANONICAL: return "http://hl7.org/fhir/data-types";
7928            case CODE: return "http://hl7.org/fhir/data-types";
7929            case DATE: return "http://hl7.org/fhir/data-types";
7930            case DATETIME: return "http://hl7.org/fhir/data-types";
7931            case DECIMAL: return "http://hl7.org/fhir/data-types";
7932            case ID: return "http://hl7.org/fhir/data-types";
7933            case INSTANT: return "http://hl7.org/fhir/data-types";
7934            case INTEGER: return "http://hl7.org/fhir/data-types";
7935            case MARKDOWN: return "http://hl7.org/fhir/data-types";
7936            case OID: return "http://hl7.org/fhir/data-types";
7937            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
7938            case STRING: return "http://hl7.org/fhir/data-types";
7939            case TIME: return "http://hl7.org/fhir/data-types";
7940            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
7941            case URI: return "http://hl7.org/fhir/data-types";
7942            case URL: return "http://hl7.org/fhir/data-types";
7943            case UUID: return "http://hl7.org/fhir/data-types";
7944            case XHTML: return "http://hl7.org/fhir/data-types";
7945            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
7946            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
7947            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
7948            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
7949            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
7950            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
7951            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
7952            case BASIC: return "http://hl7.org/fhir/resource-types";
7953            case BINARY: return "http://hl7.org/fhir/resource-types";
7954            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
7955            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
7956            case BUNDLE: return "http://hl7.org/fhir/resource-types";
7957            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
7958            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
7959            case CARETEAM: return "http://hl7.org/fhir/resource-types";
7960            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
7961            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
7962            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
7963            case CLAIM: return "http://hl7.org/fhir/resource-types";
7964            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
7965            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
7966            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
7967            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
7968            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
7969            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
7970            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
7971            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
7972            case CONDITION: return "http://hl7.org/fhir/resource-types";
7973            case CONSENT: return "http://hl7.org/fhir/resource-types";
7974            case CONTRACT: return "http://hl7.org/fhir/resource-types";
7975            case COVERAGE: return "http://hl7.org/fhir/resource-types";
7976            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
7977            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
7978            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
7979            case DEVICE: return "http://hl7.org/fhir/resource-types";
7980            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
7981            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
7982            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
7983            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
7984            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
7985            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
7986            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
7987            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
7988            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
7989            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
7990            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
7991            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
7992            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
7993            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
7994            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
7995            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
7996            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
7997            case FLAG: return "http://hl7.org/fhir/resource-types";
7998            case GOAL: return "http://hl7.org/fhir/resource-types";
7999            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
8000            case GROUP: return "http://hl7.org/fhir/resource-types";
8001            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
8002            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
8003            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
8004            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
8005            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
8006            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
8007            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
8008            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
8009            case INVOICE: return "http://hl7.org/fhir/resource-types";
8010            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
8011            case LIBRARY: return "http://hl7.org/fhir/resource-types";
8012            case LINKAGE: return "http://hl7.org/fhir/resource-types";
8013            case LIST: return "http://hl7.org/fhir/resource-types";
8014            case LOCATION: return "http://hl7.org/fhir/resource-types";
8015            case MEASURE: return "http://hl7.org/fhir/resource-types";
8016            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
8017            case MEDIA: return "http://hl7.org/fhir/resource-types";
8018            case MEDICATION: return "http://hl7.org/fhir/resource-types";
8019            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
8020            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
8021            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
8022            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
8023            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
8024            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
8025            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
8026            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
8027            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
8028            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
8029            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
8030            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
8031            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
8032            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
8033            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
8034            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
8035            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
8036            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
8037            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
8038            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
8039            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
8040            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
8041            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8042            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8043            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
8044            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
8045            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
8046            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
8047            case PATIENT: return "http://hl7.org/fhir/resource-types";
8048            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
8049            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
8050            case PERSON: return "http://hl7.org/fhir/resource-types";
8051            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
8052            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
8053            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
8054            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
8055            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
8056            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
8057            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
8058            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
8059            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
8060            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
8061            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
8062            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
8063            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
8064            case RESOURCE: return "http://hl7.org/fhir/resource-types";
8065            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
8066            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
8067            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
8068            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
8069            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
8070            case SLOT: return "http://hl7.org/fhir/resource-types";
8071            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
8072            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
8073            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
8074            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
8075            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
8076            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
8077            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
8078            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
8079            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
8080            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
8081            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
8082            case TASK: return "http://hl7.org/fhir/resource-types";
8083            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
8084            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
8085            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
8086            case USERSESSION: return "http://hl7.org/fhir/resource-types";
8087            case VALUESET: return "http://hl7.org/fhir/resource-types";
8088            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
8089            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
8090            default: return "?";
8091          }
8092        }
8093        public String getDefinition() {
8094          switch (this) {
8095            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.";
8096            case AGE: return "A duration of time during which an organism (or a process) has existed.";
8097            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
8098            case ATTACHMENT: return "For referring to data content defined in other formats.";
8099            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
8100            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
8101            case CODING: return "A reference to a code defined by a terminology system.";
8102            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
8103            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
8104            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
8105            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.";
8106            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.";
8107            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
8108            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
8109            case DURATION: return "A length of time.";
8110            case ELEMENT: return "Base definition for all elements in a resource.";
8111            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
8112            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.";
8113            case EXTENSION: return "Optional Extension Element - found in all resources.";
8114            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
8115            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
8116            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.";
8117            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.";
8118            case MONEY: return "An amount of economic utility in some recognized currency.";
8119            case MONEYQUANTITY: return "";
8120            case NARRATIVE: return "A human-readable formatted text, including images.";
8121            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.";
8122            case PERIOD: return "A time period defined by a start and end date and optionally time.";
8123            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.";
8124            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
8125            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.";
8126            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
8127            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
8128            case REFERENCE: return "A reference from one resource to another.";
8129            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
8130            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.";
8131            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.";
8132            case SIMPLEQUANTITY: return "";
8133            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.";
8134            case SUBSTANCEMOIETY: 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.";
8135            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.";
8136            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.";
8137            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).";
8138            case BASE64BINARY: return "A stream of bytes";
8139            case BOOLEAN: return "Value of \"true\" or \"false\"";
8140            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
8141            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";
8142            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.";
8143            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.";
8144            case DECIMAL: return "A rational number with implicit precision";
8145            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.";
8146            case INSTANT: return "An instant in time - known at least to the second";
8147            case INTEGER: return "A whole number";
8148            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
8149            case OID: return "An OID represented as a URI";
8150            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
8151            case STRING: return "A sequence of Unicode characters";
8152            case TIME: return "A time during the day, with no date specified";
8153            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
8154            case URI: return "String of characters used to identify a name or a resource";
8155            case URL: return "A URI that is a literal reference";
8156            case UUID: return "A UUID, represented as a URI";
8157            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
8158            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.";
8159            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.";
8160            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.";
8161            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
8162            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).";
8163            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
8164            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.";
8165            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.";
8166            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.";
8167            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
8168            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.";
8169            case BUNDLE: return "A container for a collection of resources.";
8170            case CAPABILITYSTATEMENT: return "A Capability Statement 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.";
8171            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.";
8172            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.";
8173            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
8174            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.";
8175            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.";
8176            case CLAIM: return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.";
8177            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
8178            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.";
8179            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.";
8180            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.";
8181            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.";
8182            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
8183            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.).";
8184            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.";
8185            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
8186            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.";
8187            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
8188            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
8189            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.";
8190            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
8191            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.";
8192            case DEVICE: return "This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).";
8193            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
8194            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
8195            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.";
8196            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.";
8197            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.";
8198            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
8199            case DOCUMENTREFERENCE: return "A reference to a document.";
8200            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
8201            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.";
8202            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.";
8203            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
8204            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
8205            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.";
8206            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
8207            case EXAMPLESCENARIO: return "Example of workflow instance.";
8208            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.";
8209            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
8210            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
8211            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.";
8212            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.";
8213            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.";
8214            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.";
8215            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
8216            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.";
8217            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.";
8218            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.";
8219            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
8220            case IMPLEMENTATIONGUIDE: return "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
8221            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
8222            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
8223            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
8224            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.";
8225            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
8226            case LIST: return "A set of information summarized from a list of other resources.";
8227            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.";
8228            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
8229            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.";
8230            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.";
8231            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.";
8232            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.";
8233            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.";
8234            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
8235            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.";
8236            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. \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
8237            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
8238            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
8239            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
8240            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
8241            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.";
8242            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
8243            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
8244            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
8245            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
8246            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
8247            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
8248            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
8249            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.";
8250            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.";
8251            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.";
8252            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
8253            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
8254            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
8255            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
8256            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
8257            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.";
8258            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
8259            case PARAMETERS: return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
8260            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
8261            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
8262            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
8263            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
8264            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.";
8265            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
8266            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
8267            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.";
8268            case PROCESSREQUEST: return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.";
8269            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
8270            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.";
8271            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.";
8272            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.";
8273            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.";
8274            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\".";
8275            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.";
8276            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
8277            case RESOURCE: return "This is the base resource type for everything.";
8278            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
8279            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
8280            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
8281            case SEQUENCE: return "Raw data describing a biological sequence.";
8282            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
8283            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
8284            case SPECIMEN: return "A sample to be used for analysis.";
8285            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
8286            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.";
8287            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
8288            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.";
8289            case SUBSTANCE: return "A homogeneous material with a definite composition.";
8290            case SUBSTANCEPOLYMER: return "Todo.";
8291            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
8292            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
8293            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
8294            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
8295            case TASK: return "A task to be performed.";
8296            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.";
8297            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
8298            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
8299            case USERSESSION: return "Information about a user's current session.";
8300            case VALUESET: return "A ValueSet resource instances 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).";
8301            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
8302            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
8303            default: return "?";
8304          }
8305        }
8306        public String getDisplay() {
8307          switch (this) {
8308            case ADDRESS: return "Address";
8309            case AGE: return "Age";
8310            case ANNOTATION: return "Annotation";
8311            case ATTACHMENT: return "Attachment";
8312            case BACKBONEELEMENT: return "BackboneElement";
8313            case CODEABLECONCEPT: return "CodeableConcept";
8314            case CODING: return "Coding";
8315            case CONTACTDETAIL: return "ContactDetail";
8316            case CONTACTPOINT: return "ContactPoint";
8317            case CONTRIBUTOR: return "Contributor";
8318            case COUNT: return "Count";
8319            case DATAREQUIREMENT: return "DataRequirement";
8320            case DISTANCE: return "Distance";
8321            case DOSAGE: return "Dosage";
8322            case DURATION: return "Duration";
8323            case ELEMENT: return "Element";
8324            case ELEMENTDEFINITION: return "ElementDefinition";
8325            case EXPRESSION: return "Expression";
8326            case EXTENSION: return "Extension";
8327            case HUMANNAME: return "HumanName";
8328            case IDENTIFIER: return "Identifier";
8329            case MARKETINGSTATUS: return "MarketingStatus";
8330            case META: return "Meta";
8331            case MONEY: return "Money";
8332            case MONEYQUANTITY: return "MoneyQuantity";
8333            case NARRATIVE: return "Narrative";
8334            case PARAMETERDEFINITION: return "ParameterDefinition";
8335            case PERIOD: return "Period";
8336            case PRODCHARACTERISTIC: return "ProdCharacteristic";
8337            case PRODUCTSHELFLIFE: return "ProductShelfLife";
8338            case QUANTITY: return "Quantity";
8339            case RANGE: return "Range";
8340            case RATIO: return "Ratio";
8341            case REFERENCE: return "Reference";
8342            case RELATEDARTIFACT: return "RelatedArtifact";
8343            case SAMPLEDDATA: return "SampledData";
8344            case SIGNATURE: return "Signature";
8345            case SIMPLEQUANTITY: return "SimpleQuantity";
8346            case SUBSTANCEAMOUNT: return "SubstanceAmount";
8347            case SUBSTANCEMOIETY: return "SubstanceMoiety";
8348            case TIMING: return "Timing";
8349            case TRIGGERDEFINITION: return "TriggerDefinition";
8350            case USAGECONTEXT: return "UsageContext";
8351            case BASE64BINARY: return "base64Binary";
8352            case BOOLEAN: return "boolean";
8353            case CANONICAL: return "canonical";
8354            case CODE: return "code";
8355            case DATE: return "date";
8356            case DATETIME: return "dateTime";
8357            case DECIMAL: return "decimal";
8358            case ID: return "id";
8359            case INSTANT: return "instant";
8360            case INTEGER: return "integer";
8361            case MARKDOWN: return "markdown";
8362            case OID: return "oid";
8363            case POSITIVEINT: return "positiveInt";
8364            case STRING: return "string";
8365            case TIME: return "time";
8366            case UNSIGNEDINT: return "unsignedInt";
8367            case URI: return "uri";
8368            case URL: return "url";
8369            case UUID: return "uuid";
8370            case XHTML: return "XHTML";
8371            case ACCOUNT: return "Account";
8372            case ACTIVITYDEFINITION: return "ActivityDefinition";
8373            case ADVERSEEVENT: return "AdverseEvent";
8374            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
8375            case APPOINTMENT: return "Appointment";
8376            case APPOINTMENTRESPONSE: return "AppointmentResponse";
8377            case AUDITEVENT: return "AuditEvent";
8378            case BASIC: return "Basic";
8379            case BINARY: return "Binary";
8380            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
8381            case BODYSTRUCTURE: return "BodyStructure";
8382            case BUNDLE: return "Bundle";
8383            case CAPABILITYSTATEMENT: return "CapabilityStatement";
8384            case CAREPLAN: return "CarePlan";
8385            case CARETEAM: return "CareTeam";
8386            case CATALOGENTRY: return "CatalogEntry";
8387            case CHARGEITEM: return "ChargeItem";
8388            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
8389            case CLAIM: return "Claim";
8390            case CLAIMRESPONSE: return "ClaimResponse";
8391            case CLINICALIMPRESSION: return "ClinicalImpression";
8392            case CODESYSTEM: return "CodeSystem";
8393            case COMMUNICATION: return "Communication";
8394            case COMMUNICATIONREQUEST: return "CommunicationRequest";
8395            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
8396            case COMPOSITION: return "Composition";
8397            case CONCEPTMAP: return "ConceptMap";
8398            case CONDITION: return "Condition";
8399            case CONSENT: return "Consent";
8400            case CONTRACT: return "Contract";
8401            case COVERAGE: return "Coverage";
8402            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
8403            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
8404            case DETECTEDISSUE: return "DetectedIssue";
8405            case DEVICE: return "Device";
8406            case DEVICEDEFINITION: return "DeviceDefinition";
8407            case DEVICEMETRIC: return "DeviceMetric";
8408            case DEVICEREQUEST: return "DeviceRequest";
8409            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
8410            case DIAGNOSTICREPORT: return "DiagnosticReport";
8411            case DOCUMENTMANIFEST: return "DocumentManifest";
8412            case DOCUMENTREFERENCE: return "DocumentReference";
8413            case DOMAINRESOURCE: return "DomainResource";
8414            case ENCOUNTER: return "Encounter";
8415            case ENDPOINT: return "Endpoint";
8416            case ENROLLMENTREQUEST: return "EnrollmentRequest";
8417            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
8418            case EPISODEOFCARE: return "EpisodeOfCare";
8419            case EVENTDEFINITION: return "EventDefinition";
8420            case EXAMPLESCENARIO: return "ExampleScenario";
8421            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
8422            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
8423            case FLAG: return "Flag";
8424            case GOAL: return "Goal";
8425            case GRAPHDEFINITION: return "GraphDefinition";
8426            case GROUP: return "Group";
8427            case GUIDANCERESPONSE: return "GuidanceResponse";
8428            case HEALTHCARESERVICE: return "HealthcareService";
8429            case IMAGINGSTUDY: return "ImagingStudy";
8430            case IMMUNIZATION: return "Immunization";
8431            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
8432            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
8433            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
8434            case INSURANCEPLAN: return "InsurancePlan";
8435            case INVOICE: return "Invoice";
8436            case ITEMINSTANCE: return "ItemInstance";
8437            case LIBRARY: return "Library";
8438            case LINKAGE: return "Linkage";
8439            case LIST: return "List";
8440            case LOCATION: return "Location";
8441            case MEASURE: return "Measure";
8442            case MEASUREREPORT: return "MeasureReport";
8443            case MEDIA: return "Media";
8444            case MEDICATION: return "Medication";
8445            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
8446            case MEDICATIONDISPENSE: return "MedicationDispense";
8447            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
8448            case MEDICATIONREQUEST: return "MedicationRequest";
8449            case MEDICATIONSTATEMENT: return "MedicationStatement";
8450            case MEDICINALPRODUCT: return "MedicinalProduct";
8451            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
8452            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
8453            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
8454            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
8455            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
8456            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
8457            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
8458            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
8459            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
8460            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
8461            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
8462            case MESSAGEDEFINITION: return "MessageDefinition";
8463            case MESSAGEHEADER: return "MessageHeader";
8464            case NAMINGSYSTEM: return "NamingSystem";
8465            case NUTRITIONORDER: return "NutritionOrder";
8466            case OBSERVATION: return "Observation";
8467            case OBSERVATIONDEFINITION: return "ObservationDefinition";
8468            case OPERATIONDEFINITION: return "OperationDefinition";
8469            case OPERATIONOUTCOME: return "OperationOutcome";
8470            case ORGANIZATION: return "Organization";
8471            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
8472            case PARAMETERS: return "Parameters";
8473            case PATIENT: return "Patient";
8474            case PAYMENTNOTICE: return "PaymentNotice";
8475            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
8476            case PERSON: return "Person";
8477            case PLANDEFINITION: return "PlanDefinition";
8478            case PRACTITIONER: return "Practitioner";
8479            case PRACTITIONERROLE: return "PractitionerRole";
8480            case PROCEDURE: return "Procedure";
8481            case PROCESSREQUEST: return "ProcessRequest";
8482            case PROCESSRESPONSE: return "ProcessResponse";
8483            case PROVENANCE: return "Provenance";
8484            case QUESTIONNAIRE: return "Questionnaire";
8485            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
8486            case RELATEDPERSON: return "RelatedPerson";
8487            case REQUESTGROUP: return "RequestGroup";
8488            case RESEARCHSTUDY: return "ResearchStudy";
8489            case RESEARCHSUBJECT: return "ResearchSubject";
8490            case RESOURCE: return "Resource";
8491            case RISKASSESSMENT: return "RiskAssessment";
8492            case SCHEDULE: return "Schedule";
8493            case SEARCHPARAMETER: return "SearchParameter";
8494            case SEQUENCE: return "Sequence";
8495            case SERVICEREQUEST: return "ServiceRequest";
8496            case SLOT: return "Slot";
8497            case SPECIMEN: return "Specimen";
8498            case SPECIMENDEFINITION: return "SpecimenDefinition";
8499            case STRUCTUREDEFINITION: return "StructureDefinition";
8500            case STRUCTUREMAP: return "StructureMap";
8501            case SUBSCRIPTION: return "Subscription";
8502            case SUBSTANCE: return "Substance";
8503            case SUBSTANCEPOLYMER: return "SubstancePolymer";
8504            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
8505            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
8506            case SUPPLYDELIVERY: return "SupplyDelivery";
8507            case SUPPLYREQUEST: return "SupplyRequest";
8508            case TASK: return "Task";
8509            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
8510            case TESTREPORT: return "TestReport";
8511            case TESTSCRIPT: return "TestScript";
8512            case USERSESSION: return "UserSession";
8513            case VALUESET: return "ValueSet";
8514            case VERIFICATIONRESULT: return "VerificationResult";
8515            case VISIONPRESCRIPTION: return "VisionPrescription";
8516            default: return "?";
8517          }
8518        }
8519    }
8520
8521  public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> {
8522    public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException {
8523      if (codeString == null || "".equals(codeString))
8524            if (codeString == null || "".equals(codeString))
8525                return null;
8526        if ("Address".equals(codeString))
8527          return FHIRDefinedType.ADDRESS;
8528        if ("Age".equals(codeString))
8529          return FHIRDefinedType.AGE;
8530        if ("Annotation".equals(codeString))
8531          return FHIRDefinedType.ANNOTATION;
8532        if ("Attachment".equals(codeString))
8533          return FHIRDefinedType.ATTACHMENT;
8534        if ("BackboneElement".equals(codeString))
8535          return FHIRDefinedType.BACKBONEELEMENT;
8536        if ("CodeableConcept".equals(codeString))
8537          return FHIRDefinedType.CODEABLECONCEPT;
8538        if ("Coding".equals(codeString))
8539          return FHIRDefinedType.CODING;
8540        if ("ContactDetail".equals(codeString))
8541          return FHIRDefinedType.CONTACTDETAIL;
8542        if ("ContactPoint".equals(codeString))
8543          return FHIRDefinedType.CONTACTPOINT;
8544        if ("Contributor".equals(codeString))
8545          return FHIRDefinedType.CONTRIBUTOR;
8546        if ("Count".equals(codeString))
8547          return FHIRDefinedType.COUNT;
8548        if ("DataRequirement".equals(codeString))
8549          return FHIRDefinedType.DATAREQUIREMENT;
8550        if ("Distance".equals(codeString))
8551          return FHIRDefinedType.DISTANCE;
8552        if ("Dosage".equals(codeString))
8553          return FHIRDefinedType.DOSAGE;
8554        if ("Duration".equals(codeString))
8555          return FHIRDefinedType.DURATION;
8556        if ("Element".equals(codeString))
8557          return FHIRDefinedType.ELEMENT;
8558        if ("ElementDefinition".equals(codeString))
8559          return FHIRDefinedType.ELEMENTDEFINITION;
8560        if ("Expression".equals(codeString))
8561          return FHIRDefinedType.EXPRESSION;
8562        if ("Extension".equals(codeString))
8563          return FHIRDefinedType.EXTENSION;
8564        if ("HumanName".equals(codeString))
8565          return FHIRDefinedType.HUMANNAME;
8566        if ("Identifier".equals(codeString))
8567          return FHIRDefinedType.IDENTIFIER;
8568        if ("MarketingStatus".equals(codeString))
8569          return FHIRDefinedType.MARKETINGSTATUS;
8570        if ("Meta".equals(codeString))
8571          return FHIRDefinedType.META;
8572        if ("Money".equals(codeString))
8573          return FHIRDefinedType.MONEY;
8574        if ("MoneyQuantity".equals(codeString))
8575          return FHIRDefinedType.MONEYQUANTITY;
8576        if ("Narrative".equals(codeString))
8577          return FHIRDefinedType.NARRATIVE;
8578        if ("ParameterDefinition".equals(codeString))
8579          return FHIRDefinedType.PARAMETERDEFINITION;
8580        if ("Period".equals(codeString))
8581          return FHIRDefinedType.PERIOD;
8582        if ("ProdCharacteristic".equals(codeString))
8583          return FHIRDefinedType.PRODCHARACTERISTIC;
8584        if ("ProductShelfLife".equals(codeString))
8585          return FHIRDefinedType.PRODUCTSHELFLIFE;
8586        if ("Quantity".equals(codeString))
8587          return FHIRDefinedType.QUANTITY;
8588        if ("Range".equals(codeString))
8589          return FHIRDefinedType.RANGE;
8590        if ("Ratio".equals(codeString))
8591          return FHIRDefinedType.RATIO;
8592        if ("Reference".equals(codeString))
8593          return FHIRDefinedType.REFERENCE;
8594        if ("RelatedArtifact".equals(codeString))
8595          return FHIRDefinedType.RELATEDARTIFACT;
8596        if ("SampledData".equals(codeString))
8597          return FHIRDefinedType.SAMPLEDDATA;
8598        if ("Signature".equals(codeString))
8599          return FHIRDefinedType.SIGNATURE;
8600        if ("SimpleQuantity".equals(codeString))
8601          return FHIRDefinedType.SIMPLEQUANTITY;
8602        if ("SubstanceAmount".equals(codeString))
8603          return FHIRDefinedType.SUBSTANCEAMOUNT;
8604        if ("SubstanceMoiety".equals(codeString))
8605          return FHIRDefinedType.SUBSTANCEMOIETY;
8606        if ("Timing".equals(codeString))
8607          return FHIRDefinedType.TIMING;
8608        if ("TriggerDefinition".equals(codeString))
8609          return FHIRDefinedType.TRIGGERDEFINITION;
8610        if ("UsageContext".equals(codeString))
8611          return FHIRDefinedType.USAGECONTEXT;
8612        if ("base64Binary".equals(codeString))
8613          return FHIRDefinedType.BASE64BINARY;
8614        if ("boolean".equals(codeString))
8615          return FHIRDefinedType.BOOLEAN;
8616        if ("canonical".equals(codeString))
8617          return FHIRDefinedType.CANONICAL;
8618        if ("code".equals(codeString))
8619          return FHIRDefinedType.CODE;
8620        if ("date".equals(codeString))
8621          return FHIRDefinedType.DATE;
8622        if ("dateTime".equals(codeString))
8623          return FHIRDefinedType.DATETIME;
8624        if ("decimal".equals(codeString))
8625          return FHIRDefinedType.DECIMAL;
8626        if ("id".equals(codeString))
8627          return FHIRDefinedType.ID;
8628        if ("instant".equals(codeString))
8629          return FHIRDefinedType.INSTANT;
8630        if ("integer".equals(codeString))
8631          return FHIRDefinedType.INTEGER;
8632        if ("markdown".equals(codeString))
8633          return FHIRDefinedType.MARKDOWN;
8634        if ("oid".equals(codeString))
8635          return FHIRDefinedType.OID;
8636        if ("positiveInt".equals(codeString))
8637          return FHIRDefinedType.POSITIVEINT;
8638        if ("string".equals(codeString))
8639          return FHIRDefinedType.STRING;
8640        if ("time".equals(codeString))
8641          return FHIRDefinedType.TIME;
8642        if ("unsignedInt".equals(codeString))
8643          return FHIRDefinedType.UNSIGNEDINT;
8644        if ("uri".equals(codeString))
8645          return FHIRDefinedType.URI;
8646        if ("url".equals(codeString))
8647          return FHIRDefinedType.URL;
8648        if ("uuid".equals(codeString))
8649          return FHIRDefinedType.UUID;
8650        if ("xhtml".equals(codeString))
8651          return FHIRDefinedType.XHTML;
8652        if ("Account".equals(codeString))
8653          return FHIRDefinedType.ACCOUNT;
8654        if ("ActivityDefinition".equals(codeString))
8655          return FHIRDefinedType.ACTIVITYDEFINITION;
8656        if ("AdverseEvent".equals(codeString))
8657          return FHIRDefinedType.ADVERSEEVENT;
8658        if ("AllergyIntolerance".equals(codeString))
8659          return FHIRDefinedType.ALLERGYINTOLERANCE;
8660        if ("Appointment".equals(codeString))
8661          return FHIRDefinedType.APPOINTMENT;
8662        if ("AppointmentResponse".equals(codeString))
8663          return FHIRDefinedType.APPOINTMENTRESPONSE;
8664        if ("AuditEvent".equals(codeString))
8665          return FHIRDefinedType.AUDITEVENT;
8666        if ("Basic".equals(codeString))
8667          return FHIRDefinedType.BASIC;
8668        if ("Binary".equals(codeString))
8669          return FHIRDefinedType.BINARY;
8670        if ("BiologicallyDerivedProduct".equals(codeString))
8671          return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT;
8672        if ("BodyStructure".equals(codeString))
8673          return FHIRDefinedType.BODYSTRUCTURE;
8674        if ("Bundle".equals(codeString))
8675          return FHIRDefinedType.BUNDLE;
8676        if ("CapabilityStatement".equals(codeString))
8677          return FHIRDefinedType.CAPABILITYSTATEMENT;
8678        if ("CarePlan".equals(codeString))
8679          return FHIRDefinedType.CAREPLAN;
8680        if ("CareTeam".equals(codeString))
8681          return FHIRDefinedType.CARETEAM;
8682        if ("CatalogEntry".equals(codeString))
8683          return FHIRDefinedType.CATALOGENTRY;
8684        if ("ChargeItem".equals(codeString))
8685          return FHIRDefinedType.CHARGEITEM;
8686        if ("ChargeItemDefinition".equals(codeString))
8687          return FHIRDefinedType.CHARGEITEMDEFINITION;
8688        if ("Claim".equals(codeString))
8689          return FHIRDefinedType.CLAIM;
8690        if ("ClaimResponse".equals(codeString))
8691          return FHIRDefinedType.CLAIMRESPONSE;
8692        if ("ClinicalImpression".equals(codeString))
8693          return FHIRDefinedType.CLINICALIMPRESSION;
8694        if ("CodeSystem".equals(codeString))
8695          return FHIRDefinedType.CODESYSTEM;
8696        if ("Communication".equals(codeString))
8697          return FHIRDefinedType.COMMUNICATION;
8698        if ("CommunicationRequest".equals(codeString))
8699          return FHIRDefinedType.COMMUNICATIONREQUEST;
8700        if ("CompartmentDefinition".equals(codeString))
8701          return FHIRDefinedType.COMPARTMENTDEFINITION;
8702        if ("Composition".equals(codeString))
8703          return FHIRDefinedType.COMPOSITION;
8704        if ("ConceptMap".equals(codeString))
8705          return FHIRDefinedType.CONCEPTMAP;
8706        if ("Condition".equals(codeString))
8707          return FHIRDefinedType.CONDITION;
8708        if ("Consent".equals(codeString))
8709          return FHIRDefinedType.CONSENT;
8710        if ("Contract".equals(codeString))
8711          return FHIRDefinedType.CONTRACT;
8712        if ("Coverage".equals(codeString))
8713          return FHIRDefinedType.COVERAGE;
8714        if ("CoverageEligibilityRequest".equals(codeString))
8715          return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST;
8716        if ("CoverageEligibilityResponse".equals(codeString))
8717          return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE;
8718        if ("DetectedIssue".equals(codeString))
8719          return FHIRDefinedType.DETECTEDISSUE;
8720        if ("Device".equals(codeString))
8721          return FHIRDefinedType.DEVICE;
8722        if ("DeviceDefinition".equals(codeString))
8723          return FHIRDefinedType.DEVICEDEFINITION;
8724        if ("DeviceMetric".equals(codeString))
8725          return FHIRDefinedType.DEVICEMETRIC;
8726        if ("DeviceRequest".equals(codeString))
8727          return FHIRDefinedType.DEVICEREQUEST;
8728        if ("DeviceUseStatement".equals(codeString))
8729          return FHIRDefinedType.DEVICEUSESTATEMENT;
8730        if ("DiagnosticReport".equals(codeString))
8731          return FHIRDefinedType.DIAGNOSTICREPORT;
8732        if ("DocumentManifest".equals(codeString))
8733          return FHIRDefinedType.DOCUMENTMANIFEST;
8734        if ("DocumentReference".equals(codeString))
8735          return FHIRDefinedType.DOCUMENTREFERENCE;
8736        if ("DomainResource".equals(codeString))
8737          return FHIRDefinedType.DOMAINRESOURCE;
8738        if ("Encounter".equals(codeString))
8739          return FHIRDefinedType.ENCOUNTER;
8740        if ("Endpoint".equals(codeString))
8741          return FHIRDefinedType.ENDPOINT;
8742        if ("EnrollmentRequest".equals(codeString))
8743          return FHIRDefinedType.ENROLLMENTREQUEST;
8744        if ("EnrollmentResponse".equals(codeString))
8745          return FHIRDefinedType.ENROLLMENTRESPONSE;
8746        if ("EpisodeOfCare".equals(codeString))
8747          return FHIRDefinedType.EPISODEOFCARE;
8748        if ("EventDefinition".equals(codeString))
8749          return FHIRDefinedType.EVENTDEFINITION;
8750        if ("ExampleScenario".equals(codeString))
8751          return FHIRDefinedType.EXAMPLESCENARIO;
8752        if ("ExplanationOfBenefit".equals(codeString))
8753          return FHIRDefinedType.EXPLANATIONOFBENEFIT;
8754        if ("FamilyMemberHistory".equals(codeString))
8755          return FHIRDefinedType.FAMILYMEMBERHISTORY;
8756        if ("Flag".equals(codeString))
8757          return FHIRDefinedType.FLAG;
8758        if ("Goal".equals(codeString))
8759          return FHIRDefinedType.GOAL;
8760        if ("GraphDefinition".equals(codeString))
8761          return FHIRDefinedType.GRAPHDEFINITION;
8762        if ("Group".equals(codeString))
8763          return FHIRDefinedType.GROUP;
8764        if ("GuidanceResponse".equals(codeString))
8765          return FHIRDefinedType.GUIDANCERESPONSE;
8766        if ("HealthcareService".equals(codeString))
8767          return FHIRDefinedType.HEALTHCARESERVICE;
8768        if ("ImagingStudy".equals(codeString))
8769          return FHIRDefinedType.IMAGINGSTUDY;
8770        if ("Immunization".equals(codeString))
8771          return FHIRDefinedType.IMMUNIZATION;
8772        if ("ImmunizationEvaluation".equals(codeString))
8773          return FHIRDefinedType.IMMUNIZATIONEVALUATION;
8774        if ("ImmunizationRecommendation".equals(codeString))
8775          return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION;
8776        if ("ImplementationGuide".equals(codeString))
8777          return FHIRDefinedType.IMPLEMENTATIONGUIDE;
8778        if ("InsurancePlan".equals(codeString))
8779          return FHIRDefinedType.INSURANCEPLAN;
8780        if ("Invoice".equals(codeString))
8781          return FHIRDefinedType.INVOICE;
8782        if ("ItemInstance".equals(codeString))
8783          return FHIRDefinedType.ITEMINSTANCE;
8784        if ("Library".equals(codeString))
8785          return FHIRDefinedType.LIBRARY;
8786        if ("Linkage".equals(codeString))
8787          return FHIRDefinedType.LINKAGE;
8788        if ("List".equals(codeString))
8789          return FHIRDefinedType.LIST;
8790        if ("Location".equals(codeString))
8791          return FHIRDefinedType.LOCATION;
8792        if ("Measure".equals(codeString))
8793          return FHIRDefinedType.MEASURE;
8794        if ("MeasureReport".equals(codeString))
8795          return FHIRDefinedType.MEASUREREPORT;
8796        if ("Media".equals(codeString))
8797          return FHIRDefinedType.MEDIA;
8798        if ("Medication".equals(codeString))
8799          return FHIRDefinedType.MEDICATION;
8800        if ("MedicationAdministration".equals(codeString))
8801          return FHIRDefinedType.MEDICATIONADMINISTRATION;
8802        if ("MedicationDispense".equals(codeString))
8803          return FHIRDefinedType.MEDICATIONDISPENSE;
8804        if ("MedicationKnowledge".equals(codeString))
8805          return FHIRDefinedType.MEDICATIONKNOWLEDGE;
8806        if ("MedicationRequest".equals(codeString))
8807          return FHIRDefinedType.MEDICATIONREQUEST;
8808        if ("MedicationStatement".equals(codeString))
8809          return FHIRDefinedType.MEDICATIONSTATEMENT;
8810        if ("MedicinalProduct".equals(codeString))
8811          return FHIRDefinedType.MEDICINALPRODUCT;
8812        if ("MedicinalProductAuthorization".equals(codeString))
8813          return FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION;
8814        if ("MedicinalProductClinicals".equals(codeString))
8815          return FHIRDefinedType.MEDICINALPRODUCTCLINICALS;
8816        if ("MedicinalProductContraindication".equals(codeString))
8817          return FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION;
8818        if ("MedicinalProductDeviceSpec".equals(codeString))
8819          return FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC;
8820        if ("MedicinalProductIndication".equals(codeString))
8821          return FHIRDefinedType.MEDICINALPRODUCTINDICATION;
8822        if ("MedicinalProductIngredient".equals(codeString))
8823          return FHIRDefinedType.MEDICINALPRODUCTINGREDIENT;
8824        if ("MedicinalProductInteraction".equals(codeString))
8825          return FHIRDefinedType.MEDICINALPRODUCTINTERACTION;
8826        if ("MedicinalProductManufactured".equals(codeString))
8827          return FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED;
8828        if ("MedicinalProductPackaged".equals(codeString))
8829          return FHIRDefinedType.MEDICINALPRODUCTPACKAGED;
8830        if ("MedicinalProductPharmaceutical".equals(codeString))
8831          return FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL;
8832        if ("MedicinalProductUndesirableEffect".equals(codeString))
8833          return FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
8834        if ("MessageDefinition".equals(codeString))
8835          return FHIRDefinedType.MESSAGEDEFINITION;
8836        if ("MessageHeader".equals(codeString))
8837          return FHIRDefinedType.MESSAGEHEADER;
8838        if ("NamingSystem".equals(codeString))
8839          return FHIRDefinedType.NAMINGSYSTEM;
8840        if ("NutritionOrder".equals(codeString))
8841          return FHIRDefinedType.NUTRITIONORDER;
8842        if ("Observation".equals(codeString))
8843          return FHIRDefinedType.OBSERVATION;
8844        if ("ObservationDefinition".equals(codeString))
8845          return FHIRDefinedType.OBSERVATIONDEFINITION;
8846        if ("OperationDefinition".equals(codeString))
8847          return FHIRDefinedType.OPERATIONDEFINITION;
8848        if ("OperationOutcome".equals(codeString))
8849          return FHIRDefinedType.OPERATIONOUTCOME;
8850        if ("Organization".equals(codeString))
8851          return FHIRDefinedType.ORGANIZATION;
8852        if ("OrganizationAffiliation".equals(codeString))
8853          return FHIRDefinedType.ORGANIZATIONAFFILIATION;
8854        if ("Parameters".equals(codeString))
8855          return FHIRDefinedType.PARAMETERS;
8856        if ("Patient".equals(codeString))
8857          return FHIRDefinedType.PATIENT;
8858        if ("PaymentNotice".equals(codeString))
8859          return FHIRDefinedType.PAYMENTNOTICE;
8860        if ("PaymentReconciliation".equals(codeString))
8861          return FHIRDefinedType.PAYMENTRECONCILIATION;
8862        if ("Person".equals(codeString))
8863          return FHIRDefinedType.PERSON;
8864        if ("PlanDefinition".equals(codeString))
8865          return FHIRDefinedType.PLANDEFINITION;
8866        if ("Practitioner".equals(codeString))
8867          return FHIRDefinedType.PRACTITIONER;
8868        if ("PractitionerRole".equals(codeString))
8869          return FHIRDefinedType.PRACTITIONERROLE;
8870        if ("Procedure".equals(codeString))
8871          return FHIRDefinedType.PROCEDURE;
8872        if ("ProcessRequest".equals(codeString))
8873          return FHIRDefinedType.PROCESSREQUEST;
8874        if ("ProcessResponse".equals(codeString))
8875          return FHIRDefinedType.PROCESSRESPONSE;
8876        if ("Provenance".equals(codeString))
8877          return FHIRDefinedType.PROVENANCE;
8878        if ("Questionnaire".equals(codeString))
8879          return FHIRDefinedType.QUESTIONNAIRE;
8880        if ("QuestionnaireResponse".equals(codeString))
8881          return FHIRDefinedType.QUESTIONNAIRERESPONSE;
8882        if ("RelatedPerson".equals(codeString))
8883          return FHIRDefinedType.RELATEDPERSON;
8884        if ("RequestGroup".equals(codeString))
8885          return FHIRDefinedType.REQUESTGROUP;
8886        if ("ResearchStudy".equals(codeString))
8887          return FHIRDefinedType.RESEARCHSTUDY;
8888        if ("ResearchSubject".equals(codeString))
8889          return FHIRDefinedType.RESEARCHSUBJECT;
8890        if ("Resource".equals(codeString))
8891          return FHIRDefinedType.RESOURCE;
8892        if ("RiskAssessment".equals(codeString))
8893          return FHIRDefinedType.RISKASSESSMENT;
8894        if ("Schedule".equals(codeString))
8895          return FHIRDefinedType.SCHEDULE;
8896        if ("SearchParameter".equals(codeString))
8897          return FHIRDefinedType.SEARCHPARAMETER;
8898        if ("Sequence".equals(codeString))
8899          return FHIRDefinedType.SEQUENCE;
8900        if ("ServiceRequest".equals(codeString))
8901          return FHIRDefinedType.SERVICEREQUEST;
8902        if ("Slot".equals(codeString))
8903          return FHIRDefinedType.SLOT;
8904        if ("Specimen".equals(codeString))
8905          return FHIRDefinedType.SPECIMEN;
8906        if ("SpecimenDefinition".equals(codeString))
8907          return FHIRDefinedType.SPECIMENDEFINITION;
8908        if ("StructureDefinition".equals(codeString))
8909          return FHIRDefinedType.STRUCTUREDEFINITION;
8910        if ("StructureMap".equals(codeString))
8911          return FHIRDefinedType.STRUCTUREMAP;
8912        if ("Subscription".equals(codeString))
8913          return FHIRDefinedType.SUBSCRIPTION;
8914        if ("Substance".equals(codeString))
8915          return FHIRDefinedType.SUBSTANCE;
8916        if ("SubstancePolymer".equals(codeString))
8917          return FHIRDefinedType.SUBSTANCEPOLYMER;
8918        if ("SubstanceReferenceInformation".equals(codeString))
8919          return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION;
8920        if ("SubstanceSpecification".equals(codeString))
8921          return FHIRDefinedType.SUBSTANCESPECIFICATION;
8922        if ("SupplyDelivery".equals(codeString))
8923          return FHIRDefinedType.SUPPLYDELIVERY;
8924        if ("SupplyRequest".equals(codeString))
8925          return FHIRDefinedType.SUPPLYREQUEST;
8926        if ("Task".equals(codeString))
8927          return FHIRDefinedType.TASK;
8928        if ("TerminologyCapabilities".equals(codeString))
8929          return FHIRDefinedType.TERMINOLOGYCAPABILITIES;
8930        if ("TestReport".equals(codeString))
8931          return FHIRDefinedType.TESTREPORT;
8932        if ("TestScript".equals(codeString))
8933          return FHIRDefinedType.TESTSCRIPT;
8934        if ("UserSession".equals(codeString))
8935          return FHIRDefinedType.USERSESSION;
8936        if ("ValueSet".equals(codeString))
8937          return FHIRDefinedType.VALUESET;
8938        if ("VerificationResult".equals(codeString))
8939          return FHIRDefinedType.VERIFICATIONRESULT;
8940        if ("VisionPrescription".equals(codeString))
8941          return FHIRDefinedType.VISIONPRESCRIPTION;
8942        throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'");
8943        }
8944        public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException {
8945          if (code == null)
8946            return null;
8947          if (code.isEmpty())
8948            return new Enumeration<FHIRDefinedType>(this);
8949          String codeString = ((PrimitiveType) code).asStringValue();
8950          if (codeString == null || "".equals(codeString))
8951            return null;
8952        if ("Address".equals(codeString))
8953          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS);
8954        if ("Age".equals(codeString))
8955          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE);
8956        if ("Annotation".equals(codeString))
8957          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION);
8958        if ("Attachment".equals(codeString))
8959          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT);
8960        if ("BackboneElement".equals(codeString))
8961          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT);
8962        if ("CodeableConcept".equals(codeString))
8963          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT);
8964        if ("Coding".equals(codeString))
8965          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING);
8966        if ("ContactDetail".equals(codeString))
8967          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL);
8968        if ("ContactPoint".equals(codeString))
8969          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT);
8970        if ("Contributor".equals(codeString))
8971          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR);
8972        if ("Count".equals(codeString))
8973          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT);
8974        if ("DataRequirement".equals(codeString))
8975          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT);
8976        if ("Distance".equals(codeString))
8977          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE);
8978        if ("Dosage".equals(codeString))
8979          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE);
8980        if ("Duration".equals(codeString))
8981          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION);
8982        if ("Element".equals(codeString))
8983          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT);
8984        if ("ElementDefinition".equals(codeString))
8985          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION);
8986        if ("Expression".equals(codeString))
8987          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPRESSION);
8988        if ("Extension".equals(codeString))
8989          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION);
8990        if ("HumanName".equals(codeString))
8991          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME);
8992        if ("Identifier".equals(codeString))
8993          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER);
8994        if ("MarketingStatus".equals(codeString))
8995          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS);
8996        if ("Meta".equals(codeString))
8997          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META);
8998        if ("Money".equals(codeString))
8999          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY);
9000        if ("MoneyQuantity".equals(codeString))
9001          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEYQUANTITY);
9002        if ("Narrative".equals(codeString))
9003          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE);
9004        if ("ParameterDefinition".equals(codeString))
9005          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION);
9006        if ("Period".equals(codeString))
9007          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD);
9008        if ("ProdCharacteristic".equals(codeString))
9009          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC);
9010        if ("ProductShelfLife".equals(codeString))
9011          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE);
9012        if ("Quantity".equals(codeString))
9013          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY);
9014        if ("Range".equals(codeString))
9015          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE);
9016        if ("Ratio".equals(codeString))
9017          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO);
9018        if ("Reference".equals(codeString))
9019          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE);
9020        if ("RelatedArtifact".equals(codeString))
9021          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT);
9022        if ("SampledData".equals(codeString))
9023          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA);
9024        if ("Signature".equals(codeString))
9025          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE);
9026        if ("SimpleQuantity".equals(codeString))
9027          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY);
9028        if ("SubstanceAmount".equals(codeString))
9029          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEAMOUNT);
9030        if ("SubstanceMoiety".equals(codeString))
9031          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEMOIETY);
9032        if ("Timing".equals(codeString))
9033          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING);
9034        if ("TriggerDefinition".equals(codeString))
9035          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION);
9036        if ("UsageContext".equals(codeString))
9037          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT);
9038        if ("base64Binary".equals(codeString))
9039          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY);
9040        if ("boolean".equals(codeString))
9041          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN);
9042        if ("canonical".equals(codeString))
9043          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL);
9044        if ("code".equals(codeString))
9045          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE);
9046        if ("date".equals(codeString))
9047          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE);
9048        if ("dateTime".equals(codeString))
9049          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME);
9050        if ("decimal".equals(codeString))
9051          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL);
9052        if ("id".equals(codeString))
9053          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID);
9054        if ("instant".equals(codeString))
9055          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT);
9056        if ("integer".equals(codeString))
9057          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER);
9058        if ("markdown".equals(codeString))
9059          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN);
9060        if ("oid".equals(codeString))
9061          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID);
9062        if ("positiveInt".equals(codeString))
9063          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT);
9064        if ("string".equals(codeString))
9065          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING);
9066        if ("time".equals(codeString))
9067          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME);
9068        if ("unsignedInt".equals(codeString))
9069          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT);
9070        if ("uri".equals(codeString))
9071          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI);
9072        if ("url".equals(codeString))
9073          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL);
9074        if ("uuid".equals(codeString))
9075          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID);
9076        if ("xhtml".equals(codeString))
9077          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML);
9078        if ("Account".equals(codeString))
9079          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT);
9080        if ("ActivityDefinition".equals(codeString))
9081          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION);
9082        if ("AdverseEvent".equals(codeString))
9083          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT);
9084        if ("AllergyIntolerance".equals(codeString))
9085          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE);
9086        if ("Appointment".equals(codeString))
9087          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT);
9088        if ("AppointmentResponse".equals(codeString))
9089          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE);
9090        if ("AuditEvent".equals(codeString))
9091          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT);
9092        if ("Basic".equals(codeString))
9093          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC);
9094        if ("Binary".equals(codeString))
9095          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY);
9096        if ("BiologicallyDerivedProduct".equals(codeString))
9097          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT);
9098        if ("BodyStructure".equals(codeString))
9099          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE);
9100        if ("Bundle".equals(codeString))
9101          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE);
9102        if ("CapabilityStatement".equals(codeString))
9103          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT);
9104        if ("CarePlan".equals(codeString))
9105          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN);
9106        if ("CareTeam".equals(codeString))
9107          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM);
9108        if ("CatalogEntry".equals(codeString))
9109          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CATALOGENTRY);
9110        if ("ChargeItem".equals(codeString))
9111          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM);
9112        if ("ChargeItemDefinition".equals(codeString))
9113          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEMDEFINITION);
9114        if ("Claim".equals(codeString))
9115          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM);
9116        if ("ClaimResponse".equals(codeString))
9117          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE);
9118        if ("ClinicalImpression".equals(codeString))
9119          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION);
9120        if ("CodeSystem".equals(codeString))
9121          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM);
9122        if ("Communication".equals(codeString))
9123          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION);
9124        if ("CommunicationRequest".equals(codeString))
9125          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST);
9126        if ("CompartmentDefinition".equals(codeString))
9127          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION);
9128        if ("Composition".equals(codeString))
9129          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION);
9130        if ("ConceptMap".equals(codeString))
9131          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP);
9132        if ("Condition".equals(codeString))
9133          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION);
9134        if ("Consent".equals(codeString))
9135          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT);
9136        if ("Contract".equals(codeString))
9137          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT);
9138        if ("Coverage".equals(codeString))
9139          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE);
9140        if ("CoverageEligibilityRequest".equals(codeString))
9141          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST);
9142        if ("CoverageEligibilityResponse".equals(codeString))
9143          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE);
9144        if ("DetectedIssue".equals(codeString))
9145          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE);
9146        if ("Device".equals(codeString))
9147          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE);
9148        if ("DeviceDefinition".equals(codeString))
9149          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDEFINITION);
9150        if ("DeviceMetric".equals(codeString))
9151          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC);
9152        if ("DeviceRequest".equals(codeString))
9153          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST);
9154        if ("DeviceUseStatement".equals(codeString))
9155          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT);
9156        if ("DiagnosticReport".equals(codeString))
9157          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT);
9158        if ("DocumentManifest".equals(codeString))
9159          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST);
9160        if ("DocumentReference".equals(codeString))
9161          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE);
9162        if ("DomainResource".equals(codeString))
9163          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE);
9164        if ("Encounter".equals(codeString))
9165          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER);
9166        if ("Endpoint".equals(codeString))
9167          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT);
9168        if ("EnrollmentRequest".equals(codeString))
9169          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST);
9170        if ("EnrollmentResponse".equals(codeString))
9171          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE);
9172        if ("EpisodeOfCare".equals(codeString))
9173          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE);
9174        if ("EventDefinition".equals(codeString))
9175          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION);
9176        if ("ExampleScenario".equals(codeString))
9177          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO);
9178        if ("ExplanationOfBenefit".equals(codeString))
9179          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT);
9180        if ("FamilyMemberHistory".equals(codeString))
9181          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY);
9182        if ("Flag".equals(codeString))
9183          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG);
9184        if ("Goal".equals(codeString))
9185          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL);
9186        if ("GraphDefinition".equals(codeString))
9187          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION);
9188        if ("Group".equals(codeString))
9189          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP);
9190        if ("GuidanceResponse".equals(codeString))
9191          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE);
9192        if ("HealthcareService".equals(codeString))
9193          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE);
9194        if ("ImagingStudy".equals(codeString))
9195          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY);
9196        if ("Immunization".equals(codeString))
9197          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION);
9198        if ("ImmunizationEvaluation".equals(codeString))
9199          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION);
9200        if ("ImmunizationRecommendation".equals(codeString))
9201          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION);
9202        if ("ImplementationGuide".equals(codeString))
9203          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE);
9204        if ("InsurancePlan".equals(codeString))
9205          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSURANCEPLAN);
9206        if ("Invoice".equals(codeString))
9207          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE);
9208        if ("ItemInstance".equals(codeString))
9209          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ITEMINSTANCE);
9210        if ("Library".equals(codeString))
9211          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY);
9212        if ("Linkage".equals(codeString))
9213          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE);
9214        if ("List".equals(codeString))
9215          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST);
9216        if ("Location".equals(codeString))
9217          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION);
9218        if ("Measure".equals(codeString))
9219          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE);
9220        if ("MeasureReport".equals(codeString))
9221          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT);
9222        if ("Media".equals(codeString))
9223          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA);
9224        if ("Medication".equals(codeString))
9225          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION);
9226        if ("MedicationAdministration".equals(codeString))
9227          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION);
9228        if ("MedicationDispense".equals(codeString))
9229          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE);
9230        if ("MedicationKnowledge".equals(codeString))
9231          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE);
9232        if ("MedicationRequest".equals(codeString))
9233          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST);
9234        if ("MedicationStatement".equals(codeString))
9235          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT);
9236        if ("MedicinalProduct".equals(codeString))
9237          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCT);
9238        if ("MedicinalProductAuthorization".equals(codeString))
9239          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION);
9240        if ("MedicinalProductClinicals".equals(codeString))
9241          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCLINICALS);
9242        if ("MedicinalProductContraindication".equals(codeString))
9243          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION);
9244        if ("MedicinalProductDeviceSpec".equals(codeString))
9245          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC);
9246        if ("MedicinalProductIndication".equals(codeString))
9247          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINDICATION);
9248        if ("MedicinalProductIngredient".equals(codeString))
9249          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINGREDIENT);
9250        if ("MedicinalProductInteraction".equals(codeString))
9251          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINTERACTION);
9252        if ("MedicinalProductManufactured".equals(codeString))
9253          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED);
9254        if ("MedicinalProductPackaged".equals(codeString))
9255          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPACKAGED);
9256        if ("MedicinalProductPharmaceutical".equals(codeString))
9257          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL);
9258        if ("MedicinalProductUndesirableEffect".equals(codeString))
9259          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
9260        if ("MessageDefinition".equals(codeString))
9261          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION);
9262        if ("MessageHeader".equals(codeString))
9263          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER);
9264        if ("NamingSystem".equals(codeString))
9265          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM);
9266        if ("NutritionOrder".equals(codeString))
9267          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER);
9268        if ("Observation".equals(codeString))
9269          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION);
9270        if ("ObservationDefinition".equals(codeString))
9271          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION);
9272        if ("OperationDefinition".equals(codeString))
9273          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION);
9274        if ("OperationOutcome".equals(codeString))
9275          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME);
9276        if ("Organization".equals(codeString))
9277          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION);
9278        if ("OrganizationAffiliation".equals(codeString))
9279          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONAFFILIATION);
9280        if ("Parameters".equals(codeString))
9281          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS);
9282        if ("Patient".equals(codeString))
9283          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT);
9284        if ("PaymentNotice".equals(codeString))
9285          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE);
9286        if ("PaymentReconciliation".equals(codeString))
9287          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION);
9288        if ("Person".equals(codeString))
9289          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON);
9290        if ("PlanDefinition".equals(codeString))
9291          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION);
9292        if ("Practitioner".equals(codeString))
9293          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER);
9294        if ("PractitionerRole".equals(codeString))
9295          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE);
9296        if ("Procedure".equals(codeString))
9297          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE);
9298        if ("ProcessRequest".equals(codeString))
9299          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSREQUEST);
9300        if ("ProcessResponse".equals(codeString))
9301          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSRESPONSE);
9302        if ("Provenance".equals(codeString))
9303          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE);
9304        if ("Questionnaire".equals(codeString))
9305          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE);
9306        if ("QuestionnaireResponse".equals(codeString))
9307          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE);
9308        if ("RelatedPerson".equals(codeString))
9309          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON);
9310        if ("RequestGroup".equals(codeString))
9311          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP);
9312        if ("ResearchStudy".equals(codeString))
9313          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY);
9314        if ("ResearchSubject".equals(codeString))
9315          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT);
9316        if ("Resource".equals(codeString))
9317          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE);
9318        if ("RiskAssessment".equals(codeString))
9319          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT);
9320        if ("Schedule".equals(codeString))
9321          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE);
9322        if ("SearchParameter".equals(codeString))
9323          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER);
9324        if ("Sequence".equals(codeString))
9325          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEQUENCE);
9326        if ("ServiceRequest".equals(codeString))
9327          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST);
9328        if ("Slot".equals(codeString))
9329          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT);
9330        if ("Specimen".equals(codeString))
9331          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN);
9332        if ("SpecimenDefinition".equals(codeString))
9333          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION);
9334        if ("StructureDefinition".equals(codeString))
9335          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION);
9336        if ("StructureMap".equals(codeString))
9337          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP);
9338        if ("Subscription".equals(codeString))
9339          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION);
9340        if ("Substance".equals(codeString))
9341          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE);
9342        if ("SubstancePolymer".equals(codeString))
9343          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER);
9344        if ("SubstanceReferenceInformation".equals(codeString))
9345          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION);
9346        if ("SubstanceSpecification".equals(codeString))
9347          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESPECIFICATION);
9348        if ("SupplyDelivery".equals(codeString))
9349          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY);
9350        if ("SupplyRequest".equals(codeString))
9351          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST);
9352        if ("Task".equals(codeString))
9353          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK);
9354        if ("TerminologyCapabilities".equals(codeString))
9355          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES);
9356        if ("TestReport".equals(codeString))
9357          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT);
9358        if ("TestScript".equals(codeString))
9359          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT);
9360        if ("UserSession".equals(codeString))
9361          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USERSESSION);
9362        if ("ValueSet".equals(codeString))
9363          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET);
9364        if ("VerificationResult".equals(codeString))
9365          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT);
9366        if ("VisionPrescription".equals(codeString))
9367          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION);
9368        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
9369        }
9370    public String toCode(FHIRDefinedType code) {
9371      if (code == FHIRDefinedType.ADDRESS)
9372        return "Address";
9373      if (code == FHIRDefinedType.AGE)
9374        return "Age";
9375      if (code == FHIRDefinedType.ANNOTATION)
9376        return "Annotation";
9377      if (code == FHIRDefinedType.ATTACHMENT)
9378        return "Attachment";
9379      if (code == FHIRDefinedType.BACKBONEELEMENT)
9380        return "BackboneElement";
9381      if (code == FHIRDefinedType.CODEABLECONCEPT)
9382        return "CodeableConcept";
9383      if (code == FHIRDefinedType.CODING)
9384        return "Coding";
9385      if (code == FHIRDefinedType.CONTACTDETAIL)
9386        return "ContactDetail";
9387      if (code == FHIRDefinedType.CONTACTPOINT)
9388        return "ContactPoint";
9389      if (code == FHIRDefinedType.CONTRIBUTOR)
9390        return "Contributor";
9391      if (code == FHIRDefinedType.COUNT)
9392        return "Count";
9393      if (code == FHIRDefinedType.DATAREQUIREMENT)
9394        return "DataRequirement";
9395      if (code == FHIRDefinedType.DISTANCE)
9396        return "Distance";
9397      if (code == FHIRDefinedType.DOSAGE)
9398        return "Dosage";
9399      if (code == FHIRDefinedType.DURATION)
9400        return "Duration";
9401      if (code == FHIRDefinedType.ELEMENT)
9402        return "Element";
9403      if (code == FHIRDefinedType.ELEMENTDEFINITION)
9404        return "ElementDefinition";
9405      if (code == FHIRDefinedType.EXPRESSION)
9406        return "Expression";
9407      if (code == FHIRDefinedType.EXTENSION)
9408        return "Extension";
9409      if (code == FHIRDefinedType.HUMANNAME)
9410        return "HumanName";
9411      if (code == FHIRDefinedType.IDENTIFIER)
9412        return "Identifier";
9413      if (code == FHIRDefinedType.MARKETINGSTATUS)
9414        return "MarketingStatus";
9415      if (code == FHIRDefinedType.META)
9416        return "Meta";
9417      if (code == FHIRDefinedType.MONEY)
9418        return "Money";
9419      if (code == FHIRDefinedType.MONEYQUANTITY)
9420        return "MoneyQuantity";
9421      if (code == FHIRDefinedType.NARRATIVE)
9422        return "Narrative";
9423      if (code == FHIRDefinedType.PARAMETERDEFINITION)
9424        return "ParameterDefinition";
9425      if (code == FHIRDefinedType.PERIOD)
9426        return "Period";
9427      if (code == FHIRDefinedType.PRODCHARACTERISTIC)
9428        return "ProdCharacteristic";
9429      if (code == FHIRDefinedType.PRODUCTSHELFLIFE)
9430        return "ProductShelfLife";
9431      if (code == FHIRDefinedType.QUANTITY)
9432        return "Quantity";
9433      if (code == FHIRDefinedType.RANGE)
9434        return "Range";
9435      if (code == FHIRDefinedType.RATIO)
9436        return "Ratio";
9437      if (code == FHIRDefinedType.REFERENCE)
9438        return "Reference";
9439      if (code == FHIRDefinedType.RELATEDARTIFACT)
9440        return "RelatedArtifact";
9441      if (code == FHIRDefinedType.SAMPLEDDATA)
9442        return "SampledData";
9443      if (code == FHIRDefinedType.SIGNATURE)
9444        return "Signature";
9445      if (code == FHIRDefinedType.SIMPLEQUANTITY)
9446        return "SimpleQuantity";
9447      if (code == FHIRDefinedType.SUBSTANCEAMOUNT)
9448        return "SubstanceAmount";
9449      if (code == FHIRDefinedType.SUBSTANCEMOIETY)
9450        return "SubstanceMoiety";
9451      if (code == FHIRDefinedType.TIMING)
9452        return "Timing";
9453      if (code == FHIRDefinedType.TRIGGERDEFINITION)
9454        return "TriggerDefinition";
9455      if (code == FHIRDefinedType.USAGECONTEXT)
9456        return "UsageContext";
9457      if (code == FHIRDefinedType.BASE64BINARY)
9458        return "base64Binary";
9459      if (code == FHIRDefinedType.BOOLEAN)
9460        return "boolean";
9461      if (code == FHIRDefinedType.CANONICAL)
9462        return "canonical";
9463      if (code == FHIRDefinedType.CODE)
9464        return "code";
9465      if (code == FHIRDefinedType.DATE)
9466        return "date";
9467      if (code == FHIRDefinedType.DATETIME)
9468        return "dateTime";
9469      if (code == FHIRDefinedType.DECIMAL)
9470        return "decimal";
9471      if (code == FHIRDefinedType.ID)
9472        return "id";
9473      if (code == FHIRDefinedType.INSTANT)
9474        return "instant";
9475      if (code == FHIRDefinedType.INTEGER)
9476        return "integer";
9477      if (code == FHIRDefinedType.MARKDOWN)
9478        return "markdown";
9479      if (code == FHIRDefinedType.OID)
9480        return "oid";
9481      if (code == FHIRDefinedType.POSITIVEINT)
9482        return "positiveInt";
9483      if (code == FHIRDefinedType.STRING)
9484        return "string";
9485      if (code == FHIRDefinedType.TIME)
9486        return "time";
9487      if (code == FHIRDefinedType.UNSIGNEDINT)
9488        return "unsignedInt";
9489      if (code == FHIRDefinedType.URI)
9490        return "uri";
9491      if (code == FHIRDefinedType.URL)
9492        return "url";
9493      if (code == FHIRDefinedType.UUID)
9494        return "uuid";
9495      if (code == FHIRDefinedType.XHTML)
9496        return "xhtml";
9497      if (code == FHIRDefinedType.ACCOUNT)
9498        return "Account";
9499      if (code == FHIRDefinedType.ACTIVITYDEFINITION)
9500        return "ActivityDefinition";
9501      if (code == FHIRDefinedType.ADVERSEEVENT)
9502        return "AdverseEvent";
9503      if (code == FHIRDefinedType.ALLERGYINTOLERANCE)
9504        return "AllergyIntolerance";
9505      if (code == FHIRDefinedType.APPOINTMENT)
9506        return "Appointment";
9507      if (code == FHIRDefinedType.APPOINTMENTRESPONSE)
9508        return "AppointmentResponse";
9509      if (code == FHIRDefinedType.AUDITEVENT)
9510        return "AuditEvent";
9511      if (code == FHIRDefinedType.BASIC)
9512        return "Basic";
9513      if (code == FHIRDefinedType.BINARY)
9514        return "Binary";
9515      if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT)
9516        return "BiologicallyDerivedProduct";
9517      if (code == FHIRDefinedType.BODYSTRUCTURE)
9518        return "BodyStructure";
9519      if (code == FHIRDefinedType.BUNDLE)
9520        return "Bundle";
9521      if (code == FHIRDefinedType.CAPABILITYSTATEMENT)
9522        return "CapabilityStatement";
9523      if (code == FHIRDefinedType.CAREPLAN)
9524        return "CarePlan";
9525      if (code == FHIRDefinedType.CARETEAM)
9526        return "CareTeam";
9527      if (code == FHIRDefinedType.CATALOGENTRY)
9528        return "CatalogEntry";
9529      if (code == FHIRDefinedType.CHARGEITEM)
9530        return "ChargeItem";
9531      if (code == FHIRDefinedType.CHARGEITEMDEFINITION)
9532        return "ChargeItemDefinition";
9533      if (code == FHIRDefinedType.CLAIM)
9534        return "Claim";
9535      if (code == FHIRDefinedType.CLAIMRESPONSE)
9536        return "ClaimResponse";
9537      if (code == FHIRDefinedType.CLINICALIMPRESSION)
9538        return "ClinicalImpression";
9539      if (code == FHIRDefinedType.CODESYSTEM)
9540        return "CodeSystem";
9541      if (code == FHIRDefinedType.COMMUNICATION)
9542        return "Communication";
9543      if (code == FHIRDefinedType.COMMUNICATIONREQUEST)
9544        return "CommunicationRequest";
9545      if (code == FHIRDefinedType.COMPARTMENTDEFINITION)
9546        return "CompartmentDefinition";
9547      if (code == FHIRDefinedType.COMPOSITION)
9548        return "Composition";
9549      if (code == FHIRDefinedType.CONCEPTMAP)
9550        return "ConceptMap";
9551      if (code == FHIRDefinedType.CONDITION)
9552        return "Condition";
9553      if (code == FHIRDefinedType.CONSENT)
9554        return "Consent";
9555      if (code == FHIRDefinedType.CONTRACT)
9556        return "Contract";
9557      if (code == FHIRDefinedType.COVERAGE)
9558        return "Coverage";
9559      if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST)
9560        return "CoverageEligibilityRequest";
9561      if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE)
9562        return "CoverageEligibilityResponse";
9563      if (code == FHIRDefinedType.DETECTEDISSUE)
9564        return "DetectedIssue";
9565      if (code == FHIRDefinedType.DEVICE)
9566        return "Device";
9567      if (code == FHIRDefinedType.DEVICEDEFINITION)
9568        return "DeviceDefinition";
9569      if (code == FHIRDefinedType.DEVICEMETRIC)
9570        return "DeviceMetric";
9571      if (code == FHIRDefinedType.DEVICEREQUEST)
9572        return "DeviceRequest";
9573      if (code == FHIRDefinedType.DEVICEUSESTATEMENT)
9574        return "DeviceUseStatement";
9575      if (code == FHIRDefinedType.DIAGNOSTICREPORT)
9576        return "DiagnosticReport";
9577      if (code == FHIRDefinedType.DOCUMENTMANIFEST)
9578        return "DocumentManifest";
9579      if (code == FHIRDefinedType.DOCUMENTREFERENCE)
9580        return "DocumentReference";
9581      if (code == FHIRDefinedType.DOMAINRESOURCE)
9582        return "DomainResource";
9583      if (code == FHIRDefinedType.ENCOUNTER)
9584        return "Encounter";
9585      if (code == FHIRDefinedType.ENDPOINT)
9586        return "Endpoint";
9587      if (code == FHIRDefinedType.ENROLLMENTREQUEST)
9588        return "EnrollmentRequest";
9589      if (code == FHIRDefinedType.ENROLLMENTRESPONSE)
9590        return "EnrollmentResponse";
9591      if (code == FHIRDefinedType.EPISODEOFCARE)
9592        return "EpisodeOfCare";
9593      if (code == FHIRDefinedType.EVENTDEFINITION)
9594        return "EventDefinition";
9595      if (code == FHIRDefinedType.EXAMPLESCENARIO)
9596        return "ExampleScenario";
9597      if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT)
9598        return "ExplanationOfBenefit";
9599      if (code == FHIRDefinedType.FAMILYMEMBERHISTORY)
9600        return "FamilyMemberHistory";
9601      if (code == FHIRDefinedType.FLAG)
9602        return "Flag";
9603      if (code == FHIRDefinedType.GOAL)
9604        return "Goal";
9605      if (code == FHIRDefinedType.GRAPHDEFINITION)
9606        return "GraphDefinition";
9607      if (code == FHIRDefinedType.GROUP)
9608        return "Group";
9609      if (code == FHIRDefinedType.GUIDANCERESPONSE)
9610        return "GuidanceResponse";
9611      if (code == FHIRDefinedType.HEALTHCARESERVICE)
9612        return "HealthcareService";
9613      if (code == FHIRDefinedType.IMAGINGSTUDY)
9614        return "ImagingStudy";
9615      if (code == FHIRDefinedType.IMMUNIZATION)
9616        return "Immunization";
9617      if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION)
9618        return "ImmunizationEvaluation";
9619      if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION)
9620        return "ImmunizationRecommendation";
9621      if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE)
9622        return "ImplementationGuide";
9623      if (code == FHIRDefinedType.INSURANCEPLAN)
9624        return "InsurancePlan";
9625      if (code == FHIRDefinedType.INVOICE)
9626        return "Invoice";
9627      if (code == FHIRDefinedType.ITEMINSTANCE)
9628        return "ItemInstance";
9629      if (code == FHIRDefinedType.LIBRARY)
9630        return "Library";
9631      if (code == FHIRDefinedType.LINKAGE)
9632        return "Linkage";
9633      if (code == FHIRDefinedType.LIST)
9634        return "List";
9635      if (code == FHIRDefinedType.LOCATION)
9636        return "Location";
9637      if (code == FHIRDefinedType.MEASURE)
9638        return "Measure";
9639      if (code == FHIRDefinedType.MEASUREREPORT)
9640        return "MeasureReport";
9641      if (code == FHIRDefinedType.MEDIA)
9642        return "Media";
9643      if (code == FHIRDefinedType.MEDICATION)
9644        return "Medication";
9645      if (code == FHIRDefinedType.MEDICATIONADMINISTRATION)
9646        return "MedicationAdministration";
9647      if (code == FHIRDefinedType.MEDICATIONDISPENSE)
9648        return "MedicationDispense";
9649      if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE)
9650        return "MedicationKnowledge";
9651      if (code == FHIRDefinedType.MEDICATIONREQUEST)
9652        return "MedicationRequest";
9653      if (code == FHIRDefinedType.MEDICATIONSTATEMENT)
9654        return "MedicationStatement";
9655      if (code == FHIRDefinedType.MEDICINALPRODUCT)
9656        return "MedicinalProduct";
9657      if (code == FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION)
9658        return "MedicinalProductAuthorization";
9659      if (code == FHIRDefinedType.MEDICINALPRODUCTCLINICALS)
9660        return "MedicinalProductClinicals";
9661      if (code == FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION)
9662        return "MedicinalProductContraindication";
9663      if (code == FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC)
9664        return "MedicinalProductDeviceSpec";
9665      if (code == FHIRDefinedType.MEDICINALPRODUCTINDICATION)
9666        return "MedicinalProductIndication";
9667      if (code == FHIRDefinedType.MEDICINALPRODUCTINGREDIENT)
9668        return "MedicinalProductIngredient";
9669      if (code == FHIRDefinedType.MEDICINALPRODUCTINTERACTION)
9670        return "MedicinalProductInteraction";
9671      if (code == FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED)
9672        return "MedicinalProductManufactured";
9673      if (code == FHIRDefinedType.MEDICINALPRODUCTPACKAGED)
9674        return "MedicinalProductPackaged";
9675      if (code == FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL)
9676        return "MedicinalProductPharmaceutical";
9677      if (code == FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
9678        return "MedicinalProductUndesirableEffect";
9679      if (code == FHIRDefinedType.MESSAGEDEFINITION)
9680        return "MessageDefinition";
9681      if (code == FHIRDefinedType.MESSAGEHEADER)
9682        return "MessageHeader";
9683      if (code == FHIRDefinedType.NAMINGSYSTEM)
9684        return "NamingSystem";
9685      if (code == FHIRDefinedType.NUTRITIONORDER)
9686        return "NutritionOrder";
9687      if (code == FHIRDefinedType.OBSERVATION)
9688        return "Observation";
9689      if (code == FHIRDefinedType.OBSERVATIONDEFINITION)
9690        return "ObservationDefinition";
9691      if (code == FHIRDefinedType.OPERATIONDEFINITION)
9692        return "OperationDefinition";
9693      if (code == FHIRDefinedType.OPERATIONOUTCOME)
9694        return "OperationOutcome";
9695      if (code == FHIRDefinedType.ORGANIZATION)
9696        return "Organization";
9697      if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION)
9698        return "OrganizationAffiliation";
9699      if (code == FHIRDefinedType.PARAMETERS)
9700        return "Parameters";
9701      if (code == FHIRDefinedType.PATIENT)
9702        return "Patient";
9703      if (code == FHIRDefinedType.PAYMENTNOTICE)
9704        return "PaymentNotice";
9705      if (code == FHIRDefinedType.PAYMENTRECONCILIATION)
9706        return "PaymentReconciliation";
9707      if (code == FHIRDefinedType.PERSON)
9708        return "Person";
9709      if (code == FHIRDefinedType.PLANDEFINITION)
9710        return "PlanDefinition";
9711      if (code == FHIRDefinedType.PRACTITIONER)
9712        return "Practitioner";
9713      if (code == FHIRDefinedType.PRACTITIONERROLE)
9714        return "PractitionerRole";
9715      if (code == FHIRDefinedType.PROCEDURE)
9716        return "Procedure";
9717      if (code == FHIRDefinedType.PROCESSREQUEST)
9718        return "ProcessRequest";
9719      if (code == FHIRDefinedType.PROCESSRESPONSE)
9720        return "ProcessResponse";
9721      if (code == FHIRDefinedType.PROVENANCE)
9722        return "Provenance";
9723      if (code == FHIRDefinedType.QUESTIONNAIRE)
9724        return "Questionnaire";
9725      if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE)
9726        return "QuestionnaireResponse";
9727      if (code == FHIRDefinedType.RELATEDPERSON)
9728        return "RelatedPerson";
9729      if (code == FHIRDefinedType.REQUESTGROUP)
9730        return "RequestGroup";
9731      if (code == FHIRDefinedType.RESEARCHSTUDY)
9732        return "ResearchStudy";
9733      if (code == FHIRDefinedType.RESEARCHSUBJECT)
9734        return "ResearchSubject";
9735      if (code == FHIRDefinedType.RESOURCE)
9736        return "Resource";
9737      if (code == FHIRDefinedType.RISKASSESSMENT)
9738        return "RiskAssessment";
9739      if (code == FHIRDefinedType.SCHEDULE)
9740        return "Schedule";
9741      if (code == FHIRDefinedType.SEARCHPARAMETER)
9742        return "SearchParameter";
9743      if (code == FHIRDefinedType.SEQUENCE)
9744        return "Sequence";
9745      if (code == FHIRDefinedType.SERVICEREQUEST)
9746        return "ServiceRequest";
9747      if (code == FHIRDefinedType.SLOT)
9748        return "Slot";
9749      if (code == FHIRDefinedType.SPECIMEN)
9750        return "Specimen";
9751      if (code == FHIRDefinedType.SPECIMENDEFINITION)
9752        return "SpecimenDefinition";
9753      if (code == FHIRDefinedType.STRUCTUREDEFINITION)
9754        return "StructureDefinition";
9755      if (code == FHIRDefinedType.STRUCTUREMAP)
9756        return "StructureMap";
9757      if (code == FHIRDefinedType.SUBSCRIPTION)
9758        return "Subscription";
9759      if (code == FHIRDefinedType.SUBSTANCE)
9760        return "Substance";
9761      if (code == FHIRDefinedType.SUBSTANCEPOLYMER)
9762        return "SubstancePolymer";
9763      if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION)
9764        return "SubstanceReferenceInformation";
9765      if (code == FHIRDefinedType.SUBSTANCESPECIFICATION)
9766        return "SubstanceSpecification";
9767      if (code == FHIRDefinedType.SUPPLYDELIVERY)
9768        return "SupplyDelivery";
9769      if (code == FHIRDefinedType.SUPPLYREQUEST)
9770        return "SupplyRequest";
9771      if (code == FHIRDefinedType.TASK)
9772        return "Task";
9773      if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES)
9774        return "TerminologyCapabilities";
9775      if (code == FHIRDefinedType.TESTREPORT)
9776        return "TestReport";
9777      if (code == FHIRDefinedType.TESTSCRIPT)
9778        return "TestScript";
9779      if (code == FHIRDefinedType.USERSESSION)
9780        return "UserSession";
9781      if (code == FHIRDefinedType.VALUESET)
9782        return "ValueSet";
9783      if (code == FHIRDefinedType.VERIFICATIONRESULT)
9784        return "VerificationResult";
9785      if (code == FHIRDefinedType.VISIONPRESCRIPTION)
9786        return "VisionPrescription";
9787      return "?";
9788      }
9789    public String toSystem(FHIRDefinedType code) {
9790      return code.getSystem();
9791      }
9792    }
9793
9794    public enum KnowledgeResourceType {
9795        /**
9796         * The definition of a specific activity to be taken, independent of any particular patient or context.
9797         */
9798        ACTIVITYDEFINITION, 
9799        /**
9800         * A set of codes drawn from one or more code systems.
9801         */
9802        CODESYSTEM, 
9803        /**
9804         * A map from one set of concepts to one or more other concepts.
9805         */
9806        CONCEPTMAP, 
9807        /**
9808         * Represents a library of quality improvement components.
9809         */
9810        LIBRARY, 
9811        /**
9812         * A quality measure definition.
9813         */
9814        MEASURE, 
9815        /**
9816         * The definition of a plan for a series of actions, independent of any specific patient or context.
9817         */
9818        PLANDEFINITION, 
9819        /**
9820         * Structural Definition.
9821         */
9822        STRUCTUREDEFINITION, 
9823        /**
9824         * A Map of relationships between 2 structures that can be used to transform data.
9825         */
9826        STRUCTUREMAP, 
9827        /**
9828         * A set of codes drawn from one or more code systems.
9829         */
9830        VALUESET, 
9831        /**
9832         * added to help the parsers
9833         */
9834        NULL;
9835        public static KnowledgeResourceType fromCode(String codeString) throws FHIRException {
9836            if (codeString == null || "".equals(codeString))
9837                return null;
9838        if ("ActivityDefinition".equals(codeString))
9839          return ACTIVITYDEFINITION;
9840        if ("CodeSystem".equals(codeString))
9841          return CODESYSTEM;
9842        if ("ConceptMap".equals(codeString))
9843          return CONCEPTMAP;
9844        if ("Library".equals(codeString))
9845          return LIBRARY;
9846        if ("Measure".equals(codeString))
9847          return MEASURE;
9848        if ("PlanDefinition".equals(codeString))
9849          return PLANDEFINITION;
9850        if ("StructureDefinition".equals(codeString))
9851          return STRUCTUREDEFINITION;
9852        if ("StructureMap".equals(codeString))
9853          return STRUCTUREMAP;
9854        if ("ValueSet".equals(codeString))
9855          return VALUESET;
9856        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
9857        }
9858        public String toCode() {
9859          switch (this) {
9860            case ACTIVITYDEFINITION: return "ActivityDefinition";
9861            case CODESYSTEM: return "CodeSystem";
9862            case CONCEPTMAP: return "ConceptMap";
9863            case LIBRARY: return "Library";
9864            case MEASURE: return "Measure";
9865            case PLANDEFINITION: return "PlanDefinition";
9866            case STRUCTUREDEFINITION: return "StructureDefinition";
9867            case STRUCTUREMAP: return "StructureMap";
9868            case VALUESET: return "ValueSet";
9869            default: return "?";
9870          }
9871        }
9872        public String getSystem() {
9873          switch (this) {
9874            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
9875            case CODESYSTEM: return "http://hl7.org/fhir/knowledge-resource-types";
9876            case CONCEPTMAP: return "http://hl7.org/fhir/knowledge-resource-types";
9877            case LIBRARY: return "http://hl7.org/fhir/knowledge-resource-types";
9878            case MEASURE: return "http://hl7.org/fhir/knowledge-resource-types";
9879            case PLANDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
9880            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
9881            case STRUCTUREMAP: return "http://hl7.org/fhir/knowledge-resource-types";
9882            case VALUESET: return "http://hl7.org/fhir/knowledge-resource-types";
9883            default: return "?";
9884          }
9885        }
9886        public String getDefinition() {
9887          switch (this) {
9888            case ACTIVITYDEFINITION: return "The definition of a specific activity to be taken, independent of any particular patient or context.";
9889            case CODESYSTEM: return "A set of codes drawn from one or more code systems.";
9890            case CONCEPTMAP: return "A map from one set of concepts to one or more other concepts.";
9891            case LIBRARY: return "Represents a library of quality improvement components.";
9892            case MEASURE: return "A quality measure definition.";
9893            case PLANDEFINITION: return "The definition of a plan for a series of actions, independent of any specific patient or context.";
9894            case STRUCTUREDEFINITION: return "Structural Definition.";
9895            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
9896            case VALUESET: return "A set of codes drawn from one or more code systems.";
9897            default: return "?";
9898          }
9899        }
9900        public String getDisplay() {
9901          switch (this) {
9902            case ACTIVITYDEFINITION: return "ActivityDefinition";
9903            case CODESYSTEM: return "CodeSystem";
9904            case CONCEPTMAP: return "ConceptMap";
9905            case LIBRARY: return "Library";
9906            case MEASURE: return "Measure";
9907            case PLANDEFINITION: return "PlanDefinition";
9908            case STRUCTUREDEFINITION: return "StructureDefinition";
9909            case STRUCTUREMAP: return "StructureMap";
9910            case VALUESET: return "ValueSet";
9911            default: return "?";
9912          }
9913        }
9914    }
9915
9916  public static class KnowledgeResourceTypeEnumFactory implements EnumFactory<KnowledgeResourceType> {
9917    public KnowledgeResourceType fromCode(String codeString) throws IllegalArgumentException {
9918      if (codeString == null || "".equals(codeString))
9919            if (codeString == null || "".equals(codeString))
9920                return null;
9921        if ("ActivityDefinition".equals(codeString))
9922          return KnowledgeResourceType.ACTIVITYDEFINITION;
9923        if ("CodeSystem".equals(codeString))
9924          return KnowledgeResourceType.CODESYSTEM;
9925        if ("ConceptMap".equals(codeString))
9926          return KnowledgeResourceType.CONCEPTMAP;
9927        if ("Library".equals(codeString))
9928          return KnowledgeResourceType.LIBRARY;
9929        if ("Measure".equals(codeString))
9930          return KnowledgeResourceType.MEASURE;
9931        if ("PlanDefinition".equals(codeString))
9932          return KnowledgeResourceType.PLANDEFINITION;
9933        if ("StructureDefinition".equals(codeString))
9934          return KnowledgeResourceType.STRUCTUREDEFINITION;
9935        if ("StructureMap".equals(codeString))
9936          return KnowledgeResourceType.STRUCTUREMAP;
9937        if ("ValueSet".equals(codeString))
9938          return KnowledgeResourceType.VALUESET;
9939        throw new IllegalArgumentException("Unknown KnowledgeResourceType code '"+codeString+"'");
9940        }
9941        public Enumeration<KnowledgeResourceType> fromType(Base code) throws FHIRException {
9942          if (code == null)
9943            return null;
9944          if (code.isEmpty())
9945            return new Enumeration<KnowledgeResourceType>(this);
9946          String codeString = ((PrimitiveType) code).asStringValue();
9947          if (codeString == null || "".equals(codeString))
9948            return null;
9949        if ("ActivityDefinition".equals(codeString))
9950          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.ACTIVITYDEFINITION);
9951        if ("CodeSystem".equals(codeString))
9952          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CODESYSTEM);
9953        if ("ConceptMap".equals(codeString))
9954          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CONCEPTMAP);
9955        if ("Library".equals(codeString))
9956          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.LIBRARY);
9957        if ("Measure".equals(codeString))
9958          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.MEASURE);
9959        if ("PlanDefinition".equals(codeString))
9960          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.PLANDEFINITION);
9961        if ("StructureDefinition".equals(codeString))
9962          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREDEFINITION);
9963        if ("StructureMap".equals(codeString))
9964          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREMAP);
9965        if ("ValueSet".equals(codeString))
9966          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.VALUESET);
9967        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
9968        }
9969    public String toCode(KnowledgeResourceType code) {
9970      if (code == KnowledgeResourceType.ACTIVITYDEFINITION)
9971        return "ActivityDefinition";
9972      if (code == KnowledgeResourceType.CODESYSTEM)
9973        return "CodeSystem";
9974      if (code == KnowledgeResourceType.CONCEPTMAP)
9975        return "ConceptMap";
9976      if (code == KnowledgeResourceType.LIBRARY)
9977        return "Library";
9978      if (code == KnowledgeResourceType.MEASURE)
9979        return "Measure";
9980      if (code == KnowledgeResourceType.PLANDEFINITION)
9981        return "PlanDefinition";
9982      if (code == KnowledgeResourceType.STRUCTUREDEFINITION)
9983        return "StructureDefinition";
9984      if (code == KnowledgeResourceType.STRUCTUREMAP)
9985        return "StructureMap";
9986      if (code == KnowledgeResourceType.VALUESET)
9987        return "ValueSet";
9988      return "?";
9989      }
9990    public String toSystem(KnowledgeResourceType code) {
9991      return code.getSystem();
9992      }
9993    }
9994
9995    public enum MessageEvent {
9996        /**
9997         * added to help the parsers
9998         */
9999        NULL;
10000        public static MessageEvent fromCode(String codeString) throws FHIRException {
10001            if (codeString == null || "".equals(codeString))
10002                return null;
10003        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10004        }
10005        public String toCode() {
10006          switch (this) {
10007            default: return "?";
10008          }
10009        }
10010        public String getSystem() {
10011          switch (this) {
10012            default: return "?";
10013          }
10014        }
10015        public String getDefinition() {
10016          switch (this) {
10017            default: return "?";
10018          }
10019        }
10020        public String getDisplay() {
10021          switch (this) {
10022            default: return "?";
10023          }
10024        }
10025    }
10026
10027  public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> {
10028    public MessageEvent fromCode(String codeString) throws IllegalArgumentException {
10029      if (codeString == null || "".equals(codeString))
10030            if (codeString == null || "".equals(codeString))
10031                return null;
10032        throw new IllegalArgumentException("Unknown MessageEvent code '"+codeString+"'");
10033        }
10034        public Enumeration<MessageEvent> fromType(Base code) throws FHIRException {
10035          if (code == null)
10036            return null;
10037          if (code.isEmpty())
10038            return new Enumeration<MessageEvent>(this);
10039          String codeString = ((PrimitiveType) code).asStringValue();
10040          if (codeString == null || "".equals(codeString))
10041            return null;
10042        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10043        }
10044    public String toCode(MessageEvent code) {
10045      return "?";
10046      }
10047    public String toSystem(MessageEvent code) {
10048      return code.getSystem();
10049      }
10050    }
10051
10052    public enum NoteType {
10053        /**
10054         * Display the note.
10055         */
10056        DISPLAY, 
10057        /**
10058         * Print the note on the form.
10059         */
10060        PRINT, 
10061        /**
10062         * Print the note for the operator.
10063         */
10064        PRINTOPER, 
10065        /**
10066         * added to help the parsers
10067         */
10068        NULL;
10069        public static NoteType fromCode(String codeString) throws FHIRException {
10070            if (codeString == null || "".equals(codeString))
10071                return null;
10072        if ("display".equals(codeString))
10073          return DISPLAY;
10074        if ("print".equals(codeString))
10075          return PRINT;
10076        if ("printoper".equals(codeString))
10077          return PRINTOPER;
10078        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10079        }
10080        public String toCode() {
10081          switch (this) {
10082            case DISPLAY: return "display";
10083            case PRINT: return "print";
10084            case PRINTOPER: return "printoper";
10085            default: return "?";
10086          }
10087        }
10088        public String getSystem() {
10089          switch (this) {
10090            case DISPLAY: return "http://hl7.org/fhir/note-type";
10091            case PRINT: return "http://hl7.org/fhir/note-type";
10092            case PRINTOPER: return "http://hl7.org/fhir/note-type";
10093            default: return "?";
10094          }
10095        }
10096        public String getDefinition() {
10097          switch (this) {
10098            case DISPLAY: return "Display the note.";
10099            case PRINT: return "Print the note on the form.";
10100            case PRINTOPER: return "Print the note for the operator.";
10101            default: return "?";
10102          }
10103        }
10104        public String getDisplay() {
10105          switch (this) {
10106            case DISPLAY: return "Display";
10107            case PRINT: return "Print (Form)";
10108            case PRINTOPER: return "Print (Operator)";
10109            default: return "?";
10110          }
10111        }
10112    }
10113
10114  public static class NoteTypeEnumFactory implements EnumFactory<NoteType> {
10115    public NoteType fromCode(String codeString) throws IllegalArgumentException {
10116      if (codeString == null || "".equals(codeString))
10117            if (codeString == null || "".equals(codeString))
10118                return null;
10119        if ("display".equals(codeString))
10120          return NoteType.DISPLAY;
10121        if ("print".equals(codeString))
10122          return NoteType.PRINT;
10123        if ("printoper".equals(codeString))
10124          return NoteType.PRINTOPER;
10125        throw new IllegalArgumentException("Unknown NoteType code '"+codeString+"'");
10126        }
10127        public Enumeration<NoteType> fromType(Base code) throws FHIRException {
10128          if (code == null)
10129            return null;
10130          if (code.isEmpty())
10131            return new Enumeration<NoteType>(this);
10132          String codeString = ((PrimitiveType) code).asStringValue();
10133          if (codeString == null || "".equals(codeString))
10134            return null;
10135        if ("display".equals(codeString))
10136          return new Enumeration<NoteType>(this, NoteType.DISPLAY);
10137        if ("print".equals(codeString))
10138          return new Enumeration<NoteType>(this, NoteType.PRINT);
10139        if ("printoper".equals(codeString))
10140          return new Enumeration<NoteType>(this, NoteType.PRINTOPER);
10141        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10142        }
10143    public String toCode(NoteType code) {
10144      if (code == NoteType.DISPLAY)
10145        return "display";
10146      if (code == NoteType.PRINT)
10147        return "print";
10148      if (code == NoteType.PRINTOPER)
10149        return "printoper";
10150      return "?";
10151      }
10152    public String toSystem(NoteType code) {
10153      return code.getSystem();
10154      }
10155    }
10156
10157    public enum PublicationStatus {
10158        /**
10159         * This resource is still under development and is not yet considered to be ready for normal use.
10160         */
10161        DRAFT, 
10162        /**
10163         * This resource is ready for normal use.
10164         */
10165        ACTIVE, 
10166        /**
10167         * This resource has been withdrawn or superseded and should no longer be used.
10168         */
10169        RETIRED, 
10170        /**
10171         * 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.
10172         */
10173        UNKNOWN, 
10174        /**
10175         * added to help the parsers
10176         */
10177        NULL;
10178        public static PublicationStatus fromCode(String codeString) throws FHIRException {
10179            if (codeString == null || "".equals(codeString))
10180                return null;
10181        if ("draft".equals(codeString))
10182          return DRAFT;
10183        if ("active".equals(codeString))
10184          return ACTIVE;
10185        if ("retired".equals(codeString))
10186          return RETIRED;
10187        if ("unknown".equals(codeString))
10188          return UNKNOWN;
10189        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10190        }
10191        public String toCode() {
10192          switch (this) {
10193            case DRAFT: return "draft";
10194            case ACTIVE: return "active";
10195            case RETIRED: return "retired";
10196            case UNKNOWN: return "unknown";
10197            default: return "?";
10198          }
10199        }
10200        public String getSystem() {
10201          switch (this) {
10202            case DRAFT: return "http://hl7.org/fhir/publication-status";
10203            case ACTIVE: return "http://hl7.org/fhir/publication-status";
10204            case RETIRED: return "http://hl7.org/fhir/publication-status";
10205            case UNKNOWN: return "http://hl7.org/fhir/publication-status";
10206            default: return "?";
10207          }
10208        }
10209        public String getDefinition() {
10210          switch (this) {
10211            case DRAFT: return "This resource is still under development and is not yet considered to be ready for normal use.";
10212            case ACTIVE: return "This resource is ready for normal use.";
10213            case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used.";
10214            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.";
10215            default: return "?";
10216          }
10217        }
10218        public String getDisplay() {
10219          switch (this) {
10220            case DRAFT: return "Draft";
10221            case ACTIVE: return "Active";
10222            case RETIRED: return "Retired";
10223            case UNKNOWN: return "Unknown";
10224            default: return "?";
10225          }
10226        }
10227    }
10228
10229  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
10230    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
10231      if (codeString == null || "".equals(codeString))
10232            if (codeString == null || "".equals(codeString))
10233                return null;
10234        if ("draft".equals(codeString))
10235          return PublicationStatus.DRAFT;
10236        if ("active".equals(codeString))
10237          return PublicationStatus.ACTIVE;
10238        if ("retired".equals(codeString))
10239          return PublicationStatus.RETIRED;
10240        if ("unknown".equals(codeString))
10241          return PublicationStatus.UNKNOWN;
10242        throw new IllegalArgumentException("Unknown PublicationStatus code '"+codeString+"'");
10243        }
10244        public Enumeration<PublicationStatus> fromType(Base code) throws FHIRException {
10245          if (code == null)
10246            return null;
10247          if (code.isEmpty())
10248            return new Enumeration<PublicationStatus>(this);
10249          String codeString = ((PrimitiveType) code).asStringValue();
10250          if (codeString == null || "".equals(codeString))
10251            return null;
10252        if ("draft".equals(codeString))
10253          return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT);
10254        if ("active".equals(codeString))
10255          return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE);
10256        if ("retired".equals(codeString))
10257          return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED);
10258        if ("unknown".equals(codeString))
10259          return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN);
10260        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10261        }
10262    public String toCode(PublicationStatus code) {
10263      if (code == PublicationStatus.DRAFT)
10264        return "draft";
10265      if (code == PublicationStatus.ACTIVE)
10266        return "active";
10267      if (code == PublicationStatus.RETIRED)
10268        return "retired";
10269      if (code == PublicationStatus.UNKNOWN)
10270        return "unknown";
10271      return "?";
10272      }
10273    public String toSystem(PublicationStatus code) {
10274      return code.getSystem();
10275      }
10276    }
10277
10278    public enum RemittanceOutcome {
10279        /**
10280         * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.
10281         */
10282        QUEUED, 
10283        /**
10284         * The processing has completed without errors
10285         */
10286        COMPLETE, 
10287        /**
10288         * One or more errors have been detected in the Claim
10289         */
10290        ERROR, 
10291        /**
10292         * No errors have been detected in the Claim and some of the adjudication has been performed.
10293         */
10294        PARTIAL, 
10295        /**
10296         * added to help the parsers
10297         */
10298        NULL;
10299        public static RemittanceOutcome fromCode(String codeString) throws FHIRException {
10300            if (codeString == null || "".equals(codeString))
10301                return null;
10302        if ("queued".equals(codeString))
10303          return QUEUED;
10304        if ("complete".equals(codeString))
10305          return COMPLETE;
10306        if ("error".equals(codeString))
10307          return ERROR;
10308        if ("partial".equals(codeString))
10309          return PARTIAL;
10310        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10311        }
10312        public String toCode() {
10313          switch (this) {
10314            case QUEUED: return "queued";
10315            case COMPLETE: return "complete";
10316            case ERROR: return "error";
10317            case PARTIAL: return "partial";
10318            default: return "?";
10319          }
10320        }
10321        public String getSystem() {
10322          switch (this) {
10323            case QUEUED: return "http://hl7.org/fhir/remittance-outcome";
10324            case COMPLETE: return "http://hl7.org/fhir/remittance-outcome";
10325            case ERROR: return "http://hl7.org/fhir/remittance-outcome";
10326            case PARTIAL: return "http://hl7.org/fhir/remittance-outcome";
10327            default: return "?";
10328          }
10329        }
10330        public String getDefinition() {
10331          switch (this) {
10332            case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
10333            case COMPLETE: return "The processing has completed without errors";
10334            case ERROR: return "One or more errors have been detected in the Claim";
10335            case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed.";
10336            default: return "?";
10337          }
10338        }
10339        public String getDisplay() {
10340          switch (this) {
10341            case QUEUED: return "Queued";
10342            case COMPLETE: return "Processing Complete";
10343            case ERROR: return "Error";
10344            case PARTIAL: return "Partial Processing";
10345            default: return "?";
10346          }
10347        }
10348    }
10349
10350  public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> {
10351    public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException {
10352      if (codeString == null || "".equals(codeString))
10353            if (codeString == null || "".equals(codeString))
10354                return null;
10355        if ("queued".equals(codeString))
10356          return RemittanceOutcome.QUEUED;
10357        if ("complete".equals(codeString))
10358          return RemittanceOutcome.COMPLETE;
10359        if ("error".equals(codeString))
10360          return RemittanceOutcome.ERROR;
10361        if ("partial".equals(codeString))
10362          return RemittanceOutcome.PARTIAL;
10363        throw new IllegalArgumentException("Unknown RemittanceOutcome code '"+codeString+"'");
10364        }
10365        public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException {
10366          if (code == null)
10367            return null;
10368          if (code.isEmpty())
10369            return new Enumeration<RemittanceOutcome>(this);
10370          String codeString = ((PrimitiveType) code).asStringValue();
10371          if (codeString == null || "".equals(codeString))
10372            return null;
10373        if ("queued".equals(codeString))
10374          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.QUEUED);
10375        if ("complete".equals(codeString))
10376          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE);
10377        if ("error".equals(codeString))
10378          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR);
10379        if ("partial".equals(codeString))
10380          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.PARTIAL);
10381        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10382        }
10383    public String toCode(RemittanceOutcome code) {
10384      if (code == RemittanceOutcome.QUEUED)
10385        return "queued";
10386      if (code == RemittanceOutcome.COMPLETE)
10387        return "complete";
10388      if (code == RemittanceOutcome.ERROR)
10389        return "error";
10390      if (code == RemittanceOutcome.PARTIAL)
10391        return "partial";
10392      return "?";
10393      }
10394    public String toSystem(RemittanceOutcome code) {
10395      return code.getSystem();
10396      }
10397    }
10398
10399    public enum RequestResourceType {
10400        /**
10401         * 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).
10402         */
10403        APPOINTMENT, 
10404        /**
10405         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
10406         */
10407        APPOINTMENTRESPONSE, 
10408        /**
10409         * Healthcare plan for patient or group.
10410         */
10411        CAREPLAN, 
10412        /**
10413         * Claim, Pre-determination or Pre-authorization.
10414         */
10415        CLAIM, 
10416        /**
10417         * A request for information to be sent to a receiver.
10418         */
10419        COMMUNICATIONREQUEST, 
10420        /**
10421         * Legal Agreement.
10422         */
10423        CONTRACT, 
10424        /**
10425         * Medical device request.
10426         */
10427        DEVICEREQUEST, 
10428        /**
10429         * Enrollment request.
10430         */
10431        ENROLLMENTREQUEST, 
10432        /**
10433         * Guidance or advice relating to an immunization.
10434         */
10435        IMMUNIZATIONRECOMMENDATION, 
10436        /**
10437         * Ordering of medication for patient or group.
10438         */
10439        MEDICATIONREQUEST, 
10440        /**
10441         * Diet, formula or nutritional supplement request.
10442         */
10443        NUTRITIONORDER, 
10444        /**
10445         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
10446         */
10447        SERVICEREQUEST, 
10448        /**
10449         * Request for a medication, substance or device.
10450         */
10451        SUPPLYREQUEST, 
10452        /**
10453         * A task to be performed.
10454         */
10455        TASK, 
10456        /**
10457         * Prescription for vision correction products for a patient.
10458         */
10459        VISIONPRESCRIPTION, 
10460        /**
10461         * added to help the parsers
10462         */
10463        NULL;
10464        public static RequestResourceType fromCode(String codeString) throws FHIRException {
10465            if (codeString == null || "".equals(codeString))
10466                return null;
10467        if ("Appointment".equals(codeString))
10468          return APPOINTMENT;
10469        if ("AppointmentResponse".equals(codeString))
10470          return APPOINTMENTRESPONSE;
10471        if ("CarePlan".equals(codeString))
10472          return CAREPLAN;
10473        if ("Claim".equals(codeString))
10474          return CLAIM;
10475        if ("CommunicationRequest".equals(codeString))
10476          return COMMUNICATIONREQUEST;
10477        if ("Contract".equals(codeString))
10478          return CONTRACT;
10479        if ("DeviceRequest".equals(codeString))
10480          return DEVICEREQUEST;
10481        if ("EnrollmentRequest".equals(codeString))
10482          return ENROLLMENTREQUEST;
10483        if ("ImmunizationRecommendation".equals(codeString))
10484          return IMMUNIZATIONRECOMMENDATION;
10485        if ("MedicationRequest".equals(codeString))
10486          return MEDICATIONREQUEST;
10487        if ("NutritionOrder".equals(codeString))
10488          return NUTRITIONORDER;
10489        if ("ServiceRequest".equals(codeString))
10490          return SERVICEREQUEST;
10491        if ("SupplyRequest".equals(codeString))
10492          return SUPPLYREQUEST;
10493        if ("Task".equals(codeString))
10494          return TASK;
10495        if ("VisionPrescription".equals(codeString))
10496          return VISIONPRESCRIPTION;
10497        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
10498        }
10499        public String toCode() {
10500          switch (this) {
10501            case APPOINTMENT: return "Appointment";
10502            case APPOINTMENTRESPONSE: return "AppointmentResponse";
10503            case CAREPLAN: return "CarePlan";
10504            case CLAIM: return "Claim";
10505            case COMMUNICATIONREQUEST: return "CommunicationRequest";
10506            case CONTRACT: return "Contract";
10507            case DEVICEREQUEST: return "DeviceRequest";
10508            case ENROLLMENTREQUEST: return "EnrollmentRequest";
10509            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
10510            case MEDICATIONREQUEST: return "MedicationRequest";
10511            case NUTRITIONORDER: return "NutritionOrder";
10512            case SERVICEREQUEST: return "ServiceRequest";
10513            case SUPPLYREQUEST: return "SupplyRequest";
10514            case TASK: return "Task";
10515            case VISIONPRESCRIPTION: return "VisionPrescription";
10516            default: return "?";
10517          }
10518        }
10519        public String getSystem() {
10520          switch (this) {
10521            case APPOINTMENT: return "http://hl7.org/fhir/request-resource-types";
10522            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/request-resource-types";
10523            case CAREPLAN: return "http://hl7.org/fhir/request-resource-types";
10524            case CLAIM: return "http://hl7.org/fhir/request-resource-types";
10525            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
10526            case CONTRACT: return "http://hl7.org/fhir/request-resource-types";
10527            case DEVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
10528            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/request-resource-types";
10529            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/request-resource-types";
10530            case MEDICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
10531            case NUTRITIONORDER: return "http://hl7.org/fhir/request-resource-types";
10532            case SERVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
10533            case SUPPLYREQUEST: return "http://hl7.org/fhir/request-resource-types";
10534            case TASK: return "http://hl7.org/fhir/request-resource-types";
10535            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/request-resource-types";
10536            default: return "?";
10537          }
10538        }
10539        public String getDefinition() {
10540          switch (this) {
10541            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).";
10542            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
10543            case CAREPLAN: return "Healthcare plan for patient or group.";
10544            case CLAIM: return "Claim, Pre-determination or Pre-authorization.";
10545            case COMMUNICATIONREQUEST: return "A request for information to be sent to a receiver.";
10546            case CONTRACT: return "Legal Agreement.";
10547            case DEVICEREQUEST: return "Medical device request.";
10548            case ENROLLMENTREQUEST: return "Enrollment request.";
10549            case IMMUNIZATIONRECOMMENDATION: return "Guidance or advice relating to an immunization.";
10550            case MEDICATIONREQUEST: return "Ordering of medication for patient or group.";
10551            case NUTRITIONORDER: return "Diet, formula or nutritional supplement request.";
10552            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
10553            case SUPPLYREQUEST: return "Request for a medication, substance or device.";
10554            case TASK: return "A task to be performed.";
10555            case VISIONPRESCRIPTION: return "Prescription for vision correction products for a patient.";
10556            default: return "?";
10557          }
10558        }
10559        public String getDisplay() {
10560          switch (this) {
10561            case APPOINTMENT: return "Appointment";
10562            case APPOINTMENTRESPONSE: return "AppointmentResponse";
10563            case CAREPLAN: return "CarePlan";
10564            case CLAIM: return "Claim";
10565            case COMMUNICATIONREQUEST: return "CommunicationRequest";
10566            case CONTRACT: return "Contract";
10567            case DEVICEREQUEST: return "DeviceRequest";
10568            case ENROLLMENTREQUEST: return "EnrollmentRequest";
10569            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
10570            case MEDICATIONREQUEST: return "MedicationRequest";
10571            case NUTRITIONORDER: return "NutritionOrder";
10572            case SERVICEREQUEST: return "ServiceRequest";
10573            case SUPPLYREQUEST: return "SupplyRequest";
10574            case TASK: return "Task";
10575            case VISIONPRESCRIPTION: return "VisionPrescription";
10576            default: return "?";
10577          }
10578        }
10579    }
10580
10581  public static class RequestResourceTypeEnumFactory implements EnumFactory<RequestResourceType> {
10582    public RequestResourceType fromCode(String codeString) throws IllegalArgumentException {
10583      if (codeString == null || "".equals(codeString))
10584            if (codeString == null || "".equals(codeString))
10585                return null;
10586        if ("Appointment".equals(codeString))
10587          return RequestResourceType.APPOINTMENT;
10588        if ("AppointmentResponse".equals(codeString))
10589          return RequestResourceType.APPOINTMENTRESPONSE;
10590        if ("CarePlan".equals(codeString))
10591          return RequestResourceType.CAREPLAN;
10592        if ("Claim".equals(codeString))
10593          return RequestResourceType.CLAIM;
10594        if ("CommunicationRequest".equals(codeString))
10595          return RequestResourceType.COMMUNICATIONREQUEST;
10596        if ("Contract".equals(codeString))
10597          return RequestResourceType.CONTRACT;
10598        if ("DeviceRequest".equals(codeString))
10599          return RequestResourceType.DEVICEREQUEST;
10600        if ("EnrollmentRequest".equals(codeString))
10601          return RequestResourceType.ENROLLMENTREQUEST;
10602        if ("ImmunizationRecommendation".equals(codeString))
10603          return RequestResourceType.IMMUNIZATIONRECOMMENDATION;
10604        if ("MedicationRequest".equals(codeString))
10605          return RequestResourceType.MEDICATIONREQUEST;
10606        if ("NutritionOrder".equals(codeString))
10607          return RequestResourceType.NUTRITIONORDER;
10608        if ("ServiceRequest".equals(codeString))
10609          return RequestResourceType.SERVICEREQUEST;
10610        if ("SupplyRequest".equals(codeString))
10611          return RequestResourceType.SUPPLYREQUEST;
10612        if ("Task".equals(codeString))
10613          return RequestResourceType.TASK;
10614        if ("VisionPrescription".equals(codeString))
10615          return RequestResourceType.VISIONPRESCRIPTION;
10616        throw new IllegalArgumentException("Unknown RequestResourceType code '"+codeString+"'");
10617        }
10618        public Enumeration<RequestResourceType> fromType(Base code) throws FHIRException {
10619          if (code == null)
10620            return null;
10621          if (code.isEmpty())
10622            return new Enumeration<RequestResourceType>(this);
10623          String codeString = ((PrimitiveType) code).asStringValue();
10624          if (codeString == null || "".equals(codeString))
10625            return null;
10626        if ("Appointment".equals(codeString))
10627          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENT);
10628        if ("AppointmentResponse".equals(codeString))
10629          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENTRESPONSE);
10630        if ("CarePlan".equals(codeString))
10631          return new Enumeration<RequestResourceType>(this, RequestResourceType.CAREPLAN);
10632        if ("Claim".equals(codeString))
10633          return new Enumeration<RequestResourceType>(this, RequestResourceType.CLAIM);
10634        if ("CommunicationRequest".equals(codeString))
10635          return new Enumeration<RequestResourceType>(this, RequestResourceType.COMMUNICATIONREQUEST);
10636        if ("Contract".equals(codeString))
10637          return new Enumeration<RequestResourceType>(this, RequestResourceType.CONTRACT);
10638        if ("DeviceRequest".equals(codeString))
10639          return new Enumeration<RequestResourceType>(this, RequestResourceType.DEVICEREQUEST);
10640        if ("EnrollmentRequest".equals(codeString))
10641          return new Enumeration<RequestResourceType>(this, RequestResourceType.ENROLLMENTREQUEST);
10642        if ("ImmunizationRecommendation".equals(codeString))
10643          return new Enumeration<RequestResourceType>(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION);
10644        if ("MedicationRequest".equals(codeString))
10645          return new Enumeration<RequestResourceType>(this, RequestResourceType.MEDICATIONREQUEST);
10646        if ("NutritionOrder".equals(codeString))
10647          return new Enumeration<RequestResourceType>(this, RequestResourceType.NUTRITIONORDER);
10648        if ("ServiceRequest".equals(codeString))
10649          return new Enumeration<RequestResourceType>(this, RequestResourceType.SERVICEREQUEST);
10650        if ("SupplyRequest".equals(codeString))
10651          return new Enumeration<RequestResourceType>(this, RequestResourceType.SUPPLYREQUEST);
10652        if ("Task".equals(codeString))
10653          return new Enumeration<RequestResourceType>(this, RequestResourceType.TASK);
10654        if ("VisionPrescription".equals(codeString))
10655          return new Enumeration<RequestResourceType>(this, RequestResourceType.VISIONPRESCRIPTION);
10656        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
10657        }
10658    public String toCode(RequestResourceType code) {
10659      if (code == RequestResourceType.APPOINTMENT)
10660        return "Appointment";
10661      if (code == RequestResourceType.APPOINTMENTRESPONSE)
10662        return "AppointmentResponse";
10663      if (code == RequestResourceType.CAREPLAN)
10664        return "CarePlan";
10665      if (code == RequestResourceType.CLAIM)
10666        return "Claim";
10667      if (code == RequestResourceType.COMMUNICATIONREQUEST)
10668        return "CommunicationRequest";
10669      if (code == RequestResourceType.CONTRACT)
10670        return "Contract";
10671      if (code == RequestResourceType.DEVICEREQUEST)
10672        return "DeviceRequest";
10673      if (code == RequestResourceType.ENROLLMENTREQUEST)
10674        return "EnrollmentRequest";
10675      if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION)
10676        return "ImmunizationRecommendation";
10677      if (code == RequestResourceType.MEDICATIONREQUEST)
10678        return "MedicationRequest";
10679      if (code == RequestResourceType.NUTRITIONORDER)
10680        return "NutritionOrder";
10681      if (code == RequestResourceType.SERVICEREQUEST)
10682        return "ServiceRequest";
10683      if (code == RequestResourceType.SUPPLYREQUEST)
10684        return "SupplyRequest";
10685      if (code == RequestResourceType.TASK)
10686        return "Task";
10687      if (code == RequestResourceType.VISIONPRESCRIPTION)
10688        return "VisionPrescription";
10689      return "?";
10690      }
10691    public String toSystem(RequestResourceType code) {
10692      return code.getSystem();
10693      }
10694    }
10695
10696    public enum ResourceType {
10697        /**
10698         * 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.
10699         */
10700        ACCOUNT, 
10701        /**
10702         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
10703         */
10704        ACTIVITYDEFINITION, 
10705        /**
10706         * 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.
10707         */
10708        ADVERSEEVENT, 
10709        /**
10710         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
10711         */
10712        ALLERGYINTOLERANCE, 
10713        /**
10714         * 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).
10715         */
10716        APPOINTMENT, 
10717        /**
10718         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
10719         */
10720        APPOINTMENTRESPONSE, 
10721        /**
10722         * 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.
10723         */
10724        AUDITEVENT, 
10725        /**
10726         * 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.
10727         */
10728        BASIC, 
10729        /**
10730         * 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.
10731         */
10732        BINARY, 
10733        /**
10734         * A material substance originating from a biological entity intended to be transplanted or infused
10735into another (possibly the same) biological entity.
10736         */
10737        BIOLOGICALLYDERIVEDPRODUCT, 
10738        /**
10739         * 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.
10740         */
10741        BODYSTRUCTURE, 
10742        /**
10743         * A container for a collection of resources.
10744         */
10745        BUNDLE, 
10746        /**
10747         * A Capability Statement 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.
10748         */
10749        CAPABILITYSTATEMENT, 
10750        /**
10751         * 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.
10752         */
10753        CAREPLAN, 
10754        /**
10755         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
10756         */
10757        CARETEAM, 
10758        /**
10759         * Catalog entries are wrappers that contextualize items included in a catalog.
10760         */
10761        CATALOGENTRY, 
10762        /**
10763         * 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.
10764         */
10765        CHARGEITEM, 
10766        /**
10767         * 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.
10768         */
10769        CHARGEITEMDEFINITION, 
10770        /**
10771         * A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.
10772         */
10773        CLAIM, 
10774        /**
10775         * This resource provides the adjudication details from the processing of a Claim resource.
10776         */
10777        CLAIMRESPONSE, 
10778        /**
10779         * 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.
10780         */
10781        CLINICALIMPRESSION, 
10782        /**
10783         * 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.
10784         */
10785        CODESYSTEM, 
10786        /**
10787         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.
10788         */
10789        COMMUNICATION, 
10790        /**
10791         * 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.
10792         */
10793        COMMUNICATIONREQUEST, 
10794        /**
10795         * A compartment definition that defines how resources are accessed on a server.
10796         */
10797        COMPARTMENTDEFINITION, 
10798        /**
10799         * 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.).
10800         */
10801        COMPOSITION, 
10802        /**
10803         * 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.
10804         */
10805        CONCEPTMAP, 
10806        /**
10807         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
10808         */
10809        CONDITION, 
10810        /**
10811         * 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.
10812         */
10813        CONSENT, 
10814        /**
10815         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
10816         */
10817        CONTRACT, 
10818        /**
10819         * Financial instrument which may be used to reimburse or pay for health care products and services.
10820         */
10821        COVERAGE, 
10822        /**
10823         * 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.
10824         */
10825        COVERAGEELIGIBILITYREQUEST, 
10826        /**
10827         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
10828         */
10829        COVERAGEELIGIBILITYRESPONSE, 
10830        /**
10831         * 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.
10832         */
10833        DETECTEDISSUE, 
10834        /**
10835         * This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).
10836         */
10837        DEVICE, 
10838        /**
10839         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
10840         */
10841        DEVICEDEFINITION, 
10842        /**
10843         * Describes a measurement, calculation or setting capability of a medical device.
10844         */
10845        DEVICEMETRIC, 
10846        /**
10847         * 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.
10848         */
10849        DEVICEREQUEST, 
10850        /**
10851         * 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.
10852         */
10853        DEVICEUSESTATEMENT, 
10854        /**
10855         * 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.
10856         */
10857        DIAGNOSTICREPORT, 
10858        /**
10859         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
10860         */
10861        DOCUMENTMANIFEST, 
10862        /**
10863         * A reference to a document.
10864         */
10865        DOCUMENTREFERENCE, 
10866        /**
10867         * A resource that includes narrative, extensions, and contained resources.
10868         */
10869        DOMAINRESOURCE, 
10870        /**
10871         * 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.
10872         */
10873        ENCOUNTER, 
10874        /**
10875         * 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.
10876         */
10877        ENDPOINT, 
10878        /**
10879         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
10880         */
10881        ENROLLMENTREQUEST, 
10882        /**
10883         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
10884         */
10885        ENROLLMENTRESPONSE, 
10886        /**
10887         * 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.
10888         */
10889        EPISODEOFCARE, 
10890        /**
10891         * The EventDefinition resource provides a reusable description of when a particular event can occur.
10892         */
10893        EVENTDEFINITION, 
10894        /**
10895         * Example of workflow instance.
10896         */
10897        EXAMPLESCENARIO, 
10898        /**
10899         * 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.
10900         */
10901        EXPLANATIONOFBENEFIT, 
10902        /**
10903         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
10904         */
10905        FAMILYMEMBERHISTORY, 
10906        /**
10907         * Prospective warnings of potential issues when providing care to the patient.
10908         */
10909        FLAG, 
10910        /**
10911         * 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.
10912         */
10913        GOAL, 
10914        /**
10915         * 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.
10916         */
10917        GRAPHDEFINITION, 
10918        /**
10919         * 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.
10920         */
10921        GROUP, 
10922        /**
10923         * 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.
10924         */
10925        GUIDANCERESPONSE, 
10926        /**
10927         * The details of a healthcare service available at a location.
10928         */
10929        HEALTHCARESERVICE, 
10930        /**
10931         * 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.
10932         */
10933        IMAGINGSTUDY, 
10934        /**
10935         * 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.
10936         */
10937        IMMUNIZATION, 
10938        /**
10939         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
10940         */
10941        IMMUNIZATIONEVALUATION, 
10942        /**
10943         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
10944         */
10945        IMMUNIZATIONRECOMMENDATION, 
10946        /**
10947         * A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
10948         */
10949        IMPLEMENTATIONGUIDE, 
10950        /**
10951         * Details of a Health Insurance product/plan provided by an organization.
10952         */
10953        INSURANCEPLAN, 
10954        /**
10955         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
10956         */
10957        INVOICE, 
10958        /**
10959         * A physical, countable instance of an item, for example one box or one unit.
10960         */
10961        ITEMINSTANCE, 
10962        /**
10963         * 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.
10964         */
10965        LIBRARY, 
10966        /**
10967         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
10968         */
10969        LINKAGE, 
10970        /**
10971         * A set of information summarized from a list of other resources.
10972         */
10973        LIST, 
10974        /**
10975         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
10976         */
10977        LOCATION, 
10978        /**
10979         * The Measure resource provides the definition of a quality measure.
10980         */
10981        MEASURE, 
10982        /**
10983         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
10984         */
10985        MEASUREREPORT, 
10986        /**
10987         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
10988         */
10989        MEDIA, 
10990        /**
10991         * 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.
10992         */
10993        MEDICATION, 
10994        /**
10995         * 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.
10996         */
10997        MEDICATIONADMINISTRATION, 
10998        /**
10999         * 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.
11000         */
11001        MEDICATIONDISPENSE, 
11002        /**
11003         * Information about a medication that is used to support knowledge.
11004         */
11005        MEDICATIONKNOWLEDGE, 
11006        /**
11007         * 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.
11008         */
11009        MEDICATIONREQUEST, 
11010        /**
11011         * 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. 
11012
11013The 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.
11014         */
11015        MEDICATIONSTATEMENT, 
11016        /**
11017         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
11018         */
11019        MEDICINALPRODUCT, 
11020        /**
11021         * The regulatory authorization of a medicinal product.
11022         */
11023        MEDICINALPRODUCTAUTHORIZATION, 
11024        /**
11025         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
11026         */
11027        MEDICINALPRODUCTCLINICALS, 
11028        /**
11029         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
11030         */
11031        MEDICINALPRODUCTCONTRAINDICATION, 
11032        /**
11033         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.
11034         */
11035        MEDICINALPRODUCTDEVICESPEC, 
11036        /**
11037         * Indication for the Medicinal Product.
11038         */
11039        MEDICINALPRODUCTINDICATION, 
11040        /**
11041         * An ingredient of a manufactured item or pharmaceutical product.
11042         */
11043        MEDICINALPRODUCTINGREDIENT, 
11044        /**
11045         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
11046         */
11047        MEDICINALPRODUCTINTERACTION, 
11048        /**
11049         * The manufactured item as contained in the packaged medicinal product.
11050         */
11051        MEDICINALPRODUCTMANUFACTURED, 
11052        /**
11053         * A medicinal product in a container or package.
11054         */
11055        MEDICINALPRODUCTPACKAGED, 
11056        /**
11057         * A pharmaceutical product described in terms of its composition and dose form.
11058         */
11059        MEDICINALPRODUCTPHARMACEUTICAL, 
11060        /**
11061         * Describe the undesirable effects of the medicinal product.
11062         */
11063        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
11064        /**
11065         * 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.
11066         */
11067        MESSAGEDEFINITION, 
11068        /**
11069         * 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.
11070         */
11071        MESSAGEHEADER, 
11072        /**
11073         * 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.
11074         */
11075        NAMINGSYSTEM, 
11076        /**
11077         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
11078         */
11079        NUTRITIONORDER, 
11080        /**
11081         * Measurements and simple assertions made about a patient, device or other subject.
11082         */
11083        OBSERVATION, 
11084        /**
11085         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
11086         */
11087        OBSERVATIONDEFINITION, 
11088        /**
11089         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
11090         */
11091        OPERATIONDEFINITION, 
11092        /**
11093         * A collection of error, warning or information messages that result from a system action.
11094         */
11095        OPERATIONOUTCOME, 
11096        /**
11097         * 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.
11098         */
11099        ORGANIZATION, 
11100        /**
11101         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
11102         */
11103        ORGANIZATIONAFFILIATION, 
11104        /**
11105         * This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.
11106         */
11107        PARAMETERS, 
11108        /**
11109         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
11110         */
11111        PATIENT, 
11112        /**
11113         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
11114         */
11115        PAYMENTNOTICE, 
11116        /**
11117         * This resource provides payment details and claim references supporting a bulk payment.
11118         */
11119        PAYMENTRECONCILIATION, 
11120        /**
11121         * Demographics and administrative information about a person independent of a specific health-related context.
11122         */
11123        PERSON, 
11124        /**
11125         * 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.
11126         */
11127        PLANDEFINITION, 
11128        /**
11129         * A person who is directly or indirectly involved in the provisioning of healthcare.
11130         */
11131        PRACTITIONER, 
11132        /**
11133         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
11134         */
11135        PRACTITIONERROLE, 
11136        /**
11137         * 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.
11138         */
11139        PROCEDURE, 
11140        /**
11141         * This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.
11142         */
11143        PROCESSREQUEST, 
11144        /**
11145         * This resource provides processing status, errors and notes from the processing of a resource.
11146         */
11147        PROCESSRESPONSE, 
11148        /**
11149         * 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.
11150         */
11151        PROVENANCE, 
11152        /**
11153         * 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.
11154         */
11155        QUESTIONNAIRE, 
11156        /**
11157         * 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.
11158         */
11159        QUESTIONNAIRERESPONSE, 
11160        /**
11161         * 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.
11162         */
11163        RELATEDPERSON, 
11164        /**
11165         * 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".
11166         */
11167        REQUESTGROUP, 
11168        /**
11169         * 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.
11170         */
11171        RESEARCHSTUDY, 
11172        /**
11173         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
11174         */
11175        RESEARCHSUBJECT, 
11176        /**
11177         * This is the base resource type for everything.
11178         */
11179        RESOURCE, 
11180        /**
11181         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
11182         */
11183        RISKASSESSMENT, 
11184        /**
11185         * A container for slots of time that may be available for booking appointments.
11186         */
11187        SCHEDULE, 
11188        /**
11189         * A search parameter that defines a named search item that can be used to search/filter on a resource.
11190         */
11191        SEARCHPARAMETER, 
11192        /**
11193         * Raw data describing a biological sequence.
11194         */
11195        SEQUENCE, 
11196        /**
11197         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
11198         */
11199        SERVICEREQUEST, 
11200        /**
11201         * A slot of time on a schedule that may be available for booking appointments.
11202         */
11203        SLOT, 
11204        /**
11205         * A sample to be used for analysis.
11206         */
11207        SPECIMEN, 
11208        /**
11209         * A kind of specimen with associated set of requirements.
11210         */
11211        SPECIMENDEFINITION, 
11212        /**
11213         * 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.
11214         */
11215        STRUCTUREDEFINITION, 
11216        /**
11217         * A Map of relationships between 2 structures that can be used to transform data.
11218         */
11219        STRUCTUREMAP, 
11220        /**
11221         * 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.
11222         */
11223        SUBSCRIPTION, 
11224        /**
11225         * A homogeneous material with a definite composition.
11226         */
11227        SUBSTANCE, 
11228        /**
11229         * Todo.
11230         */
11231        SUBSTANCEPOLYMER, 
11232        /**
11233         * Todo.
11234         */
11235        SUBSTANCEREFERENCEINFORMATION, 
11236        /**
11237         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
11238         */
11239        SUBSTANCESPECIFICATION, 
11240        /**
11241         * Record of delivery of what is supplied.
11242         */
11243        SUPPLYDELIVERY, 
11244        /**
11245         * A record of a request for a medication, substance or device used in the healthcare setting.
11246         */
11247        SUPPLYREQUEST, 
11248        /**
11249         * A task to be performed.
11250         */
11251        TASK, 
11252        /**
11253         * 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.
11254         */
11255        TERMINOLOGYCAPABILITIES, 
11256        /**
11257         * A summary of information based on the results of executing a TestScript.
11258         */
11259        TESTREPORT, 
11260        /**
11261         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
11262         */
11263        TESTSCRIPT, 
11264        /**
11265         * Information about a user's current session.
11266         */
11267        USERSESSION, 
11268        /**
11269         * A ValueSet resource instances 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).
11270         */
11271        VALUESET, 
11272        /**
11273         * Describes validation requirements, source(s), status and dates for one or more elements.
11274         */
11275        VERIFICATIONRESULT, 
11276        /**
11277         * An authorization for the supply of glasses and/or contact lenses to a patient.
11278         */
11279        VISIONPRESCRIPTION, 
11280        /**
11281         * added to help the parsers
11282         */
11283        NULL;
11284        public static ResourceType fromCode(String codeString) throws FHIRException {
11285            if (codeString == null || "".equals(codeString))
11286                return null;
11287        if ("Account".equals(codeString))
11288          return ACCOUNT;
11289        if ("ActivityDefinition".equals(codeString))
11290          return ACTIVITYDEFINITION;
11291        if ("AdverseEvent".equals(codeString))
11292          return ADVERSEEVENT;
11293        if ("AllergyIntolerance".equals(codeString))
11294          return ALLERGYINTOLERANCE;
11295        if ("Appointment".equals(codeString))
11296          return APPOINTMENT;
11297        if ("AppointmentResponse".equals(codeString))
11298          return APPOINTMENTRESPONSE;
11299        if ("AuditEvent".equals(codeString))
11300          return AUDITEVENT;
11301        if ("Basic".equals(codeString))
11302          return BASIC;
11303        if ("Binary".equals(codeString))
11304          return BINARY;
11305        if ("BiologicallyDerivedProduct".equals(codeString))
11306          return BIOLOGICALLYDERIVEDPRODUCT;
11307        if ("BodyStructure".equals(codeString))
11308          return BODYSTRUCTURE;
11309        if ("Bundle".equals(codeString))
11310          return BUNDLE;
11311        if ("CapabilityStatement".equals(codeString))
11312          return CAPABILITYSTATEMENT;
11313        if ("CarePlan".equals(codeString))
11314          return CAREPLAN;
11315        if ("CareTeam".equals(codeString))
11316          return CARETEAM;
11317        if ("CatalogEntry".equals(codeString))
11318          return CATALOGENTRY;
11319        if ("ChargeItem".equals(codeString))
11320          return CHARGEITEM;
11321        if ("ChargeItemDefinition".equals(codeString))
11322          return CHARGEITEMDEFINITION;
11323        if ("Claim".equals(codeString))
11324          return CLAIM;
11325        if ("ClaimResponse".equals(codeString))
11326          return CLAIMRESPONSE;
11327        if ("ClinicalImpression".equals(codeString))
11328          return CLINICALIMPRESSION;
11329        if ("CodeSystem".equals(codeString))
11330          return CODESYSTEM;
11331        if ("Communication".equals(codeString))
11332          return COMMUNICATION;
11333        if ("CommunicationRequest".equals(codeString))
11334          return COMMUNICATIONREQUEST;
11335        if ("CompartmentDefinition".equals(codeString))
11336          return COMPARTMENTDEFINITION;
11337        if ("Composition".equals(codeString))
11338          return COMPOSITION;
11339        if ("ConceptMap".equals(codeString))
11340          return CONCEPTMAP;
11341        if ("Condition".equals(codeString))
11342          return CONDITION;
11343        if ("Consent".equals(codeString))
11344          return CONSENT;
11345        if ("Contract".equals(codeString))
11346          return CONTRACT;
11347        if ("Coverage".equals(codeString))
11348          return COVERAGE;
11349        if ("CoverageEligibilityRequest".equals(codeString))
11350          return COVERAGEELIGIBILITYREQUEST;
11351        if ("CoverageEligibilityResponse".equals(codeString))
11352          return COVERAGEELIGIBILITYRESPONSE;
11353        if ("DetectedIssue".equals(codeString))
11354          return DETECTEDISSUE;
11355        if ("Device".equals(codeString))
11356          return DEVICE;
11357        if ("DeviceDefinition".equals(codeString))
11358          return DEVICEDEFINITION;
11359        if ("DeviceMetric".equals(codeString))
11360          return DEVICEMETRIC;
11361        if ("DeviceRequest".equals(codeString))
11362          return DEVICEREQUEST;
11363        if ("DeviceUseStatement".equals(codeString))
11364          return DEVICEUSESTATEMENT;
11365        if ("DiagnosticReport".equals(codeString))
11366          return DIAGNOSTICREPORT;
11367        if ("DocumentManifest".equals(codeString))
11368          return DOCUMENTMANIFEST;
11369        if ("DocumentReference".equals(codeString))
11370          return DOCUMENTREFERENCE;
11371        if ("DomainResource".equals(codeString))
11372          return DOMAINRESOURCE;
11373        if ("Encounter".equals(codeString))
11374          return ENCOUNTER;
11375        if ("Endpoint".equals(codeString))
11376          return ENDPOINT;
11377        if ("EnrollmentRequest".equals(codeString))
11378          return ENROLLMENTREQUEST;
11379        if ("EnrollmentResponse".equals(codeString))
11380          return ENROLLMENTRESPONSE;
11381        if ("EpisodeOfCare".equals(codeString))
11382          return EPISODEOFCARE;
11383        if ("EventDefinition".equals(codeString))
11384          return EVENTDEFINITION;
11385        if ("ExampleScenario".equals(codeString))
11386          return EXAMPLESCENARIO;
11387        if ("ExplanationOfBenefit".equals(codeString))
11388          return EXPLANATIONOFBENEFIT;
11389        if ("FamilyMemberHistory".equals(codeString))
11390          return FAMILYMEMBERHISTORY;
11391        if ("Flag".equals(codeString))
11392          return FLAG;
11393        if ("Goal".equals(codeString))
11394          return GOAL;
11395        if ("GraphDefinition".equals(codeString))
11396          return GRAPHDEFINITION;
11397        if ("Group".equals(codeString))
11398          return GROUP;
11399        if ("GuidanceResponse".equals(codeString))
11400          return GUIDANCERESPONSE;
11401        if ("HealthcareService".equals(codeString))
11402          return HEALTHCARESERVICE;
11403        if ("ImagingStudy".equals(codeString))
11404          return IMAGINGSTUDY;
11405        if ("Immunization".equals(codeString))
11406          return IMMUNIZATION;
11407        if ("ImmunizationEvaluation".equals(codeString))
11408          return IMMUNIZATIONEVALUATION;
11409        if ("ImmunizationRecommendation".equals(codeString))
11410          return IMMUNIZATIONRECOMMENDATION;
11411        if ("ImplementationGuide".equals(codeString))
11412          return IMPLEMENTATIONGUIDE;
11413        if ("InsurancePlan".equals(codeString))
11414          return INSURANCEPLAN;
11415        if ("Invoice".equals(codeString))
11416          return INVOICE;
11417        if ("ItemInstance".equals(codeString))
11418          return ITEMINSTANCE;
11419        if ("Library".equals(codeString))
11420          return LIBRARY;
11421        if ("Linkage".equals(codeString))
11422          return LINKAGE;
11423        if ("List".equals(codeString))
11424          return LIST;
11425        if ("Location".equals(codeString))
11426          return LOCATION;
11427        if ("Measure".equals(codeString))
11428          return MEASURE;
11429        if ("MeasureReport".equals(codeString))
11430          return MEASUREREPORT;
11431        if ("Media".equals(codeString))
11432          return MEDIA;
11433        if ("Medication".equals(codeString))
11434          return MEDICATION;
11435        if ("MedicationAdministration".equals(codeString))
11436          return MEDICATIONADMINISTRATION;
11437        if ("MedicationDispense".equals(codeString))
11438          return MEDICATIONDISPENSE;
11439        if ("MedicationKnowledge".equals(codeString))
11440          return MEDICATIONKNOWLEDGE;
11441        if ("MedicationRequest".equals(codeString))
11442          return MEDICATIONREQUEST;
11443        if ("MedicationStatement".equals(codeString))
11444          return MEDICATIONSTATEMENT;
11445        if ("MedicinalProduct".equals(codeString))
11446          return MEDICINALPRODUCT;
11447        if ("MedicinalProductAuthorization".equals(codeString))
11448          return MEDICINALPRODUCTAUTHORIZATION;
11449        if ("MedicinalProductClinicals".equals(codeString))
11450          return MEDICINALPRODUCTCLINICALS;
11451        if ("MedicinalProductContraindication".equals(codeString))
11452          return MEDICINALPRODUCTCONTRAINDICATION;
11453        if ("MedicinalProductDeviceSpec".equals(codeString))
11454          return MEDICINALPRODUCTDEVICESPEC;
11455        if ("MedicinalProductIndication".equals(codeString))
11456          return MEDICINALPRODUCTINDICATION;
11457        if ("MedicinalProductIngredient".equals(codeString))
11458          return MEDICINALPRODUCTINGREDIENT;
11459        if ("MedicinalProductInteraction".equals(codeString))
11460          return MEDICINALPRODUCTINTERACTION;
11461        if ("MedicinalProductManufactured".equals(codeString))
11462          return MEDICINALPRODUCTMANUFACTURED;
11463        if ("MedicinalProductPackaged".equals(codeString))
11464          return MEDICINALPRODUCTPACKAGED;
11465        if ("MedicinalProductPharmaceutical".equals(codeString))
11466          return MEDICINALPRODUCTPHARMACEUTICAL;
11467        if ("MedicinalProductUndesirableEffect".equals(codeString))
11468          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
11469        if ("MessageDefinition".equals(codeString))
11470          return MESSAGEDEFINITION;
11471        if ("MessageHeader".equals(codeString))
11472          return MESSAGEHEADER;
11473        if ("NamingSystem".equals(codeString))
11474          return NAMINGSYSTEM;
11475        if ("NutritionOrder".equals(codeString))
11476          return NUTRITIONORDER;
11477        if ("Observation".equals(codeString))
11478          return OBSERVATION;
11479        if ("ObservationDefinition".equals(codeString))
11480          return OBSERVATIONDEFINITION;
11481        if ("OperationDefinition".equals(codeString))
11482          return OPERATIONDEFINITION;
11483        if ("OperationOutcome".equals(codeString))
11484          return OPERATIONOUTCOME;
11485        if ("Organization".equals(codeString))
11486          return ORGANIZATION;
11487        if ("OrganizationAffiliation".equals(codeString))
11488          return ORGANIZATIONAFFILIATION;
11489        if ("Parameters".equals(codeString))
11490          return PARAMETERS;
11491        if ("Patient".equals(codeString))
11492          return PATIENT;
11493        if ("PaymentNotice".equals(codeString))
11494          return PAYMENTNOTICE;
11495        if ("PaymentReconciliation".equals(codeString))
11496          return PAYMENTRECONCILIATION;
11497        if ("Person".equals(codeString))
11498          return PERSON;
11499        if ("PlanDefinition".equals(codeString))
11500          return PLANDEFINITION;
11501        if ("Practitioner".equals(codeString))
11502          return PRACTITIONER;
11503        if ("PractitionerRole".equals(codeString))
11504          return PRACTITIONERROLE;
11505        if ("Procedure".equals(codeString))
11506          return PROCEDURE;
11507        if ("ProcessRequest".equals(codeString))
11508          return PROCESSREQUEST;
11509        if ("ProcessResponse".equals(codeString))
11510          return PROCESSRESPONSE;
11511        if ("Provenance".equals(codeString))
11512          return PROVENANCE;
11513        if ("Questionnaire".equals(codeString))
11514          return QUESTIONNAIRE;
11515        if ("QuestionnaireResponse".equals(codeString))
11516          return QUESTIONNAIRERESPONSE;
11517        if ("RelatedPerson".equals(codeString))
11518          return RELATEDPERSON;
11519        if ("RequestGroup".equals(codeString))
11520          return REQUESTGROUP;
11521        if ("ResearchStudy".equals(codeString))
11522          return RESEARCHSTUDY;
11523        if ("ResearchSubject".equals(codeString))
11524          return RESEARCHSUBJECT;
11525        if ("Resource".equals(codeString))
11526          return RESOURCE;
11527        if ("RiskAssessment".equals(codeString))
11528          return RISKASSESSMENT;
11529        if ("Schedule".equals(codeString))
11530          return SCHEDULE;
11531        if ("SearchParameter".equals(codeString))
11532          return SEARCHPARAMETER;
11533        if ("Sequence".equals(codeString))
11534          return SEQUENCE;
11535        if ("ServiceRequest".equals(codeString))
11536          return SERVICEREQUEST;
11537        if ("Slot".equals(codeString))
11538          return SLOT;
11539        if ("Specimen".equals(codeString))
11540          return SPECIMEN;
11541        if ("SpecimenDefinition".equals(codeString))
11542          return SPECIMENDEFINITION;
11543        if ("StructureDefinition".equals(codeString))
11544          return STRUCTUREDEFINITION;
11545        if ("StructureMap".equals(codeString))
11546          return STRUCTUREMAP;
11547        if ("Subscription".equals(codeString))
11548          return SUBSCRIPTION;
11549        if ("Substance".equals(codeString))
11550          return SUBSTANCE;
11551        if ("SubstancePolymer".equals(codeString))
11552          return SUBSTANCEPOLYMER;
11553        if ("SubstanceReferenceInformation".equals(codeString))
11554          return SUBSTANCEREFERENCEINFORMATION;
11555        if ("SubstanceSpecification".equals(codeString))
11556          return SUBSTANCESPECIFICATION;
11557        if ("SupplyDelivery".equals(codeString))
11558          return SUPPLYDELIVERY;
11559        if ("SupplyRequest".equals(codeString))
11560          return SUPPLYREQUEST;
11561        if ("Task".equals(codeString))
11562          return TASK;
11563        if ("TerminologyCapabilities".equals(codeString))
11564          return TERMINOLOGYCAPABILITIES;
11565        if ("TestReport".equals(codeString))
11566          return TESTREPORT;
11567        if ("TestScript".equals(codeString))
11568          return TESTSCRIPT;
11569        if ("UserSession".equals(codeString))
11570          return USERSESSION;
11571        if ("ValueSet".equals(codeString))
11572          return VALUESET;
11573        if ("VerificationResult".equals(codeString))
11574          return VERIFICATIONRESULT;
11575        if ("VisionPrescription".equals(codeString))
11576          return VISIONPRESCRIPTION;
11577        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
11578        }
11579        public String toCode() {
11580          switch (this) {
11581            case ACCOUNT: return "Account";
11582            case ACTIVITYDEFINITION: return "ActivityDefinition";
11583            case ADVERSEEVENT: return "AdverseEvent";
11584            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
11585            case APPOINTMENT: return "Appointment";
11586            case APPOINTMENTRESPONSE: return "AppointmentResponse";
11587            case AUDITEVENT: return "AuditEvent";
11588            case BASIC: return "Basic";
11589            case BINARY: return "Binary";
11590            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
11591            case BODYSTRUCTURE: return "BodyStructure";
11592            case BUNDLE: return "Bundle";
11593            case CAPABILITYSTATEMENT: return "CapabilityStatement";
11594            case CAREPLAN: return "CarePlan";
11595            case CARETEAM: return "CareTeam";
11596            case CATALOGENTRY: return "CatalogEntry";
11597            case CHARGEITEM: return "ChargeItem";
11598            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
11599            case CLAIM: return "Claim";
11600            case CLAIMRESPONSE: return "ClaimResponse";
11601            case CLINICALIMPRESSION: return "ClinicalImpression";
11602            case CODESYSTEM: return "CodeSystem";
11603            case COMMUNICATION: return "Communication";
11604            case COMMUNICATIONREQUEST: return "CommunicationRequest";
11605            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
11606            case COMPOSITION: return "Composition";
11607            case CONCEPTMAP: return "ConceptMap";
11608            case CONDITION: return "Condition";
11609            case CONSENT: return "Consent";
11610            case CONTRACT: return "Contract";
11611            case COVERAGE: return "Coverage";
11612            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
11613            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
11614            case DETECTEDISSUE: return "DetectedIssue";
11615            case DEVICE: return "Device";
11616            case DEVICEDEFINITION: return "DeviceDefinition";
11617            case DEVICEMETRIC: return "DeviceMetric";
11618            case DEVICEREQUEST: return "DeviceRequest";
11619            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
11620            case DIAGNOSTICREPORT: return "DiagnosticReport";
11621            case DOCUMENTMANIFEST: return "DocumentManifest";
11622            case DOCUMENTREFERENCE: return "DocumentReference";
11623            case DOMAINRESOURCE: return "DomainResource";
11624            case ENCOUNTER: return "Encounter";
11625            case ENDPOINT: return "Endpoint";
11626            case ENROLLMENTREQUEST: return "EnrollmentRequest";
11627            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
11628            case EPISODEOFCARE: return "EpisodeOfCare";
11629            case EVENTDEFINITION: return "EventDefinition";
11630            case EXAMPLESCENARIO: return "ExampleScenario";
11631            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
11632            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
11633            case FLAG: return "Flag";
11634            case GOAL: return "Goal";
11635            case GRAPHDEFINITION: return "GraphDefinition";
11636            case GROUP: return "Group";
11637            case GUIDANCERESPONSE: return "GuidanceResponse";
11638            case HEALTHCARESERVICE: return "HealthcareService";
11639            case IMAGINGSTUDY: return "ImagingStudy";
11640            case IMMUNIZATION: return "Immunization";
11641            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
11642            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
11643            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
11644            case INSURANCEPLAN: return "InsurancePlan";
11645            case INVOICE: return "Invoice";
11646            case ITEMINSTANCE: return "ItemInstance";
11647            case LIBRARY: return "Library";
11648            case LINKAGE: return "Linkage";
11649            case LIST: return "List";
11650            case LOCATION: return "Location";
11651            case MEASURE: return "Measure";
11652            case MEASUREREPORT: return "MeasureReport";
11653            case MEDIA: return "Media";
11654            case MEDICATION: return "Medication";
11655            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
11656            case MEDICATIONDISPENSE: return "MedicationDispense";
11657            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
11658            case MEDICATIONREQUEST: return "MedicationRequest";
11659            case MEDICATIONSTATEMENT: return "MedicationStatement";
11660            case MEDICINALPRODUCT: return "MedicinalProduct";
11661            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
11662            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
11663            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
11664            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
11665            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
11666            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
11667            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
11668            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
11669            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
11670            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
11671            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
11672            case MESSAGEDEFINITION: return "MessageDefinition";
11673            case MESSAGEHEADER: return "MessageHeader";
11674            case NAMINGSYSTEM: return "NamingSystem";
11675            case NUTRITIONORDER: return "NutritionOrder";
11676            case OBSERVATION: return "Observation";
11677            case OBSERVATIONDEFINITION: return "ObservationDefinition";
11678            case OPERATIONDEFINITION: return "OperationDefinition";
11679            case OPERATIONOUTCOME: return "OperationOutcome";
11680            case ORGANIZATION: return "Organization";
11681            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
11682            case PARAMETERS: return "Parameters";
11683            case PATIENT: return "Patient";
11684            case PAYMENTNOTICE: return "PaymentNotice";
11685            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
11686            case PERSON: return "Person";
11687            case PLANDEFINITION: return "PlanDefinition";
11688            case PRACTITIONER: return "Practitioner";
11689            case PRACTITIONERROLE: return "PractitionerRole";
11690            case PROCEDURE: return "Procedure";
11691            case PROCESSREQUEST: return "ProcessRequest";
11692            case PROCESSRESPONSE: return "ProcessResponse";
11693            case PROVENANCE: return "Provenance";
11694            case QUESTIONNAIRE: return "Questionnaire";
11695            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
11696            case RELATEDPERSON: return "RelatedPerson";
11697            case REQUESTGROUP: return "RequestGroup";
11698            case RESEARCHSTUDY: return "ResearchStudy";
11699            case RESEARCHSUBJECT: return "ResearchSubject";
11700            case RESOURCE: return "Resource";
11701            case RISKASSESSMENT: return "RiskAssessment";
11702            case SCHEDULE: return "Schedule";
11703            case SEARCHPARAMETER: return "SearchParameter";
11704            case SEQUENCE: return "Sequence";
11705            case SERVICEREQUEST: return "ServiceRequest";
11706            case SLOT: return "Slot";
11707            case SPECIMEN: return "Specimen";
11708            case SPECIMENDEFINITION: return "SpecimenDefinition";
11709            case STRUCTUREDEFINITION: return "StructureDefinition";
11710            case STRUCTUREMAP: return "StructureMap";
11711            case SUBSCRIPTION: return "Subscription";
11712            case SUBSTANCE: return "Substance";
11713            case SUBSTANCEPOLYMER: return "SubstancePolymer";
11714            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
11715            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
11716            case SUPPLYDELIVERY: return "SupplyDelivery";
11717            case SUPPLYREQUEST: return "SupplyRequest";
11718            case TASK: return "Task";
11719            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
11720            case TESTREPORT: return "TestReport";
11721            case TESTSCRIPT: return "TestScript";
11722            case USERSESSION: return "UserSession";
11723            case VALUESET: return "ValueSet";
11724            case VERIFICATIONRESULT: return "VerificationResult";
11725            case VISIONPRESCRIPTION: return "VisionPrescription";
11726            default: return "?";
11727          }
11728        }
11729        public String getSystem() {
11730          switch (this) {
11731            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
11732            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
11733            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
11734            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
11735            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
11736            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
11737            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
11738            case BASIC: return "http://hl7.org/fhir/resource-types";
11739            case BINARY: return "http://hl7.org/fhir/resource-types";
11740            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
11741            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
11742            case BUNDLE: return "http://hl7.org/fhir/resource-types";
11743            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
11744            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
11745            case CARETEAM: return "http://hl7.org/fhir/resource-types";
11746            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
11747            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
11748            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
11749            case CLAIM: return "http://hl7.org/fhir/resource-types";
11750            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
11751            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
11752            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
11753            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
11754            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
11755            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
11756            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
11757            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
11758            case CONDITION: return "http://hl7.org/fhir/resource-types";
11759            case CONSENT: return "http://hl7.org/fhir/resource-types";
11760            case CONTRACT: return "http://hl7.org/fhir/resource-types";
11761            case COVERAGE: return "http://hl7.org/fhir/resource-types";
11762            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
11763            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
11764            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
11765            case DEVICE: return "http://hl7.org/fhir/resource-types";
11766            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
11767            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
11768            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
11769            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
11770            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
11771            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
11772            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
11773            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
11774            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
11775            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
11776            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
11777            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
11778            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
11779            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
11780            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
11781            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
11782            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
11783            case FLAG: return "http://hl7.org/fhir/resource-types";
11784            case GOAL: return "http://hl7.org/fhir/resource-types";
11785            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
11786            case GROUP: return "http://hl7.org/fhir/resource-types";
11787            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
11788            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
11789            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
11790            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
11791            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
11792            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
11793            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
11794            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
11795            case INVOICE: return "http://hl7.org/fhir/resource-types";
11796            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
11797            case LIBRARY: return "http://hl7.org/fhir/resource-types";
11798            case LINKAGE: return "http://hl7.org/fhir/resource-types";
11799            case LIST: return "http://hl7.org/fhir/resource-types";
11800            case LOCATION: return "http://hl7.org/fhir/resource-types";
11801            case MEASURE: return "http://hl7.org/fhir/resource-types";
11802            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
11803            case MEDIA: return "http://hl7.org/fhir/resource-types";
11804            case MEDICATION: return "http://hl7.org/fhir/resource-types";
11805            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
11806            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
11807            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
11808            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
11809            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
11810            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
11811            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
11812            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
11813            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
11814            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
11815            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
11816            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
11817            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
11818            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
11819            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
11820            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
11821            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
11822            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
11823            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
11824            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
11825            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
11826            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
11827            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
11828            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
11829            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
11830            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
11831            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
11832            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
11833            case PATIENT: return "http://hl7.org/fhir/resource-types";
11834            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
11835            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
11836            case PERSON: return "http://hl7.org/fhir/resource-types";
11837            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
11838            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
11839            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
11840            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
11841            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
11842            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
11843            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
11844            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
11845            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
11846            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
11847            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
11848            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
11849            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
11850            case RESOURCE: return "http://hl7.org/fhir/resource-types";
11851            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
11852            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
11853            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
11854            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
11855            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
11856            case SLOT: return "http://hl7.org/fhir/resource-types";
11857            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
11858            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
11859            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
11860            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
11861            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
11862            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
11863            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
11864            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
11865            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
11866            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
11867            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
11868            case TASK: return "http://hl7.org/fhir/resource-types";
11869            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
11870            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
11871            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
11872            case USERSESSION: return "http://hl7.org/fhir/resource-types";
11873            case VALUESET: return "http://hl7.org/fhir/resource-types";
11874            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
11875            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
11876            default: return "?";
11877          }
11878        }
11879        public String getDefinition() {
11880          switch (this) {
11881            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.";
11882            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.";
11883            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.";
11884            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
11885            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).";
11886            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
11887            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.";
11888            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.";
11889            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.";
11890            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
11891            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.";
11892            case BUNDLE: return "A container for a collection of resources.";
11893            case CAPABILITYSTATEMENT: return "A Capability Statement 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.";
11894            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.";
11895            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.";
11896            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
11897            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.";
11898            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.";
11899            case CLAIM: return "A provider issued list of services and products provided, or to be provided, to a patient which is provided to an insurer for payment recovery.";
11900            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
11901            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.";
11902            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.";
11903            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency was notified about a reportable condition.";
11904            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.";
11905            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
11906            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.).";
11907            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.";
11908            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
11909            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.";
11910            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
11911            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
11912            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.";
11913            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
11914            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.";
11915            case DEVICE: return "This resource identifies 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.  Medical devices include durable (reusable) medical equipment, implantable devices, as well as disposable equipment used for diagnostic, treatment, and research for healthcare and public health.  Non-medical devices may include items such as a machine, cellphone, computer, application, etc. This is the catalog description of a device (not the specific instance).";
11916            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
11917            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
11918            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.";
11919            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.";
11920            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.";
11921            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
11922            case DOCUMENTREFERENCE: return "A reference to a document.";
11923            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
11924            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.";
11925            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.";
11926            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
11927            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
11928            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.";
11929            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
11930            case EXAMPLESCENARIO: return "Example of workflow instance.";
11931            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.";
11932            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
11933            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
11934            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.";
11935            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.";
11936            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.";
11937            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.";
11938            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
11939            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.";
11940            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.";
11941            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.";
11942            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
11943            case IMPLEMENTATIONGUIDE: return "A set of rules of how FHIR is used to solve a particular problem. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
11944            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
11945            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
11946            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
11947            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.";
11948            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
11949            case LIST: return "A set of information summarized from a list of other resources.";
11950            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.";
11951            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
11952            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.";
11953            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.";
11954            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.";
11955            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.";
11956            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.";
11957            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
11958            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.";
11959            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. \r\rThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
11960            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
11961            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
11962            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
11963            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
11964            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to replace the Device resource, which covers use of device instances.";
11965            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
11966            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
11967            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
11968            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
11969            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
11970            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
11971            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
11972            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.";
11973            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.";
11974            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.";
11975            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
11976            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
11977            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
11978            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
11979            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
11980            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.";
11981            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
11982            case PARAMETERS: return "This special resource type is used to represent an operation request and response (operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
11983            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
11984            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
11985            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
11986            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
11987            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.";
11988            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
11989            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
11990            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.";
11991            case PROCESSREQUEST: return "This resource provides the target, request and response, and action details for an action to be performed by the target on or about existing resources.";
11992            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
11993            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.";
11994            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.";
11995            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.";
11996            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.";
11997            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\".";
11998            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.";
11999            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
12000            case RESOURCE: return "This is the base resource type for everything.";
12001            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
12002            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
12003            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
12004            case SEQUENCE: return "Raw data describing a biological sequence.";
12005            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
12006            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
12007            case SPECIMEN: return "A sample to be used for analysis.";
12008            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
12009            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.";
12010            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
12011            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.";
12012            case SUBSTANCE: return "A homogeneous material with a definite composition.";
12013            case SUBSTANCEPOLYMER: return "Todo.";
12014            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
12015            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
12016            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
12017            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
12018            case TASK: return "A task to be performed.";
12019            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.";
12020            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
12021            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
12022            case USERSESSION: return "Information about a user's current session.";
12023            case VALUESET: return "A ValueSet resource instances 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).";
12024            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
12025            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
12026            default: return "?";
12027          }
12028        }
12029        public String getDisplay() {
12030          switch (this) {
12031            case ACCOUNT: return "Account";
12032            case ACTIVITYDEFINITION: return "ActivityDefinition";
12033            case ADVERSEEVENT: return "AdverseEvent";
12034            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
12035            case APPOINTMENT: return "Appointment";
12036            case APPOINTMENTRESPONSE: return "AppointmentResponse";
12037            case AUDITEVENT: return "AuditEvent";
12038            case BASIC: return "Basic";
12039            case BINARY: return "Binary";
12040            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
12041            case BODYSTRUCTURE: return "BodyStructure";
12042            case BUNDLE: return "Bundle";
12043            case CAPABILITYSTATEMENT: return "CapabilityStatement";
12044            case CAREPLAN: return "CarePlan";
12045            case CARETEAM: return "CareTeam";
12046            case CATALOGENTRY: return "CatalogEntry";
12047            case CHARGEITEM: return "ChargeItem";
12048            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
12049            case CLAIM: return "Claim";
12050            case CLAIMRESPONSE: return "ClaimResponse";
12051            case CLINICALIMPRESSION: return "ClinicalImpression";
12052            case CODESYSTEM: return "CodeSystem";
12053            case COMMUNICATION: return "Communication";
12054            case COMMUNICATIONREQUEST: return "CommunicationRequest";
12055            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
12056            case COMPOSITION: return "Composition";
12057            case CONCEPTMAP: return "ConceptMap";
12058            case CONDITION: return "Condition";
12059            case CONSENT: return "Consent";
12060            case CONTRACT: return "Contract";
12061            case COVERAGE: return "Coverage";
12062            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
12063            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
12064            case DETECTEDISSUE: return "DetectedIssue";
12065            case DEVICE: return "Device";
12066            case DEVICEDEFINITION: return "DeviceDefinition";
12067            case DEVICEMETRIC: return "DeviceMetric";
12068            case DEVICEREQUEST: return "DeviceRequest";
12069            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
12070            case DIAGNOSTICREPORT: return "DiagnosticReport";
12071            case DOCUMENTMANIFEST: return "DocumentManifest";
12072            case DOCUMENTREFERENCE: return "DocumentReference";
12073            case DOMAINRESOURCE: return "DomainResource";
12074            case ENCOUNTER: return "Encounter";
12075            case ENDPOINT: return "Endpoint";
12076            case ENROLLMENTREQUEST: return "EnrollmentRequest";
12077            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
12078            case EPISODEOFCARE: return "EpisodeOfCare";
12079            case EVENTDEFINITION: return "EventDefinition";
12080            case EXAMPLESCENARIO: return "ExampleScenario";
12081            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
12082            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
12083            case FLAG: return "Flag";
12084            case GOAL: return "Goal";
12085            case GRAPHDEFINITION: return "GraphDefinition";
12086            case GROUP: return "Group";
12087            case GUIDANCERESPONSE: return "GuidanceResponse";
12088            case HEALTHCARESERVICE: return "HealthcareService";
12089            case IMAGINGSTUDY: return "ImagingStudy";
12090            case IMMUNIZATION: return "Immunization";
12091            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
12092            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
12093            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
12094            case INSURANCEPLAN: return "InsurancePlan";
12095            case INVOICE: return "Invoice";
12096            case ITEMINSTANCE: return "ItemInstance";
12097            case LIBRARY: return "Library";
12098            case LINKAGE: return "Linkage";
12099            case LIST: return "List";
12100            case LOCATION: return "Location";
12101            case MEASURE: return "Measure";
12102            case MEASUREREPORT: return "MeasureReport";
12103            case MEDIA: return "Media";
12104            case MEDICATION: return "Medication";
12105            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
12106            case MEDICATIONDISPENSE: return "MedicationDispense";
12107            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
12108            case MEDICATIONREQUEST: return "MedicationRequest";
12109            case MEDICATIONSTATEMENT: return "MedicationStatement";
12110            case MEDICINALPRODUCT: return "MedicinalProduct";
12111            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
12112            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
12113            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
12114            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
12115            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
12116            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
12117            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
12118            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
12119            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
12120            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
12121            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
12122            case MESSAGEDEFINITION: return "MessageDefinition";
12123            case MESSAGEHEADER: return "MessageHeader";
12124            case NAMINGSYSTEM: return "NamingSystem";
12125            case NUTRITIONORDER: return "NutritionOrder";
12126            case OBSERVATION: return "Observation";
12127            case OBSERVATIONDEFINITION: return "ObservationDefinition";
12128            case OPERATIONDEFINITION: return "OperationDefinition";
12129            case OPERATIONOUTCOME: return "OperationOutcome";
12130            case ORGANIZATION: return "Organization";
12131            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
12132            case PARAMETERS: return "Parameters";
12133            case PATIENT: return "Patient";
12134            case PAYMENTNOTICE: return "PaymentNotice";
12135            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
12136            case PERSON: return "Person";
12137            case PLANDEFINITION: return "PlanDefinition";
12138            case PRACTITIONER: return "Practitioner";
12139            case PRACTITIONERROLE: return "PractitionerRole";
12140            case PROCEDURE: return "Procedure";
12141            case PROCESSREQUEST: return "ProcessRequest";
12142            case PROCESSRESPONSE: return "ProcessResponse";
12143            case PROVENANCE: return "Provenance";
12144            case QUESTIONNAIRE: return "Questionnaire";
12145            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
12146            case RELATEDPERSON: return "RelatedPerson";
12147            case REQUESTGROUP: return "RequestGroup";
12148            case RESEARCHSTUDY: return "ResearchStudy";
12149            case RESEARCHSUBJECT: return "ResearchSubject";
12150            case RESOURCE: return "Resource";
12151            case RISKASSESSMENT: return "RiskAssessment";
12152            case SCHEDULE: return "Schedule";
12153            case SEARCHPARAMETER: return "SearchParameter";
12154            case SEQUENCE: return "Sequence";
12155            case SERVICEREQUEST: return "ServiceRequest";
12156            case SLOT: return "Slot";
12157            case SPECIMEN: return "Specimen";
12158            case SPECIMENDEFINITION: return "SpecimenDefinition";
12159            case STRUCTUREDEFINITION: return "StructureDefinition";
12160            case STRUCTUREMAP: return "StructureMap";
12161            case SUBSCRIPTION: return "Subscription";
12162            case SUBSTANCE: return "Substance";
12163            case SUBSTANCEPOLYMER: return "SubstancePolymer";
12164            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
12165            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
12166            case SUPPLYDELIVERY: return "SupplyDelivery";
12167            case SUPPLYREQUEST: return "SupplyRequest";
12168            case TASK: return "Task";
12169            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
12170            case TESTREPORT: return "TestReport";
12171            case TESTSCRIPT: return "TestScript";
12172            case USERSESSION: return "UserSession";
12173            case VALUESET: return "ValueSet";
12174            case VERIFICATIONRESULT: return "VerificationResult";
12175            case VISIONPRESCRIPTION: return "VisionPrescription";
12176            default: return "?";
12177          }
12178        }
12179    }
12180
12181  public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> {
12182    public ResourceType fromCode(String codeString) throws IllegalArgumentException {
12183      if (codeString == null || "".equals(codeString))
12184            if (codeString == null || "".equals(codeString))
12185                return null;
12186        if ("Account".equals(codeString))
12187          return ResourceType.ACCOUNT;
12188        if ("ActivityDefinition".equals(codeString))
12189          return ResourceType.ACTIVITYDEFINITION;
12190        if ("AdverseEvent".equals(codeString))
12191          return ResourceType.ADVERSEEVENT;
12192        if ("AllergyIntolerance".equals(codeString))
12193          return ResourceType.ALLERGYINTOLERANCE;
12194        if ("Appointment".equals(codeString))
12195          return ResourceType.APPOINTMENT;
12196        if ("AppointmentResponse".equals(codeString))
12197          return ResourceType.APPOINTMENTRESPONSE;
12198        if ("AuditEvent".equals(codeString))
12199          return ResourceType.AUDITEVENT;
12200        if ("Basic".equals(codeString))
12201          return ResourceType.BASIC;
12202        if ("Binary".equals(codeString))
12203          return ResourceType.BINARY;
12204        if ("BiologicallyDerivedProduct".equals(codeString))
12205          return ResourceType.BIOLOGICALLYDERIVEDPRODUCT;
12206        if ("BodyStructure".equals(codeString))
12207          return ResourceType.BODYSTRUCTURE;
12208        if ("Bundle".equals(codeString))
12209          return ResourceType.BUNDLE;
12210        if ("CapabilityStatement".equals(codeString))
12211          return ResourceType.CAPABILITYSTATEMENT;
12212        if ("CarePlan".equals(codeString))
12213          return ResourceType.CAREPLAN;
12214        if ("CareTeam".equals(codeString))
12215          return ResourceType.CARETEAM;
12216        if ("CatalogEntry".equals(codeString))
12217          return ResourceType.CATALOGENTRY;
12218        if ("ChargeItem".equals(codeString))
12219          return ResourceType.CHARGEITEM;
12220        if ("ChargeItemDefinition".equals(codeString))
12221          return ResourceType.CHARGEITEMDEFINITION;
12222        if ("Claim".equals(codeString))
12223          return ResourceType.CLAIM;
12224        if ("ClaimResponse".equals(codeString))
12225          return ResourceType.CLAIMRESPONSE;
12226        if ("ClinicalImpression".equals(codeString))
12227          return ResourceType.CLINICALIMPRESSION;
12228        if ("CodeSystem".equals(codeString))
12229          return ResourceType.CODESYSTEM;
12230        if ("Communication".equals(codeString))
12231          return ResourceType.COMMUNICATION;
12232        if ("CommunicationRequest".equals(codeString))
12233          return ResourceType.COMMUNICATIONREQUEST;
12234        if ("CompartmentDefinition".equals(codeString))
12235          return ResourceType.COMPARTMENTDEFINITION;
12236        if ("Composition".equals(codeString))
12237          return ResourceType.COMPOSITION;
12238        if ("ConceptMap".equals(codeString))
12239          return ResourceType.CONCEPTMAP;
12240        if ("Condition".equals(codeString))
12241          return ResourceType.CONDITION;
12242        if ("Consent".equals(codeString))
12243          return ResourceType.CONSENT;
12244        if ("Contract".equals(codeString))
12245          return ResourceType.CONTRACT;
12246        if ("Coverage".equals(codeString))
12247          return ResourceType.COVERAGE;
12248        if ("CoverageEligibilityRequest".equals(codeString))
12249          return ResourceType.COVERAGEELIGIBILITYREQUEST;
12250        if ("CoverageEligibilityResponse".equals(codeString))
12251          return ResourceType.COVERAGEELIGIBILITYRESPONSE;
12252        if ("DetectedIssue".equals(codeString))
12253          return ResourceType.DETECTEDISSUE;
12254        if ("Device".equals(codeString))
12255          return ResourceType.DEVICE;
12256        if ("DeviceDefinition".equals(codeString))
12257          return ResourceType.DEVICEDEFINITION;
12258        if ("DeviceMetric".equals(codeString))
12259          return ResourceType.DEVICEMETRIC;
12260        if ("DeviceRequest".equals(codeString))
12261          return ResourceType.DEVICEREQUEST;
12262        if ("DeviceUseStatement".equals(codeString))
12263          return ResourceType.DEVICEUSESTATEMENT;
12264        if ("DiagnosticReport".equals(codeString))
12265          return ResourceType.DIAGNOSTICREPORT;
12266        if ("DocumentManifest".equals(codeString))
12267          return ResourceType.DOCUMENTMANIFEST;
12268        if ("DocumentReference".equals(codeString))
12269          return ResourceType.DOCUMENTREFERENCE;
12270        if ("DomainResource".equals(codeString))
12271          return ResourceType.DOMAINRESOURCE;
12272        if ("Encounter".equals(codeString))
12273          return ResourceType.ENCOUNTER;
12274        if ("Endpoint".equals(codeString))
12275          return ResourceType.ENDPOINT;
12276        if ("EnrollmentRequest".equals(codeString))
12277          return ResourceType.ENROLLMENTREQUEST;
12278        if ("EnrollmentResponse".equals(codeString))
12279          return ResourceType.ENROLLMENTRESPONSE;
12280        if ("EpisodeOfCare".equals(codeString))
12281          return ResourceType.EPISODEOFCARE;
12282        if ("EventDefinition".equals(codeString))
12283          return ResourceType.EVENTDEFINITION;
12284        if ("ExampleScenario".equals(codeString))
12285          return ResourceType.EXAMPLESCENARIO;
12286        if ("ExplanationOfBenefit".equals(codeString))
12287          return ResourceType.EXPLANATIONOFBENEFIT;
12288        if ("FamilyMemberHistory".equals(codeString))
12289          return ResourceType.FAMILYMEMBERHISTORY;
12290        if ("Flag".equals(codeString))
12291          return ResourceType.FLAG;
12292        if ("Goal".equals(codeString))
12293          return ResourceType.GOAL;
12294        if ("GraphDefinition".equals(codeString))
12295          return ResourceType.GRAPHDEFINITION;
12296        if ("Group".equals(codeString))
12297          return ResourceType.GROUP;
12298        if ("GuidanceResponse".equals(codeString))
12299          return ResourceType.GUIDANCERESPONSE;
12300        if ("HealthcareService".equals(codeString))
12301          return ResourceType.HEALTHCARESERVICE;
12302        if ("ImagingStudy".equals(codeString))
12303          return ResourceType.IMAGINGSTUDY;
12304        if ("Immunization".equals(codeString))
12305          return ResourceType.IMMUNIZATION;
12306        if ("ImmunizationEvaluation".equals(codeString))
12307          return ResourceType.IMMUNIZATIONEVALUATION;
12308        if ("ImmunizationRecommendation".equals(codeString))
12309          return ResourceType.IMMUNIZATIONRECOMMENDATION;
12310        if ("ImplementationGuide".equals(codeString))
12311          return ResourceType.IMPLEMENTATIONGUIDE;
12312        if ("InsurancePlan".equals(codeString))
12313          return ResourceType.INSURANCEPLAN;
12314        if ("Invoice".equals(codeString))
12315          return ResourceType.INVOICE;
12316        if ("ItemInstance".equals(codeString))
12317          return ResourceType.ITEMINSTANCE;
12318        if ("Library".equals(codeString))
12319          return ResourceType.LIBRARY;
12320        if ("Linkage".equals(codeString))
12321          return ResourceType.LINKAGE;
12322        if ("List".equals(codeString))
12323          return ResourceType.LIST;
12324        if ("Location".equals(codeString))
12325          return ResourceType.LOCATION;
12326        if ("Measure".equals(codeString))
12327          return ResourceType.MEASURE;
12328        if ("MeasureReport".equals(codeString))
12329          return ResourceType.MEASUREREPORT;
12330        if ("Media".equals(codeString))
12331          return ResourceType.MEDIA;
12332        if ("Medication".equals(codeString))
12333          return ResourceType.MEDICATION;
12334        if ("MedicationAdministration".equals(codeString))
12335          return ResourceType.MEDICATIONADMINISTRATION;
12336        if ("MedicationDispense".equals(codeString))
12337          return ResourceType.MEDICATIONDISPENSE;
12338        if ("MedicationKnowledge".equals(codeString))
12339          return ResourceType.MEDICATIONKNOWLEDGE;
12340        if ("MedicationRequest".equals(codeString))
12341          return ResourceType.MEDICATIONREQUEST;
12342        if ("MedicationStatement".equals(codeString))
12343          return ResourceType.MEDICATIONSTATEMENT;
12344        if ("MedicinalProduct".equals(codeString))
12345          return ResourceType.MEDICINALPRODUCT;
12346        if ("MedicinalProductAuthorization".equals(codeString))
12347          return ResourceType.MEDICINALPRODUCTAUTHORIZATION;
12348        if ("MedicinalProductClinicals".equals(codeString))
12349          return ResourceType.MEDICINALPRODUCTCLINICALS;
12350        if ("MedicinalProductContraindication".equals(codeString))
12351          return ResourceType.MEDICINALPRODUCTCONTRAINDICATION;
12352        if ("MedicinalProductDeviceSpec".equals(codeString))
12353          return ResourceType.MEDICINALPRODUCTDEVICESPEC;
12354        if ("MedicinalProductIndication".equals(codeString))
12355          return ResourceType.MEDICINALPRODUCTINDICATION;
12356        if ("MedicinalProductIngredient".equals(codeString))
12357          return ResourceType.MEDICINALPRODUCTINGREDIENT;
12358        if ("MedicinalProductInteraction".equals(codeString))
12359          return ResourceType.MEDICINALPRODUCTINTERACTION;
12360        if ("MedicinalProductManufactured".equals(codeString))
12361          return ResourceType.MEDICINALPRODUCTMANUFACTURED;
12362        if ("MedicinalProductPackaged".equals(codeString))
12363          return ResourceType.MEDICINALPRODUCTPACKAGED;
12364        if ("MedicinalProductPharmaceutical".equals(codeString))
12365          return ResourceType.MEDICINALPRODUCTPHARMACEUTICAL;
12366        if ("MedicinalProductUndesirableEffect".equals(codeString))
12367          return ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
12368        if ("MessageDefinition".equals(codeString))
12369          return ResourceType.MESSAGEDEFINITION;
12370        if ("MessageHeader".equals(codeString))
12371          return ResourceType.MESSAGEHEADER;
12372        if ("NamingSystem".equals(codeString))
12373          return ResourceType.NAMINGSYSTEM;
12374        if ("NutritionOrder".equals(codeString))
12375          return ResourceType.NUTRITIONORDER;
12376        if ("Observation".equals(codeString))
12377          return ResourceType.OBSERVATION;
12378        if ("ObservationDefinition".equals(codeString))
12379          return ResourceType.OBSERVATIONDEFINITION;
12380        if ("OperationDefinition".equals(codeString))
12381          return ResourceType.OPERATIONDEFINITION;
12382        if ("OperationOutcome".equals(codeString))
12383          return ResourceType.OPERATIONOUTCOME;
12384        if ("Organization".equals(codeString))
12385          return ResourceType.ORGANIZATION;
12386        if ("OrganizationAffiliation".equals(codeString))
12387          return ResourceType.ORGANIZATIONAFFILIATION;
12388        if ("Parameters".equals(codeString))
12389          return ResourceType.PARAMETERS;
12390        if ("Patient".equals(codeString))
12391          return ResourceType.PATIENT;
12392        if ("PaymentNotice".equals(codeString))
12393          return ResourceType.PAYMENTNOTICE;
12394        if ("PaymentReconciliation".equals(codeString))
12395          return ResourceType.PAYMENTRECONCILIATION;
12396        if ("Person".equals(codeString))
12397          return ResourceType.PERSON;
12398        if ("PlanDefinition".equals(codeString))
12399          return ResourceType.PLANDEFINITION;
12400        if ("Practitioner".equals(codeString))
12401          return ResourceType.PRACTITIONER;
12402        if ("PractitionerRole".equals(codeString))
12403          return ResourceType.PRACTITIONERROLE;
12404        if ("Procedure".equals(codeString))
12405          return ResourceType.PROCEDURE;
12406        if ("ProcessRequest".equals(codeString))
12407          return ResourceType.PROCESSREQUEST;
12408        if ("ProcessResponse".equals(codeString))
12409          return ResourceType.PROCESSRESPONSE;
12410        if ("Provenance".equals(codeString))
12411          return ResourceType.PROVENANCE;
12412        if ("Questionnaire".equals(codeString))
12413          return ResourceType.QUESTIONNAIRE;
12414        if ("QuestionnaireResponse".equals(codeString))
12415          return ResourceType.QUESTIONNAIRERESPONSE;
12416        if ("RelatedPerson".equals(codeString))
12417          return ResourceType.RELATEDPERSON;
12418        if ("RequestGroup".equals(codeString))
12419          return ResourceType.REQUESTGROUP;
12420        if ("ResearchStudy".equals(codeString))
12421          return ResourceType.RESEARCHSTUDY;
12422        if ("ResearchSubject".equals(codeString))
12423          return ResourceType.RESEARCHSUBJECT;
12424        if ("Resource".equals(codeString))
12425          return ResourceType.RESOURCE;
12426        if ("RiskAssessment".equals(codeString))
12427          return ResourceType.RISKASSESSMENT;
12428        if ("Schedule".equals(codeString))
12429          return ResourceType.SCHEDULE;
12430        if ("SearchParameter".equals(codeString))
12431          return ResourceType.SEARCHPARAMETER;
12432        if ("Sequence".equals(codeString))
12433          return ResourceType.SEQUENCE;
12434        if ("ServiceRequest".equals(codeString))
12435          return ResourceType.SERVICEREQUEST;
12436        if ("Slot".equals(codeString))
12437          return ResourceType.SLOT;
12438        if ("Specimen".equals(codeString))
12439          return ResourceType.SPECIMEN;
12440        if ("SpecimenDefinition".equals(codeString))
12441          return ResourceType.SPECIMENDEFINITION;
12442        if ("StructureDefinition".equals(codeString))
12443          return ResourceType.STRUCTUREDEFINITION;
12444        if ("StructureMap".equals(codeString))
12445          return ResourceType.STRUCTUREMAP;
12446        if ("Subscription".equals(codeString))
12447          return ResourceType.SUBSCRIPTION;
12448        if ("Substance".equals(codeString))
12449          return ResourceType.SUBSTANCE;
12450        if ("SubstancePolymer".equals(codeString))
12451          return ResourceType.SUBSTANCEPOLYMER;
12452        if ("SubstanceReferenceInformation".equals(codeString))
12453          return ResourceType.SUBSTANCEREFERENCEINFORMATION;
12454        if ("SubstanceSpecification".equals(codeString))
12455          return ResourceType.SUBSTANCESPECIFICATION;
12456        if ("SupplyDelivery".equals(codeString))
12457          return ResourceType.SUPPLYDELIVERY;
12458        if ("SupplyRequest".equals(codeString))
12459          return ResourceType.SUPPLYREQUEST;
12460        if ("Task".equals(codeString))
12461          return ResourceType.TASK;
12462        if ("TerminologyCapabilities".equals(codeString))
12463          return ResourceType.TERMINOLOGYCAPABILITIES;
12464        if ("TestReport".equals(codeString))
12465          return ResourceType.TESTREPORT;
12466        if ("TestScript".equals(codeString))
12467          return ResourceType.TESTSCRIPT;
12468        if ("UserSession".equals(codeString))
12469          return ResourceType.USERSESSION;
12470        if ("ValueSet".equals(codeString))
12471          return ResourceType.VALUESET;
12472        if ("VerificationResult".equals(codeString))
12473          return ResourceType.VERIFICATIONRESULT;
12474        if ("VisionPrescription".equals(codeString))
12475          return ResourceType.VISIONPRESCRIPTION;
12476        throw new IllegalArgumentException("Unknown ResourceType code '"+codeString+"'");
12477        }
12478        public Enumeration<ResourceType> fromType(Base code) throws FHIRException {
12479          if (code == null)
12480            return null;
12481          if (code.isEmpty())
12482            return new Enumeration<ResourceType>(this);
12483          String codeString = ((PrimitiveType) code).asStringValue();
12484          if (codeString == null || "".equals(codeString))
12485            return null;
12486        if ("Account".equals(codeString))
12487          return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT);
12488        if ("ActivityDefinition".equals(codeString))
12489          return new Enumeration<ResourceType>(this, ResourceType.ACTIVITYDEFINITION);
12490        if ("AdverseEvent".equals(codeString))
12491          return new Enumeration<ResourceType>(this, ResourceType.ADVERSEEVENT);
12492        if ("AllergyIntolerance".equals(codeString))
12493          return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE);
12494        if ("Appointment".equals(codeString))
12495          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT);
12496        if ("AppointmentResponse".equals(codeString))
12497          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE);
12498        if ("AuditEvent".equals(codeString))
12499          return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT);
12500        if ("Basic".equals(codeString))
12501          return new Enumeration<ResourceType>(this, ResourceType.BASIC);
12502        if ("Binary".equals(codeString))
12503          return new Enumeration<ResourceType>(this, ResourceType.BINARY);
12504        if ("BiologicallyDerivedProduct".equals(codeString))
12505          return new Enumeration<ResourceType>(this, ResourceType.BIOLOGICALLYDERIVEDPRODUCT);
12506        if ("BodyStructure".equals(codeString))
12507          return new Enumeration<ResourceType>(this, ResourceType.BODYSTRUCTURE);
12508        if ("Bundle".equals(codeString))
12509          return new Enumeration<ResourceType>(this, ResourceType.BUNDLE);
12510        if ("CapabilityStatement".equals(codeString))
12511          return new Enumeration<ResourceType>(this, ResourceType.CAPABILITYSTATEMENT);
12512        if ("CarePlan".equals(codeString))
12513          return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN);
12514        if ("CareTeam".equals(codeString))
12515          return new Enumeration<ResourceType>(this, ResourceType.CARETEAM);
12516        if ("CatalogEntry".equals(codeString))
12517          return new Enumeration<ResourceType>(this, ResourceType.CATALOGENTRY);
12518        if ("ChargeItem".equals(codeString))
12519          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEM);
12520        if ("ChargeItemDefinition".equals(codeString))
12521          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEMDEFINITION);
12522        if ("Claim".equals(codeString))
12523          return new Enumeration<ResourceType>(this, ResourceType.CLAIM);
12524        if ("ClaimResponse".equals(codeString))
12525          return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE);
12526        if ("ClinicalImpression".equals(codeString))
12527          return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION);
12528        if ("CodeSystem".equals(codeString))
12529          return new Enumeration<ResourceType>(this, ResourceType.CODESYSTEM);
12530        if ("Communication".equals(codeString))
12531          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION);
12532        if ("CommunicationRequest".equals(codeString))
12533          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST);
12534        if ("CompartmentDefinition".equals(codeString))
12535          return new Enumeration<ResourceType>(this, ResourceType.COMPARTMENTDEFINITION);
12536        if ("Composition".equals(codeString))
12537          return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION);
12538        if ("ConceptMap".equals(codeString))
12539          return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP);
12540        if ("Condition".equals(codeString))
12541          return new Enumeration<ResourceType>(this, ResourceType.CONDITION);
12542        if ("Consent".equals(codeString))
12543          return new Enumeration<ResourceType>(this, ResourceType.CONSENT);
12544        if ("Contract".equals(codeString))
12545          return new Enumeration<ResourceType>(this, ResourceType.CONTRACT);
12546        if ("Coverage".equals(codeString))
12547          return new Enumeration<ResourceType>(this, ResourceType.COVERAGE);
12548        if ("CoverageEligibilityRequest".equals(codeString))
12549          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYREQUEST);
12550        if ("CoverageEligibilityResponse".equals(codeString))
12551          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYRESPONSE);
12552        if ("DetectedIssue".equals(codeString))
12553          return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE);
12554        if ("Device".equals(codeString))
12555          return new Enumeration<ResourceType>(this, ResourceType.DEVICE);
12556        if ("DeviceDefinition".equals(codeString))
12557          return new Enumeration<ResourceType>(this, ResourceType.DEVICEDEFINITION);
12558        if ("DeviceMetric".equals(codeString))
12559          return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC);
12560        if ("DeviceRequest".equals(codeString))
12561          return new Enumeration<ResourceType>(this, ResourceType.DEVICEREQUEST);
12562        if ("DeviceUseStatement".equals(codeString))
12563          return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT);
12564        if ("DiagnosticReport".equals(codeString))
12565          return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT);
12566        if ("DocumentManifest".equals(codeString))
12567          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST);
12568        if ("DocumentReference".equals(codeString))
12569          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE);
12570        if ("DomainResource".equals(codeString))
12571          return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE);
12572        if ("Encounter".equals(codeString))
12573          return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER);
12574        if ("Endpoint".equals(codeString))
12575          return new Enumeration<ResourceType>(this, ResourceType.ENDPOINT);
12576        if ("EnrollmentRequest".equals(codeString))
12577          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST);
12578        if ("EnrollmentResponse".equals(codeString))
12579          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE);
12580        if ("EpisodeOfCare".equals(codeString))
12581          return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE);
12582        if ("EventDefinition".equals(codeString))
12583          return new Enumeration<ResourceType>(this, ResourceType.EVENTDEFINITION);
12584        if ("ExampleScenario".equals(codeString))
12585          return new Enumeration<ResourceType>(this, ResourceType.EXAMPLESCENARIO);
12586        if ("ExplanationOfBenefit".equals(codeString))
12587          return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT);
12588        if ("FamilyMemberHistory".equals(codeString))
12589          return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY);
12590        if ("Flag".equals(codeString))
12591          return new Enumeration<ResourceType>(this, ResourceType.FLAG);
12592        if ("Goal".equals(codeString))
12593          return new Enumeration<ResourceType>(this, ResourceType.GOAL);
12594        if ("GraphDefinition".equals(codeString))
12595          return new Enumeration<ResourceType>(this, ResourceType.GRAPHDEFINITION);
12596        if ("Group".equals(codeString))
12597          return new Enumeration<ResourceType>(this, ResourceType.GROUP);
12598        if ("GuidanceResponse".equals(codeString))
12599          return new Enumeration<ResourceType>(this, ResourceType.GUIDANCERESPONSE);
12600        if ("HealthcareService".equals(codeString))
12601          return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE);
12602        if ("ImagingStudy".equals(codeString))
12603          return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY);
12604        if ("Immunization".equals(codeString))
12605          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION);
12606        if ("ImmunizationEvaluation".equals(codeString))
12607          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONEVALUATION);
12608        if ("ImmunizationRecommendation".equals(codeString))
12609          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION);
12610        if ("ImplementationGuide".equals(codeString))
12611          return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE);
12612        if ("InsurancePlan".equals(codeString))
12613          return new Enumeration<ResourceType>(this, ResourceType.INSURANCEPLAN);
12614        if ("Invoice".equals(codeString))
12615          return new Enumeration<ResourceType>(this, ResourceType.INVOICE);
12616        if ("ItemInstance".equals(codeString))
12617          return new Enumeration<ResourceType>(this, ResourceType.ITEMINSTANCE);
12618        if ("Library".equals(codeString))
12619          return new Enumeration<ResourceType>(this, ResourceType.LIBRARY);
12620        if ("Linkage".equals(codeString))
12621          return new Enumeration<ResourceType>(this, ResourceType.LINKAGE);
12622        if ("List".equals(codeString))
12623          return new Enumeration<ResourceType>(this, ResourceType.LIST);
12624        if ("Location".equals(codeString))
12625          return new Enumeration<ResourceType>(this, ResourceType.LOCATION);
12626        if ("Measure".equals(codeString))
12627          return new Enumeration<ResourceType>(this, ResourceType.MEASURE);
12628        if ("MeasureReport".equals(codeString))
12629          return new Enumeration<ResourceType>(this, ResourceType.MEASUREREPORT);
12630        if ("Media".equals(codeString))
12631          return new Enumeration<ResourceType>(this, ResourceType.MEDIA);
12632        if ("Medication".equals(codeString))
12633          return new Enumeration<ResourceType>(this, ResourceType.MEDICATION);
12634        if ("MedicationAdministration".equals(codeString))
12635          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION);
12636        if ("MedicationDispense".equals(codeString))
12637          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE);
12638        if ("MedicationKnowledge".equals(codeString))
12639          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONKNOWLEDGE);
12640        if ("MedicationRequest".equals(codeString))
12641          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONREQUEST);
12642        if ("MedicationStatement".equals(codeString))
12643          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT);
12644        if ("MedicinalProduct".equals(codeString))
12645          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCT);
12646        if ("MedicinalProductAuthorization".equals(codeString))
12647          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTAUTHORIZATION);
12648        if ("MedicinalProductClinicals".equals(codeString))
12649          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCLINICALS);
12650        if ("MedicinalProductContraindication".equals(codeString))
12651          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCONTRAINDICATION);
12652        if ("MedicinalProductDeviceSpec".equals(codeString))
12653          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTDEVICESPEC);
12654        if ("MedicinalProductIndication".equals(codeString))
12655          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINDICATION);
12656        if ("MedicinalProductIngredient".equals(codeString))
12657          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINGREDIENT);
12658        if ("MedicinalProductInteraction".equals(codeString))
12659          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINTERACTION);
12660        if ("MedicinalProductManufactured".equals(codeString))
12661          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTMANUFACTURED);
12662        if ("MedicinalProductPackaged".equals(codeString))
12663          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPACKAGED);
12664        if ("MedicinalProductPharmaceutical".equals(codeString))
12665          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPHARMACEUTICAL);
12666        if ("MedicinalProductUndesirableEffect".equals(codeString))
12667          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
12668        if ("MessageDefinition".equals(codeString))
12669          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEDEFINITION);
12670        if ("MessageHeader".equals(codeString))
12671          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER);
12672        if ("NamingSystem".equals(codeString))
12673          return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM);
12674        if ("NutritionOrder".equals(codeString))
12675          return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER);
12676        if ("Observation".equals(codeString))
12677          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION);
12678        if ("ObservationDefinition".equals(codeString))
12679          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATIONDEFINITION);
12680        if ("OperationDefinition".equals(codeString))
12681          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION);
12682        if ("OperationOutcome".equals(codeString))
12683          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME);
12684        if ("Organization".equals(codeString))
12685          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION);
12686        if ("OrganizationAffiliation".equals(codeString))
12687          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATIONAFFILIATION);
12688        if ("Parameters".equals(codeString))
12689          return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS);
12690        if ("Patient".equals(codeString))
12691          return new Enumeration<ResourceType>(this, ResourceType.PATIENT);
12692        if ("PaymentNotice".equals(codeString))
12693          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE);
12694        if ("PaymentReconciliation".equals(codeString))
12695          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION);
12696        if ("Person".equals(codeString))
12697          return new Enumeration<ResourceType>(this, ResourceType.PERSON);
12698        if ("PlanDefinition".equals(codeString))
12699          return new Enumeration<ResourceType>(this, ResourceType.PLANDEFINITION);
12700        if ("Practitioner".equals(codeString))
12701          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER);
12702        if ("PractitionerRole".equals(codeString))
12703          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONERROLE);
12704        if ("Procedure".equals(codeString))
12705          return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE);
12706        if ("ProcessRequest".equals(codeString))
12707          return new Enumeration<ResourceType>(this, ResourceType.PROCESSREQUEST);
12708        if ("ProcessResponse".equals(codeString))
12709          return new Enumeration<ResourceType>(this, ResourceType.PROCESSRESPONSE);
12710        if ("Provenance".equals(codeString))
12711          return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE);
12712        if ("Questionnaire".equals(codeString))
12713          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE);
12714        if ("QuestionnaireResponse".equals(codeString))
12715          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE);
12716        if ("RelatedPerson".equals(codeString))
12717          return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON);
12718        if ("RequestGroup".equals(codeString))
12719          return new Enumeration<ResourceType>(this, ResourceType.REQUESTGROUP);
12720        if ("ResearchStudy".equals(codeString))
12721          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSTUDY);
12722        if ("ResearchSubject".equals(codeString))
12723          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSUBJECT);
12724        if ("Resource".equals(codeString))
12725          return new Enumeration<ResourceType>(this, ResourceType.RESOURCE);
12726        if ("RiskAssessment".equals(codeString))
12727          return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT);
12728        if ("Schedule".equals(codeString))
12729          return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE);
12730        if ("SearchParameter".equals(codeString))
12731          return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER);
12732        if ("Sequence".equals(codeString))
12733          return new Enumeration<ResourceType>(this, ResourceType.SEQUENCE);
12734        if ("ServiceRequest".equals(codeString))
12735          return new Enumeration<ResourceType>(this, ResourceType.SERVICEREQUEST);
12736        if ("Slot".equals(codeString))
12737          return new Enumeration<ResourceType>(this, ResourceType.SLOT);
12738        if ("Specimen".equals(codeString))
12739          return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN);
12740        if ("SpecimenDefinition".equals(codeString))
12741          return new Enumeration<ResourceType>(this, ResourceType.SPECIMENDEFINITION);
12742        if ("StructureDefinition".equals(codeString))
12743          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION);
12744        if ("StructureMap".equals(codeString))
12745          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREMAP);
12746        if ("Subscription".equals(codeString))
12747          return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION);
12748        if ("Substance".equals(codeString))
12749          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE);
12750        if ("SubstancePolymer".equals(codeString))
12751          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPOLYMER);
12752        if ("SubstanceReferenceInformation".equals(codeString))
12753          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEREFERENCEINFORMATION);
12754        if ("SubstanceSpecification".equals(codeString))
12755          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESPECIFICATION);
12756        if ("SupplyDelivery".equals(codeString))
12757          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY);
12758        if ("SupplyRequest".equals(codeString))
12759          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST);
12760        if ("Task".equals(codeString))
12761          return new Enumeration<ResourceType>(this, ResourceType.TASK);
12762        if ("TerminologyCapabilities".equals(codeString))
12763          return new Enumeration<ResourceType>(this, ResourceType.TERMINOLOGYCAPABILITIES);
12764        if ("TestReport".equals(codeString))
12765          return new Enumeration<ResourceType>(this, ResourceType.TESTREPORT);
12766        if ("TestScript".equals(codeString))
12767          return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT);
12768        if ("UserSession".equals(codeString))
12769          return new Enumeration<ResourceType>(this, ResourceType.USERSESSION);
12770        if ("ValueSet".equals(codeString))
12771          return new Enumeration<ResourceType>(this, ResourceType.VALUESET);
12772        if ("VerificationResult".equals(codeString))
12773          return new Enumeration<ResourceType>(this, ResourceType.VERIFICATIONRESULT);
12774        if ("VisionPrescription".equals(codeString))
12775          return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION);
12776        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
12777        }
12778    public String toCode(ResourceType code) {
12779      if (code == ResourceType.ACCOUNT)
12780        return "Account";
12781      if (code == ResourceType.ACTIVITYDEFINITION)
12782        return "ActivityDefinition";
12783      if (code == ResourceType.ADVERSEEVENT)
12784        return "AdverseEvent";
12785      if (code == ResourceType.ALLERGYINTOLERANCE)
12786        return "AllergyIntolerance";
12787      if (code == ResourceType.APPOINTMENT)
12788        return "Appointment";
12789      if (code == ResourceType.APPOINTMENTRESPONSE)
12790        return "AppointmentResponse";
12791      if (code == ResourceType.AUDITEVENT)
12792        return "AuditEvent";
12793      if (code == ResourceType.BASIC)
12794        return "Basic";
12795      if (code == ResourceType.BINARY)
12796        return "Binary";
12797      if (code == ResourceType.BIOLOGICALLYDERIVEDPRODUCT)
12798        return "BiologicallyDerivedProduct";
12799      if (code == ResourceType.BODYSTRUCTURE)
12800        return "BodyStructure";
12801      if (code == ResourceType.BUNDLE)
12802        return "Bundle";
12803      if (code == ResourceType.CAPABILITYSTATEMENT)
12804        return "CapabilityStatement";
12805      if (code == ResourceType.CAREPLAN)
12806        return "CarePlan";
12807      if (code == ResourceType.CARETEAM)
12808        return "CareTeam";
12809      if (code == ResourceType.CATALOGENTRY)
12810        return "CatalogEntry";
12811      if (code == ResourceType.CHARGEITEM)
12812        return "ChargeItem";
12813      if (code == ResourceType.CHARGEITEMDEFINITION)
12814        return "ChargeItemDefinition";
12815      if (code == ResourceType.CLAIM)
12816        return "Claim";
12817      if (code == ResourceType.CLAIMRESPONSE)
12818        return "ClaimResponse";
12819      if (code == ResourceType.CLINICALIMPRESSION)
12820        return "ClinicalImpression";
12821      if (code == ResourceType.CODESYSTEM)
12822        return "CodeSystem";
12823      if (code == ResourceType.COMMUNICATION)
12824        return "Communication";
12825      if (code == ResourceType.COMMUNICATIONREQUEST)
12826        return "CommunicationRequest";
12827      if (code == ResourceType.COMPARTMENTDEFINITION)
12828        return "CompartmentDefinition";
12829      if (code == ResourceType.COMPOSITION)
12830        return "Composition";
12831      if (code == ResourceType.CONCEPTMAP)
12832        return "ConceptMap";
12833      if (code == ResourceType.CONDITION)
12834        return "Condition";
12835      if (code == ResourceType.CONSENT)
12836        return "Consent";
12837      if (code == ResourceType.CONTRACT)
12838        return "Contract";
12839      if (code == ResourceType.COVERAGE)
12840        return "Coverage";
12841      if (code == ResourceType.COVERAGEELIGIBILITYREQUEST)
12842        return "CoverageEligibilityRequest";
12843      if (code == ResourceType.COVERAGEELIGIBILITYRESPONSE)
12844        return "CoverageEligibilityResponse";
12845      if (code == ResourceType.DETECTEDISSUE)
12846        return "DetectedIssue";
12847      if (code == ResourceType.DEVICE)
12848        return "Device";
12849      if (code == ResourceType.DEVICEDEFINITION)
12850        return "DeviceDefinition";
12851      if (code == ResourceType.DEVICEMETRIC)
12852        return "DeviceMetric";
12853      if (code == ResourceType.DEVICEREQUEST)
12854        return "DeviceRequest";
12855      if (code == ResourceType.DEVICEUSESTATEMENT)
12856        return "DeviceUseStatement";
12857      if (code == ResourceType.DIAGNOSTICREPORT)
12858        return "DiagnosticReport";
12859      if (code == ResourceType.DOCUMENTMANIFEST)
12860        return "DocumentManifest";
12861      if (code == ResourceType.DOCUMENTREFERENCE)
12862        return "DocumentReference";
12863      if (code == ResourceType.DOMAINRESOURCE)
12864        return "DomainResource";
12865      if (code == ResourceType.ENCOUNTER)
12866        return "Encounter";
12867      if (code == ResourceType.ENDPOINT)
12868        return "Endpoint";
12869      if (code == ResourceType.ENROLLMENTREQUEST)
12870        return "EnrollmentRequest";
12871      if (code == ResourceType.ENROLLMENTRESPONSE)
12872        return "EnrollmentResponse";
12873      if (code == ResourceType.EPISODEOFCARE)
12874        return "EpisodeOfCare";
12875      if (code == ResourceType.EVENTDEFINITION)
12876        return "EventDefinition";
12877      if (code == ResourceType.EXAMPLESCENARIO)
12878        return "ExampleScenario";
12879      if (code == ResourceType.EXPLANATIONOFBENEFIT)
12880        return "ExplanationOfBenefit";
12881      if (code == ResourceType.FAMILYMEMBERHISTORY)
12882        return "FamilyMemberHistory";
12883      if (code == ResourceType.FLAG)
12884        return "Flag";
12885      if (code == ResourceType.GOAL)
12886        return "Goal";
12887      if (code == ResourceType.GRAPHDEFINITION)
12888        return "GraphDefinition";
12889      if (code == ResourceType.GROUP)
12890        return "Group";
12891      if (code == ResourceType.GUIDANCERESPONSE)
12892        return "GuidanceResponse";
12893      if (code == ResourceType.HEALTHCARESERVICE)
12894        return "HealthcareService";
12895      if (code == ResourceType.IMAGINGSTUDY)
12896        return "ImagingStudy";
12897      if (code == ResourceType.IMMUNIZATION)
12898        return "Immunization";
12899      if (code == ResourceType.IMMUNIZATIONEVALUATION)
12900        return "ImmunizationEvaluation";
12901      if (code == ResourceType.IMMUNIZATIONRECOMMENDATION)
12902        return "ImmunizationRecommendation";
12903      if (code == ResourceType.IMPLEMENTATIONGUIDE)
12904        return "ImplementationGuide";
12905      if (code == ResourceType.INSURANCEPLAN)
12906        return "InsurancePlan";
12907      if (code == ResourceType.INVOICE)
12908        return "Invoice";
12909      if (code == ResourceType.ITEMINSTANCE)
12910        return "ItemInstance";
12911      if (code == ResourceType.LIBRARY)
12912        return "Library";
12913      if (code == ResourceType.LINKAGE)
12914        return "Linkage";
12915      if (code == ResourceType.LIST)
12916        return "List";
12917      if (code == ResourceType.LOCATION)
12918        return "Location";
12919      if (code == ResourceType.MEASURE)
12920        return "Measure";
12921      if (code == ResourceType.MEASUREREPORT)
12922        return "MeasureReport";
12923      if (code == ResourceType.MEDIA)
12924        return "Media";
12925      if (code == ResourceType.MEDICATION)
12926        return "Medication";
12927      if (code == ResourceType.MEDICATIONADMINISTRATION)
12928        return "MedicationAdministration";
12929      if (code == ResourceType.MEDICATIONDISPENSE)
12930        return "MedicationDispense";
12931      if (code == ResourceType.MEDICATIONKNOWLEDGE)
12932        return "MedicationKnowledge";
12933      if (code == ResourceType.MEDICATIONREQUEST)
12934        return "MedicationRequest";
12935      if (code == ResourceType.MEDICATIONSTATEMENT)
12936        return "MedicationStatement";
12937      if (code == ResourceType.MEDICINALPRODUCT)
12938        return "MedicinalProduct";
12939      if (code == ResourceType.MEDICINALPRODUCTAUTHORIZATION)
12940        return "MedicinalProductAuthorization";
12941      if (code == ResourceType.MEDICINALPRODUCTCLINICALS)
12942        return "MedicinalProductClinicals";
12943      if (code == ResourceType.MEDICINALPRODUCTCONTRAINDICATION)
12944        return "MedicinalProductContraindication";
12945      if (code == ResourceType.MEDICINALPRODUCTDEVICESPEC)
12946        return "MedicinalProductDeviceSpec";
12947      if (code == ResourceType.MEDICINALPRODUCTINDICATION)
12948        return "MedicinalProductIndication";
12949      if (code == ResourceType.MEDICINALPRODUCTINGREDIENT)
12950        return "MedicinalProductIngredient";
12951      if (code == ResourceType.MEDICINALPRODUCTINTERACTION)
12952        return "MedicinalProductInteraction";
12953      if (code == ResourceType.MEDICINALPRODUCTMANUFACTURED)
12954        return "MedicinalProductManufactured";
12955      if (code == ResourceType.MEDICINALPRODUCTPACKAGED)
12956        return "MedicinalProductPackaged";
12957      if (code == ResourceType.MEDICINALPRODUCTPHARMACEUTICAL)
12958        return "MedicinalProductPharmaceutical";
12959      if (code == ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
12960        return "MedicinalProductUndesirableEffect";
12961      if (code == ResourceType.MESSAGEDEFINITION)
12962        return "MessageDefinition";
12963      if (code == ResourceType.MESSAGEHEADER)
12964        return "MessageHeader";
12965      if (code == ResourceType.NAMINGSYSTEM)
12966        return "NamingSystem";
12967      if (code == ResourceType.NUTRITIONORDER)
12968        return "NutritionOrder";
12969      if (code == ResourceType.OBSERVATION)
12970        return "Observation";
12971      if (code == ResourceType.OBSERVATIONDEFINITION)
12972        return "ObservationDefinition";
12973      if (code == ResourceType.OPERATIONDEFINITION)
12974        return "OperationDefinition";
12975      if (code == ResourceType.OPERATIONOUTCOME)
12976        return "OperationOutcome";
12977      if (code == ResourceType.ORGANIZATION)
12978        return "Organization";
12979      if (code == ResourceType.ORGANIZATIONAFFILIATION)
12980        return "OrganizationAffiliation";
12981      if (code == ResourceType.PARAMETERS)
12982        return "Parameters";
12983      if (code == ResourceType.PATIENT)
12984        return "Patient";
12985      if (code == ResourceType.PAYMENTNOTICE)
12986        return "PaymentNotice";
12987      if (code == ResourceType.PAYMENTRECONCILIATION)
12988        return "PaymentReconciliation";
12989      if (code == ResourceType.PERSON)
12990        return "Person";
12991      if (code == ResourceType.PLANDEFINITION)
12992        return "PlanDefinition";
12993      if (code == ResourceType.PRACTITIONER)
12994        return "Practitioner";
12995      if (code == ResourceType.PRACTITIONERROLE)
12996        return "PractitionerRole";
12997      if (code == ResourceType.PROCEDURE)
12998        return "Procedure";
12999      if (code == ResourceType.PROCESSREQUEST)
13000        return "ProcessRequest";
13001      if (code == ResourceType.PROCESSRESPONSE)
13002        return "ProcessResponse";
13003      if (code == ResourceType.PROVENANCE)
13004        return "Provenance";
13005      if (code == ResourceType.QUESTIONNAIRE)
13006        return "Questionnaire";
13007      if (code == ResourceType.QUESTIONNAIRERESPONSE)
13008        return "QuestionnaireResponse";
13009      if (code == ResourceType.RELATEDPERSON)
13010        return "RelatedPerson";
13011      if (code == ResourceType.REQUESTGROUP)
13012        return "RequestGroup";
13013      if (code == ResourceType.RESEARCHSTUDY)
13014        return "ResearchStudy";
13015      if (code == ResourceType.RESEARCHSUBJECT)
13016        return "ResearchSubject";
13017      if (code == ResourceType.RESOURCE)
13018        return "Resource";
13019      if (code == ResourceType.RISKASSESSMENT)
13020        return "RiskAssessment";
13021      if (code == ResourceType.SCHEDULE)
13022        return "Schedule";
13023      if (code == ResourceType.SEARCHPARAMETER)
13024        return "SearchParameter";
13025      if (code == ResourceType.SEQUENCE)
13026        return "Sequence";
13027      if (code == ResourceType.SERVICEREQUEST)
13028        return "ServiceRequest";
13029      if (code == ResourceType.SLOT)
13030        return "Slot";
13031      if (code == ResourceType.SPECIMEN)
13032        return "Specimen";
13033      if (code == ResourceType.SPECIMENDEFINITION)
13034        return "SpecimenDefinition";
13035      if (code == ResourceType.STRUCTUREDEFINITION)
13036        return "StructureDefinition";
13037      if (code == ResourceType.STRUCTUREMAP)
13038        return "StructureMap";
13039      if (code == ResourceType.SUBSCRIPTION)
13040        return "Subscription";
13041      if (code == ResourceType.SUBSTANCE)
13042        return "Substance";
13043      if (code == ResourceType.SUBSTANCEPOLYMER)
13044        return "SubstancePolymer";
13045      if (code == ResourceType.SUBSTANCEREFERENCEINFORMATION)
13046        return "SubstanceReferenceInformation";
13047      if (code == ResourceType.SUBSTANCESPECIFICATION)
13048        return "SubstanceSpecification";
13049      if (code == ResourceType.SUPPLYDELIVERY)
13050        return "SupplyDelivery";
13051      if (code == ResourceType.SUPPLYREQUEST)
13052        return "SupplyRequest";
13053      if (code == ResourceType.TASK)
13054        return "Task";
13055      if (code == ResourceType.TERMINOLOGYCAPABILITIES)
13056        return "TerminologyCapabilities";
13057      if (code == ResourceType.TESTREPORT)
13058        return "TestReport";
13059      if (code == ResourceType.TESTSCRIPT)
13060        return "TestScript";
13061      if (code == ResourceType.USERSESSION)
13062        return "UserSession";
13063      if (code == ResourceType.VALUESET)
13064        return "ValueSet";
13065      if (code == ResourceType.VERIFICATIONRESULT)
13066        return "VerificationResult";
13067      if (code == ResourceType.VISIONPRESCRIPTION)
13068        return "VisionPrescription";
13069      return "?";
13070      }
13071    public String toSystem(ResourceType code) {
13072      return code.getSystem();
13073      }
13074    }
13075
13076    public enum SearchParamType {
13077        /**
13078         * Search parameter SHALL be a number (a whole number, or a decimal).
13079         */
13080        NUMBER, 
13081        /**
13082         * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
13083         */
13084        DATE, 
13085        /**
13086         * 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.
13087         */
13088        STRING, 
13089        /**
13090         * 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.
13091         */
13092        TOKEN, 
13093        /**
13094         * A reference to another resource (Reference or canonical).
13095         */
13096        REFERENCE, 
13097        /**
13098         * A composite search parameter that combines a search on two values together.
13099         */
13100        COMPOSITE, 
13101        /**
13102         * A search parameter that searches on a quantity.
13103         */
13104        QUANTITY, 
13105        /**
13106         * A search parameter that searches on a URI (RFC 3986).
13107         */
13108        URI, 
13109        /**
13110         * Special logic applies to this parameter per the description of the search parameter.
13111         */
13112        SPECIAL, 
13113        /**
13114         * added to help the parsers
13115         */
13116        NULL;
13117        public static SearchParamType fromCode(String codeString) throws FHIRException {
13118            if (codeString == null || "".equals(codeString))
13119                return null;
13120        if ("number".equals(codeString))
13121          return NUMBER;
13122        if ("date".equals(codeString))
13123          return DATE;
13124        if ("string".equals(codeString))
13125          return STRING;
13126        if ("token".equals(codeString))
13127          return TOKEN;
13128        if ("reference".equals(codeString))
13129          return REFERENCE;
13130        if ("composite".equals(codeString))
13131          return COMPOSITE;
13132        if ("quantity".equals(codeString))
13133          return QUANTITY;
13134        if ("uri".equals(codeString))
13135          return URI;
13136        if ("special".equals(codeString))
13137          return SPECIAL;
13138        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13139        }
13140        public String toCode() {
13141          switch (this) {
13142            case NUMBER: return "number";
13143            case DATE: return "date";
13144            case STRING: return "string";
13145            case TOKEN: return "token";
13146            case REFERENCE: return "reference";
13147            case COMPOSITE: return "composite";
13148            case QUANTITY: return "quantity";
13149            case URI: return "uri";
13150            case SPECIAL: return "special";
13151            default: return "?";
13152          }
13153        }
13154        public String getSystem() {
13155          switch (this) {
13156            case NUMBER: return "http://hl7.org/fhir/search-param-type";
13157            case DATE: return "http://hl7.org/fhir/search-param-type";
13158            case STRING: return "http://hl7.org/fhir/search-param-type";
13159            case TOKEN: return "http://hl7.org/fhir/search-param-type";
13160            case REFERENCE: return "http://hl7.org/fhir/search-param-type";
13161            case COMPOSITE: return "http://hl7.org/fhir/search-param-type";
13162            case QUANTITY: return "http://hl7.org/fhir/search-param-type";
13163            case URI: return "http://hl7.org/fhir/search-param-type";
13164            case SPECIAL: return "http://hl7.org/fhir/search-param-type";
13165            default: return "?";
13166          }
13167        }
13168        public String getDefinition() {
13169          switch (this) {
13170            case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal).";
13171            case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
13172            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.";
13173            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.";
13174            case REFERENCE: return "A reference to another resource (Reference or canonical).";
13175            case COMPOSITE: return "A composite search parameter that combines a search on two values together.";
13176            case QUANTITY: return "A search parameter that searches on a quantity.";
13177            case URI: return "A search parameter that searches on a URI (RFC 3986).";
13178            case SPECIAL: return "Special logic applies to this parameter per the description of the search parameter.";
13179            default: return "?";
13180          }
13181        }
13182        public String getDisplay() {
13183          switch (this) {
13184            case NUMBER: return "Number";
13185            case DATE: return "Date/DateTime";
13186            case STRING: return "String";
13187            case TOKEN: return "Token";
13188            case REFERENCE: return "Reference";
13189            case COMPOSITE: return "Composite";
13190            case QUANTITY: return "Quantity";
13191            case URI: return "URI";
13192            case SPECIAL: return "Special";
13193            default: return "?";
13194          }
13195        }
13196    }
13197
13198  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
13199    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
13200      if (codeString == null || "".equals(codeString))
13201            if (codeString == null || "".equals(codeString))
13202                return null;
13203        if ("number".equals(codeString))
13204          return SearchParamType.NUMBER;
13205        if ("date".equals(codeString))
13206          return SearchParamType.DATE;
13207        if ("string".equals(codeString))
13208          return SearchParamType.STRING;
13209        if ("token".equals(codeString))
13210          return SearchParamType.TOKEN;
13211        if ("reference".equals(codeString))
13212          return SearchParamType.REFERENCE;
13213        if ("composite".equals(codeString))
13214          return SearchParamType.COMPOSITE;
13215        if ("quantity".equals(codeString))
13216          return SearchParamType.QUANTITY;
13217        if ("uri".equals(codeString))
13218          return SearchParamType.URI;
13219        if ("special".equals(codeString))
13220          return SearchParamType.SPECIAL;
13221        throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'");
13222        }
13223        public Enumeration<SearchParamType> fromType(Base code) throws FHIRException {
13224          if (code == null)
13225            return null;
13226          if (code.isEmpty())
13227            return new Enumeration<SearchParamType>(this);
13228          String codeString = ((PrimitiveType) code).asStringValue();
13229          if (codeString == null || "".equals(codeString))
13230            return null;
13231        if ("number".equals(codeString))
13232          return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER);
13233        if ("date".equals(codeString))
13234          return new Enumeration<SearchParamType>(this, SearchParamType.DATE);
13235        if ("string".equals(codeString))
13236          return new Enumeration<SearchParamType>(this, SearchParamType.STRING);
13237        if ("token".equals(codeString))
13238          return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN);
13239        if ("reference".equals(codeString))
13240          return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE);
13241        if ("composite".equals(codeString))
13242          return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE);
13243        if ("quantity".equals(codeString))
13244          return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY);
13245        if ("uri".equals(codeString))
13246          return new Enumeration<SearchParamType>(this, SearchParamType.URI);
13247        if ("special".equals(codeString))
13248          return new Enumeration<SearchParamType>(this, SearchParamType.SPECIAL);
13249        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13250        }
13251    public String toCode(SearchParamType code) {
13252      if (code == SearchParamType.NUMBER)
13253        return "number";
13254      if (code == SearchParamType.DATE)
13255        return "date";
13256      if (code == SearchParamType.STRING)
13257        return "string";
13258      if (code == SearchParamType.TOKEN)
13259        return "token";
13260      if (code == SearchParamType.REFERENCE)
13261        return "reference";
13262      if (code == SearchParamType.COMPOSITE)
13263        return "composite";
13264      if (code == SearchParamType.QUANTITY)
13265        return "quantity";
13266      if (code == SearchParamType.URI)
13267        return "uri";
13268      if (code == SearchParamType.SPECIAL)
13269        return "special";
13270      return "?";
13271      }
13272    public String toSystem(SearchParamType code) {
13273      return code.getSystem();
13274      }
13275    }
13276
13277    public enum SpecialValues {
13278        /**
13279         * Boolean true.
13280         */
13281        TRUE, 
13282        /**
13283         * Boolean false.
13284         */
13285        FALSE, 
13286        /**
13287         * The content is greater than zero, but too small to be quantified.
13288         */
13289        TRACE, 
13290        /**
13291         * 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.
13292         */
13293        SUFFICIENT, 
13294        /**
13295         * The value is no longer available.
13296         */
13297        WITHDRAWN, 
13298        /**
13299         * The are no known applicable values in this context.
13300         */
13301        NILKNOWN, 
13302        /**
13303         * added to help the parsers
13304         */
13305        NULL;
13306        public static SpecialValues fromCode(String codeString) throws FHIRException {
13307            if (codeString == null || "".equals(codeString))
13308                return null;
13309        if ("true".equals(codeString))
13310          return TRUE;
13311        if ("false".equals(codeString))
13312          return FALSE;
13313        if ("trace".equals(codeString))
13314          return TRACE;
13315        if ("sufficient".equals(codeString))
13316          return SUFFICIENT;
13317        if ("withdrawn".equals(codeString))
13318          return WITHDRAWN;
13319        if ("nil-known".equals(codeString))
13320          return NILKNOWN;
13321        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13322        }
13323        public String toCode() {
13324          switch (this) {
13325            case TRUE: return "true";
13326            case FALSE: return "false";
13327            case TRACE: return "trace";
13328            case SUFFICIENT: return "sufficient";
13329            case WITHDRAWN: return "withdrawn";
13330            case NILKNOWN: return "nil-known";
13331            default: return "?";
13332          }
13333        }
13334        public String getSystem() {
13335          switch (this) {
13336            case TRUE: return "http://terminology.hl7.org/CodeSystem/special-values";
13337            case FALSE: return "http://terminology.hl7.org/CodeSystem/special-values";
13338            case TRACE: return "http://terminology.hl7.org/CodeSystem/special-values";
13339            case SUFFICIENT: return "http://terminology.hl7.org/CodeSystem/special-values";
13340            case WITHDRAWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13341            case NILKNOWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13342            default: return "?";
13343          }
13344        }
13345        public String getDefinition() {
13346          switch (this) {
13347            case TRUE: return "Boolean true.";
13348            case FALSE: return "Boolean false.";
13349            case TRACE: return "The content is greater than zero, but too small to be quantified.";
13350            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.";
13351            case WITHDRAWN: return "The value is no longer available.";
13352            case NILKNOWN: return "The are no known applicable values in this context.";
13353            default: return "?";
13354          }
13355        }
13356        public String getDisplay() {
13357          switch (this) {
13358            case TRUE: return "true";
13359            case FALSE: return "false";
13360            case TRACE: return "Trace Amount Detected";
13361            case SUFFICIENT: return "Sufficient Quantity";
13362            case WITHDRAWN: return "Value Withdrawn";
13363            case NILKNOWN: return "Nil Known";
13364            default: return "?";
13365          }
13366        }
13367    }
13368
13369  public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> {
13370    public SpecialValues fromCode(String codeString) throws IllegalArgumentException {
13371      if (codeString == null || "".equals(codeString))
13372            if (codeString == null || "".equals(codeString))
13373                return null;
13374        if ("true".equals(codeString))
13375          return SpecialValues.TRUE;
13376        if ("false".equals(codeString))
13377          return SpecialValues.FALSE;
13378        if ("trace".equals(codeString))
13379          return SpecialValues.TRACE;
13380        if ("sufficient".equals(codeString))
13381          return SpecialValues.SUFFICIENT;
13382        if ("withdrawn".equals(codeString))
13383          return SpecialValues.WITHDRAWN;
13384        if ("nil-known".equals(codeString))
13385          return SpecialValues.NILKNOWN;
13386        throw new IllegalArgumentException("Unknown SpecialValues code '"+codeString+"'");
13387        }
13388        public Enumeration<SpecialValues> fromType(Base code) throws FHIRException {
13389          if (code == null)
13390            return null;
13391          if (code.isEmpty())
13392            return new Enumeration<SpecialValues>(this);
13393          String codeString = ((PrimitiveType) code).asStringValue();
13394          if (codeString == null || "".equals(codeString))
13395            return null;
13396        if ("true".equals(codeString))
13397          return new Enumeration<SpecialValues>(this, SpecialValues.TRUE);
13398        if ("false".equals(codeString))
13399          return new Enumeration<SpecialValues>(this, SpecialValues.FALSE);
13400        if ("trace".equals(codeString))
13401          return new Enumeration<SpecialValues>(this, SpecialValues.TRACE);
13402        if ("sufficient".equals(codeString))
13403          return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT);
13404        if ("withdrawn".equals(codeString))
13405          return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN);
13406        if ("nil-known".equals(codeString))
13407          return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN);
13408        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13409        }
13410    public String toCode(SpecialValues code) {
13411      if (code == SpecialValues.TRUE)
13412        return "true";
13413      if (code == SpecialValues.FALSE)
13414        return "false";
13415      if (code == SpecialValues.TRACE)
13416        return "trace";
13417      if (code == SpecialValues.SUFFICIENT)
13418        return "sufficient";
13419      if (code == SpecialValues.WITHDRAWN)
13420        return "withdrawn";
13421      if (code == SpecialValues.NILKNOWN)
13422        return "nil-known";
13423      return "?";
13424      }
13425    public String toSystem(SpecialValues code) {
13426      return code.getSystem();
13427      }
13428    }
13429
13430
13431}
13432