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 Sun, May 6, 2018 17:51-0400 for FHIR v3.4.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//   DocumentReferenceStatus: The status of the document reference.
049//   FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types
050//   FHIRDefinedType: A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types
051//   MessageEvent: One of the message events defined as part of this version of FHIR.
052//   NoteType: The presentation types of notes.
053//   PublicationStatus: The lifecycle status of an artifact.
054//   RemittanceOutcome: The outcome of the processing.
055//   ResourceType: One of the resource types defined as part of this version of FHIR.
056//   SearchParamType: Data types allowed to be used for search parameters.
057//   SpecialValues: A set of generally useful codes defined so they can be included in value sets.
058
059
060    public enum AbstractType {
061        /**
062         * A place holder that means any kind of data type
063         */
064        TYPE, 
065        /**
066         * A place holder that means any kind of resource
067         */
068        ANY, 
069        /**
070         * added to help the parsers
071         */
072        NULL;
073        public static AbstractType fromCode(String codeString) throws FHIRException {
074            if (codeString == null || "".equals(codeString))
075                return null;
076        if ("Type".equals(codeString))
077          return TYPE;
078        if ("Any".equals(codeString))
079          return ANY;
080        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
081        }
082        public String toCode() {
083          switch (this) {
084            case TYPE: return "Type";
085            case ANY: return "Any";
086            default: return "?";
087          }
088        }
089        public String getSystem() {
090          switch (this) {
091            case TYPE: return "http://hl7.org/fhir/abstract-types";
092            case ANY: return "http://hl7.org/fhir/abstract-types";
093            default: return "?";
094          }
095        }
096        public String getDefinition() {
097          switch (this) {
098            case TYPE: return "A place holder that means any kind of data type";
099            case ANY: return "A place holder that means any kind of resource";
100            default: return "?";
101          }
102        }
103        public String getDisplay() {
104          switch (this) {
105            case TYPE: return "Type";
106            case ANY: return "Any";
107            default: return "?";
108          }
109        }
110    }
111
112  public static class AbstractTypeEnumFactory implements EnumFactory<AbstractType> {
113    public AbstractType fromCode(String codeString) throws IllegalArgumentException {
114      if (codeString == null || "".equals(codeString))
115            if (codeString == null || "".equals(codeString))
116                return null;
117        if ("Type".equals(codeString))
118          return AbstractType.TYPE;
119        if ("Any".equals(codeString))
120          return AbstractType.ANY;
121        throw new IllegalArgumentException("Unknown AbstractType code '"+codeString+"'");
122        }
123        public Enumeration<AbstractType> fromType(Base code) throws FHIRException {
124          if (code == null)
125            return null;
126          if (code.isEmpty())
127            return new Enumeration<AbstractType>(this);
128          String codeString = ((PrimitiveType) code).asStringValue();
129          if (codeString == null || "".equals(codeString))
130            return null;
131        if ("Type".equals(codeString))
132          return new Enumeration<AbstractType>(this, AbstractType.TYPE);
133        if ("Any".equals(codeString))
134          return new Enumeration<AbstractType>(this, AbstractType.ANY);
135        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
136        }
137    public String toCode(AbstractType code) {
138      if (code == AbstractType.TYPE)
139        return "Type";
140      if (code == AbstractType.ANY)
141        return "Any";
142      return "?";
143      }
144    public String toSystem(AbstractType code) {
145      return code.getSystem();
146      }
147    }
148
149    public enum AdministrativeGender {
150        /**
151         * Male
152         */
153        MALE, 
154        /**
155         * Female
156         */
157        FEMALE, 
158        /**
159         * Other
160         */
161        OTHER, 
162        /**
163         * Unknown
164         */
165        UNKNOWN, 
166        /**
167         * added to help the parsers
168         */
169        NULL;
170        public static AdministrativeGender fromCode(String codeString) throws FHIRException {
171            if (codeString == null || "".equals(codeString))
172                return null;
173        if ("male".equals(codeString))
174          return MALE;
175        if ("female".equals(codeString))
176          return FEMALE;
177        if ("other".equals(codeString))
178          return OTHER;
179        if ("unknown".equals(codeString))
180          return UNKNOWN;
181        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
182        }
183        public String toCode() {
184          switch (this) {
185            case MALE: return "male";
186            case FEMALE: return "female";
187            case OTHER: return "other";
188            case UNKNOWN: return "unknown";
189            default: return "?";
190          }
191        }
192        public String getSystem() {
193          switch (this) {
194            case MALE: return "http://hl7.org/fhir/administrative-gender";
195            case FEMALE: return "http://hl7.org/fhir/administrative-gender";
196            case OTHER: return "http://hl7.org/fhir/administrative-gender";
197            case UNKNOWN: return "http://hl7.org/fhir/administrative-gender";
198            default: return "?";
199          }
200        }
201        public String getDefinition() {
202          switch (this) {
203            case MALE: return "Male";
204            case FEMALE: return "Female";
205            case OTHER: return "Other";
206            case UNKNOWN: return "Unknown";
207            default: return "?";
208          }
209        }
210        public String getDisplay() {
211          switch (this) {
212            case MALE: return "Male";
213            case FEMALE: return "Female";
214            case OTHER: return "Other";
215            case UNKNOWN: return "Unknown";
216            default: return "?";
217          }
218        }
219    }
220
221  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
222    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
223      if (codeString == null || "".equals(codeString))
224            if (codeString == null || "".equals(codeString))
225                return null;
226        if ("male".equals(codeString))
227          return AdministrativeGender.MALE;
228        if ("female".equals(codeString))
229          return AdministrativeGender.FEMALE;
230        if ("other".equals(codeString))
231          return AdministrativeGender.OTHER;
232        if ("unknown".equals(codeString))
233          return AdministrativeGender.UNKNOWN;
234        throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'");
235        }
236        public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException {
237          if (code == null)
238            return null;
239          if (code.isEmpty())
240            return new Enumeration<AdministrativeGender>(this);
241          String codeString = ((PrimitiveType) code).asStringValue();
242          if (codeString == null || "".equals(codeString))
243            return null;
244        if ("male".equals(codeString))
245          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE);
246        if ("female".equals(codeString))
247          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE);
248        if ("other".equals(codeString))
249          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER);
250        if ("unknown".equals(codeString))
251          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN);
252        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
253        }
254    public String toCode(AdministrativeGender code) {
255      if (code == AdministrativeGender.MALE)
256        return "male";
257      if (code == AdministrativeGender.FEMALE)
258        return "female";
259      if (code == AdministrativeGender.OTHER)
260        return "other";
261      if (code == AdministrativeGender.UNKNOWN)
262        return "unknown";
263      return "?";
264      }
265    public String toSystem(AdministrativeGender code) {
266      return code.getSystem();
267      }
268    }
269
270    public enum AgeUnits {
271        /**
272         * null
273         */
274        MIN, 
275        /**
276         * null
277         */
278        H, 
279        /**
280         * null
281         */
282        D, 
283        /**
284         * null
285         */
286        WK, 
287        /**
288         * null
289         */
290        MO, 
291        /**
292         * null
293         */
294        A, 
295        /**
296         * added to help the parsers
297         */
298        NULL;
299        public static AgeUnits fromCode(String codeString) throws FHIRException {
300            if (codeString == null || "".equals(codeString))
301                return null;
302        if ("min".equals(codeString))
303          return MIN;
304        if ("h".equals(codeString))
305          return H;
306        if ("d".equals(codeString))
307          return D;
308        if ("wk".equals(codeString))
309          return WK;
310        if ("mo".equals(codeString))
311          return MO;
312        if ("a".equals(codeString))
313          return A;
314        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
315        }
316        public String toCode() {
317          switch (this) {
318            case MIN: return "min";
319            case H: return "h";
320            case D: return "d";
321            case WK: return "wk";
322            case MO: return "mo";
323            case A: return "a";
324            default: return "?";
325          }
326        }
327        public String getSystem() {
328          switch (this) {
329            case MIN: return "http://unitsofmeasure.org";
330            case H: return "http://unitsofmeasure.org";
331            case D: return "http://unitsofmeasure.org";
332            case WK: return "http://unitsofmeasure.org";
333            case MO: return "http://unitsofmeasure.org";
334            case A: return "http://unitsofmeasure.org";
335            default: return "?";
336          }
337        }
338        public String getDefinition() {
339          switch (this) {
340            case MIN: return "";
341            case H: return "";
342            case D: return "";
343            case WK: return "";
344            case MO: return "";
345            case A: return "";
346            default: return "?";
347          }
348        }
349        public String getDisplay() {
350          switch (this) {
351            case MIN: return "Minute";
352            case H: return "Hour";
353            case D: return "Day";
354            case WK: return "Week";
355            case MO: return "Month";
356            case A: return "Year";
357            default: return "?";
358          }
359        }
360    }
361
362  public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> {
363    public AgeUnits fromCode(String codeString) throws IllegalArgumentException {
364      if (codeString == null || "".equals(codeString))
365            if (codeString == null || "".equals(codeString))
366                return null;
367        if ("min".equals(codeString))
368          return AgeUnits.MIN;
369        if ("h".equals(codeString))
370          return AgeUnits.H;
371        if ("d".equals(codeString))
372          return AgeUnits.D;
373        if ("wk".equals(codeString))
374          return AgeUnits.WK;
375        if ("mo".equals(codeString))
376          return AgeUnits.MO;
377        if ("a".equals(codeString))
378          return AgeUnits.A;
379        throw new IllegalArgumentException("Unknown AgeUnits code '"+codeString+"'");
380        }
381        public Enumeration<AgeUnits> fromType(Base code) throws FHIRException {
382          if (code == null)
383            return null;
384          if (code.isEmpty())
385            return new Enumeration<AgeUnits>(this);
386          String codeString = ((PrimitiveType) code).asStringValue();
387          if (codeString == null || "".equals(codeString))
388            return null;
389        if ("min".equals(codeString))
390          return new Enumeration<AgeUnits>(this, AgeUnits.MIN);
391        if ("h".equals(codeString))
392          return new Enumeration<AgeUnits>(this, AgeUnits.H);
393        if ("d".equals(codeString))
394          return new Enumeration<AgeUnits>(this, AgeUnits.D);
395        if ("wk".equals(codeString))
396          return new Enumeration<AgeUnits>(this, AgeUnits.WK);
397        if ("mo".equals(codeString))
398          return new Enumeration<AgeUnits>(this, AgeUnits.MO);
399        if ("a".equals(codeString))
400          return new Enumeration<AgeUnits>(this, AgeUnits.A);
401        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
402        }
403    public String toCode(AgeUnits code) {
404      if (code == AgeUnits.MIN)
405        return "min";
406      if (code == AgeUnits.H)
407        return "h";
408      if (code == AgeUnits.D)
409        return "d";
410      if (code == AgeUnits.WK)
411        return "wk";
412      if (code == AgeUnits.MO)
413        return "mo";
414      if (code == AgeUnits.A)
415        return "a";
416      return "?";
417      }
418    public String toSystem(AgeUnits code) {
419      return code.getSystem();
420      }
421    }
422
423    public enum BindingStrength {
424        /**
425         * To be conformant, the concept in this element SHALL be from the specified value set
426         */
427        REQUIRED, 
428        /**
429         * 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.
430         */
431        EXTENSIBLE, 
432        /**
433         * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.
434         */
435        PREFERRED, 
436        /**
437         * 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.
438         */
439        EXAMPLE, 
440        /**
441         * added to help the parsers
442         */
443        NULL;
444        public static BindingStrength fromCode(String codeString) throws FHIRException {
445            if (codeString == null || "".equals(codeString))
446                return null;
447        if ("required".equals(codeString))
448          return REQUIRED;
449        if ("extensible".equals(codeString))
450          return EXTENSIBLE;
451        if ("preferred".equals(codeString))
452          return PREFERRED;
453        if ("example".equals(codeString))
454          return EXAMPLE;
455        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
456        }
457        public String toCode() {
458          switch (this) {
459            case REQUIRED: return "required";
460            case EXTENSIBLE: return "extensible";
461            case PREFERRED: return "preferred";
462            case EXAMPLE: return "example";
463            default: return "?";
464          }
465        }
466        public String getSystem() {
467          switch (this) {
468            case REQUIRED: return "http://hl7.org/fhir/binding-strength";
469            case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength";
470            case PREFERRED: return "http://hl7.org/fhir/binding-strength";
471            case EXAMPLE: return "http://hl7.org/fhir/binding-strength";
472            default: return "?";
473          }
474        }
475        public String getDefinition() {
476          switch (this) {
477            case REQUIRED: return "To be conformant, the concept in this element SHALL be from the specified value set";
478            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.";
479            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.";
480            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.";
481            default: return "?";
482          }
483        }
484        public String getDisplay() {
485          switch (this) {
486            case REQUIRED: return "Required";
487            case EXTENSIBLE: return "Extensible";
488            case PREFERRED: return "Preferred";
489            case EXAMPLE: return "Example";
490            default: return "?";
491          }
492        }
493    }
494
495  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
496    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
497      if (codeString == null || "".equals(codeString))
498            if (codeString == null || "".equals(codeString))
499                return null;
500        if ("required".equals(codeString))
501          return BindingStrength.REQUIRED;
502        if ("extensible".equals(codeString))
503          return BindingStrength.EXTENSIBLE;
504        if ("preferred".equals(codeString))
505          return BindingStrength.PREFERRED;
506        if ("example".equals(codeString))
507          return BindingStrength.EXAMPLE;
508        throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'");
509        }
510        public Enumeration<BindingStrength> fromType(Base code) throws FHIRException {
511          if (code == null)
512            return null;
513          if (code.isEmpty())
514            return new Enumeration<BindingStrength>(this);
515          String codeString = ((PrimitiveType) code).asStringValue();
516          if (codeString == null || "".equals(codeString))
517            return null;
518        if ("required".equals(codeString))
519          return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED);
520        if ("extensible".equals(codeString))
521          return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE);
522        if ("preferred".equals(codeString))
523          return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED);
524        if ("example".equals(codeString))
525          return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE);
526        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
527        }
528    public String toCode(BindingStrength code) {
529      if (code == BindingStrength.REQUIRED)
530        return "required";
531      if (code == BindingStrength.EXTENSIBLE)
532        return "extensible";
533      if (code == BindingStrength.PREFERRED)
534        return "preferred";
535      if (code == BindingStrength.EXAMPLE)
536        return "example";
537      return "?";
538      }
539    public String toSystem(BindingStrength code) {
540      return code.getSystem();
541      }
542    }
543
544    public enum ConceptMapEquivalence {
545        /**
546         * The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known
547         */
548        RELATEDTO, 
549        /**
550         * The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).
551         */
552        EQUIVALENT, 
553        /**
554         * 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).
555         */
556        EQUAL, 
557        /**
558         * The target mapping is wider in meaning than the source concept.
559         */
560        WIDER, 
561        /**
562         * The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).
563         */
564        SUBSUMES, 
565        /**
566         * 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.
567         */
568        NARROWER, 
569        /**
570         * The target mapping specializes the meaning of the source concept (e.g. the target is-a source).
571         */
572        SPECIALIZES, 
573        /**
574         * 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.
575         */
576        INEXACT, 
577        /**
578         * There is no match for this concept in the target code system.
579         */
580        UNMATCHED, 
581        /**
582         * This is an explicit assertion that there is no mapping between the source and target concept.
583         */
584        DISJOINT, 
585        /**
586         * added to help the parsers
587         */
588        NULL;
589        public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException {
590            if (codeString == null || "".equals(codeString))
591                return null;
592        if ("relatedto".equals(codeString))
593          return RELATEDTO;
594        if ("equivalent".equals(codeString))
595          return EQUIVALENT;
596        if ("equal".equals(codeString))
597          return EQUAL;
598        if ("wider".equals(codeString))
599          return WIDER;
600        if ("subsumes".equals(codeString))
601          return SUBSUMES;
602        if ("narrower".equals(codeString))
603          return NARROWER;
604        if ("specializes".equals(codeString))
605          return SPECIALIZES;
606        if ("inexact".equals(codeString))
607          return INEXACT;
608        if ("unmatched".equals(codeString))
609          return UNMATCHED;
610        if ("disjoint".equals(codeString))
611          return DISJOINT;
612        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
613        }
614        public String toCode() {
615          switch (this) {
616            case RELATEDTO: return "relatedto";
617            case EQUIVALENT: return "equivalent";
618            case EQUAL: return "equal";
619            case WIDER: return "wider";
620            case SUBSUMES: return "subsumes";
621            case NARROWER: return "narrower";
622            case SPECIALIZES: return "specializes";
623            case INEXACT: return "inexact";
624            case UNMATCHED: return "unmatched";
625            case DISJOINT: return "disjoint";
626            default: return "?";
627          }
628        }
629        public String getSystem() {
630          switch (this) {
631            case RELATEDTO: return "http://hl7.org/fhir/concept-map-equivalence";
632            case EQUIVALENT: return "http://hl7.org/fhir/concept-map-equivalence";
633            case EQUAL: return "http://hl7.org/fhir/concept-map-equivalence";
634            case WIDER: return "http://hl7.org/fhir/concept-map-equivalence";
635            case SUBSUMES: return "http://hl7.org/fhir/concept-map-equivalence";
636            case NARROWER: return "http://hl7.org/fhir/concept-map-equivalence";
637            case SPECIALIZES: return "http://hl7.org/fhir/concept-map-equivalence";
638            case INEXACT: return "http://hl7.org/fhir/concept-map-equivalence";
639            case UNMATCHED: return "http://hl7.org/fhir/concept-map-equivalence";
640            case DISJOINT: return "http://hl7.org/fhir/concept-map-equivalence";
641            default: return "?";
642          }
643        }
644        public String getDefinition() {
645          switch (this) {
646            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";
647            case EQUIVALENT: return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).";
648            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).";
649            case WIDER: return "The target mapping is wider in meaning than the source concept.";
650            case SUBSUMES: return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).";
651            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.";
652            case SPECIALIZES: return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source).";
653            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.";
654            case UNMATCHED: return "There is no match for this concept in the target code system.";
655            case DISJOINT: return "This is an explicit assertion that there is no mapping between the source and target concept.";
656            default: return "?";
657          }
658        }
659        public String getDisplay() {
660          switch (this) {
661            case RELATEDTO: return "Related To";
662            case EQUIVALENT: return "Equivalent";
663            case EQUAL: return "Equal";
664            case WIDER: return "Wider";
665            case SUBSUMES: return "Subsumes";
666            case NARROWER: return "Narrower";
667            case SPECIALIZES: return "Specializes";
668            case INEXACT: return "Inexact";
669            case UNMATCHED: return "Unmatched";
670            case DISJOINT: return "Disjoint";
671            default: return "?";
672          }
673        }
674    }
675
676  public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> {
677    public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException {
678      if (codeString == null || "".equals(codeString))
679            if (codeString == null || "".equals(codeString))
680                return null;
681        if ("relatedto".equals(codeString))
682          return ConceptMapEquivalence.RELATEDTO;
683        if ("equivalent".equals(codeString))
684          return ConceptMapEquivalence.EQUIVALENT;
685        if ("equal".equals(codeString))
686          return ConceptMapEquivalence.EQUAL;
687        if ("wider".equals(codeString))
688          return ConceptMapEquivalence.WIDER;
689        if ("subsumes".equals(codeString))
690          return ConceptMapEquivalence.SUBSUMES;
691        if ("narrower".equals(codeString))
692          return ConceptMapEquivalence.NARROWER;
693        if ("specializes".equals(codeString))
694          return ConceptMapEquivalence.SPECIALIZES;
695        if ("inexact".equals(codeString))
696          return ConceptMapEquivalence.INEXACT;
697        if ("unmatched".equals(codeString))
698          return ConceptMapEquivalence.UNMATCHED;
699        if ("disjoint".equals(codeString))
700          return ConceptMapEquivalence.DISJOINT;
701        throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '"+codeString+"'");
702        }
703        public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException {
704          if (code == null)
705            return null;
706          if (code.isEmpty())
707            return new Enumeration<ConceptMapEquivalence>(this);
708          String codeString = ((PrimitiveType) code).asStringValue();
709          if (codeString == null || "".equals(codeString))
710            return null;
711        if ("relatedto".equals(codeString))
712          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.RELATEDTO);
713        if ("equivalent".equals(codeString))
714          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT);
715        if ("equal".equals(codeString))
716          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL);
717        if ("wider".equals(codeString))
718          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER);
719        if ("subsumes".equals(codeString))
720          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES);
721        if ("narrower".equals(codeString))
722          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER);
723        if ("specializes".equals(codeString))
724          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES);
725        if ("inexact".equals(codeString))
726          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT);
727        if ("unmatched".equals(codeString))
728          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED);
729        if ("disjoint".equals(codeString))
730          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT);
731        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
732        }
733    public String toCode(ConceptMapEquivalence code) {
734      if (code == ConceptMapEquivalence.RELATEDTO)
735        return "relatedto";
736      if (code == ConceptMapEquivalence.EQUIVALENT)
737        return "equivalent";
738      if (code == ConceptMapEquivalence.EQUAL)
739        return "equal";
740      if (code == ConceptMapEquivalence.WIDER)
741        return "wider";
742      if (code == ConceptMapEquivalence.SUBSUMES)
743        return "subsumes";
744      if (code == ConceptMapEquivalence.NARROWER)
745        return "narrower";
746      if (code == ConceptMapEquivalence.SPECIALIZES)
747        return "specializes";
748      if (code == ConceptMapEquivalence.INEXACT)
749        return "inexact";
750      if (code == ConceptMapEquivalence.UNMATCHED)
751        return "unmatched";
752      if (code == ConceptMapEquivalence.DISJOINT)
753        return "disjoint";
754      return "?";
755      }
756    public String toSystem(ConceptMapEquivalence code) {
757      return code.getSystem();
758      }
759    }
760
761    public enum DataAbsentReason {
762        /**
763         * The value is expected to exist but is not known.
764         */
765        UNKNOWN, 
766        /**
767         * The source was asked but does not know the value.
768         */
769        ASKEDUNKNOWN, 
770        /**
771         * There is reason to expect (from the workflow) that the value may become known.
772         */
773        TEMPUNKNOWN, 
774        /**
775         * The workflow didn't lead to this value being known.
776         */
777        NOTASKED, 
778        /**
779         * The source was asked but declined to answer.
780         */
781        ASKEDDECLINED, 
782        /**
783         * The information is not available due to security, privacy or related reasons.
784         */
785        MASKED, 
786        /**
787         * There is no proper value for this element (e.g. last menstrual period for a male)
788         */
789        NOTAPPLICABLE, 
790        /**
791         * The source system wasn't capable of supporting this element.
792         */
793        UNSUPPORTED, 
794        /**
795         * The content of the data is represented in the resource narrative.
796         */
797        ASTEXT, 
798        /**
799         * Some system or workflow process error means that the information is not available.
800         */
801        ERROR, 
802        /**
803         * The numeric value is undefined or unrepresentable due to a floating point processing error.
804         */
805        NOTANUMBER, 
806        /**
807         * The numeric value is excessively low and unrepresentable due to a floating point processing error.
808         */
809        NEGATIVEINFINITY, 
810        /**
811         * The numeric value is excessively high and unrepresentable due to a floating point processing error.
812         */
813        POSITIVEINFINITY, 
814        /**
815         * The value is not available because the observation procedure (test, etc.) was not performed.
816         */
817        NOTPERFORMED, 
818        /**
819         * The value is not permitted in this context (e.g. due to profiles, or the base data types)
820         */
821        NOTPERMITTED, 
822        /**
823         * added to help the parsers
824         */
825        NULL;
826        public static DataAbsentReason fromCode(String codeString) throws FHIRException {
827            if (codeString == null || "".equals(codeString))
828                return null;
829        if ("unknown".equals(codeString))
830          return UNKNOWN;
831        if ("asked-unknown".equals(codeString))
832          return ASKEDUNKNOWN;
833        if ("temp-unknown".equals(codeString))
834          return TEMPUNKNOWN;
835        if ("not-asked".equals(codeString))
836          return NOTASKED;
837        if ("asked-declined".equals(codeString))
838          return ASKEDDECLINED;
839        if ("masked".equals(codeString))
840          return MASKED;
841        if ("not-applicable".equals(codeString))
842          return NOTAPPLICABLE;
843        if ("unsupported".equals(codeString))
844          return UNSUPPORTED;
845        if ("as-text".equals(codeString))
846          return ASTEXT;
847        if ("error".equals(codeString))
848          return ERROR;
849        if ("not-a-number".equals(codeString))
850          return NOTANUMBER;
851        if ("negative-infinity".equals(codeString))
852          return NEGATIVEINFINITY;
853        if ("positive-infinity".equals(codeString))
854          return POSITIVEINFINITY;
855        if ("not-performed".equals(codeString))
856          return NOTPERFORMED;
857        if ("not-permitted".equals(codeString))
858          return NOTPERMITTED;
859        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
860        }
861        public String toCode() {
862          switch (this) {
863            case UNKNOWN: return "unknown";
864            case ASKEDUNKNOWN: return "asked-unknown";
865            case TEMPUNKNOWN: return "temp-unknown";
866            case NOTASKED: return "not-asked";
867            case ASKEDDECLINED: return "asked-declined";
868            case MASKED: return "masked";
869            case NOTAPPLICABLE: return "not-applicable";
870            case UNSUPPORTED: return "unsupported";
871            case ASTEXT: return "as-text";
872            case ERROR: return "error";
873            case NOTANUMBER: return "not-a-number";
874            case NEGATIVEINFINITY: return "negative-infinity";
875            case POSITIVEINFINITY: return "positive-infinity";
876            case NOTPERFORMED: return "not-performed";
877            case NOTPERMITTED: return "not-permitted";
878            default: return "?";
879          }
880        }
881        public String getSystem() {
882          switch (this) {
883            case UNKNOWN: return "http://hl7.org/fhir/data-absent-reason";
884            case ASKEDUNKNOWN: return "http://hl7.org/fhir/data-absent-reason";
885            case TEMPUNKNOWN: return "http://hl7.org/fhir/data-absent-reason";
886            case NOTASKED: return "http://hl7.org/fhir/data-absent-reason";
887            case ASKEDDECLINED: return "http://hl7.org/fhir/data-absent-reason";
888            case MASKED: return "http://hl7.org/fhir/data-absent-reason";
889            case NOTAPPLICABLE: return "http://hl7.org/fhir/data-absent-reason";
890            case UNSUPPORTED: return "http://hl7.org/fhir/data-absent-reason";
891            case ASTEXT: return "http://hl7.org/fhir/data-absent-reason";
892            case ERROR: return "http://hl7.org/fhir/data-absent-reason";
893            case NOTANUMBER: return "http://hl7.org/fhir/data-absent-reason";
894            case NEGATIVEINFINITY: return "http://hl7.org/fhir/data-absent-reason";
895            case POSITIVEINFINITY: return "http://hl7.org/fhir/data-absent-reason";
896            case NOTPERFORMED: return "http://hl7.org/fhir/data-absent-reason";
897            case NOTPERMITTED: return "http://hl7.org/fhir/data-absent-reason";
898            default: return "?";
899          }
900        }
901        public String getDefinition() {
902          switch (this) {
903            case UNKNOWN: return "The value is expected to exist but is not known.";
904            case ASKEDUNKNOWN: return "The source was asked but does not know the value.";
905            case TEMPUNKNOWN: return "There is reason to expect (from the workflow) that the value may become known.";
906            case NOTASKED: return "The workflow didn't lead to this value being known.";
907            case ASKEDDECLINED: return "The source was asked but declined to answer.";
908            case MASKED: return "The information is not available due to security, privacy or related reasons.";
909            case NOTAPPLICABLE: return "There is no proper value for this element (e.g. last menstrual period for a male)";
910            case UNSUPPORTED: return "The source system wasn't capable of supporting this element.";
911            case ASTEXT: return "The content of the data is represented in the resource narrative.";
912            case ERROR: return "Some system or workflow process error means that the information is not available.";
913            case NOTANUMBER: return "The numeric value is undefined or unrepresentable due to a floating point processing error.";
914            case NEGATIVEINFINITY: return "The numeric value is excessively low and unrepresentable due to a floating point processing error.";
915            case POSITIVEINFINITY: return "The numeric value is excessively high and unrepresentable due to a floating point processing error.";
916            case NOTPERFORMED: return "The value is not available because the observation procedure (test, etc.) was not performed.";
917            case NOTPERMITTED: return "The value is not permitted in this context (e.g. due to profiles, or the base data types)";
918            default: return "?";
919          }
920        }
921        public String getDisplay() {
922          switch (this) {
923            case UNKNOWN: return "Unknown";
924            case ASKEDUNKNOWN: return "Asked But Unknown";
925            case TEMPUNKNOWN: return "Temporarily Unknown";
926            case NOTASKED: return "Not Asked";
927            case ASKEDDECLINED: return "Asked But Declined";
928            case MASKED: return "Masked";
929            case NOTAPPLICABLE: return "Not Applicable";
930            case UNSUPPORTED: return "Unsupported";
931            case ASTEXT: return "As Text";
932            case ERROR: return "Error";
933            case NOTANUMBER: return "Not a Number (NaN)";
934            case NEGATIVEINFINITY: return "Negative Infinity (NINF)";
935            case POSITIVEINFINITY: return "Positive Infinity (PINF)";
936            case NOTPERFORMED: return "Not Performed";
937            case NOTPERMITTED: return "Not Permitted";
938            default: return "?";
939          }
940        }
941    }
942
943  public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> {
944    public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException {
945      if (codeString == null || "".equals(codeString))
946            if (codeString == null || "".equals(codeString))
947                return null;
948        if ("unknown".equals(codeString))
949          return DataAbsentReason.UNKNOWN;
950        if ("asked-unknown".equals(codeString))
951          return DataAbsentReason.ASKEDUNKNOWN;
952        if ("temp-unknown".equals(codeString))
953          return DataAbsentReason.TEMPUNKNOWN;
954        if ("not-asked".equals(codeString))
955          return DataAbsentReason.NOTASKED;
956        if ("asked-declined".equals(codeString))
957          return DataAbsentReason.ASKEDDECLINED;
958        if ("masked".equals(codeString))
959          return DataAbsentReason.MASKED;
960        if ("not-applicable".equals(codeString))
961          return DataAbsentReason.NOTAPPLICABLE;
962        if ("unsupported".equals(codeString))
963          return DataAbsentReason.UNSUPPORTED;
964        if ("as-text".equals(codeString))
965          return DataAbsentReason.ASTEXT;
966        if ("error".equals(codeString))
967          return DataAbsentReason.ERROR;
968        if ("not-a-number".equals(codeString))
969          return DataAbsentReason.NOTANUMBER;
970        if ("negative-infinity".equals(codeString))
971          return DataAbsentReason.NEGATIVEINFINITY;
972        if ("positive-infinity".equals(codeString))
973          return DataAbsentReason.POSITIVEINFINITY;
974        if ("not-performed".equals(codeString))
975          return DataAbsentReason.NOTPERFORMED;
976        if ("not-permitted".equals(codeString))
977          return DataAbsentReason.NOTPERMITTED;
978        throw new IllegalArgumentException("Unknown DataAbsentReason code '"+codeString+"'");
979        }
980        public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException {
981          if (code == null)
982            return null;
983          if (code.isEmpty())
984            return new Enumeration<DataAbsentReason>(this);
985          String codeString = ((PrimitiveType) code).asStringValue();
986          if (codeString == null || "".equals(codeString))
987            return null;
988        if ("unknown".equals(codeString))
989          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN);
990        if ("asked-unknown".equals(codeString))
991          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDUNKNOWN);
992        if ("temp-unknown".equals(codeString))
993          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMPUNKNOWN);
994        if ("not-asked".equals(codeString))
995          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED);
996        if ("asked-declined".equals(codeString))
997          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDDECLINED);
998        if ("masked".equals(codeString))
999          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED);
1000        if ("not-applicable".equals(codeString))
1001          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTAPPLICABLE);
1002        if ("unsupported".equals(codeString))
1003          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED);
1004        if ("as-text".equals(codeString))
1005          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT);
1006        if ("error".equals(codeString))
1007          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR);
1008        if ("not-a-number".equals(codeString))
1009          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTANUMBER);
1010        if ("negative-infinity".equals(codeString))
1011          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NEGATIVEINFINITY);
1012        if ("positive-infinity".equals(codeString))
1013          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.POSITIVEINFINITY);
1014        if ("not-performed".equals(codeString))
1015          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERFORMED);
1016        if ("not-permitted".equals(codeString))
1017          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERMITTED);
1018        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
1019        }
1020    public String toCode(DataAbsentReason code) {
1021      if (code == DataAbsentReason.UNKNOWN)
1022        return "unknown";
1023      if (code == DataAbsentReason.ASKEDUNKNOWN)
1024        return "asked-unknown";
1025      if (code == DataAbsentReason.TEMPUNKNOWN)
1026        return "temp-unknown";
1027      if (code == DataAbsentReason.NOTASKED)
1028        return "not-asked";
1029      if (code == DataAbsentReason.ASKEDDECLINED)
1030        return "asked-declined";
1031      if (code == DataAbsentReason.MASKED)
1032        return "masked";
1033      if (code == DataAbsentReason.NOTAPPLICABLE)
1034        return "not-applicable";
1035      if (code == DataAbsentReason.UNSUPPORTED)
1036        return "unsupported";
1037      if (code == DataAbsentReason.ASTEXT)
1038        return "as-text";
1039      if (code == DataAbsentReason.ERROR)
1040        return "error";
1041      if (code == DataAbsentReason.NOTANUMBER)
1042        return "not-a-number";
1043      if (code == DataAbsentReason.NEGATIVEINFINITY)
1044        return "negative-infinity";
1045      if (code == DataAbsentReason.POSITIVEINFINITY)
1046        return "positive-infinity";
1047      if (code == DataAbsentReason.NOTPERFORMED)
1048        return "not-performed";
1049      if (code == DataAbsentReason.NOTPERMITTED)
1050        return "not-permitted";
1051      return "?";
1052      }
1053    public String toSystem(DataAbsentReason code) {
1054      return code.getSystem();
1055      }
1056    }
1057
1058    public enum DataType {
1059        /**
1060         * 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.
1061         */
1062        ADDRESS, 
1063        /**
1064         * A duration of time during which an organism (or a process) has existed.
1065         */
1066        AGE, 
1067        /**
1068         * A  text note which also  contains information about who made the statement and when.
1069         */
1070        ANNOTATION, 
1071        /**
1072         * For referring to data content defined in other formats.
1073         */
1074        ATTACHMENT, 
1075        /**
1076         * Base definition for all elements that are defined inside a resource - but not those in a data type.
1077         */
1078        BACKBONEELEMENT, 
1079        /**
1080         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
1081         */
1082        CODEABLECONCEPT, 
1083        /**
1084         * A reference to a code defined by a terminology system.
1085         */
1086        CODING, 
1087        /**
1088         * Specifies contact information for a person or organization.
1089         */
1090        CONTACTDETAIL, 
1091        /**
1092         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
1093         */
1094        CONTACTPOINT, 
1095        /**
1096         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
1097         */
1098        CONTRIBUTOR, 
1099        /**
1100         * 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.
1101         */
1102        COUNT, 
1103        /**
1104         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
1105         */
1106        DATAREQUIREMENT, 
1107        /**
1108         * A length - a value with a unit that is a physical distance.
1109         */
1110        DISTANCE, 
1111        /**
1112         * Indicates how the medication is/was taken or should be taken by the patient.
1113         */
1114        DOSAGE, 
1115        /**
1116         * A length of time.
1117         */
1118        DURATION, 
1119        /**
1120         * Base definition for all elements in a resource.
1121         */
1122        ELEMENT, 
1123        /**
1124         * Captures constraints on each element within the resource, profile, or extension.
1125         */
1126        ELEMENTDEFINITION, 
1127        /**
1128         * Optional Extension Element - found in all resources.
1129         */
1130        EXTENSION, 
1131        /**
1132         * A human's name with the ability to identify parts and usage.
1133         */
1134        HUMANNAME, 
1135        /**
1136         * A technical identifier - identifies some entity uniquely and unambiguously.
1137         */
1138        IDENTIFIER, 
1139        /**
1140         * 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.
1141         */
1142        MARKETINGSTATUS, 
1143        /**
1144         * 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.
1145         */
1146        META, 
1147        /**
1148         * An amount of economic utility in some recognized currency.
1149         */
1150        MONEY, 
1151        /**
1152         * A human-readable formatted text, including images.
1153         */
1154        NARRATIVE, 
1155        /**
1156         * 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.
1157         */
1158        PARAMETERDEFINITION, 
1159        /**
1160         * A time period defined by a start and end date and optionally time.
1161         */
1162        PERIOD, 
1163        /**
1164         * 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.
1165         */
1166        PRODCHARACTERISTIC, 
1167        /**
1168         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
1169         */
1170        PRODUCTSHELFLIFE, 
1171        /**
1172         * 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.
1173         */
1174        QUANTITY, 
1175        /**
1176         * A set of ordered Quantities defined by a low and high limit.
1177         */
1178        RANGE, 
1179        /**
1180         * A relationship of two Quantity values - expressed as a numerator and a denominator.
1181         */
1182        RATIO, 
1183        /**
1184         * A reference from one resource to another.
1185         */
1186        REFERENCE, 
1187        /**
1188         * Related artifacts such as additional documentation, justification, or bibliographic references.
1189         */
1190        RELATEDARTIFACT, 
1191        /**
1192         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
1193         */
1194        SAMPLEDDATA, 
1195        /**
1196         * 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.
1197         */
1198        SIGNATURE, 
1199        /**
1200         * null
1201         */
1202        SIMPLEQUANTITY, 
1203        /**
1204         * 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.
1205         */
1206        SUBSTANCEAMOUNT, 
1207        /**
1208         * 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.
1209         */
1210        SUBSTANCEMOIETY, 
1211        /**
1212         * 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.
1213         */
1214        TIMING, 
1215        /**
1216         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
1217         */
1218        TRIGGERDEFINITION, 
1219        /**
1220         * 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).
1221         */
1222        USAGECONTEXT, 
1223        /**
1224         * A stream of bytes
1225         */
1226        BASE64BINARY, 
1227        /**
1228         * Value of "true" or "false"
1229         */
1230        BOOLEAN, 
1231        /**
1232         * A URI that is a reference to a canonical URI on a FHIR resource
1233         */
1234        CANONICAL, 
1235        /**
1236         * 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
1237         */
1238        CODE, 
1239        /**
1240         * 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.
1241         */
1242        DATE, 
1243        /**
1244         * 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.
1245         */
1246        DATETIME, 
1247        /**
1248         * A rational number with implicit precision
1249         */
1250        DECIMAL, 
1251        /**
1252         * 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.
1253         */
1254        ID, 
1255        /**
1256         * An instant in time - known at least to the second
1257         */
1258        INSTANT, 
1259        /**
1260         * A whole number
1261         */
1262        INTEGER, 
1263        /**
1264         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
1265         */
1266        MARKDOWN, 
1267        /**
1268         * An OID represented as a URI
1269         */
1270        OID, 
1271        /**
1272         * An integer with a value that is positive (e.g. >0)
1273         */
1274        POSITIVEINT, 
1275        /**
1276         * A sequence of Unicode characters
1277         */
1278        STRING, 
1279        /**
1280         * A time during the day, with no date specified
1281         */
1282        TIME, 
1283        /**
1284         * An integer with a value that is not negative (e.g. >= 0)
1285         */
1286        UNSIGNEDINT, 
1287        /**
1288         * String of characters used to identify a name or a resource
1289         */
1290        URI, 
1291        /**
1292         * A URI that is a literal reference
1293         */
1294        URL, 
1295        /**
1296         * A UUID, represented as a URI
1297         */
1298        UUID, 
1299        /**
1300         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
1301         */
1302        XHTML, 
1303        /**
1304         * added to help the parsers
1305         */
1306        NULL;
1307        public static DataType fromCode(String codeString) throws FHIRException {
1308            if (codeString == null || "".equals(codeString))
1309                return null;
1310        if ("Address".equals(codeString))
1311          return ADDRESS;
1312        if ("Age".equals(codeString))
1313          return AGE;
1314        if ("Annotation".equals(codeString))
1315          return ANNOTATION;
1316        if ("Attachment".equals(codeString))
1317          return ATTACHMENT;
1318        if ("BackboneElement".equals(codeString))
1319          return BACKBONEELEMENT;
1320        if ("CodeableConcept".equals(codeString))
1321          return CODEABLECONCEPT;
1322        if ("Coding".equals(codeString))
1323          return CODING;
1324        if ("ContactDetail".equals(codeString))
1325          return CONTACTDETAIL;
1326        if ("ContactPoint".equals(codeString))
1327          return CONTACTPOINT;
1328        if ("Contributor".equals(codeString))
1329          return CONTRIBUTOR;
1330        if ("Count".equals(codeString))
1331          return COUNT;
1332        if ("DataRequirement".equals(codeString))
1333          return DATAREQUIREMENT;
1334        if ("Distance".equals(codeString))
1335          return DISTANCE;
1336        if ("Dosage".equals(codeString))
1337          return DOSAGE;
1338        if ("Duration".equals(codeString))
1339          return DURATION;
1340        if ("Element".equals(codeString))
1341          return ELEMENT;
1342        if ("ElementDefinition".equals(codeString))
1343          return ELEMENTDEFINITION;
1344        if ("Extension".equals(codeString))
1345          return EXTENSION;
1346        if ("HumanName".equals(codeString))
1347          return HUMANNAME;
1348        if ("Identifier".equals(codeString))
1349          return IDENTIFIER;
1350        if ("MarketingStatus".equals(codeString))
1351          return MARKETINGSTATUS;
1352        if ("Meta".equals(codeString))
1353          return META;
1354        if ("Money".equals(codeString))
1355          return MONEY;
1356        if ("Narrative".equals(codeString))
1357          return NARRATIVE;
1358        if ("ParameterDefinition".equals(codeString))
1359          return PARAMETERDEFINITION;
1360        if ("Period".equals(codeString))
1361          return PERIOD;
1362        if ("ProdCharacteristic".equals(codeString))
1363          return PRODCHARACTERISTIC;
1364        if ("ProductShelfLife".equals(codeString))
1365          return PRODUCTSHELFLIFE;
1366        if ("Quantity".equals(codeString))
1367          return QUANTITY;
1368        if ("Range".equals(codeString))
1369          return RANGE;
1370        if ("Ratio".equals(codeString))
1371          return RATIO;
1372        if ("Reference".equals(codeString))
1373          return REFERENCE;
1374        if ("RelatedArtifact".equals(codeString))
1375          return RELATEDARTIFACT;
1376        if ("SampledData".equals(codeString))
1377          return SAMPLEDDATA;
1378        if ("Signature".equals(codeString))
1379          return SIGNATURE;
1380        if ("SimpleQuantity".equals(codeString))
1381          return SIMPLEQUANTITY;
1382        if ("SubstanceAmount".equals(codeString))
1383          return SUBSTANCEAMOUNT;
1384        if ("SubstanceMoiety".equals(codeString))
1385          return SUBSTANCEMOIETY;
1386        if ("Timing".equals(codeString))
1387          return TIMING;
1388        if ("TriggerDefinition".equals(codeString))
1389          return TRIGGERDEFINITION;
1390        if ("UsageContext".equals(codeString))
1391          return USAGECONTEXT;
1392        if ("base64Binary".equals(codeString))
1393          return BASE64BINARY;
1394        if ("boolean".equals(codeString))
1395          return BOOLEAN;
1396        if ("canonical".equals(codeString))
1397          return CANONICAL;
1398        if ("code".equals(codeString))
1399          return CODE;
1400        if ("date".equals(codeString))
1401          return DATE;
1402        if ("dateTime".equals(codeString))
1403          return DATETIME;
1404        if ("decimal".equals(codeString))
1405          return DECIMAL;
1406        if ("id".equals(codeString))
1407          return ID;
1408        if ("instant".equals(codeString))
1409          return INSTANT;
1410        if ("integer".equals(codeString))
1411          return INTEGER;
1412        if ("markdown".equals(codeString))
1413          return MARKDOWN;
1414        if ("oid".equals(codeString))
1415          return OID;
1416        if ("positiveInt".equals(codeString))
1417          return POSITIVEINT;
1418        if ("string".equals(codeString))
1419          return STRING;
1420        if ("time".equals(codeString))
1421          return TIME;
1422        if ("unsignedInt".equals(codeString))
1423          return UNSIGNEDINT;
1424        if ("uri".equals(codeString))
1425          return URI;
1426        if ("url".equals(codeString))
1427          return URL;
1428        if ("uuid".equals(codeString))
1429          return UUID;
1430        if ("xhtml".equals(codeString))
1431          return XHTML;
1432        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1433        }
1434        public String toCode() {
1435          switch (this) {
1436            case ADDRESS: return "Address";
1437            case AGE: return "Age";
1438            case ANNOTATION: return "Annotation";
1439            case ATTACHMENT: return "Attachment";
1440            case BACKBONEELEMENT: return "BackboneElement";
1441            case CODEABLECONCEPT: return "CodeableConcept";
1442            case CODING: return "Coding";
1443            case CONTACTDETAIL: return "ContactDetail";
1444            case CONTACTPOINT: return "ContactPoint";
1445            case CONTRIBUTOR: return "Contributor";
1446            case COUNT: return "Count";
1447            case DATAREQUIREMENT: return "DataRequirement";
1448            case DISTANCE: return "Distance";
1449            case DOSAGE: return "Dosage";
1450            case DURATION: return "Duration";
1451            case ELEMENT: return "Element";
1452            case ELEMENTDEFINITION: return "ElementDefinition";
1453            case EXTENSION: return "Extension";
1454            case HUMANNAME: return "HumanName";
1455            case IDENTIFIER: return "Identifier";
1456            case MARKETINGSTATUS: return "MarketingStatus";
1457            case META: return "Meta";
1458            case MONEY: return "Money";
1459            case NARRATIVE: return "Narrative";
1460            case PARAMETERDEFINITION: return "ParameterDefinition";
1461            case PERIOD: return "Period";
1462            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1463            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1464            case QUANTITY: return "Quantity";
1465            case RANGE: return "Range";
1466            case RATIO: return "Ratio";
1467            case REFERENCE: return "Reference";
1468            case RELATEDARTIFACT: return "RelatedArtifact";
1469            case SAMPLEDDATA: return "SampledData";
1470            case SIGNATURE: return "Signature";
1471            case SIMPLEQUANTITY: return "SimpleQuantity";
1472            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1473            case SUBSTANCEMOIETY: return "SubstanceMoiety";
1474            case TIMING: return "Timing";
1475            case TRIGGERDEFINITION: return "TriggerDefinition";
1476            case USAGECONTEXT: return "UsageContext";
1477            case BASE64BINARY: return "base64Binary";
1478            case BOOLEAN: return "boolean";
1479            case CANONICAL: return "canonical";
1480            case CODE: return "code";
1481            case DATE: return "date";
1482            case DATETIME: return "dateTime";
1483            case DECIMAL: return "decimal";
1484            case ID: return "id";
1485            case INSTANT: return "instant";
1486            case INTEGER: return "integer";
1487            case MARKDOWN: return "markdown";
1488            case OID: return "oid";
1489            case POSITIVEINT: return "positiveInt";
1490            case STRING: return "string";
1491            case TIME: return "time";
1492            case UNSIGNEDINT: return "unsignedInt";
1493            case URI: return "uri";
1494            case URL: return "url";
1495            case UUID: return "uuid";
1496            case XHTML: return "xhtml";
1497            default: return "?";
1498          }
1499        }
1500        public String getSystem() {
1501          switch (this) {
1502            case ADDRESS: return "http://hl7.org/fhir/data-types";
1503            case AGE: return "http://hl7.org/fhir/data-types";
1504            case ANNOTATION: return "http://hl7.org/fhir/data-types";
1505            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
1506            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
1507            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
1508            case CODING: return "http://hl7.org/fhir/data-types";
1509            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
1510            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
1511            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
1512            case COUNT: return "http://hl7.org/fhir/data-types";
1513            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
1514            case DISTANCE: return "http://hl7.org/fhir/data-types";
1515            case DOSAGE: return "http://hl7.org/fhir/data-types";
1516            case DURATION: return "http://hl7.org/fhir/data-types";
1517            case ELEMENT: return "http://hl7.org/fhir/data-types";
1518            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
1519            case EXTENSION: return "http://hl7.org/fhir/data-types";
1520            case HUMANNAME: return "http://hl7.org/fhir/data-types";
1521            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
1522            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
1523            case META: return "http://hl7.org/fhir/data-types";
1524            case MONEY: return "http://hl7.org/fhir/data-types";
1525            case NARRATIVE: return "http://hl7.org/fhir/data-types";
1526            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
1527            case PERIOD: return "http://hl7.org/fhir/data-types";
1528            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
1529            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
1530            case QUANTITY: return "http://hl7.org/fhir/data-types";
1531            case RANGE: return "http://hl7.org/fhir/data-types";
1532            case RATIO: return "http://hl7.org/fhir/data-types";
1533            case REFERENCE: return "http://hl7.org/fhir/data-types";
1534            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
1535            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
1536            case SIGNATURE: return "http://hl7.org/fhir/data-types";
1537            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
1538            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
1539            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
1540            case TIMING: return "http://hl7.org/fhir/data-types";
1541            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
1542            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
1543            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
1544            case BOOLEAN: return "http://hl7.org/fhir/data-types";
1545            case CANONICAL: return "http://hl7.org/fhir/data-types";
1546            case CODE: return "http://hl7.org/fhir/data-types";
1547            case DATE: return "http://hl7.org/fhir/data-types";
1548            case DATETIME: return "http://hl7.org/fhir/data-types";
1549            case DECIMAL: return "http://hl7.org/fhir/data-types";
1550            case ID: return "http://hl7.org/fhir/data-types";
1551            case INSTANT: return "http://hl7.org/fhir/data-types";
1552            case INTEGER: return "http://hl7.org/fhir/data-types";
1553            case MARKDOWN: return "http://hl7.org/fhir/data-types";
1554            case OID: return "http://hl7.org/fhir/data-types";
1555            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
1556            case STRING: return "http://hl7.org/fhir/data-types";
1557            case TIME: return "http://hl7.org/fhir/data-types";
1558            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
1559            case URI: return "http://hl7.org/fhir/data-types";
1560            case URL: return "http://hl7.org/fhir/data-types";
1561            case UUID: return "http://hl7.org/fhir/data-types";
1562            case XHTML: return "http://hl7.org/fhir/data-types";
1563            default: return "?";
1564          }
1565        }
1566        public String getDefinition() {
1567          switch (this) {
1568            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.";
1569            case AGE: return "A duration of time during which an organism (or a process) has existed.";
1570            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
1571            case ATTACHMENT: return "For referring to data content defined in other formats.";
1572            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
1573            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
1574            case CODING: return "A reference to a code defined by a terminology system.";
1575            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
1576            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
1577            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
1578            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.";
1579            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.";
1580            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
1581            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
1582            case DURATION: return "A length of time.";
1583            case ELEMENT: return "Base definition for all elements in a resource.";
1584            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
1585            case EXTENSION: return "Optional Extension Element - found in all resources.";
1586            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
1587            case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously.";
1588            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.";
1589            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.";
1590            case MONEY: return "An amount of economic utility in some recognized currency.";
1591            case NARRATIVE: return "A human-readable formatted text, including images.";
1592            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.";
1593            case PERIOD: return "A time period defined by a start and end date and optionally time.";
1594            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.";
1595            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
1596            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.";
1597            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
1598            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
1599            case REFERENCE: return "A reference from one resource to another.";
1600            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
1601            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.";
1602            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.";
1603            case SIMPLEQUANTITY: return "";
1604            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.";
1605            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.";
1606            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.";
1607            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.";
1608            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).";
1609            case BASE64BINARY: return "A stream of bytes";
1610            case BOOLEAN: return "Value of \"true\" or \"false\"";
1611            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
1612            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";
1613            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.";
1614            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.";
1615            case DECIMAL: return "A rational number with implicit precision";
1616            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.";
1617            case INSTANT: return "An instant in time - known at least to the second";
1618            case INTEGER: return "A whole number";
1619            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
1620            case OID: return "An OID represented as a URI";
1621            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
1622            case STRING: return "A sequence of Unicode characters";
1623            case TIME: return "A time during the day, with no date specified";
1624            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
1625            case URI: return "String of characters used to identify a name or a resource";
1626            case URL: return "A URI that is a literal reference";
1627            case UUID: return "A UUID, represented as a URI";
1628            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
1629            default: return "?";
1630          }
1631        }
1632        public String getDisplay() {
1633          switch (this) {
1634            case ADDRESS: return "Address";
1635            case AGE: return "Age";
1636            case ANNOTATION: return "Annotation";
1637            case ATTACHMENT: return "Attachment";
1638            case BACKBONEELEMENT: return "BackboneElement";
1639            case CODEABLECONCEPT: return "CodeableConcept";
1640            case CODING: return "Coding";
1641            case CONTACTDETAIL: return "ContactDetail";
1642            case CONTACTPOINT: return "ContactPoint";
1643            case CONTRIBUTOR: return "Contributor";
1644            case COUNT: return "Count";
1645            case DATAREQUIREMENT: return "DataRequirement";
1646            case DISTANCE: return "Distance";
1647            case DOSAGE: return "Dosage";
1648            case DURATION: return "Duration";
1649            case ELEMENT: return "Element";
1650            case ELEMENTDEFINITION: return "ElementDefinition";
1651            case EXTENSION: return "Extension";
1652            case HUMANNAME: return "HumanName";
1653            case IDENTIFIER: return "Identifier";
1654            case MARKETINGSTATUS: return "MarketingStatus";
1655            case META: return "Meta";
1656            case MONEY: return "Money";
1657            case NARRATIVE: return "Narrative";
1658            case PARAMETERDEFINITION: return "ParameterDefinition";
1659            case PERIOD: return "Period";
1660            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1661            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1662            case QUANTITY: return "Quantity";
1663            case RANGE: return "Range";
1664            case RATIO: return "Ratio";
1665            case REFERENCE: return "Reference";
1666            case RELATEDARTIFACT: return "RelatedArtifact";
1667            case SAMPLEDDATA: return "SampledData";
1668            case SIGNATURE: return "Signature";
1669            case SIMPLEQUANTITY: return "SimpleQuantity";
1670            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1671            case SUBSTANCEMOIETY: return "SubstanceMoiety";
1672            case TIMING: return "Timing";
1673            case TRIGGERDEFINITION: return "TriggerDefinition";
1674            case USAGECONTEXT: return "UsageContext";
1675            case BASE64BINARY: return "base64Binary";
1676            case BOOLEAN: return "boolean";
1677            case CANONICAL: return "canonical";
1678            case CODE: return "code";
1679            case DATE: return "date";
1680            case DATETIME: return "dateTime";
1681            case DECIMAL: return "decimal";
1682            case ID: return "id";
1683            case INSTANT: return "instant";
1684            case INTEGER: return "integer";
1685            case MARKDOWN: return "markdown";
1686            case OID: return "oid";
1687            case POSITIVEINT: return "positiveInt";
1688            case STRING: return "string";
1689            case TIME: return "time";
1690            case UNSIGNEDINT: return "unsignedInt";
1691            case URI: return "uri";
1692            case URL: return "url";
1693            case UUID: return "uuid";
1694            case XHTML: return "XHTML";
1695            default: return "?";
1696          }
1697        }
1698    }
1699
1700  public static class DataTypeEnumFactory implements EnumFactory<DataType> {
1701    public DataType fromCode(String codeString) throws IllegalArgumentException {
1702      if (codeString == null || "".equals(codeString))
1703            if (codeString == null || "".equals(codeString))
1704                return null;
1705        if ("Address".equals(codeString))
1706          return DataType.ADDRESS;
1707        if ("Age".equals(codeString))
1708          return DataType.AGE;
1709        if ("Annotation".equals(codeString))
1710          return DataType.ANNOTATION;
1711        if ("Attachment".equals(codeString))
1712          return DataType.ATTACHMENT;
1713        if ("BackboneElement".equals(codeString))
1714          return DataType.BACKBONEELEMENT;
1715        if ("CodeableConcept".equals(codeString))
1716          return DataType.CODEABLECONCEPT;
1717        if ("Coding".equals(codeString))
1718          return DataType.CODING;
1719        if ("ContactDetail".equals(codeString))
1720          return DataType.CONTACTDETAIL;
1721        if ("ContactPoint".equals(codeString))
1722          return DataType.CONTACTPOINT;
1723        if ("Contributor".equals(codeString))
1724          return DataType.CONTRIBUTOR;
1725        if ("Count".equals(codeString))
1726          return DataType.COUNT;
1727        if ("DataRequirement".equals(codeString))
1728          return DataType.DATAREQUIREMENT;
1729        if ("Distance".equals(codeString))
1730          return DataType.DISTANCE;
1731        if ("Dosage".equals(codeString))
1732          return DataType.DOSAGE;
1733        if ("Duration".equals(codeString))
1734          return DataType.DURATION;
1735        if ("Element".equals(codeString))
1736          return DataType.ELEMENT;
1737        if ("ElementDefinition".equals(codeString))
1738          return DataType.ELEMENTDEFINITION;
1739        if ("Extension".equals(codeString))
1740          return DataType.EXTENSION;
1741        if ("HumanName".equals(codeString))
1742          return DataType.HUMANNAME;
1743        if ("Identifier".equals(codeString))
1744          return DataType.IDENTIFIER;
1745        if ("MarketingStatus".equals(codeString))
1746          return DataType.MARKETINGSTATUS;
1747        if ("Meta".equals(codeString))
1748          return DataType.META;
1749        if ("Money".equals(codeString))
1750          return DataType.MONEY;
1751        if ("Narrative".equals(codeString))
1752          return DataType.NARRATIVE;
1753        if ("ParameterDefinition".equals(codeString))
1754          return DataType.PARAMETERDEFINITION;
1755        if ("Period".equals(codeString))
1756          return DataType.PERIOD;
1757        if ("ProdCharacteristic".equals(codeString))
1758          return DataType.PRODCHARACTERISTIC;
1759        if ("ProductShelfLife".equals(codeString))
1760          return DataType.PRODUCTSHELFLIFE;
1761        if ("Quantity".equals(codeString))
1762          return DataType.QUANTITY;
1763        if ("Range".equals(codeString))
1764          return DataType.RANGE;
1765        if ("Ratio".equals(codeString))
1766          return DataType.RATIO;
1767        if ("Reference".equals(codeString))
1768          return DataType.REFERENCE;
1769        if ("RelatedArtifact".equals(codeString))
1770          return DataType.RELATEDARTIFACT;
1771        if ("SampledData".equals(codeString))
1772          return DataType.SAMPLEDDATA;
1773        if ("Signature".equals(codeString))
1774          return DataType.SIGNATURE;
1775        if ("SimpleQuantity".equals(codeString))
1776          return DataType.SIMPLEQUANTITY;
1777        if ("SubstanceAmount".equals(codeString))
1778          return DataType.SUBSTANCEAMOUNT;
1779        if ("SubstanceMoiety".equals(codeString))
1780          return DataType.SUBSTANCEMOIETY;
1781        if ("Timing".equals(codeString))
1782          return DataType.TIMING;
1783        if ("TriggerDefinition".equals(codeString))
1784          return DataType.TRIGGERDEFINITION;
1785        if ("UsageContext".equals(codeString))
1786          return DataType.USAGECONTEXT;
1787        if ("base64Binary".equals(codeString))
1788          return DataType.BASE64BINARY;
1789        if ("boolean".equals(codeString))
1790          return DataType.BOOLEAN;
1791        if ("canonical".equals(codeString))
1792          return DataType.CANONICAL;
1793        if ("code".equals(codeString))
1794          return DataType.CODE;
1795        if ("date".equals(codeString))
1796          return DataType.DATE;
1797        if ("dateTime".equals(codeString))
1798          return DataType.DATETIME;
1799        if ("decimal".equals(codeString))
1800          return DataType.DECIMAL;
1801        if ("id".equals(codeString))
1802          return DataType.ID;
1803        if ("instant".equals(codeString))
1804          return DataType.INSTANT;
1805        if ("integer".equals(codeString))
1806          return DataType.INTEGER;
1807        if ("markdown".equals(codeString))
1808          return DataType.MARKDOWN;
1809        if ("oid".equals(codeString))
1810          return DataType.OID;
1811        if ("positiveInt".equals(codeString))
1812          return DataType.POSITIVEINT;
1813        if ("string".equals(codeString))
1814          return DataType.STRING;
1815        if ("time".equals(codeString))
1816          return DataType.TIME;
1817        if ("unsignedInt".equals(codeString))
1818          return DataType.UNSIGNEDINT;
1819        if ("uri".equals(codeString))
1820          return DataType.URI;
1821        if ("url".equals(codeString))
1822          return DataType.URL;
1823        if ("uuid".equals(codeString))
1824          return DataType.UUID;
1825        if ("xhtml".equals(codeString))
1826          return DataType.XHTML;
1827        throw new IllegalArgumentException("Unknown DataType code '"+codeString+"'");
1828        }
1829        public Enumeration<DataType> fromType(Base code) throws FHIRException {
1830          if (code == null)
1831            return null;
1832          if (code.isEmpty())
1833            return new Enumeration<DataType>(this);
1834          String codeString = ((PrimitiveType) code).asStringValue();
1835          if (codeString == null || "".equals(codeString))
1836            return null;
1837        if ("Address".equals(codeString))
1838          return new Enumeration<DataType>(this, DataType.ADDRESS);
1839        if ("Age".equals(codeString))
1840          return new Enumeration<DataType>(this, DataType.AGE);
1841        if ("Annotation".equals(codeString))
1842          return new Enumeration<DataType>(this, DataType.ANNOTATION);
1843        if ("Attachment".equals(codeString))
1844          return new Enumeration<DataType>(this, DataType.ATTACHMENT);
1845        if ("BackboneElement".equals(codeString))
1846          return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT);
1847        if ("CodeableConcept".equals(codeString))
1848          return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT);
1849        if ("Coding".equals(codeString))
1850          return new Enumeration<DataType>(this, DataType.CODING);
1851        if ("ContactDetail".equals(codeString))
1852          return new Enumeration<DataType>(this, DataType.CONTACTDETAIL);
1853        if ("ContactPoint".equals(codeString))
1854          return new Enumeration<DataType>(this, DataType.CONTACTPOINT);
1855        if ("Contributor".equals(codeString))
1856          return new Enumeration<DataType>(this, DataType.CONTRIBUTOR);
1857        if ("Count".equals(codeString))
1858          return new Enumeration<DataType>(this, DataType.COUNT);
1859        if ("DataRequirement".equals(codeString))
1860          return new Enumeration<DataType>(this, DataType.DATAREQUIREMENT);
1861        if ("Distance".equals(codeString))
1862          return new Enumeration<DataType>(this, DataType.DISTANCE);
1863        if ("Dosage".equals(codeString))
1864          return new Enumeration<DataType>(this, DataType.DOSAGE);
1865        if ("Duration".equals(codeString))
1866          return new Enumeration<DataType>(this, DataType.DURATION);
1867        if ("Element".equals(codeString))
1868          return new Enumeration<DataType>(this, DataType.ELEMENT);
1869        if ("ElementDefinition".equals(codeString))
1870          return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION);
1871        if ("Extension".equals(codeString))
1872          return new Enumeration<DataType>(this, DataType.EXTENSION);
1873        if ("HumanName".equals(codeString))
1874          return new Enumeration<DataType>(this, DataType.HUMANNAME);
1875        if ("Identifier".equals(codeString))
1876          return new Enumeration<DataType>(this, DataType.IDENTIFIER);
1877        if ("MarketingStatus".equals(codeString))
1878          return new Enumeration<DataType>(this, DataType.MARKETINGSTATUS);
1879        if ("Meta".equals(codeString))
1880          return new Enumeration<DataType>(this, DataType.META);
1881        if ("Money".equals(codeString))
1882          return new Enumeration<DataType>(this, DataType.MONEY);
1883        if ("Narrative".equals(codeString))
1884          return new Enumeration<DataType>(this, DataType.NARRATIVE);
1885        if ("ParameterDefinition".equals(codeString))
1886          return new Enumeration<DataType>(this, DataType.PARAMETERDEFINITION);
1887        if ("Period".equals(codeString))
1888          return new Enumeration<DataType>(this, DataType.PERIOD);
1889        if ("ProdCharacteristic".equals(codeString))
1890          return new Enumeration<DataType>(this, DataType.PRODCHARACTERISTIC);
1891        if ("ProductShelfLife".equals(codeString))
1892          return new Enumeration<DataType>(this, DataType.PRODUCTSHELFLIFE);
1893        if ("Quantity".equals(codeString))
1894          return new Enumeration<DataType>(this, DataType.QUANTITY);
1895        if ("Range".equals(codeString))
1896          return new Enumeration<DataType>(this, DataType.RANGE);
1897        if ("Ratio".equals(codeString))
1898          return new Enumeration<DataType>(this, DataType.RATIO);
1899        if ("Reference".equals(codeString))
1900          return new Enumeration<DataType>(this, DataType.REFERENCE);
1901        if ("RelatedArtifact".equals(codeString))
1902          return new Enumeration<DataType>(this, DataType.RELATEDARTIFACT);
1903        if ("SampledData".equals(codeString))
1904          return new Enumeration<DataType>(this, DataType.SAMPLEDDATA);
1905        if ("Signature".equals(codeString))
1906          return new Enumeration<DataType>(this, DataType.SIGNATURE);
1907        if ("SimpleQuantity".equals(codeString))
1908          return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY);
1909        if ("SubstanceAmount".equals(codeString))
1910          return new Enumeration<DataType>(this, DataType.SUBSTANCEAMOUNT);
1911        if ("SubstanceMoiety".equals(codeString))
1912          return new Enumeration<DataType>(this, DataType.SUBSTANCEMOIETY);
1913        if ("Timing".equals(codeString))
1914          return new Enumeration<DataType>(this, DataType.TIMING);
1915        if ("TriggerDefinition".equals(codeString))
1916          return new Enumeration<DataType>(this, DataType.TRIGGERDEFINITION);
1917        if ("UsageContext".equals(codeString))
1918          return new Enumeration<DataType>(this, DataType.USAGECONTEXT);
1919        if ("base64Binary".equals(codeString))
1920          return new Enumeration<DataType>(this, DataType.BASE64BINARY);
1921        if ("boolean".equals(codeString))
1922          return new Enumeration<DataType>(this, DataType.BOOLEAN);
1923        if ("canonical".equals(codeString))
1924          return new Enumeration<DataType>(this, DataType.CANONICAL);
1925        if ("code".equals(codeString))
1926          return new Enumeration<DataType>(this, DataType.CODE);
1927        if ("date".equals(codeString))
1928          return new Enumeration<DataType>(this, DataType.DATE);
1929        if ("dateTime".equals(codeString))
1930          return new Enumeration<DataType>(this, DataType.DATETIME);
1931        if ("decimal".equals(codeString))
1932          return new Enumeration<DataType>(this, DataType.DECIMAL);
1933        if ("id".equals(codeString))
1934          return new Enumeration<DataType>(this, DataType.ID);
1935        if ("instant".equals(codeString))
1936          return new Enumeration<DataType>(this, DataType.INSTANT);
1937        if ("integer".equals(codeString))
1938          return new Enumeration<DataType>(this, DataType.INTEGER);
1939        if ("markdown".equals(codeString))
1940          return new Enumeration<DataType>(this, DataType.MARKDOWN);
1941        if ("oid".equals(codeString))
1942          return new Enumeration<DataType>(this, DataType.OID);
1943        if ("positiveInt".equals(codeString))
1944          return new Enumeration<DataType>(this, DataType.POSITIVEINT);
1945        if ("string".equals(codeString))
1946          return new Enumeration<DataType>(this, DataType.STRING);
1947        if ("time".equals(codeString))
1948          return new Enumeration<DataType>(this, DataType.TIME);
1949        if ("unsignedInt".equals(codeString))
1950          return new Enumeration<DataType>(this, DataType.UNSIGNEDINT);
1951        if ("uri".equals(codeString))
1952          return new Enumeration<DataType>(this, DataType.URI);
1953        if ("url".equals(codeString))
1954          return new Enumeration<DataType>(this, DataType.URL);
1955        if ("uuid".equals(codeString))
1956          return new Enumeration<DataType>(this, DataType.UUID);
1957        if ("xhtml".equals(codeString))
1958          return new Enumeration<DataType>(this, DataType.XHTML);
1959        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1960        }
1961    public String toCode(DataType code) {
1962      if (code == DataType.ADDRESS)
1963        return "Address";
1964      if (code == DataType.AGE)
1965        return "Age";
1966      if (code == DataType.ANNOTATION)
1967        return "Annotation";
1968      if (code == DataType.ATTACHMENT)
1969        return "Attachment";
1970      if (code == DataType.BACKBONEELEMENT)
1971        return "BackboneElement";
1972      if (code == DataType.CODEABLECONCEPT)
1973        return "CodeableConcept";
1974      if (code == DataType.CODING)
1975        return "Coding";
1976      if (code == DataType.CONTACTDETAIL)
1977        return "ContactDetail";
1978      if (code == DataType.CONTACTPOINT)
1979        return "ContactPoint";
1980      if (code == DataType.CONTRIBUTOR)
1981        return "Contributor";
1982      if (code == DataType.COUNT)
1983        return "Count";
1984      if (code == DataType.DATAREQUIREMENT)
1985        return "DataRequirement";
1986      if (code == DataType.DISTANCE)
1987        return "Distance";
1988      if (code == DataType.DOSAGE)
1989        return "Dosage";
1990      if (code == DataType.DURATION)
1991        return "Duration";
1992      if (code == DataType.ELEMENT)
1993        return "Element";
1994      if (code == DataType.ELEMENTDEFINITION)
1995        return "ElementDefinition";
1996      if (code == DataType.EXTENSION)
1997        return "Extension";
1998      if (code == DataType.HUMANNAME)
1999        return "HumanName";
2000      if (code == DataType.IDENTIFIER)
2001        return "Identifier";
2002      if (code == DataType.MARKETINGSTATUS)
2003        return "MarketingStatus";
2004      if (code == DataType.META)
2005        return "Meta";
2006      if (code == DataType.MONEY)
2007        return "Money";
2008      if (code == DataType.NARRATIVE)
2009        return "Narrative";
2010      if (code == DataType.PARAMETERDEFINITION)
2011        return "ParameterDefinition";
2012      if (code == DataType.PERIOD)
2013        return "Period";
2014      if (code == DataType.PRODCHARACTERISTIC)
2015        return "ProdCharacteristic";
2016      if (code == DataType.PRODUCTSHELFLIFE)
2017        return "ProductShelfLife";
2018      if (code == DataType.QUANTITY)
2019        return "Quantity";
2020      if (code == DataType.RANGE)
2021        return "Range";
2022      if (code == DataType.RATIO)
2023        return "Ratio";
2024      if (code == DataType.REFERENCE)
2025        return "Reference";
2026      if (code == DataType.RELATEDARTIFACT)
2027        return "RelatedArtifact";
2028      if (code == DataType.SAMPLEDDATA)
2029        return "SampledData";
2030      if (code == DataType.SIGNATURE)
2031        return "Signature";
2032      if (code == DataType.SIMPLEQUANTITY)
2033        return "SimpleQuantity";
2034      if (code == DataType.SUBSTANCEAMOUNT)
2035        return "SubstanceAmount";
2036      if (code == DataType.SUBSTANCEMOIETY)
2037        return "SubstanceMoiety";
2038      if (code == DataType.TIMING)
2039        return "Timing";
2040      if (code == DataType.TRIGGERDEFINITION)
2041        return "TriggerDefinition";
2042      if (code == DataType.USAGECONTEXT)
2043        return "UsageContext";
2044      if (code == DataType.BASE64BINARY)
2045        return "base64Binary";
2046      if (code == DataType.BOOLEAN)
2047        return "boolean";
2048      if (code == DataType.CANONICAL)
2049        return "canonical";
2050      if (code == DataType.CODE)
2051        return "code";
2052      if (code == DataType.DATE)
2053        return "date";
2054      if (code == DataType.DATETIME)
2055        return "dateTime";
2056      if (code == DataType.DECIMAL)
2057        return "decimal";
2058      if (code == DataType.ID)
2059        return "id";
2060      if (code == DataType.INSTANT)
2061        return "instant";
2062      if (code == DataType.INTEGER)
2063        return "integer";
2064      if (code == DataType.MARKDOWN)
2065        return "markdown";
2066      if (code == DataType.OID)
2067        return "oid";
2068      if (code == DataType.POSITIVEINT)
2069        return "positiveInt";
2070      if (code == DataType.STRING)
2071        return "string";
2072      if (code == DataType.TIME)
2073        return "time";
2074      if (code == DataType.UNSIGNEDINT)
2075        return "unsignedInt";
2076      if (code == DataType.URI)
2077        return "uri";
2078      if (code == DataType.URL)
2079        return "url";
2080      if (code == DataType.UUID)
2081        return "uuid";
2082      if (code == DataType.XHTML)
2083        return "xhtml";
2084      return "?";
2085      }
2086    public String toSystem(DataType code) {
2087      return code.getSystem();
2088      }
2089    }
2090
2091    public enum DocumentReferenceStatus {
2092        /**
2093         * This is the current reference for this document.
2094         */
2095        CURRENT, 
2096        /**
2097         * This reference has been superseded by another reference.
2098         */
2099        SUPERSEDED, 
2100        /**
2101         * This reference was created in error.
2102         */
2103        ENTEREDINERROR, 
2104        /**
2105         * added to help the parsers
2106         */
2107        NULL;
2108        public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException {
2109            if (codeString == null || "".equals(codeString))
2110                return null;
2111        if ("current".equals(codeString))
2112          return CURRENT;
2113        if ("superseded".equals(codeString))
2114          return SUPERSEDED;
2115        if ("entered-in-error".equals(codeString))
2116          return ENTEREDINERROR;
2117        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2118        }
2119        public String toCode() {
2120          switch (this) {
2121            case CURRENT: return "current";
2122            case SUPERSEDED: return "superseded";
2123            case ENTEREDINERROR: return "entered-in-error";
2124            default: return "?";
2125          }
2126        }
2127        public String getSystem() {
2128          switch (this) {
2129            case CURRENT: return "http://hl7.org/fhir/document-reference-status";
2130            case SUPERSEDED: return "http://hl7.org/fhir/document-reference-status";
2131            case ENTEREDINERROR: return "http://hl7.org/fhir/document-reference-status";
2132            default: return "?";
2133          }
2134        }
2135        public String getDefinition() {
2136          switch (this) {
2137            case CURRENT: return "This is the current reference for this document.";
2138            case SUPERSEDED: return "This reference has been superseded by another reference.";
2139            case ENTEREDINERROR: return "This reference was created in error.";
2140            default: return "?";
2141          }
2142        }
2143        public String getDisplay() {
2144          switch (this) {
2145            case CURRENT: return "Current";
2146            case SUPERSEDED: return "Superseded";
2147            case ENTEREDINERROR: return "Entered in Error";
2148            default: return "?";
2149          }
2150        }
2151    }
2152
2153  public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> {
2154    public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException {
2155      if (codeString == null || "".equals(codeString))
2156            if (codeString == null || "".equals(codeString))
2157                return null;
2158        if ("current".equals(codeString))
2159          return DocumentReferenceStatus.CURRENT;
2160        if ("superseded".equals(codeString))
2161          return DocumentReferenceStatus.SUPERSEDED;
2162        if ("entered-in-error".equals(codeString))
2163          return DocumentReferenceStatus.ENTEREDINERROR;
2164        throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2165        }
2166        public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException {
2167          if (code == null)
2168            return null;
2169          if (code.isEmpty())
2170            return new Enumeration<DocumentReferenceStatus>(this);
2171          String codeString = ((PrimitiveType) code).asStringValue();
2172          if (codeString == null || "".equals(codeString))
2173            return null;
2174        if ("current".equals(codeString))
2175          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT);
2176        if ("superseded".equals(codeString))
2177          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED);
2178        if ("entered-in-error".equals(codeString))
2179          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR);
2180        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2181        }
2182    public String toCode(DocumentReferenceStatus code) {
2183      if (code == DocumentReferenceStatus.CURRENT)
2184        return "current";
2185      if (code == DocumentReferenceStatus.SUPERSEDED)
2186        return "superseded";
2187      if (code == DocumentReferenceStatus.ENTEREDINERROR)
2188        return "entered-in-error";
2189      return "?";
2190      }
2191    public String toSystem(DocumentReferenceStatus code) {
2192      return code.getSystem();
2193      }
2194    }
2195
2196    public enum FHIRAllTypes {
2197        /**
2198         * 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.
2199         */
2200        ADDRESS, 
2201        /**
2202         * A duration of time during which an organism (or a process) has existed.
2203         */
2204        AGE, 
2205        /**
2206         * A  text note which also  contains information about who made the statement and when.
2207         */
2208        ANNOTATION, 
2209        /**
2210         * For referring to data content defined in other formats.
2211         */
2212        ATTACHMENT, 
2213        /**
2214         * Base definition for all elements that are defined inside a resource - but not those in a data type.
2215         */
2216        BACKBONEELEMENT, 
2217        /**
2218         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
2219         */
2220        CODEABLECONCEPT, 
2221        /**
2222         * A reference to a code defined by a terminology system.
2223         */
2224        CODING, 
2225        /**
2226         * Specifies contact information for a person or organization.
2227         */
2228        CONTACTDETAIL, 
2229        /**
2230         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
2231         */
2232        CONTACTPOINT, 
2233        /**
2234         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
2235         */
2236        CONTRIBUTOR, 
2237        /**
2238         * 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.
2239         */
2240        COUNT, 
2241        /**
2242         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
2243         */
2244        DATAREQUIREMENT, 
2245        /**
2246         * A length - a value with a unit that is a physical distance.
2247         */
2248        DISTANCE, 
2249        /**
2250         * Indicates how the medication is/was taken or should be taken by the patient.
2251         */
2252        DOSAGE, 
2253        /**
2254         * A length of time.
2255         */
2256        DURATION, 
2257        /**
2258         * Base definition for all elements in a resource.
2259         */
2260        ELEMENT, 
2261        /**
2262         * Captures constraints on each element within the resource, profile, or extension.
2263         */
2264        ELEMENTDEFINITION, 
2265        /**
2266         * Optional Extension Element - found in all resources.
2267         */
2268        EXTENSION, 
2269        /**
2270         * A human's name with the ability to identify parts and usage.
2271         */
2272        HUMANNAME, 
2273        /**
2274         * A technical identifier - identifies some entity uniquely and unambiguously.
2275         */
2276        IDENTIFIER, 
2277        /**
2278         * 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.
2279         */
2280        MARKETINGSTATUS, 
2281        /**
2282         * 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.
2283         */
2284        META, 
2285        /**
2286         * An amount of economic utility in some recognized currency.
2287         */
2288        MONEY, 
2289        /**
2290         * A human-readable formatted text, including images.
2291         */
2292        NARRATIVE, 
2293        /**
2294         * 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.
2295         */
2296        PARAMETERDEFINITION, 
2297        /**
2298         * A time period defined by a start and end date and optionally time.
2299         */
2300        PERIOD, 
2301        /**
2302         * 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.
2303         */
2304        PRODCHARACTERISTIC, 
2305        /**
2306         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
2307         */
2308        PRODUCTSHELFLIFE, 
2309        /**
2310         * 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.
2311         */
2312        QUANTITY, 
2313        /**
2314         * A set of ordered Quantities defined by a low and high limit.
2315         */
2316        RANGE, 
2317        /**
2318         * A relationship of two Quantity values - expressed as a numerator and a denominator.
2319         */
2320        RATIO, 
2321        /**
2322         * A reference from one resource to another.
2323         */
2324        REFERENCE, 
2325        /**
2326         * Related artifacts such as additional documentation, justification, or bibliographic references.
2327         */
2328        RELATEDARTIFACT, 
2329        /**
2330         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
2331         */
2332        SAMPLEDDATA, 
2333        /**
2334         * 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.
2335         */
2336        SIGNATURE, 
2337        /**
2338         * null
2339         */
2340        SIMPLEQUANTITY, 
2341        /**
2342         * 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.
2343         */
2344        SUBSTANCEAMOUNT, 
2345        /**
2346         * 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.
2347         */
2348        SUBSTANCEMOIETY, 
2349        /**
2350         * 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.
2351         */
2352        TIMING, 
2353        /**
2354         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
2355         */
2356        TRIGGERDEFINITION, 
2357        /**
2358         * 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).
2359         */
2360        USAGECONTEXT, 
2361        /**
2362         * A stream of bytes
2363         */
2364        BASE64BINARY, 
2365        /**
2366         * Value of "true" or "false"
2367         */
2368        BOOLEAN, 
2369        /**
2370         * A URI that is a reference to a canonical URI on a FHIR resource
2371         */
2372        CANONICAL, 
2373        /**
2374         * 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
2375         */
2376        CODE, 
2377        /**
2378         * 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.
2379         */
2380        DATE, 
2381        /**
2382         * 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.
2383         */
2384        DATETIME, 
2385        /**
2386         * A rational number with implicit precision
2387         */
2388        DECIMAL, 
2389        /**
2390         * 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.
2391         */
2392        ID, 
2393        /**
2394         * An instant in time - known at least to the second
2395         */
2396        INSTANT, 
2397        /**
2398         * A whole number
2399         */
2400        INTEGER, 
2401        /**
2402         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
2403         */
2404        MARKDOWN, 
2405        /**
2406         * An OID represented as a URI
2407         */
2408        OID, 
2409        /**
2410         * An integer with a value that is positive (e.g. >0)
2411         */
2412        POSITIVEINT, 
2413        /**
2414         * A sequence of Unicode characters
2415         */
2416        STRING, 
2417        /**
2418         * A time during the day, with no date specified
2419         */
2420        TIME, 
2421        /**
2422         * An integer with a value that is not negative (e.g. >= 0)
2423         */
2424        UNSIGNEDINT, 
2425        /**
2426         * String of characters used to identify a name or a resource
2427         */
2428        URI, 
2429        /**
2430         * A URI that is a literal reference
2431         */
2432        URL, 
2433        /**
2434         * A UUID, represented as a URI
2435         */
2436        UUID, 
2437        /**
2438         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
2439         */
2440        XHTML, 
2441        /**
2442         * 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.
2443         */
2444        ACCOUNT, 
2445        /**
2446         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
2447         */
2448        ACTIVITYDEFINITION, 
2449        /**
2450         * 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.
2451         */
2452        ADVERSEEVENT, 
2453        /**
2454         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
2455         */
2456        ALLERGYINTOLERANCE, 
2457        /**
2458         * 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).
2459         */
2460        APPOINTMENT, 
2461        /**
2462         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
2463         */
2464        APPOINTMENTRESPONSE, 
2465        /**
2466         * 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.
2467         */
2468        AUDITEVENT, 
2469        /**
2470         * 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.
2471         */
2472        BASIC, 
2473        /**
2474         * A binary resource can contain any content, whether text, image, pdf, zip archive, etc.
2475         */
2476        BINARY, 
2477        /**
2478         * A material substance originating from a biological entity intended to be transplanted or infused
2479into another (possibly the same) biological entity.
2480         */
2481        BIOLOGICALLYDERIVEDPRODUCT, 
2482        /**
2483         * 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.
2484         */
2485        BODYSTRUCTURE, 
2486        /**
2487         * A container for a collection of resources.
2488         */
2489        BUNDLE, 
2490        /**
2491         * 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.
2492         */
2493        CAPABILITYSTATEMENT, 
2494        /**
2495         * 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.
2496         */
2497        CAREPLAN, 
2498        /**
2499         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
2500         */
2501        CARETEAM, 
2502        /**
2503         * 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.
2504         */
2505        CHARGEITEM, 
2506        /**
2507         * 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.
2508         */
2509        CLAIM, 
2510        /**
2511         * This resource provides the adjudication details from the processing of a Claim resource.
2512         */
2513        CLAIMRESPONSE, 
2514        /**
2515         * 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.
2516         */
2517        CLINICALIMPRESSION, 
2518        /**
2519         * 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.
2520         */
2521        CODESYSTEM, 
2522        /**
2523         * 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.
2524         */
2525        COMMUNICATION, 
2526        /**
2527         * 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.
2528         */
2529        COMMUNICATIONREQUEST, 
2530        /**
2531         * A compartment definition that defines how resources are accessed on a server.
2532         */
2533        COMPARTMENTDEFINITION, 
2534        /**
2535         * 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.).
2536         */
2537        COMPOSITION, 
2538        /**
2539         * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.
2540         */
2541        CONCEPTMAP, 
2542        /**
2543         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
2544         */
2545        CONDITION, 
2546        /**
2547         * 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.
2548         */
2549        CONSENT, 
2550        /**
2551         * A formal agreement between parties regarding the conduct of business, exchange of information or other matters.
2552         */
2553        CONTRACT, 
2554        /**
2555         * Financial instrument which may be used to reimburse or pay for health care products and services.
2556         */
2557        COVERAGE, 
2558        /**
2559         * 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.
2560         */
2561        DETECTEDISSUE, 
2562        /**
2563         * This resource identifies an instance or 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.
2564         */
2565        DEVICE, 
2566        /**
2567         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
2568         */
2569        DEVICECOMPONENT, 
2570        /**
2571         * Describes a measurement, calculation or setting capability of a medical device.
2572         */
2573        DEVICEMETRIC, 
2574        /**
2575         * 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.
2576         */
2577        DEVICEREQUEST, 
2578        /**
2579         * 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.
2580         */
2581        DEVICEUSESTATEMENT, 
2582        /**
2583         * 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.
2584         */
2585        DIAGNOSTICREPORT, 
2586        /**
2587         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
2588         */
2589        DOCUMENTMANIFEST, 
2590        /**
2591         * A reference to a document.
2592         */
2593        DOCUMENTREFERENCE, 
2594        /**
2595         * A resource that includes narrative, extensions, and contained resources.
2596         */
2597        DOMAINRESOURCE, 
2598        /**
2599         * The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
2600         */
2601        ELIGIBILITYREQUEST, 
2602        /**
2603         * This resource provides eligibility and plan details from the processing of an Eligibility resource.
2604         */
2605        ELIGIBILITYRESPONSE, 
2606        /**
2607         * 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.
2608         */
2609        ENCOUNTER, 
2610        /**
2611         * 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.
2612         */
2613        ENDPOINT, 
2614        /**
2615         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
2616         */
2617        ENROLLMENTREQUEST, 
2618        /**
2619         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
2620         */
2621        ENROLLMENTRESPONSE, 
2622        /**
2623         * Catalog entries are wrappers that contextualize items included in a catalog.
2624         */
2625        ENTRYDEFINITION, 
2626        /**
2627         * 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.
2628         */
2629        EPISODEOFCARE, 
2630        /**
2631         * The EventDefinition resource provides a reusable description of when a particular event can occur.
2632         */
2633        EVENTDEFINITION, 
2634        /**
2635         * Example of workflow instance.
2636         */
2637        EXAMPLESCENARIO, 
2638        /**
2639         * Resource to define constraints on the Expansion of a FHIR ValueSet.
2640         */
2641        EXPANSIONPROFILE, 
2642        /**
2643         * 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.
2644         */
2645        EXPLANATIONOFBENEFIT, 
2646        /**
2647         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
2648         */
2649        FAMILYMEMBERHISTORY, 
2650        /**
2651         * Prospective warnings of potential issues when providing care to the patient.
2652         */
2653        FLAG, 
2654        /**
2655         * 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.
2656         */
2657        GOAL, 
2658        /**
2659         * 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.
2660         */
2661        GRAPHDEFINITION, 
2662        /**
2663         * 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.
2664         */
2665        GROUP, 
2666        /**
2667         * 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.
2668         */
2669        GUIDANCERESPONSE, 
2670        /**
2671         * The details of a healthcare service available at a location.
2672         */
2673        HEALTHCARESERVICE, 
2674        /**
2675         * 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.
2676         */
2677        IMAGINGSTUDY, 
2678        /**
2679         * 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.
2680         */
2681        IMMUNIZATION, 
2682        /**
2683         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
2684         */
2685        IMMUNIZATIONEVALUATION, 
2686        /**
2687         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
2688         */
2689        IMMUNIZATIONRECOMMENDATION, 
2690        /**
2691         * 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.
2692         */
2693        IMPLEMENTATIONGUIDE, 
2694        /**
2695         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
2696         */
2697        INVOICE, 
2698        /**
2699         * A physical, countable instance of an item, for example one box or one unit.
2700         */
2701        ITEMINSTANCE, 
2702        /**
2703         * 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.
2704         */
2705        LIBRARY, 
2706        /**
2707         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
2708         */
2709        LINKAGE, 
2710        /**
2711         * A set of information summarized from a list of other resources.
2712         */
2713        LIST, 
2714        /**
2715         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
2716         */
2717        LOCATION, 
2718        /**
2719         * The Measure resource provides the definition of a quality measure.
2720         */
2721        MEASURE, 
2722        /**
2723         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
2724         */
2725        MEASUREREPORT, 
2726        /**
2727         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
2728         */
2729        MEDIA, 
2730        /**
2731         * 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.
2732         */
2733        MEDICATION, 
2734        /**
2735         * 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.
2736         */
2737        MEDICATIONADMINISTRATION, 
2738        /**
2739         * 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.
2740         */
2741        MEDICATIONDISPENSE, 
2742        /**
2743         * Information about a medication that is used to support knowledge.
2744         */
2745        MEDICATIONKNOWLEDGE, 
2746        /**
2747         * 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.
2748         */
2749        MEDICATIONREQUEST, 
2750        /**
2751         * 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. 
2752
2753The 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.
2754         */
2755        MEDICATIONSTATEMENT, 
2756        /**
2757         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
2758         */
2759        MEDICINALPRODUCT, 
2760        /**
2761         * The regulatory authorization of a medicinal product.
2762         */
2763        MEDICINALPRODUCTAUTHORIZATION, 
2764        /**
2765         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
2766         */
2767        MEDICINALPRODUCTCLINICALS, 
2768        /**
2769         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.
2770         */
2771        MEDICINALPRODUCTDEVICESPEC, 
2772        /**
2773         * An ingredient of a manufactured item or pharmaceutical product.
2774         */
2775        MEDICINALPRODUCTINGREDIENT, 
2776        /**
2777         * A medicinal product in a container or package.
2778         */
2779        MEDICINALPRODUCTPACKAGED, 
2780        /**
2781         * A pharmaceutical product described in terms of its composition and dose form.
2782         */
2783        MEDICINALPRODUCTPHARMACEUTICAL, 
2784        /**
2785         * 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.
2786         */
2787        MESSAGEDEFINITION, 
2788        /**
2789         * 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.
2790         */
2791        MESSAGEHEADER, 
2792        /**
2793         * 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.
2794         */
2795        NAMINGSYSTEM, 
2796        /**
2797         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
2798         */
2799        NUTRITIONORDER, 
2800        /**
2801         * Measurements and simple assertions made about a patient, device or other subject.
2802         */
2803        OBSERVATION, 
2804        /**
2805         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
2806         */
2807        OBSERVATIONDEFINITION, 
2808        /**
2809         * A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.
2810         */
2811        OCCUPATIONALDATA, 
2812        /**
2813         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
2814         */
2815        OPERATIONDEFINITION, 
2816        /**
2817         * A collection of error, warning or information messages that result from a system action.
2818         */
2819        OPERATIONOUTCOME, 
2820        /**
2821         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
2822         */
2823        ORGANIZATION, 
2824        /**
2825         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
2826         */
2827        ORGANIZATIONROLE, 
2828        /**
2829         * 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.
2830         */
2831        PARAMETERS, 
2832        /**
2833         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
2834         */
2835        PATIENT, 
2836        /**
2837         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
2838         */
2839        PAYMENTNOTICE, 
2840        /**
2841         * This resource provides payment details and claim references supporting a bulk payment.
2842         */
2843        PAYMENTRECONCILIATION, 
2844        /**
2845         * Demographics and administrative information about a person independent of a specific health-related context.
2846         */
2847        PERSON, 
2848        /**
2849         * 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.
2850         */
2851        PLANDEFINITION, 
2852        /**
2853         * A person who is directly or indirectly involved in the provisioning of healthcare.
2854         */
2855        PRACTITIONER, 
2856        /**
2857         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
2858         */
2859        PRACTITIONERROLE, 
2860        /**
2861         * An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
2862         */
2863        PROCEDURE, 
2864        /**
2865         * 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.
2866         */
2867        PROCESSREQUEST, 
2868        /**
2869         * This resource provides processing status, errors and notes from the processing of a resource.
2870         */
2871        PROCESSRESPONSE, 
2872        /**
2873         * Details of a Health Insurance product/plan provided by an organization.
2874         */
2875        PRODUCTPLAN, 
2876        /**
2877         * 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.
2878         */
2879        PROVENANCE, 
2880        /**
2881         * 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.
2882         */
2883        QUESTIONNAIRE, 
2884        /**
2885         * 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.
2886         */
2887        QUESTIONNAIRERESPONSE, 
2888        /**
2889         * 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.
2890         */
2891        RELATEDPERSON, 
2892        /**
2893         * 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".
2894         */
2895        REQUESTGROUP, 
2896        /**
2897         * 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.
2898         */
2899        RESEARCHSTUDY, 
2900        /**
2901         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
2902         */
2903        RESEARCHSUBJECT, 
2904        /**
2905         * This is the base resource type for everything.
2906         */
2907        RESOURCE, 
2908        /**
2909         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
2910         */
2911        RISKASSESSMENT, 
2912        /**
2913         * A container for slots of time that may be available for booking appointments.
2914         */
2915        SCHEDULE, 
2916        /**
2917         * A search parameter that defines a named search item that can be used to search/filter on a resource.
2918         */
2919        SEARCHPARAMETER, 
2920        /**
2921         * Raw data describing a biological sequence.
2922         */
2923        SEQUENCE, 
2924        /**
2925         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
2926         */
2927        SERVICEREQUEST, 
2928        /**
2929         * A slot of time on a schedule that may be available for booking appointments.
2930         */
2931        SLOT, 
2932        /**
2933         * A sample to be used for analysis.
2934         */
2935        SPECIMEN, 
2936        /**
2937         * A kind of specimen with associated set of requirements.
2938         */
2939        SPECIMENDEFINITION, 
2940        /**
2941         * 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.
2942         */
2943        STRUCTUREDEFINITION, 
2944        /**
2945         * A Map of relationships between 2 structures that can be used to transform data.
2946         */
2947        STRUCTUREMAP, 
2948        /**
2949         * 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.
2950         */
2951        SUBSCRIPTION, 
2952        /**
2953         * A homogeneous material with a definite composition.
2954         */
2955        SUBSTANCE, 
2956        /**
2957         * Todo.
2958         */
2959        SUBSTANCEPOLYMER, 
2960        /**
2961         * Todo.
2962         */
2963        SUBSTANCEREFERENCEINFORMATION, 
2964        /**
2965         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
2966         */
2967        SUBSTANCESPECIFICATION, 
2968        /**
2969         * Record of delivery of what is supplied.
2970         */
2971        SUPPLYDELIVERY, 
2972        /**
2973         * A record of a request for a medication, substance or device used in the healthcare setting.
2974         */
2975        SUPPLYREQUEST, 
2976        /**
2977         * A task to be performed.
2978         */
2979        TASK, 
2980        /**
2981         * 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.
2982         */
2983        TERMINOLOGYCAPABILITIES, 
2984        /**
2985         * A summary of information based on the results of executing a TestScript.
2986         */
2987        TESTREPORT, 
2988        /**
2989         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
2990         */
2991        TESTSCRIPT, 
2992        /**
2993         * Information about a user's current session.
2994         */
2995        USERSESSION, 
2996        /**
2997         * A ValueSet resource 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).
2998         */
2999        VALUESET, 
3000        /**
3001         * Describes validation requirements, source(s), status and dates for one or more elements.
3002         */
3003        VERIFICATIONRESULT, 
3004        /**
3005         * An authorization for the supply of glasses and/or contact lenses to a patient.
3006         */
3007        VISIONPRESCRIPTION, 
3008        /**
3009         * A place holder that means any kind of data type
3010         */
3011        TYPE, 
3012        /**
3013         * A place holder that means any kind of resource
3014         */
3015        ANY, 
3016        /**
3017         * added to help the parsers
3018         */
3019        NULL;
3020        public static FHIRAllTypes fromCode(String codeString) throws FHIRException {
3021            if (codeString == null || "".equals(codeString))
3022                return null;
3023        if ("Address".equals(codeString))
3024          return ADDRESS;
3025        if ("Age".equals(codeString))
3026          return AGE;
3027        if ("Annotation".equals(codeString))
3028          return ANNOTATION;
3029        if ("Attachment".equals(codeString))
3030          return ATTACHMENT;
3031        if ("BackboneElement".equals(codeString))
3032          return BACKBONEELEMENT;
3033        if ("CodeableConcept".equals(codeString))
3034          return CODEABLECONCEPT;
3035        if ("Coding".equals(codeString))
3036          return CODING;
3037        if ("ContactDetail".equals(codeString))
3038          return CONTACTDETAIL;
3039        if ("ContactPoint".equals(codeString))
3040          return CONTACTPOINT;
3041        if ("Contributor".equals(codeString))
3042          return CONTRIBUTOR;
3043        if ("Count".equals(codeString))
3044          return COUNT;
3045        if ("DataRequirement".equals(codeString))
3046          return DATAREQUIREMENT;
3047        if ("Distance".equals(codeString))
3048          return DISTANCE;
3049        if ("Dosage".equals(codeString))
3050          return DOSAGE;
3051        if ("Duration".equals(codeString))
3052          return DURATION;
3053        if ("Element".equals(codeString))
3054          return ELEMENT;
3055        if ("ElementDefinition".equals(codeString))
3056          return ELEMENTDEFINITION;
3057        if ("Extension".equals(codeString))
3058          return EXTENSION;
3059        if ("HumanName".equals(codeString))
3060          return HUMANNAME;
3061        if ("Identifier".equals(codeString))
3062          return IDENTIFIER;
3063        if ("MarketingStatus".equals(codeString))
3064          return MARKETINGSTATUS;
3065        if ("Meta".equals(codeString))
3066          return META;
3067        if ("Money".equals(codeString))
3068          return MONEY;
3069        if ("Narrative".equals(codeString))
3070          return NARRATIVE;
3071        if ("ParameterDefinition".equals(codeString))
3072          return PARAMETERDEFINITION;
3073        if ("Period".equals(codeString))
3074          return PERIOD;
3075        if ("ProdCharacteristic".equals(codeString))
3076          return PRODCHARACTERISTIC;
3077        if ("ProductShelfLife".equals(codeString))
3078          return PRODUCTSHELFLIFE;
3079        if ("Quantity".equals(codeString))
3080          return QUANTITY;
3081        if ("Range".equals(codeString))
3082          return RANGE;
3083        if ("Ratio".equals(codeString))
3084          return RATIO;
3085        if ("Reference".equals(codeString))
3086          return REFERENCE;
3087        if ("RelatedArtifact".equals(codeString))
3088          return RELATEDARTIFACT;
3089        if ("SampledData".equals(codeString))
3090          return SAMPLEDDATA;
3091        if ("Signature".equals(codeString))
3092          return SIGNATURE;
3093        if ("SimpleQuantity".equals(codeString))
3094          return SIMPLEQUANTITY;
3095        if ("SubstanceAmount".equals(codeString))
3096          return SUBSTANCEAMOUNT;
3097        if ("SubstanceMoiety".equals(codeString))
3098          return SUBSTANCEMOIETY;
3099        if ("Timing".equals(codeString))
3100          return TIMING;
3101        if ("TriggerDefinition".equals(codeString))
3102          return TRIGGERDEFINITION;
3103        if ("UsageContext".equals(codeString))
3104          return USAGECONTEXT;
3105        if ("base64Binary".equals(codeString))
3106          return BASE64BINARY;
3107        if ("boolean".equals(codeString))
3108          return BOOLEAN;
3109        if ("canonical".equals(codeString))
3110          return CANONICAL;
3111        if ("code".equals(codeString))
3112          return CODE;
3113        if ("date".equals(codeString))
3114          return DATE;
3115        if ("dateTime".equals(codeString))
3116          return DATETIME;
3117        if ("decimal".equals(codeString))
3118          return DECIMAL;
3119        if ("id".equals(codeString))
3120          return ID;
3121        if ("instant".equals(codeString))
3122          return INSTANT;
3123        if ("integer".equals(codeString))
3124          return INTEGER;
3125        if ("markdown".equals(codeString))
3126          return MARKDOWN;
3127        if ("oid".equals(codeString))
3128          return OID;
3129        if ("positiveInt".equals(codeString))
3130          return POSITIVEINT;
3131        if ("string".equals(codeString))
3132          return STRING;
3133        if ("time".equals(codeString))
3134          return TIME;
3135        if ("unsignedInt".equals(codeString))
3136          return UNSIGNEDINT;
3137        if ("uri".equals(codeString))
3138          return URI;
3139        if ("url".equals(codeString))
3140          return URL;
3141        if ("uuid".equals(codeString))
3142          return UUID;
3143        if ("xhtml".equals(codeString))
3144          return XHTML;
3145        if ("Account".equals(codeString))
3146          return ACCOUNT;
3147        if ("ActivityDefinition".equals(codeString))
3148          return ACTIVITYDEFINITION;
3149        if ("AdverseEvent".equals(codeString))
3150          return ADVERSEEVENT;
3151        if ("AllergyIntolerance".equals(codeString))
3152          return ALLERGYINTOLERANCE;
3153        if ("Appointment".equals(codeString))
3154          return APPOINTMENT;
3155        if ("AppointmentResponse".equals(codeString))
3156          return APPOINTMENTRESPONSE;
3157        if ("AuditEvent".equals(codeString))
3158          return AUDITEVENT;
3159        if ("Basic".equals(codeString))
3160          return BASIC;
3161        if ("Binary".equals(codeString))
3162          return BINARY;
3163        if ("BiologicallyDerivedProduct".equals(codeString))
3164          return BIOLOGICALLYDERIVEDPRODUCT;
3165        if ("BodyStructure".equals(codeString))
3166          return BODYSTRUCTURE;
3167        if ("Bundle".equals(codeString))
3168          return BUNDLE;
3169        if ("CapabilityStatement".equals(codeString))
3170          return CAPABILITYSTATEMENT;
3171        if ("CarePlan".equals(codeString))
3172          return CAREPLAN;
3173        if ("CareTeam".equals(codeString))
3174          return CARETEAM;
3175        if ("ChargeItem".equals(codeString))
3176          return CHARGEITEM;
3177        if ("Claim".equals(codeString))
3178          return CLAIM;
3179        if ("ClaimResponse".equals(codeString))
3180          return CLAIMRESPONSE;
3181        if ("ClinicalImpression".equals(codeString))
3182          return CLINICALIMPRESSION;
3183        if ("CodeSystem".equals(codeString))
3184          return CODESYSTEM;
3185        if ("Communication".equals(codeString))
3186          return COMMUNICATION;
3187        if ("CommunicationRequest".equals(codeString))
3188          return COMMUNICATIONREQUEST;
3189        if ("CompartmentDefinition".equals(codeString))
3190          return COMPARTMENTDEFINITION;
3191        if ("Composition".equals(codeString))
3192          return COMPOSITION;
3193        if ("ConceptMap".equals(codeString))
3194          return CONCEPTMAP;
3195        if ("Condition".equals(codeString))
3196          return CONDITION;
3197        if ("Consent".equals(codeString))
3198          return CONSENT;
3199        if ("Contract".equals(codeString))
3200          return CONTRACT;
3201        if ("Coverage".equals(codeString))
3202          return COVERAGE;
3203        if ("DetectedIssue".equals(codeString))
3204          return DETECTEDISSUE;
3205        if ("Device".equals(codeString))
3206          return DEVICE;
3207        if ("DeviceComponent".equals(codeString))
3208          return DEVICECOMPONENT;
3209        if ("DeviceMetric".equals(codeString))
3210          return DEVICEMETRIC;
3211        if ("DeviceRequest".equals(codeString))
3212          return DEVICEREQUEST;
3213        if ("DeviceUseStatement".equals(codeString))
3214          return DEVICEUSESTATEMENT;
3215        if ("DiagnosticReport".equals(codeString))
3216          return DIAGNOSTICREPORT;
3217        if ("DocumentManifest".equals(codeString))
3218          return DOCUMENTMANIFEST;
3219        if ("DocumentReference".equals(codeString))
3220          return DOCUMENTREFERENCE;
3221        if ("DomainResource".equals(codeString))
3222          return DOMAINRESOURCE;
3223        if ("EligibilityRequest".equals(codeString))
3224          return ELIGIBILITYREQUEST;
3225        if ("EligibilityResponse".equals(codeString))
3226          return ELIGIBILITYRESPONSE;
3227        if ("Encounter".equals(codeString))
3228          return ENCOUNTER;
3229        if ("Endpoint".equals(codeString))
3230          return ENDPOINT;
3231        if ("EnrollmentRequest".equals(codeString))
3232          return ENROLLMENTREQUEST;
3233        if ("EnrollmentResponse".equals(codeString))
3234          return ENROLLMENTRESPONSE;
3235        if ("EntryDefinition".equals(codeString))
3236          return ENTRYDEFINITION;
3237        if ("EpisodeOfCare".equals(codeString))
3238          return EPISODEOFCARE;
3239        if ("EventDefinition".equals(codeString))
3240          return EVENTDEFINITION;
3241        if ("ExampleScenario".equals(codeString))
3242          return EXAMPLESCENARIO;
3243        if ("ExpansionProfile".equals(codeString))
3244          return EXPANSIONPROFILE;
3245        if ("ExplanationOfBenefit".equals(codeString))
3246          return EXPLANATIONOFBENEFIT;
3247        if ("FamilyMemberHistory".equals(codeString))
3248          return FAMILYMEMBERHISTORY;
3249        if ("Flag".equals(codeString))
3250          return FLAG;
3251        if ("Goal".equals(codeString))
3252          return GOAL;
3253        if ("GraphDefinition".equals(codeString))
3254          return GRAPHDEFINITION;
3255        if ("Group".equals(codeString))
3256          return GROUP;
3257        if ("GuidanceResponse".equals(codeString))
3258          return GUIDANCERESPONSE;
3259        if ("HealthcareService".equals(codeString))
3260          return HEALTHCARESERVICE;
3261        if ("ImagingStudy".equals(codeString))
3262          return IMAGINGSTUDY;
3263        if ("Immunization".equals(codeString))
3264          return IMMUNIZATION;
3265        if ("ImmunizationEvaluation".equals(codeString))
3266          return IMMUNIZATIONEVALUATION;
3267        if ("ImmunizationRecommendation".equals(codeString))
3268          return IMMUNIZATIONRECOMMENDATION;
3269        if ("ImplementationGuide".equals(codeString))
3270          return IMPLEMENTATIONGUIDE;
3271        if ("Invoice".equals(codeString))
3272          return INVOICE;
3273        if ("ItemInstance".equals(codeString))
3274          return ITEMINSTANCE;
3275        if ("Library".equals(codeString))
3276          return LIBRARY;
3277        if ("Linkage".equals(codeString))
3278          return LINKAGE;
3279        if ("List".equals(codeString))
3280          return LIST;
3281        if ("Location".equals(codeString))
3282          return LOCATION;
3283        if ("Measure".equals(codeString))
3284          return MEASURE;
3285        if ("MeasureReport".equals(codeString))
3286          return MEASUREREPORT;
3287        if ("Media".equals(codeString))
3288          return MEDIA;
3289        if ("Medication".equals(codeString))
3290          return MEDICATION;
3291        if ("MedicationAdministration".equals(codeString))
3292          return MEDICATIONADMINISTRATION;
3293        if ("MedicationDispense".equals(codeString))
3294          return MEDICATIONDISPENSE;
3295        if ("MedicationKnowledge".equals(codeString))
3296          return MEDICATIONKNOWLEDGE;
3297        if ("MedicationRequest".equals(codeString))
3298          return MEDICATIONREQUEST;
3299        if ("MedicationStatement".equals(codeString))
3300          return MEDICATIONSTATEMENT;
3301        if ("MedicinalProduct".equals(codeString))
3302          return MEDICINALPRODUCT;
3303        if ("MedicinalProductAuthorization".equals(codeString))
3304          return MEDICINALPRODUCTAUTHORIZATION;
3305        if ("MedicinalProductClinicals".equals(codeString))
3306          return MEDICINALPRODUCTCLINICALS;
3307        if ("MedicinalProductDeviceSpec".equals(codeString))
3308          return MEDICINALPRODUCTDEVICESPEC;
3309        if ("MedicinalProductIngredient".equals(codeString))
3310          return MEDICINALPRODUCTINGREDIENT;
3311        if ("MedicinalProductPackaged".equals(codeString))
3312          return MEDICINALPRODUCTPACKAGED;
3313        if ("MedicinalProductPharmaceutical".equals(codeString))
3314          return MEDICINALPRODUCTPHARMACEUTICAL;
3315        if ("MessageDefinition".equals(codeString))
3316          return MESSAGEDEFINITION;
3317        if ("MessageHeader".equals(codeString))
3318          return MESSAGEHEADER;
3319        if ("NamingSystem".equals(codeString))
3320          return NAMINGSYSTEM;
3321        if ("NutritionOrder".equals(codeString))
3322          return NUTRITIONORDER;
3323        if ("Observation".equals(codeString))
3324          return OBSERVATION;
3325        if ("ObservationDefinition".equals(codeString))
3326          return OBSERVATIONDEFINITION;
3327        if ("OccupationalData".equals(codeString))
3328          return OCCUPATIONALDATA;
3329        if ("OperationDefinition".equals(codeString))
3330          return OPERATIONDEFINITION;
3331        if ("OperationOutcome".equals(codeString))
3332          return OPERATIONOUTCOME;
3333        if ("Organization".equals(codeString))
3334          return ORGANIZATION;
3335        if ("OrganizationRole".equals(codeString))
3336          return ORGANIZATIONROLE;
3337        if ("Parameters".equals(codeString))
3338          return PARAMETERS;
3339        if ("Patient".equals(codeString))
3340          return PATIENT;
3341        if ("PaymentNotice".equals(codeString))
3342          return PAYMENTNOTICE;
3343        if ("PaymentReconciliation".equals(codeString))
3344          return PAYMENTRECONCILIATION;
3345        if ("Person".equals(codeString))
3346          return PERSON;
3347        if ("PlanDefinition".equals(codeString))
3348          return PLANDEFINITION;
3349        if ("Practitioner".equals(codeString))
3350          return PRACTITIONER;
3351        if ("PractitionerRole".equals(codeString))
3352          return PRACTITIONERROLE;
3353        if ("Procedure".equals(codeString))
3354          return PROCEDURE;
3355        if ("ProcessRequest".equals(codeString))
3356          return PROCESSREQUEST;
3357        if ("ProcessResponse".equals(codeString))
3358          return PROCESSRESPONSE;
3359        if ("ProductPlan".equals(codeString))
3360          return PRODUCTPLAN;
3361        if ("Provenance".equals(codeString))
3362          return PROVENANCE;
3363        if ("Questionnaire".equals(codeString))
3364          return QUESTIONNAIRE;
3365        if ("QuestionnaireResponse".equals(codeString))
3366          return QUESTIONNAIRERESPONSE;
3367        if ("RelatedPerson".equals(codeString))
3368          return RELATEDPERSON;
3369        if ("RequestGroup".equals(codeString))
3370          return REQUESTGROUP;
3371        if ("ResearchStudy".equals(codeString))
3372          return RESEARCHSTUDY;
3373        if ("ResearchSubject".equals(codeString))
3374          return RESEARCHSUBJECT;
3375        if ("Resource".equals(codeString))
3376          return RESOURCE;
3377        if ("RiskAssessment".equals(codeString))
3378          return RISKASSESSMENT;
3379        if ("Schedule".equals(codeString))
3380          return SCHEDULE;
3381        if ("SearchParameter".equals(codeString))
3382          return SEARCHPARAMETER;
3383        if ("Sequence".equals(codeString))
3384          return SEQUENCE;
3385        if ("ServiceRequest".equals(codeString))
3386          return SERVICEREQUEST;
3387        if ("Slot".equals(codeString))
3388          return SLOT;
3389        if ("Specimen".equals(codeString))
3390          return SPECIMEN;
3391        if ("SpecimenDefinition".equals(codeString))
3392          return SPECIMENDEFINITION;
3393        if ("StructureDefinition".equals(codeString))
3394          return STRUCTUREDEFINITION;
3395        if ("StructureMap".equals(codeString))
3396          return STRUCTUREMAP;
3397        if ("Subscription".equals(codeString))
3398          return SUBSCRIPTION;
3399        if ("Substance".equals(codeString))
3400          return SUBSTANCE;
3401        if ("SubstancePolymer".equals(codeString))
3402          return SUBSTANCEPOLYMER;
3403        if ("SubstanceReferenceInformation".equals(codeString))
3404          return SUBSTANCEREFERENCEINFORMATION;
3405        if ("SubstanceSpecification".equals(codeString))
3406          return SUBSTANCESPECIFICATION;
3407        if ("SupplyDelivery".equals(codeString))
3408          return SUPPLYDELIVERY;
3409        if ("SupplyRequest".equals(codeString))
3410          return SUPPLYREQUEST;
3411        if ("Task".equals(codeString))
3412          return TASK;
3413        if ("TerminologyCapabilities".equals(codeString))
3414          return TERMINOLOGYCAPABILITIES;
3415        if ("TestReport".equals(codeString))
3416          return TESTREPORT;
3417        if ("TestScript".equals(codeString))
3418          return TESTSCRIPT;
3419        if ("UserSession".equals(codeString))
3420          return USERSESSION;
3421        if ("ValueSet".equals(codeString))
3422          return VALUESET;
3423        if ("VerificationResult".equals(codeString))
3424          return VERIFICATIONRESULT;
3425        if ("VisionPrescription".equals(codeString))
3426          return VISIONPRESCRIPTION;
3427        if ("Type".equals(codeString))
3428          return TYPE;
3429        if ("Any".equals(codeString))
3430          return ANY;
3431        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
3432        }
3433        public String toCode() {
3434          switch (this) {
3435            case ADDRESS: return "Address";
3436            case AGE: return "Age";
3437            case ANNOTATION: return "Annotation";
3438            case ATTACHMENT: return "Attachment";
3439            case BACKBONEELEMENT: return "BackboneElement";
3440            case CODEABLECONCEPT: return "CodeableConcept";
3441            case CODING: return "Coding";
3442            case CONTACTDETAIL: return "ContactDetail";
3443            case CONTACTPOINT: return "ContactPoint";
3444            case CONTRIBUTOR: return "Contributor";
3445            case COUNT: return "Count";
3446            case DATAREQUIREMENT: return "DataRequirement";
3447            case DISTANCE: return "Distance";
3448            case DOSAGE: return "Dosage";
3449            case DURATION: return "Duration";
3450            case ELEMENT: return "Element";
3451            case ELEMENTDEFINITION: return "ElementDefinition";
3452            case EXTENSION: return "Extension";
3453            case HUMANNAME: return "HumanName";
3454            case IDENTIFIER: return "Identifier";
3455            case MARKETINGSTATUS: return "MarketingStatus";
3456            case META: return "Meta";
3457            case MONEY: return "Money";
3458            case NARRATIVE: return "Narrative";
3459            case PARAMETERDEFINITION: return "ParameterDefinition";
3460            case PERIOD: return "Period";
3461            case PRODCHARACTERISTIC: return "ProdCharacteristic";
3462            case PRODUCTSHELFLIFE: return "ProductShelfLife";
3463            case QUANTITY: return "Quantity";
3464            case RANGE: return "Range";
3465            case RATIO: return "Ratio";
3466            case REFERENCE: return "Reference";
3467            case RELATEDARTIFACT: return "RelatedArtifact";
3468            case SAMPLEDDATA: return "SampledData";
3469            case SIGNATURE: return "Signature";
3470            case SIMPLEQUANTITY: return "SimpleQuantity";
3471            case SUBSTANCEAMOUNT: return "SubstanceAmount";
3472            case SUBSTANCEMOIETY: return "SubstanceMoiety";
3473            case TIMING: return "Timing";
3474            case TRIGGERDEFINITION: return "TriggerDefinition";
3475            case USAGECONTEXT: return "UsageContext";
3476            case BASE64BINARY: return "base64Binary";
3477            case BOOLEAN: return "boolean";
3478            case CANONICAL: return "canonical";
3479            case CODE: return "code";
3480            case DATE: return "date";
3481            case DATETIME: return "dateTime";
3482            case DECIMAL: return "decimal";
3483            case ID: return "id";
3484            case INSTANT: return "instant";
3485            case INTEGER: return "integer";
3486            case MARKDOWN: return "markdown";
3487            case OID: return "oid";
3488            case POSITIVEINT: return "positiveInt";
3489            case STRING: return "string";
3490            case TIME: return "time";
3491            case UNSIGNEDINT: return "unsignedInt";
3492            case URI: return "uri";
3493            case URL: return "url";
3494            case UUID: return "uuid";
3495            case XHTML: return "xhtml";
3496            case ACCOUNT: return "Account";
3497            case ACTIVITYDEFINITION: return "ActivityDefinition";
3498            case ADVERSEEVENT: return "AdverseEvent";
3499            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
3500            case APPOINTMENT: return "Appointment";
3501            case APPOINTMENTRESPONSE: return "AppointmentResponse";
3502            case AUDITEVENT: return "AuditEvent";
3503            case BASIC: return "Basic";
3504            case BINARY: return "Binary";
3505            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
3506            case BODYSTRUCTURE: return "BodyStructure";
3507            case BUNDLE: return "Bundle";
3508            case CAPABILITYSTATEMENT: return "CapabilityStatement";
3509            case CAREPLAN: return "CarePlan";
3510            case CARETEAM: return "CareTeam";
3511            case CHARGEITEM: return "ChargeItem";
3512            case CLAIM: return "Claim";
3513            case CLAIMRESPONSE: return "ClaimResponse";
3514            case CLINICALIMPRESSION: return "ClinicalImpression";
3515            case CODESYSTEM: return "CodeSystem";
3516            case COMMUNICATION: return "Communication";
3517            case COMMUNICATIONREQUEST: return "CommunicationRequest";
3518            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
3519            case COMPOSITION: return "Composition";
3520            case CONCEPTMAP: return "ConceptMap";
3521            case CONDITION: return "Condition";
3522            case CONSENT: return "Consent";
3523            case CONTRACT: return "Contract";
3524            case COVERAGE: return "Coverage";
3525            case DETECTEDISSUE: return "DetectedIssue";
3526            case DEVICE: return "Device";
3527            case DEVICECOMPONENT: return "DeviceComponent";
3528            case DEVICEMETRIC: return "DeviceMetric";
3529            case DEVICEREQUEST: return "DeviceRequest";
3530            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
3531            case DIAGNOSTICREPORT: return "DiagnosticReport";
3532            case DOCUMENTMANIFEST: return "DocumentManifest";
3533            case DOCUMENTREFERENCE: return "DocumentReference";
3534            case DOMAINRESOURCE: return "DomainResource";
3535            case ELIGIBILITYREQUEST: return "EligibilityRequest";
3536            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
3537            case ENCOUNTER: return "Encounter";
3538            case ENDPOINT: return "Endpoint";
3539            case ENROLLMENTREQUEST: return "EnrollmentRequest";
3540            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
3541            case ENTRYDEFINITION: return "EntryDefinition";
3542            case EPISODEOFCARE: return "EpisodeOfCare";
3543            case EVENTDEFINITION: return "EventDefinition";
3544            case EXAMPLESCENARIO: return "ExampleScenario";
3545            case EXPANSIONPROFILE: return "ExpansionProfile";
3546            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
3547            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
3548            case FLAG: return "Flag";
3549            case GOAL: return "Goal";
3550            case GRAPHDEFINITION: return "GraphDefinition";
3551            case GROUP: return "Group";
3552            case GUIDANCERESPONSE: return "GuidanceResponse";
3553            case HEALTHCARESERVICE: return "HealthcareService";
3554            case IMAGINGSTUDY: return "ImagingStudy";
3555            case IMMUNIZATION: return "Immunization";
3556            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
3557            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
3558            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
3559            case INVOICE: return "Invoice";
3560            case ITEMINSTANCE: return "ItemInstance";
3561            case LIBRARY: return "Library";
3562            case LINKAGE: return "Linkage";
3563            case LIST: return "List";
3564            case LOCATION: return "Location";
3565            case MEASURE: return "Measure";
3566            case MEASUREREPORT: return "MeasureReport";
3567            case MEDIA: return "Media";
3568            case MEDICATION: return "Medication";
3569            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
3570            case MEDICATIONDISPENSE: return "MedicationDispense";
3571            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
3572            case MEDICATIONREQUEST: return "MedicationRequest";
3573            case MEDICATIONSTATEMENT: return "MedicationStatement";
3574            case MEDICINALPRODUCT: return "MedicinalProduct";
3575            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
3576            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
3577            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
3578            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
3579            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
3580            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
3581            case MESSAGEDEFINITION: return "MessageDefinition";
3582            case MESSAGEHEADER: return "MessageHeader";
3583            case NAMINGSYSTEM: return "NamingSystem";
3584            case NUTRITIONORDER: return "NutritionOrder";
3585            case OBSERVATION: return "Observation";
3586            case OBSERVATIONDEFINITION: return "ObservationDefinition";
3587            case OCCUPATIONALDATA: return "OccupationalData";
3588            case OPERATIONDEFINITION: return "OperationDefinition";
3589            case OPERATIONOUTCOME: return "OperationOutcome";
3590            case ORGANIZATION: return "Organization";
3591            case ORGANIZATIONROLE: return "OrganizationRole";
3592            case PARAMETERS: return "Parameters";
3593            case PATIENT: return "Patient";
3594            case PAYMENTNOTICE: return "PaymentNotice";
3595            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
3596            case PERSON: return "Person";
3597            case PLANDEFINITION: return "PlanDefinition";
3598            case PRACTITIONER: return "Practitioner";
3599            case PRACTITIONERROLE: return "PractitionerRole";
3600            case PROCEDURE: return "Procedure";
3601            case PROCESSREQUEST: return "ProcessRequest";
3602            case PROCESSRESPONSE: return "ProcessResponse";
3603            case PRODUCTPLAN: return "ProductPlan";
3604            case PROVENANCE: return "Provenance";
3605            case QUESTIONNAIRE: return "Questionnaire";
3606            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
3607            case RELATEDPERSON: return "RelatedPerson";
3608            case REQUESTGROUP: return "RequestGroup";
3609            case RESEARCHSTUDY: return "ResearchStudy";
3610            case RESEARCHSUBJECT: return "ResearchSubject";
3611            case RESOURCE: return "Resource";
3612            case RISKASSESSMENT: return "RiskAssessment";
3613            case SCHEDULE: return "Schedule";
3614            case SEARCHPARAMETER: return "SearchParameter";
3615            case SEQUENCE: return "Sequence";
3616            case SERVICEREQUEST: return "ServiceRequest";
3617            case SLOT: return "Slot";
3618            case SPECIMEN: return "Specimen";
3619            case SPECIMENDEFINITION: return "SpecimenDefinition";
3620            case STRUCTUREDEFINITION: return "StructureDefinition";
3621            case STRUCTUREMAP: return "StructureMap";
3622            case SUBSCRIPTION: return "Subscription";
3623            case SUBSTANCE: return "Substance";
3624            case SUBSTANCEPOLYMER: return "SubstancePolymer";
3625            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
3626            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
3627            case SUPPLYDELIVERY: return "SupplyDelivery";
3628            case SUPPLYREQUEST: return "SupplyRequest";
3629            case TASK: return "Task";
3630            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
3631            case TESTREPORT: return "TestReport";
3632            case TESTSCRIPT: return "TestScript";
3633            case USERSESSION: return "UserSession";
3634            case VALUESET: return "ValueSet";
3635            case VERIFICATIONRESULT: return "VerificationResult";
3636            case VISIONPRESCRIPTION: return "VisionPrescription";
3637            case TYPE: return "Type";
3638            case ANY: return "Any";
3639            default: return "?";
3640          }
3641        }
3642        public String getSystem() {
3643          switch (this) {
3644            case ADDRESS: return "http://hl7.org/fhir/data-types";
3645            case AGE: return "http://hl7.org/fhir/data-types";
3646            case ANNOTATION: return "http://hl7.org/fhir/data-types";
3647            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
3648            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
3649            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
3650            case CODING: return "http://hl7.org/fhir/data-types";
3651            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
3652            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
3653            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
3654            case COUNT: return "http://hl7.org/fhir/data-types";
3655            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
3656            case DISTANCE: return "http://hl7.org/fhir/data-types";
3657            case DOSAGE: return "http://hl7.org/fhir/data-types";
3658            case DURATION: return "http://hl7.org/fhir/data-types";
3659            case ELEMENT: return "http://hl7.org/fhir/data-types";
3660            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
3661            case EXTENSION: return "http://hl7.org/fhir/data-types";
3662            case HUMANNAME: return "http://hl7.org/fhir/data-types";
3663            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
3664            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
3665            case META: return "http://hl7.org/fhir/data-types";
3666            case MONEY: return "http://hl7.org/fhir/data-types";
3667            case NARRATIVE: return "http://hl7.org/fhir/data-types";
3668            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
3669            case PERIOD: return "http://hl7.org/fhir/data-types";
3670            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
3671            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
3672            case QUANTITY: return "http://hl7.org/fhir/data-types";
3673            case RANGE: return "http://hl7.org/fhir/data-types";
3674            case RATIO: return "http://hl7.org/fhir/data-types";
3675            case REFERENCE: return "http://hl7.org/fhir/data-types";
3676            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
3677            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
3678            case SIGNATURE: return "http://hl7.org/fhir/data-types";
3679            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
3680            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
3681            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
3682            case TIMING: return "http://hl7.org/fhir/data-types";
3683            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
3684            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
3685            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
3686            case BOOLEAN: return "http://hl7.org/fhir/data-types";
3687            case CANONICAL: return "http://hl7.org/fhir/data-types";
3688            case CODE: return "http://hl7.org/fhir/data-types";
3689            case DATE: return "http://hl7.org/fhir/data-types";
3690            case DATETIME: return "http://hl7.org/fhir/data-types";
3691            case DECIMAL: return "http://hl7.org/fhir/data-types";
3692            case ID: return "http://hl7.org/fhir/data-types";
3693            case INSTANT: return "http://hl7.org/fhir/data-types";
3694            case INTEGER: return "http://hl7.org/fhir/data-types";
3695            case MARKDOWN: return "http://hl7.org/fhir/data-types";
3696            case OID: return "http://hl7.org/fhir/data-types";
3697            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
3698            case STRING: return "http://hl7.org/fhir/data-types";
3699            case TIME: return "http://hl7.org/fhir/data-types";
3700            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
3701            case URI: return "http://hl7.org/fhir/data-types";
3702            case URL: return "http://hl7.org/fhir/data-types";
3703            case UUID: return "http://hl7.org/fhir/data-types";
3704            case XHTML: return "http://hl7.org/fhir/data-types";
3705            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
3706            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
3707            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
3708            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
3709            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
3710            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
3711            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
3712            case BASIC: return "http://hl7.org/fhir/resource-types";
3713            case BINARY: return "http://hl7.org/fhir/resource-types";
3714            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
3715            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
3716            case BUNDLE: return "http://hl7.org/fhir/resource-types";
3717            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
3718            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
3719            case CARETEAM: return "http://hl7.org/fhir/resource-types";
3720            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
3721            case CLAIM: return "http://hl7.org/fhir/resource-types";
3722            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
3723            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
3724            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
3725            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
3726            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
3727            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
3728            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
3729            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
3730            case CONDITION: return "http://hl7.org/fhir/resource-types";
3731            case CONSENT: return "http://hl7.org/fhir/resource-types";
3732            case CONTRACT: return "http://hl7.org/fhir/resource-types";
3733            case COVERAGE: return "http://hl7.org/fhir/resource-types";
3734            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
3735            case DEVICE: return "http://hl7.org/fhir/resource-types";
3736            case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types";
3737            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
3738            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
3739            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
3740            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
3741            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
3742            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
3743            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
3744            case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
3745            case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
3746            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
3747            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
3748            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
3749            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
3750            case ENTRYDEFINITION: return "http://hl7.org/fhir/resource-types";
3751            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
3752            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
3753            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
3754            case EXPANSIONPROFILE: return "http://hl7.org/fhir/resource-types";
3755            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
3756            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
3757            case FLAG: return "http://hl7.org/fhir/resource-types";
3758            case GOAL: return "http://hl7.org/fhir/resource-types";
3759            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
3760            case GROUP: return "http://hl7.org/fhir/resource-types";
3761            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
3762            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
3763            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
3764            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
3765            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
3766            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
3767            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
3768            case INVOICE: return "http://hl7.org/fhir/resource-types";
3769            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
3770            case LIBRARY: return "http://hl7.org/fhir/resource-types";
3771            case LINKAGE: return "http://hl7.org/fhir/resource-types";
3772            case LIST: return "http://hl7.org/fhir/resource-types";
3773            case LOCATION: return "http://hl7.org/fhir/resource-types";
3774            case MEASURE: return "http://hl7.org/fhir/resource-types";
3775            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
3776            case MEDIA: return "http://hl7.org/fhir/resource-types";
3777            case MEDICATION: return "http://hl7.org/fhir/resource-types";
3778            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
3779            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
3780            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
3781            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
3782            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
3783            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
3784            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
3785            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
3786            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
3787            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
3788            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
3789            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
3790            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
3791            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
3792            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
3793            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
3794            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
3795            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
3796            case OCCUPATIONALDATA: return "http://hl7.org/fhir/resource-types";
3797            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
3798            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
3799            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
3800            case ORGANIZATIONROLE: return "http://hl7.org/fhir/resource-types";
3801            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
3802            case PATIENT: return "http://hl7.org/fhir/resource-types";
3803            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
3804            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
3805            case PERSON: return "http://hl7.org/fhir/resource-types";
3806            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
3807            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
3808            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
3809            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
3810            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
3811            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
3812            case PRODUCTPLAN: return "http://hl7.org/fhir/resource-types";
3813            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
3814            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
3815            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
3816            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
3817            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
3818            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
3819            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
3820            case RESOURCE: return "http://hl7.org/fhir/resource-types";
3821            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
3822            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
3823            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
3824            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
3825            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
3826            case SLOT: return "http://hl7.org/fhir/resource-types";
3827            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
3828            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
3829            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
3830            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
3831            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
3832            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
3833            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
3834            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
3835            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
3836            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
3837            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
3838            case TASK: return "http://hl7.org/fhir/resource-types";
3839            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
3840            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
3841            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
3842            case USERSESSION: return "http://hl7.org/fhir/resource-types";
3843            case VALUESET: return "http://hl7.org/fhir/resource-types";
3844            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
3845            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
3846            case TYPE: return "http://hl7.org/fhir/abstract-types";
3847            case ANY: return "http://hl7.org/fhir/abstract-types";
3848            default: return "?";
3849          }
3850        }
3851        public String getDefinition() {
3852          switch (this) {
3853            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.";
3854            case AGE: return "A duration of time during which an organism (or a process) has existed.";
3855            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
3856            case ATTACHMENT: return "For referring to data content defined in other formats.";
3857            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
3858            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
3859            case CODING: return "A reference to a code defined by a terminology system.";
3860            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
3861            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
3862            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
3863            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.";
3864            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.";
3865            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
3866            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
3867            case DURATION: return "A length of time.";
3868            case ELEMENT: return "Base definition for all elements in a resource.";
3869            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
3870            case EXTENSION: return "Optional Extension Element - found in all resources.";
3871            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
3872            case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously.";
3873            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.";
3874            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.";
3875            case MONEY: return "An amount of economic utility in some recognized currency.";
3876            case NARRATIVE: return "A human-readable formatted text, including images.";
3877            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.";
3878            case PERIOD: return "A time period defined by a start and end date and optionally time.";
3879            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.";
3880            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
3881            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.";
3882            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
3883            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
3884            case REFERENCE: return "A reference from one resource to another.";
3885            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
3886            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.";
3887            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.";
3888            case SIMPLEQUANTITY: return "";
3889            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.";
3890            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.";
3891            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.";
3892            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.";
3893            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).";
3894            case BASE64BINARY: return "A stream of bytes";
3895            case BOOLEAN: return "Value of \"true\" or \"false\"";
3896            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
3897            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";
3898            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.";
3899            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.";
3900            case DECIMAL: return "A rational number with implicit precision";
3901            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.";
3902            case INSTANT: return "An instant in time - known at least to the second";
3903            case INTEGER: return "A whole number";
3904            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
3905            case OID: return "An OID represented as a URI";
3906            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
3907            case STRING: return "A sequence of Unicode characters";
3908            case TIME: return "A time during the day, with no date specified";
3909            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
3910            case URI: return "String of characters used to identify a name or a resource";
3911            case URL: return "A URI that is a literal reference";
3912            case UUID: return "A UUID, represented as a URI";
3913            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
3914            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.";
3915            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.";
3916            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.";
3917            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
3918            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).";
3919            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
3920            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.";
3921            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.";
3922            case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
3923            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
3924            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.";
3925            case BUNDLE: return "A container for a collection of resources.";
3926            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.";
3927            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.";
3928            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.";
3929            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.";
3930            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.";
3931            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
3932            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.";
3933            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.";
3934            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.";
3935            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.";
3936            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
3937            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.).";
3938            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.";
3939            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
3940            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.";
3941            case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.";
3942            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
3943            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.";
3944            case DEVICE: return "This resource identifies an instance or 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.";
3945            case DEVICECOMPONENT: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
3946            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
3947            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.";
3948            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.";
3949            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.";
3950            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
3951            case DOCUMENTREFERENCE: return "A reference to a document.";
3952            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
3953            case ELIGIBILITYREQUEST: return "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
3954            case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource.";
3955            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.";
3956            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.";
3957            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
3958            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
3959            case ENTRYDEFINITION: return "Catalog entries are wrappers that contextualize items included in a catalog.";
3960            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.";
3961            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
3962            case EXAMPLESCENARIO: return "Example of workflow instance.";
3963            case EXPANSIONPROFILE: return "Resource to define constraints on the Expansion of a FHIR ValueSet.";
3964            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.";
3965            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
3966            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
3967            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.";
3968            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.";
3969            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.";
3970            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.";
3971            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
3972            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.";
3973            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.";
3974            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.";
3975            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
3976            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.";
3977            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
3978            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
3979            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.";
3980            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
3981            case LIST: return "A set of information summarized from a list of other resources.";
3982            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.";
3983            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
3984            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.";
3985            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.";
3986            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.";
3987            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.";
3988            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.";
3989            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
3990            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.";
3991            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.";
3992            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
3993            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
3994            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
3995            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.";
3996            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
3997            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
3998            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
3999            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.";
4000            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.";
4001            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.";
4002            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
4003            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
4004            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
4005            case OCCUPATIONALDATA: return "A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.";
4006            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
4007            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
4008            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.";
4009            case ORGANIZATIONROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
4010            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.";
4011            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
4012            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
4013            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
4014            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
4015            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.";
4016            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
4017            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
4018            case PROCEDURE: return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.";
4019            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.";
4020            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
4021            case PRODUCTPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
4022            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.";
4023            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.";
4024            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.";
4025            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.";
4026            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\".";
4027            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.";
4028            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
4029            case RESOURCE: return "This is the base resource type for everything.";
4030            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
4031            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
4032            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
4033            case SEQUENCE: return "Raw data describing a biological sequence.";
4034            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
4035            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
4036            case SPECIMEN: return "A sample to be used for analysis.";
4037            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
4038            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.";
4039            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
4040            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.";
4041            case SUBSTANCE: return "A homogeneous material with a definite composition.";
4042            case SUBSTANCEPOLYMER: return "Todo.";
4043            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
4044            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
4045            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
4046            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
4047            case TASK: return "A task to be performed.";
4048            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.";
4049            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
4050            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
4051            case USERSESSION: return "Information about a user's current session.";
4052            case VALUESET: return "A ValueSet resource 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).";
4053            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
4054            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
4055            case TYPE: return "A place holder that means any kind of data type";
4056            case ANY: return "A place holder that means any kind of resource";
4057            default: return "?";
4058          }
4059        }
4060        public String getDisplay() {
4061          switch (this) {
4062            case ADDRESS: return "Address";
4063            case AGE: return "Age";
4064            case ANNOTATION: return "Annotation";
4065            case ATTACHMENT: return "Attachment";
4066            case BACKBONEELEMENT: return "BackboneElement";
4067            case CODEABLECONCEPT: return "CodeableConcept";
4068            case CODING: return "Coding";
4069            case CONTACTDETAIL: return "ContactDetail";
4070            case CONTACTPOINT: return "ContactPoint";
4071            case CONTRIBUTOR: return "Contributor";
4072            case COUNT: return "Count";
4073            case DATAREQUIREMENT: return "DataRequirement";
4074            case DISTANCE: return "Distance";
4075            case DOSAGE: return "Dosage";
4076            case DURATION: return "Duration";
4077            case ELEMENT: return "Element";
4078            case ELEMENTDEFINITION: return "ElementDefinition";
4079            case EXTENSION: return "Extension";
4080            case HUMANNAME: return "HumanName";
4081            case IDENTIFIER: return "Identifier";
4082            case MARKETINGSTATUS: return "MarketingStatus";
4083            case META: return "Meta";
4084            case MONEY: return "Money";
4085            case NARRATIVE: return "Narrative";
4086            case PARAMETERDEFINITION: return "ParameterDefinition";
4087            case PERIOD: return "Period";
4088            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4089            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4090            case QUANTITY: return "Quantity";
4091            case RANGE: return "Range";
4092            case RATIO: return "Ratio";
4093            case REFERENCE: return "Reference";
4094            case RELATEDARTIFACT: return "RelatedArtifact";
4095            case SAMPLEDDATA: return "SampledData";
4096            case SIGNATURE: return "Signature";
4097            case SIMPLEQUANTITY: return "SimpleQuantity";
4098            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4099            case SUBSTANCEMOIETY: return "SubstanceMoiety";
4100            case TIMING: return "Timing";
4101            case TRIGGERDEFINITION: return "TriggerDefinition";
4102            case USAGECONTEXT: return "UsageContext";
4103            case BASE64BINARY: return "base64Binary";
4104            case BOOLEAN: return "boolean";
4105            case CANONICAL: return "canonical";
4106            case CODE: return "code";
4107            case DATE: return "date";
4108            case DATETIME: return "dateTime";
4109            case DECIMAL: return "decimal";
4110            case ID: return "id";
4111            case INSTANT: return "instant";
4112            case INTEGER: return "integer";
4113            case MARKDOWN: return "markdown";
4114            case OID: return "oid";
4115            case POSITIVEINT: return "positiveInt";
4116            case STRING: return "string";
4117            case TIME: return "time";
4118            case UNSIGNEDINT: return "unsignedInt";
4119            case URI: return "uri";
4120            case URL: return "url";
4121            case UUID: return "uuid";
4122            case XHTML: return "XHTML";
4123            case ACCOUNT: return "Account";
4124            case ACTIVITYDEFINITION: return "ActivityDefinition";
4125            case ADVERSEEVENT: return "AdverseEvent";
4126            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4127            case APPOINTMENT: return "Appointment";
4128            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4129            case AUDITEVENT: return "AuditEvent";
4130            case BASIC: return "Basic";
4131            case BINARY: return "Binary";
4132            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4133            case BODYSTRUCTURE: return "BodyStructure";
4134            case BUNDLE: return "Bundle";
4135            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4136            case CAREPLAN: return "CarePlan";
4137            case CARETEAM: return "CareTeam";
4138            case CHARGEITEM: return "ChargeItem";
4139            case CLAIM: return "Claim";
4140            case CLAIMRESPONSE: return "ClaimResponse";
4141            case CLINICALIMPRESSION: return "ClinicalImpression";
4142            case CODESYSTEM: return "CodeSystem";
4143            case COMMUNICATION: return "Communication";
4144            case COMMUNICATIONREQUEST: return "CommunicationRequest";
4145            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
4146            case COMPOSITION: return "Composition";
4147            case CONCEPTMAP: return "ConceptMap";
4148            case CONDITION: return "Condition";
4149            case CONSENT: return "Consent";
4150            case CONTRACT: return "Contract";
4151            case COVERAGE: return "Coverage";
4152            case DETECTEDISSUE: return "DetectedIssue";
4153            case DEVICE: return "Device";
4154            case DEVICECOMPONENT: return "DeviceComponent";
4155            case DEVICEMETRIC: return "DeviceMetric";
4156            case DEVICEREQUEST: return "DeviceRequest";
4157            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
4158            case DIAGNOSTICREPORT: return "DiagnosticReport";
4159            case DOCUMENTMANIFEST: return "DocumentManifest";
4160            case DOCUMENTREFERENCE: return "DocumentReference";
4161            case DOMAINRESOURCE: return "DomainResource";
4162            case ELIGIBILITYREQUEST: return "EligibilityRequest";
4163            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
4164            case ENCOUNTER: return "Encounter";
4165            case ENDPOINT: return "Endpoint";
4166            case ENROLLMENTREQUEST: return "EnrollmentRequest";
4167            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
4168            case ENTRYDEFINITION: return "EntryDefinition";
4169            case EPISODEOFCARE: return "EpisodeOfCare";
4170            case EVENTDEFINITION: return "EventDefinition";
4171            case EXAMPLESCENARIO: return "ExampleScenario";
4172            case EXPANSIONPROFILE: return "ExpansionProfile";
4173            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
4174            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
4175            case FLAG: return "Flag";
4176            case GOAL: return "Goal";
4177            case GRAPHDEFINITION: return "GraphDefinition";
4178            case GROUP: return "Group";
4179            case GUIDANCERESPONSE: return "GuidanceResponse";
4180            case HEALTHCARESERVICE: return "HealthcareService";
4181            case IMAGINGSTUDY: return "ImagingStudy";
4182            case IMMUNIZATION: return "Immunization";
4183            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
4184            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
4185            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
4186            case INVOICE: return "Invoice";
4187            case ITEMINSTANCE: return "ItemInstance";
4188            case LIBRARY: return "Library";
4189            case LINKAGE: return "Linkage";
4190            case LIST: return "List";
4191            case LOCATION: return "Location";
4192            case MEASURE: return "Measure";
4193            case MEASUREREPORT: return "MeasureReport";
4194            case MEDIA: return "Media";
4195            case MEDICATION: return "Medication";
4196            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
4197            case MEDICATIONDISPENSE: return "MedicationDispense";
4198            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
4199            case MEDICATIONREQUEST: return "MedicationRequest";
4200            case MEDICATIONSTATEMENT: return "MedicationStatement";
4201            case MEDICINALPRODUCT: return "MedicinalProduct";
4202            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
4203            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
4204            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
4205            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
4206            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
4207            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
4208            case MESSAGEDEFINITION: return "MessageDefinition";
4209            case MESSAGEHEADER: return "MessageHeader";
4210            case NAMINGSYSTEM: return "NamingSystem";
4211            case NUTRITIONORDER: return "NutritionOrder";
4212            case OBSERVATION: return "Observation";
4213            case OBSERVATIONDEFINITION: return "ObservationDefinition";
4214            case OCCUPATIONALDATA: return "OccupationalData";
4215            case OPERATIONDEFINITION: return "OperationDefinition";
4216            case OPERATIONOUTCOME: return "OperationOutcome";
4217            case ORGANIZATION: return "Organization";
4218            case ORGANIZATIONROLE: return "OrganizationRole";
4219            case PARAMETERS: return "Parameters";
4220            case PATIENT: return "Patient";
4221            case PAYMENTNOTICE: return "PaymentNotice";
4222            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
4223            case PERSON: return "Person";
4224            case PLANDEFINITION: return "PlanDefinition";
4225            case PRACTITIONER: return "Practitioner";
4226            case PRACTITIONERROLE: return "PractitionerRole";
4227            case PROCEDURE: return "Procedure";
4228            case PROCESSREQUEST: return "ProcessRequest";
4229            case PROCESSRESPONSE: return "ProcessResponse";
4230            case PRODUCTPLAN: return "ProductPlan";
4231            case PROVENANCE: return "Provenance";
4232            case QUESTIONNAIRE: return "Questionnaire";
4233            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
4234            case RELATEDPERSON: return "RelatedPerson";
4235            case REQUESTGROUP: return "RequestGroup";
4236            case RESEARCHSTUDY: return "ResearchStudy";
4237            case RESEARCHSUBJECT: return "ResearchSubject";
4238            case RESOURCE: return "Resource";
4239            case RISKASSESSMENT: return "RiskAssessment";
4240            case SCHEDULE: return "Schedule";
4241            case SEARCHPARAMETER: return "SearchParameter";
4242            case SEQUENCE: return "Sequence";
4243            case SERVICEREQUEST: return "ServiceRequest";
4244            case SLOT: return "Slot";
4245            case SPECIMEN: return "Specimen";
4246            case SPECIMENDEFINITION: return "SpecimenDefinition";
4247            case STRUCTUREDEFINITION: return "StructureDefinition";
4248            case STRUCTUREMAP: return "StructureMap";
4249            case SUBSCRIPTION: return "Subscription";
4250            case SUBSTANCE: return "Substance";
4251            case SUBSTANCEPOLYMER: return "SubstancePolymer";
4252            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
4253            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
4254            case SUPPLYDELIVERY: return "SupplyDelivery";
4255            case SUPPLYREQUEST: return "SupplyRequest";
4256            case TASK: return "Task";
4257            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
4258            case TESTREPORT: return "TestReport";
4259            case TESTSCRIPT: return "TestScript";
4260            case USERSESSION: return "UserSession";
4261            case VALUESET: return "ValueSet";
4262            case VERIFICATIONRESULT: return "VerificationResult";
4263            case VISIONPRESCRIPTION: return "VisionPrescription";
4264            case TYPE: return "Type";
4265            case ANY: return "Any";
4266            default: return "?";
4267          }
4268        }
4269    }
4270
4271  public static class FHIRAllTypesEnumFactory implements EnumFactory<FHIRAllTypes> {
4272    public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException {
4273      if (codeString == null || "".equals(codeString))
4274            if (codeString == null || "".equals(codeString))
4275                return null;
4276        if ("Address".equals(codeString))
4277          return FHIRAllTypes.ADDRESS;
4278        if ("Age".equals(codeString))
4279          return FHIRAllTypes.AGE;
4280        if ("Annotation".equals(codeString))
4281          return FHIRAllTypes.ANNOTATION;
4282        if ("Attachment".equals(codeString))
4283          return FHIRAllTypes.ATTACHMENT;
4284        if ("BackboneElement".equals(codeString))
4285          return FHIRAllTypes.BACKBONEELEMENT;
4286        if ("CodeableConcept".equals(codeString))
4287          return FHIRAllTypes.CODEABLECONCEPT;
4288        if ("Coding".equals(codeString))
4289          return FHIRAllTypes.CODING;
4290        if ("ContactDetail".equals(codeString))
4291          return FHIRAllTypes.CONTACTDETAIL;
4292        if ("ContactPoint".equals(codeString))
4293          return FHIRAllTypes.CONTACTPOINT;
4294        if ("Contributor".equals(codeString))
4295          return FHIRAllTypes.CONTRIBUTOR;
4296        if ("Count".equals(codeString))
4297          return FHIRAllTypes.COUNT;
4298        if ("DataRequirement".equals(codeString))
4299          return FHIRAllTypes.DATAREQUIREMENT;
4300        if ("Distance".equals(codeString))
4301          return FHIRAllTypes.DISTANCE;
4302        if ("Dosage".equals(codeString))
4303          return FHIRAllTypes.DOSAGE;
4304        if ("Duration".equals(codeString))
4305          return FHIRAllTypes.DURATION;
4306        if ("Element".equals(codeString))
4307          return FHIRAllTypes.ELEMENT;
4308        if ("ElementDefinition".equals(codeString))
4309          return FHIRAllTypes.ELEMENTDEFINITION;
4310        if ("Extension".equals(codeString))
4311          return FHIRAllTypes.EXTENSION;
4312        if ("HumanName".equals(codeString))
4313          return FHIRAllTypes.HUMANNAME;
4314        if ("Identifier".equals(codeString))
4315          return FHIRAllTypes.IDENTIFIER;
4316        if ("MarketingStatus".equals(codeString))
4317          return FHIRAllTypes.MARKETINGSTATUS;
4318        if ("Meta".equals(codeString))
4319          return FHIRAllTypes.META;
4320        if ("Money".equals(codeString))
4321          return FHIRAllTypes.MONEY;
4322        if ("Narrative".equals(codeString))
4323          return FHIRAllTypes.NARRATIVE;
4324        if ("ParameterDefinition".equals(codeString))
4325          return FHIRAllTypes.PARAMETERDEFINITION;
4326        if ("Period".equals(codeString))
4327          return FHIRAllTypes.PERIOD;
4328        if ("ProdCharacteristic".equals(codeString))
4329          return FHIRAllTypes.PRODCHARACTERISTIC;
4330        if ("ProductShelfLife".equals(codeString))
4331          return FHIRAllTypes.PRODUCTSHELFLIFE;
4332        if ("Quantity".equals(codeString))
4333          return FHIRAllTypes.QUANTITY;
4334        if ("Range".equals(codeString))
4335          return FHIRAllTypes.RANGE;
4336        if ("Ratio".equals(codeString))
4337          return FHIRAllTypes.RATIO;
4338        if ("Reference".equals(codeString))
4339          return FHIRAllTypes.REFERENCE;
4340        if ("RelatedArtifact".equals(codeString))
4341          return FHIRAllTypes.RELATEDARTIFACT;
4342        if ("SampledData".equals(codeString))
4343          return FHIRAllTypes.SAMPLEDDATA;
4344        if ("Signature".equals(codeString))
4345          return FHIRAllTypes.SIGNATURE;
4346        if ("SimpleQuantity".equals(codeString))
4347          return FHIRAllTypes.SIMPLEQUANTITY;
4348        if ("SubstanceAmount".equals(codeString))
4349          return FHIRAllTypes.SUBSTANCEAMOUNT;
4350        if ("SubstanceMoiety".equals(codeString))
4351          return FHIRAllTypes.SUBSTANCEMOIETY;
4352        if ("Timing".equals(codeString))
4353          return FHIRAllTypes.TIMING;
4354        if ("TriggerDefinition".equals(codeString))
4355          return FHIRAllTypes.TRIGGERDEFINITION;
4356        if ("UsageContext".equals(codeString))
4357          return FHIRAllTypes.USAGECONTEXT;
4358        if ("base64Binary".equals(codeString))
4359          return FHIRAllTypes.BASE64BINARY;
4360        if ("boolean".equals(codeString))
4361          return FHIRAllTypes.BOOLEAN;
4362        if ("canonical".equals(codeString))
4363          return FHIRAllTypes.CANONICAL;
4364        if ("code".equals(codeString))
4365          return FHIRAllTypes.CODE;
4366        if ("date".equals(codeString))
4367          return FHIRAllTypes.DATE;
4368        if ("dateTime".equals(codeString))
4369          return FHIRAllTypes.DATETIME;
4370        if ("decimal".equals(codeString))
4371          return FHIRAllTypes.DECIMAL;
4372        if ("id".equals(codeString))
4373          return FHIRAllTypes.ID;
4374        if ("instant".equals(codeString))
4375          return FHIRAllTypes.INSTANT;
4376        if ("integer".equals(codeString))
4377          return FHIRAllTypes.INTEGER;
4378        if ("markdown".equals(codeString))
4379          return FHIRAllTypes.MARKDOWN;
4380        if ("oid".equals(codeString))
4381          return FHIRAllTypes.OID;
4382        if ("positiveInt".equals(codeString))
4383          return FHIRAllTypes.POSITIVEINT;
4384        if ("string".equals(codeString))
4385          return FHIRAllTypes.STRING;
4386        if ("time".equals(codeString))
4387          return FHIRAllTypes.TIME;
4388        if ("unsignedInt".equals(codeString))
4389          return FHIRAllTypes.UNSIGNEDINT;
4390        if ("uri".equals(codeString))
4391          return FHIRAllTypes.URI;
4392        if ("url".equals(codeString))
4393          return FHIRAllTypes.URL;
4394        if ("uuid".equals(codeString))
4395          return FHIRAllTypes.UUID;
4396        if ("xhtml".equals(codeString))
4397          return FHIRAllTypes.XHTML;
4398        if ("Account".equals(codeString))
4399          return FHIRAllTypes.ACCOUNT;
4400        if ("ActivityDefinition".equals(codeString))
4401          return FHIRAllTypes.ACTIVITYDEFINITION;
4402        if ("AdverseEvent".equals(codeString))
4403          return FHIRAllTypes.ADVERSEEVENT;
4404        if ("AllergyIntolerance".equals(codeString))
4405          return FHIRAllTypes.ALLERGYINTOLERANCE;
4406        if ("Appointment".equals(codeString))
4407          return FHIRAllTypes.APPOINTMENT;
4408        if ("AppointmentResponse".equals(codeString))
4409          return FHIRAllTypes.APPOINTMENTRESPONSE;
4410        if ("AuditEvent".equals(codeString))
4411          return FHIRAllTypes.AUDITEVENT;
4412        if ("Basic".equals(codeString))
4413          return FHIRAllTypes.BASIC;
4414        if ("Binary".equals(codeString))
4415          return FHIRAllTypes.BINARY;
4416        if ("BiologicallyDerivedProduct".equals(codeString))
4417          return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT;
4418        if ("BodyStructure".equals(codeString))
4419          return FHIRAllTypes.BODYSTRUCTURE;
4420        if ("Bundle".equals(codeString))
4421          return FHIRAllTypes.BUNDLE;
4422        if ("CapabilityStatement".equals(codeString))
4423          return FHIRAllTypes.CAPABILITYSTATEMENT;
4424        if ("CarePlan".equals(codeString))
4425          return FHIRAllTypes.CAREPLAN;
4426        if ("CareTeam".equals(codeString))
4427          return FHIRAllTypes.CARETEAM;
4428        if ("ChargeItem".equals(codeString))
4429          return FHIRAllTypes.CHARGEITEM;
4430        if ("Claim".equals(codeString))
4431          return FHIRAllTypes.CLAIM;
4432        if ("ClaimResponse".equals(codeString))
4433          return FHIRAllTypes.CLAIMRESPONSE;
4434        if ("ClinicalImpression".equals(codeString))
4435          return FHIRAllTypes.CLINICALIMPRESSION;
4436        if ("CodeSystem".equals(codeString))
4437          return FHIRAllTypes.CODESYSTEM;
4438        if ("Communication".equals(codeString))
4439          return FHIRAllTypes.COMMUNICATION;
4440        if ("CommunicationRequest".equals(codeString))
4441          return FHIRAllTypes.COMMUNICATIONREQUEST;
4442        if ("CompartmentDefinition".equals(codeString))
4443          return FHIRAllTypes.COMPARTMENTDEFINITION;
4444        if ("Composition".equals(codeString))
4445          return FHIRAllTypes.COMPOSITION;
4446        if ("ConceptMap".equals(codeString))
4447          return FHIRAllTypes.CONCEPTMAP;
4448        if ("Condition".equals(codeString))
4449          return FHIRAllTypes.CONDITION;
4450        if ("Consent".equals(codeString))
4451          return FHIRAllTypes.CONSENT;
4452        if ("Contract".equals(codeString))
4453          return FHIRAllTypes.CONTRACT;
4454        if ("Coverage".equals(codeString))
4455          return FHIRAllTypes.COVERAGE;
4456        if ("DetectedIssue".equals(codeString))
4457          return FHIRAllTypes.DETECTEDISSUE;
4458        if ("Device".equals(codeString))
4459          return FHIRAllTypes.DEVICE;
4460        if ("DeviceComponent".equals(codeString))
4461          return FHIRAllTypes.DEVICECOMPONENT;
4462        if ("DeviceMetric".equals(codeString))
4463          return FHIRAllTypes.DEVICEMETRIC;
4464        if ("DeviceRequest".equals(codeString))
4465          return FHIRAllTypes.DEVICEREQUEST;
4466        if ("DeviceUseStatement".equals(codeString))
4467          return FHIRAllTypes.DEVICEUSESTATEMENT;
4468        if ("DiagnosticReport".equals(codeString))
4469          return FHIRAllTypes.DIAGNOSTICREPORT;
4470        if ("DocumentManifest".equals(codeString))
4471          return FHIRAllTypes.DOCUMENTMANIFEST;
4472        if ("DocumentReference".equals(codeString))
4473          return FHIRAllTypes.DOCUMENTREFERENCE;
4474        if ("DomainResource".equals(codeString))
4475          return FHIRAllTypes.DOMAINRESOURCE;
4476        if ("EligibilityRequest".equals(codeString))
4477          return FHIRAllTypes.ELIGIBILITYREQUEST;
4478        if ("EligibilityResponse".equals(codeString))
4479          return FHIRAllTypes.ELIGIBILITYRESPONSE;
4480        if ("Encounter".equals(codeString))
4481          return FHIRAllTypes.ENCOUNTER;
4482        if ("Endpoint".equals(codeString))
4483          return FHIRAllTypes.ENDPOINT;
4484        if ("EnrollmentRequest".equals(codeString))
4485          return FHIRAllTypes.ENROLLMENTREQUEST;
4486        if ("EnrollmentResponse".equals(codeString))
4487          return FHIRAllTypes.ENROLLMENTRESPONSE;
4488        if ("EntryDefinition".equals(codeString))
4489          return FHIRAllTypes.ENTRYDEFINITION;
4490        if ("EpisodeOfCare".equals(codeString))
4491          return FHIRAllTypes.EPISODEOFCARE;
4492        if ("EventDefinition".equals(codeString))
4493          return FHIRAllTypes.EVENTDEFINITION;
4494        if ("ExampleScenario".equals(codeString))
4495          return FHIRAllTypes.EXAMPLESCENARIO;
4496        if ("ExpansionProfile".equals(codeString))
4497          return FHIRAllTypes.EXPANSIONPROFILE;
4498        if ("ExplanationOfBenefit".equals(codeString))
4499          return FHIRAllTypes.EXPLANATIONOFBENEFIT;
4500        if ("FamilyMemberHistory".equals(codeString))
4501          return FHIRAllTypes.FAMILYMEMBERHISTORY;
4502        if ("Flag".equals(codeString))
4503          return FHIRAllTypes.FLAG;
4504        if ("Goal".equals(codeString))
4505          return FHIRAllTypes.GOAL;
4506        if ("GraphDefinition".equals(codeString))
4507          return FHIRAllTypes.GRAPHDEFINITION;
4508        if ("Group".equals(codeString))
4509          return FHIRAllTypes.GROUP;
4510        if ("GuidanceResponse".equals(codeString))
4511          return FHIRAllTypes.GUIDANCERESPONSE;
4512        if ("HealthcareService".equals(codeString))
4513          return FHIRAllTypes.HEALTHCARESERVICE;
4514        if ("ImagingStudy".equals(codeString))
4515          return FHIRAllTypes.IMAGINGSTUDY;
4516        if ("Immunization".equals(codeString))
4517          return FHIRAllTypes.IMMUNIZATION;
4518        if ("ImmunizationEvaluation".equals(codeString))
4519          return FHIRAllTypes.IMMUNIZATIONEVALUATION;
4520        if ("ImmunizationRecommendation".equals(codeString))
4521          return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION;
4522        if ("ImplementationGuide".equals(codeString))
4523          return FHIRAllTypes.IMPLEMENTATIONGUIDE;
4524        if ("Invoice".equals(codeString))
4525          return FHIRAllTypes.INVOICE;
4526        if ("ItemInstance".equals(codeString))
4527          return FHIRAllTypes.ITEMINSTANCE;
4528        if ("Library".equals(codeString))
4529          return FHIRAllTypes.LIBRARY;
4530        if ("Linkage".equals(codeString))
4531          return FHIRAllTypes.LINKAGE;
4532        if ("List".equals(codeString))
4533          return FHIRAllTypes.LIST;
4534        if ("Location".equals(codeString))
4535          return FHIRAllTypes.LOCATION;
4536        if ("Measure".equals(codeString))
4537          return FHIRAllTypes.MEASURE;
4538        if ("MeasureReport".equals(codeString))
4539          return FHIRAllTypes.MEASUREREPORT;
4540        if ("Media".equals(codeString))
4541          return FHIRAllTypes.MEDIA;
4542        if ("Medication".equals(codeString))
4543          return FHIRAllTypes.MEDICATION;
4544        if ("MedicationAdministration".equals(codeString))
4545          return FHIRAllTypes.MEDICATIONADMINISTRATION;
4546        if ("MedicationDispense".equals(codeString))
4547          return FHIRAllTypes.MEDICATIONDISPENSE;
4548        if ("MedicationKnowledge".equals(codeString))
4549          return FHIRAllTypes.MEDICATIONKNOWLEDGE;
4550        if ("MedicationRequest".equals(codeString))
4551          return FHIRAllTypes.MEDICATIONREQUEST;
4552        if ("MedicationStatement".equals(codeString))
4553          return FHIRAllTypes.MEDICATIONSTATEMENT;
4554        if ("MedicinalProduct".equals(codeString))
4555          return FHIRAllTypes.MEDICINALPRODUCT;
4556        if ("MedicinalProductAuthorization".equals(codeString))
4557          return FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION;
4558        if ("MedicinalProductClinicals".equals(codeString))
4559          return FHIRAllTypes.MEDICINALPRODUCTCLINICALS;
4560        if ("MedicinalProductDeviceSpec".equals(codeString))
4561          return FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC;
4562        if ("MedicinalProductIngredient".equals(codeString))
4563          return FHIRAllTypes.MEDICINALPRODUCTINGREDIENT;
4564        if ("MedicinalProductPackaged".equals(codeString))
4565          return FHIRAllTypes.MEDICINALPRODUCTPACKAGED;
4566        if ("MedicinalProductPharmaceutical".equals(codeString))
4567          return FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL;
4568        if ("MessageDefinition".equals(codeString))
4569          return FHIRAllTypes.MESSAGEDEFINITION;
4570        if ("MessageHeader".equals(codeString))
4571          return FHIRAllTypes.MESSAGEHEADER;
4572        if ("NamingSystem".equals(codeString))
4573          return FHIRAllTypes.NAMINGSYSTEM;
4574        if ("NutritionOrder".equals(codeString))
4575          return FHIRAllTypes.NUTRITIONORDER;
4576        if ("Observation".equals(codeString))
4577          return FHIRAllTypes.OBSERVATION;
4578        if ("ObservationDefinition".equals(codeString))
4579          return FHIRAllTypes.OBSERVATIONDEFINITION;
4580        if ("OccupationalData".equals(codeString))
4581          return FHIRAllTypes.OCCUPATIONALDATA;
4582        if ("OperationDefinition".equals(codeString))
4583          return FHIRAllTypes.OPERATIONDEFINITION;
4584        if ("OperationOutcome".equals(codeString))
4585          return FHIRAllTypes.OPERATIONOUTCOME;
4586        if ("Organization".equals(codeString))
4587          return FHIRAllTypes.ORGANIZATION;
4588        if ("OrganizationRole".equals(codeString))
4589          return FHIRAllTypes.ORGANIZATIONROLE;
4590        if ("Parameters".equals(codeString))
4591          return FHIRAllTypes.PARAMETERS;
4592        if ("Patient".equals(codeString))
4593          return FHIRAllTypes.PATIENT;
4594        if ("PaymentNotice".equals(codeString))
4595          return FHIRAllTypes.PAYMENTNOTICE;
4596        if ("PaymentReconciliation".equals(codeString))
4597          return FHIRAllTypes.PAYMENTRECONCILIATION;
4598        if ("Person".equals(codeString))
4599          return FHIRAllTypes.PERSON;
4600        if ("PlanDefinition".equals(codeString))
4601          return FHIRAllTypes.PLANDEFINITION;
4602        if ("Practitioner".equals(codeString))
4603          return FHIRAllTypes.PRACTITIONER;
4604        if ("PractitionerRole".equals(codeString))
4605          return FHIRAllTypes.PRACTITIONERROLE;
4606        if ("Procedure".equals(codeString))
4607          return FHIRAllTypes.PROCEDURE;
4608        if ("ProcessRequest".equals(codeString))
4609          return FHIRAllTypes.PROCESSREQUEST;
4610        if ("ProcessResponse".equals(codeString))
4611          return FHIRAllTypes.PROCESSRESPONSE;
4612        if ("ProductPlan".equals(codeString))
4613          return FHIRAllTypes.PRODUCTPLAN;
4614        if ("Provenance".equals(codeString))
4615          return FHIRAllTypes.PROVENANCE;
4616        if ("Questionnaire".equals(codeString))
4617          return FHIRAllTypes.QUESTIONNAIRE;
4618        if ("QuestionnaireResponse".equals(codeString))
4619          return FHIRAllTypes.QUESTIONNAIRERESPONSE;
4620        if ("RelatedPerson".equals(codeString))
4621          return FHIRAllTypes.RELATEDPERSON;
4622        if ("RequestGroup".equals(codeString))
4623          return FHIRAllTypes.REQUESTGROUP;
4624        if ("ResearchStudy".equals(codeString))
4625          return FHIRAllTypes.RESEARCHSTUDY;
4626        if ("ResearchSubject".equals(codeString))
4627          return FHIRAllTypes.RESEARCHSUBJECT;
4628        if ("Resource".equals(codeString))
4629          return FHIRAllTypes.RESOURCE;
4630        if ("RiskAssessment".equals(codeString))
4631          return FHIRAllTypes.RISKASSESSMENT;
4632        if ("Schedule".equals(codeString))
4633          return FHIRAllTypes.SCHEDULE;
4634        if ("SearchParameter".equals(codeString))
4635          return FHIRAllTypes.SEARCHPARAMETER;
4636        if ("Sequence".equals(codeString))
4637          return FHIRAllTypes.SEQUENCE;
4638        if ("ServiceRequest".equals(codeString))
4639          return FHIRAllTypes.SERVICEREQUEST;
4640        if ("Slot".equals(codeString))
4641          return FHIRAllTypes.SLOT;
4642        if ("Specimen".equals(codeString))
4643          return FHIRAllTypes.SPECIMEN;
4644        if ("SpecimenDefinition".equals(codeString))
4645          return FHIRAllTypes.SPECIMENDEFINITION;
4646        if ("StructureDefinition".equals(codeString))
4647          return FHIRAllTypes.STRUCTUREDEFINITION;
4648        if ("StructureMap".equals(codeString))
4649          return FHIRAllTypes.STRUCTUREMAP;
4650        if ("Subscription".equals(codeString))
4651          return FHIRAllTypes.SUBSCRIPTION;
4652        if ("Substance".equals(codeString))
4653          return FHIRAllTypes.SUBSTANCE;
4654        if ("SubstancePolymer".equals(codeString))
4655          return FHIRAllTypes.SUBSTANCEPOLYMER;
4656        if ("SubstanceReferenceInformation".equals(codeString))
4657          return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION;
4658        if ("SubstanceSpecification".equals(codeString))
4659          return FHIRAllTypes.SUBSTANCESPECIFICATION;
4660        if ("SupplyDelivery".equals(codeString))
4661          return FHIRAllTypes.SUPPLYDELIVERY;
4662        if ("SupplyRequest".equals(codeString))
4663          return FHIRAllTypes.SUPPLYREQUEST;
4664        if ("Task".equals(codeString))
4665          return FHIRAllTypes.TASK;
4666        if ("TerminologyCapabilities".equals(codeString))
4667          return FHIRAllTypes.TERMINOLOGYCAPABILITIES;
4668        if ("TestReport".equals(codeString))
4669          return FHIRAllTypes.TESTREPORT;
4670        if ("TestScript".equals(codeString))
4671          return FHIRAllTypes.TESTSCRIPT;
4672        if ("UserSession".equals(codeString))
4673          return FHIRAllTypes.USERSESSION;
4674        if ("ValueSet".equals(codeString))
4675          return FHIRAllTypes.VALUESET;
4676        if ("VerificationResult".equals(codeString))
4677          return FHIRAllTypes.VERIFICATIONRESULT;
4678        if ("VisionPrescription".equals(codeString))
4679          return FHIRAllTypes.VISIONPRESCRIPTION;
4680        if ("Type".equals(codeString))
4681          return FHIRAllTypes.TYPE;
4682        if ("Any".equals(codeString))
4683          return FHIRAllTypes.ANY;
4684        throw new IllegalArgumentException("Unknown FHIRAllTypes code '"+codeString+"'");
4685        }
4686        public Enumeration<FHIRAllTypes> fromType(Base code) throws FHIRException {
4687          if (code == null)
4688            return null;
4689          if (code.isEmpty())
4690            return new Enumeration<FHIRAllTypes>(this);
4691          String codeString = ((PrimitiveType) code).asStringValue();
4692          if (codeString == null || "".equals(codeString))
4693            return null;
4694        if ("Address".equals(codeString))
4695          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADDRESS);
4696        if ("Age".equals(codeString))
4697          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AGE);
4698        if ("Annotation".equals(codeString))
4699          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANNOTATION);
4700        if ("Attachment".equals(codeString))
4701          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ATTACHMENT);
4702        if ("BackboneElement".equals(codeString))
4703          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BACKBONEELEMENT);
4704        if ("CodeableConcept".equals(codeString))
4705          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODEABLECONCEPT);
4706        if ("Coding".equals(codeString))
4707          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODING);
4708        if ("ContactDetail".equals(codeString))
4709          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTDETAIL);
4710        if ("ContactPoint".equals(codeString))
4711          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTPOINT);
4712        if ("Contributor".equals(codeString))
4713          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRIBUTOR);
4714        if ("Count".equals(codeString))
4715          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COUNT);
4716        if ("DataRequirement".equals(codeString))
4717          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATAREQUIREMENT);
4718        if ("Distance".equals(codeString))
4719          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DISTANCE);
4720        if ("Dosage".equals(codeString))
4721          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOSAGE);
4722        if ("Duration".equals(codeString))
4723          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DURATION);
4724        if ("Element".equals(codeString))
4725          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENT);
4726        if ("ElementDefinition".equals(codeString))
4727          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENTDEFINITION);
4728        if ("Extension".equals(codeString))
4729          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXTENSION);
4730        if ("HumanName".equals(codeString))
4731          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HUMANNAME);
4732        if ("Identifier".equals(codeString))
4733          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IDENTIFIER);
4734        if ("MarketingStatus".equals(codeString))
4735          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKETINGSTATUS);
4736        if ("Meta".equals(codeString))
4737          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.META);
4738        if ("Money".equals(codeString))
4739          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEY);
4740        if ("Narrative".equals(codeString))
4741          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NARRATIVE);
4742        if ("ParameterDefinition".equals(codeString))
4743          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERDEFINITION);
4744        if ("Period".equals(codeString))
4745          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERIOD);
4746        if ("ProdCharacteristic".equals(codeString))
4747          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODCHARACTERISTIC);
4748        if ("ProductShelfLife".equals(codeString))
4749          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTSHELFLIFE);
4750        if ("Quantity".equals(codeString))
4751          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUANTITY);
4752        if ("Range".equals(codeString))
4753          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RANGE);
4754        if ("Ratio".equals(codeString))
4755          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RATIO);
4756        if ("Reference".equals(codeString))
4757          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REFERENCE);
4758        if ("RelatedArtifact".equals(codeString))
4759          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDARTIFACT);
4760        if ("SampledData".equals(codeString))
4761          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SAMPLEDDATA);
4762        if ("Signature".equals(codeString))
4763          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIGNATURE);
4764        if ("SimpleQuantity".equals(codeString))
4765          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIMPLEQUANTITY);
4766        if ("SubstanceAmount".equals(codeString))
4767          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEAMOUNT);
4768        if ("SubstanceMoiety".equals(codeString))
4769          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEMOIETY);
4770        if ("Timing".equals(codeString))
4771          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIMING);
4772        if ("TriggerDefinition".equals(codeString))
4773          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TRIGGERDEFINITION);
4774        if ("UsageContext".equals(codeString))
4775          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USAGECONTEXT);
4776        if ("base64Binary".equals(codeString))
4777          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASE64BINARY);
4778        if ("boolean".equals(codeString))
4779          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BOOLEAN);
4780        if ("canonical".equals(codeString))
4781          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CANONICAL);
4782        if ("code".equals(codeString))
4783          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODE);
4784        if ("date".equals(codeString))
4785          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATE);
4786        if ("dateTime".equals(codeString))
4787          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATETIME);
4788        if ("decimal".equals(codeString))
4789          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DECIMAL);
4790        if ("id".equals(codeString))
4791          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ID);
4792        if ("instant".equals(codeString))
4793          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSTANT);
4794        if ("integer".equals(codeString))
4795          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INTEGER);
4796        if ("markdown".equals(codeString))
4797          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKDOWN);
4798        if ("oid".equals(codeString))
4799          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OID);
4800        if ("positiveInt".equals(codeString))
4801          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POSITIVEINT);
4802        if ("string".equals(codeString))
4803          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRING);
4804        if ("time".equals(codeString))
4805          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIME);
4806        if ("unsignedInt".equals(codeString))
4807          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UNSIGNEDINT);
4808        if ("uri".equals(codeString))
4809          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URI);
4810        if ("url".equals(codeString))
4811          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URL);
4812        if ("uuid".equals(codeString))
4813          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UUID);
4814        if ("xhtml".equals(codeString))
4815          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.XHTML);
4816        if ("Account".equals(codeString))
4817          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACCOUNT);
4818        if ("ActivityDefinition".equals(codeString))
4819          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACTIVITYDEFINITION);
4820        if ("AdverseEvent".equals(codeString))
4821          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADVERSEEVENT);
4822        if ("AllergyIntolerance".equals(codeString))
4823          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ALLERGYINTOLERANCE);
4824        if ("Appointment".equals(codeString))
4825          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENT);
4826        if ("AppointmentResponse".equals(codeString))
4827          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENTRESPONSE);
4828        if ("AuditEvent".equals(codeString))
4829          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AUDITEVENT);
4830        if ("Basic".equals(codeString))
4831          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASIC);
4832        if ("Binary".equals(codeString))
4833          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BINARY);
4834        if ("BiologicallyDerivedProduct".equals(codeString))
4835          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT);
4836        if ("BodyStructure".equals(codeString))
4837          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BODYSTRUCTURE);
4838        if ("Bundle".equals(codeString))
4839          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BUNDLE);
4840        if ("CapabilityStatement".equals(codeString))
4841          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAPABILITYSTATEMENT);
4842        if ("CarePlan".equals(codeString))
4843          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAREPLAN);
4844        if ("CareTeam".equals(codeString))
4845          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CARETEAM);
4846        if ("ChargeItem".equals(codeString))
4847          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEM);
4848        if ("Claim".equals(codeString))
4849          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIM);
4850        if ("ClaimResponse".equals(codeString))
4851          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIMRESPONSE);
4852        if ("ClinicalImpression".equals(codeString))
4853          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLINICALIMPRESSION);
4854        if ("CodeSystem".equals(codeString))
4855          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODESYSTEM);
4856        if ("Communication".equals(codeString))
4857          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATION);
4858        if ("CommunicationRequest".equals(codeString))
4859          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATIONREQUEST);
4860        if ("CompartmentDefinition".equals(codeString))
4861          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPARTMENTDEFINITION);
4862        if ("Composition".equals(codeString))
4863          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPOSITION);
4864        if ("ConceptMap".equals(codeString))
4865          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONCEPTMAP);
4866        if ("Condition".equals(codeString))
4867          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONDITION);
4868        if ("Consent".equals(codeString))
4869          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONSENT);
4870        if ("Contract".equals(codeString))
4871          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRACT);
4872        if ("Coverage".equals(codeString))
4873          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGE);
4874        if ("DetectedIssue".equals(codeString))
4875          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DETECTEDISSUE);
4876        if ("Device".equals(codeString))
4877          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICE);
4878        if ("DeviceComponent".equals(codeString))
4879          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICECOMPONENT);
4880        if ("DeviceMetric".equals(codeString))
4881          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEMETRIC);
4882        if ("DeviceRequest".equals(codeString))
4883          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEREQUEST);
4884        if ("DeviceUseStatement".equals(codeString))
4885          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEUSESTATEMENT);
4886        if ("DiagnosticReport".equals(codeString))
4887          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DIAGNOSTICREPORT);
4888        if ("DocumentManifest".equals(codeString))
4889          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTMANIFEST);
4890        if ("DocumentReference".equals(codeString))
4891          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTREFERENCE);
4892        if ("DomainResource".equals(codeString))
4893          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOMAINRESOURCE);
4894        if ("EligibilityRequest".equals(codeString))
4895          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELIGIBILITYREQUEST);
4896        if ("EligibilityResponse".equals(codeString))
4897          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELIGIBILITYRESPONSE);
4898        if ("Encounter".equals(codeString))
4899          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENCOUNTER);
4900        if ("Endpoint".equals(codeString))
4901          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENDPOINT);
4902        if ("EnrollmentRequest".equals(codeString))
4903          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTREQUEST);
4904        if ("EnrollmentResponse".equals(codeString))
4905          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTRESPONSE);
4906        if ("EntryDefinition".equals(codeString))
4907          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENTRYDEFINITION);
4908        if ("EpisodeOfCare".equals(codeString))
4909          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EPISODEOFCARE);
4910        if ("EventDefinition".equals(codeString))
4911          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVENTDEFINITION);
4912        if ("ExampleScenario".equals(codeString))
4913          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXAMPLESCENARIO);
4914        if ("ExpansionProfile".equals(codeString))
4915          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPANSIONPROFILE);
4916        if ("ExplanationOfBenefit".equals(codeString))
4917          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPLANATIONOFBENEFIT);
4918        if ("FamilyMemberHistory".equals(codeString))
4919          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FAMILYMEMBERHISTORY);
4920        if ("Flag".equals(codeString))
4921          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FLAG);
4922        if ("Goal".equals(codeString))
4923          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GOAL);
4924        if ("GraphDefinition".equals(codeString))
4925          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GRAPHDEFINITION);
4926        if ("Group".equals(codeString))
4927          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GROUP);
4928        if ("GuidanceResponse".equals(codeString))
4929          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GUIDANCERESPONSE);
4930        if ("HealthcareService".equals(codeString))
4931          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HEALTHCARESERVICE);
4932        if ("ImagingStudy".equals(codeString))
4933          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMAGINGSTUDY);
4934        if ("Immunization".equals(codeString))
4935          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATION);
4936        if ("ImmunizationEvaluation".equals(codeString))
4937          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONEVALUATION);
4938        if ("ImmunizationRecommendation".equals(codeString))
4939          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION);
4940        if ("ImplementationGuide".equals(codeString))
4941          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMPLEMENTATIONGUIDE);
4942        if ("Invoice".equals(codeString))
4943          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INVOICE);
4944        if ("ItemInstance".equals(codeString))
4945          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ITEMINSTANCE);
4946        if ("Library".equals(codeString))
4947          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIBRARY);
4948        if ("Linkage".equals(codeString))
4949          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LINKAGE);
4950        if ("List".equals(codeString))
4951          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIST);
4952        if ("Location".equals(codeString))
4953          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LOCATION);
4954        if ("Measure".equals(codeString))
4955          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASURE);
4956        if ("MeasureReport".equals(codeString))
4957          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASUREREPORT);
4958        if ("Media".equals(codeString))
4959          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDIA);
4960        if ("Medication".equals(codeString))
4961          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATION);
4962        if ("MedicationAdministration".equals(codeString))
4963          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONADMINISTRATION);
4964        if ("MedicationDispense".equals(codeString))
4965          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONDISPENSE);
4966        if ("MedicationKnowledge".equals(codeString))
4967          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONKNOWLEDGE);
4968        if ("MedicationRequest".equals(codeString))
4969          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONREQUEST);
4970        if ("MedicationStatement".equals(codeString))
4971          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONSTATEMENT);
4972        if ("MedicinalProduct".equals(codeString))
4973          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCT);
4974        if ("MedicinalProductAuthorization".equals(codeString))
4975          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION);
4976        if ("MedicinalProductClinicals".equals(codeString))
4977          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCLINICALS);
4978        if ("MedicinalProductDeviceSpec".equals(codeString))
4979          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC);
4980        if ("MedicinalProductIngredient".equals(codeString))
4981          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINGREDIENT);
4982        if ("MedicinalProductPackaged".equals(codeString))
4983          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPACKAGED);
4984        if ("MedicinalProductPharmaceutical".equals(codeString))
4985          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL);
4986        if ("MessageDefinition".equals(codeString))
4987          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEDEFINITION);
4988        if ("MessageHeader".equals(codeString))
4989          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEHEADER);
4990        if ("NamingSystem".equals(codeString))
4991          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NAMINGSYSTEM);
4992        if ("NutritionOrder".equals(codeString))
4993          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NUTRITIONORDER);
4994        if ("Observation".equals(codeString))
4995          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATION);
4996        if ("ObservationDefinition".equals(codeString))
4997          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATIONDEFINITION);
4998        if ("OccupationalData".equals(codeString))
4999          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OCCUPATIONALDATA);
5000        if ("OperationDefinition".equals(codeString))
5001          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONDEFINITION);
5002        if ("OperationOutcome".equals(codeString))
5003          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONOUTCOME);
5004        if ("Organization".equals(codeString))
5005          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATION);
5006        if ("OrganizationRole".equals(codeString))
5007          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATIONROLE);
5008        if ("Parameters".equals(codeString))
5009          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERS);
5010        if ("Patient".equals(codeString))
5011          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PATIENT);
5012        if ("PaymentNotice".equals(codeString))
5013          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTNOTICE);
5014        if ("PaymentReconciliation".equals(codeString))
5015          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTRECONCILIATION);
5016        if ("Person".equals(codeString))
5017          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERSON);
5018        if ("PlanDefinition".equals(codeString))
5019          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PLANDEFINITION);
5020        if ("Practitioner".equals(codeString))
5021          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONER);
5022        if ("PractitionerRole".equals(codeString))
5023          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONERROLE);
5024        if ("Procedure".equals(codeString))
5025          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCEDURE);
5026        if ("ProcessRequest".equals(codeString))
5027          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCESSREQUEST);
5028        if ("ProcessResponse".equals(codeString))
5029          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCESSRESPONSE);
5030        if ("ProductPlan".equals(codeString))
5031          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTPLAN);
5032        if ("Provenance".equals(codeString))
5033          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROVENANCE);
5034        if ("Questionnaire".equals(codeString))
5035          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRE);
5036        if ("QuestionnaireResponse".equals(codeString))
5037          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRERESPONSE);
5038        if ("RelatedPerson".equals(codeString))
5039          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDPERSON);
5040        if ("RequestGroup".equals(codeString))
5041          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REQUESTGROUP);
5042        if ("ResearchStudy".equals(codeString))
5043          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSTUDY);
5044        if ("ResearchSubject".equals(codeString))
5045          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSUBJECT);
5046        if ("Resource".equals(codeString))
5047          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESOURCE);
5048        if ("RiskAssessment".equals(codeString))
5049          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKASSESSMENT);
5050        if ("Schedule".equals(codeString))
5051          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SCHEDULE);
5052        if ("SearchParameter".equals(codeString))
5053          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEARCHPARAMETER);
5054        if ("Sequence".equals(codeString))
5055          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEQUENCE);
5056        if ("ServiceRequest".equals(codeString))
5057          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SERVICEREQUEST);
5058        if ("Slot".equals(codeString))
5059          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SLOT);
5060        if ("Specimen".equals(codeString))
5061          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMEN);
5062        if ("SpecimenDefinition".equals(codeString))
5063          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMENDEFINITION);
5064        if ("StructureDefinition".equals(codeString))
5065          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREDEFINITION);
5066        if ("StructureMap".equals(codeString))
5067          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREMAP);
5068        if ("Subscription".equals(codeString))
5069          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSCRIPTION);
5070        if ("Substance".equals(codeString))
5071          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCE);
5072        if ("SubstancePolymer".equals(codeString))
5073          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPOLYMER);
5074        if ("SubstanceReferenceInformation".equals(codeString))
5075          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION);
5076        if ("SubstanceSpecification".equals(codeString))
5077          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESPECIFICATION);
5078        if ("SupplyDelivery".equals(codeString))
5079          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYDELIVERY);
5080        if ("SupplyRequest".equals(codeString))
5081          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYREQUEST);
5082        if ("Task".equals(codeString))
5083          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TASK);
5084        if ("TerminologyCapabilities".equals(codeString))
5085          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES);
5086        if ("TestReport".equals(codeString))
5087          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTREPORT);
5088        if ("TestScript".equals(codeString))
5089          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTSCRIPT);
5090        if ("UserSession".equals(codeString))
5091          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USERSESSION);
5092        if ("ValueSet".equals(codeString))
5093          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VALUESET);
5094        if ("VerificationResult".equals(codeString))
5095          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VERIFICATIONRESULT);
5096        if ("VisionPrescription".equals(codeString))
5097          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VISIONPRESCRIPTION);
5098        if ("Type".equals(codeString))
5099          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TYPE);
5100        if ("Any".equals(codeString))
5101          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANY);
5102        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
5103        }
5104    public String toCode(FHIRAllTypes code) {
5105      if (code == FHIRAllTypes.ADDRESS)
5106        return "Address";
5107      if (code == FHIRAllTypes.AGE)
5108        return "Age";
5109      if (code == FHIRAllTypes.ANNOTATION)
5110        return "Annotation";
5111      if (code == FHIRAllTypes.ATTACHMENT)
5112        return "Attachment";
5113      if (code == FHIRAllTypes.BACKBONEELEMENT)
5114        return "BackboneElement";
5115      if (code == FHIRAllTypes.CODEABLECONCEPT)
5116        return "CodeableConcept";
5117      if (code == FHIRAllTypes.CODING)
5118        return "Coding";
5119      if (code == FHIRAllTypes.CONTACTDETAIL)
5120        return "ContactDetail";
5121      if (code == FHIRAllTypes.CONTACTPOINT)
5122        return "ContactPoint";
5123      if (code == FHIRAllTypes.CONTRIBUTOR)
5124        return "Contributor";
5125      if (code == FHIRAllTypes.COUNT)
5126        return "Count";
5127      if (code == FHIRAllTypes.DATAREQUIREMENT)
5128        return "DataRequirement";
5129      if (code == FHIRAllTypes.DISTANCE)
5130        return "Distance";
5131      if (code == FHIRAllTypes.DOSAGE)
5132        return "Dosage";
5133      if (code == FHIRAllTypes.DURATION)
5134        return "Duration";
5135      if (code == FHIRAllTypes.ELEMENT)
5136        return "Element";
5137      if (code == FHIRAllTypes.ELEMENTDEFINITION)
5138        return "ElementDefinition";
5139      if (code == FHIRAllTypes.EXTENSION)
5140        return "Extension";
5141      if (code == FHIRAllTypes.HUMANNAME)
5142        return "HumanName";
5143      if (code == FHIRAllTypes.IDENTIFIER)
5144        return "Identifier";
5145      if (code == FHIRAllTypes.MARKETINGSTATUS)
5146        return "MarketingStatus";
5147      if (code == FHIRAllTypes.META)
5148        return "Meta";
5149      if (code == FHIRAllTypes.MONEY)
5150        return "Money";
5151      if (code == FHIRAllTypes.NARRATIVE)
5152        return "Narrative";
5153      if (code == FHIRAllTypes.PARAMETERDEFINITION)
5154        return "ParameterDefinition";
5155      if (code == FHIRAllTypes.PERIOD)
5156        return "Period";
5157      if (code == FHIRAllTypes.PRODCHARACTERISTIC)
5158        return "ProdCharacteristic";
5159      if (code == FHIRAllTypes.PRODUCTSHELFLIFE)
5160        return "ProductShelfLife";
5161      if (code == FHIRAllTypes.QUANTITY)
5162        return "Quantity";
5163      if (code == FHIRAllTypes.RANGE)
5164        return "Range";
5165      if (code == FHIRAllTypes.RATIO)
5166        return "Ratio";
5167      if (code == FHIRAllTypes.REFERENCE)
5168        return "Reference";
5169      if (code == FHIRAllTypes.RELATEDARTIFACT)
5170        return "RelatedArtifact";
5171      if (code == FHIRAllTypes.SAMPLEDDATA)
5172        return "SampledData";
5173      if (code == FHIRAllTypes.SIGNATURE)
5174        return "Signature";
5175      if (code == FHIRAllTypes.SIMPLEQUANTITY)
5176        return "SimpleQuantity";
5177      if (code == FHIRAllTypes.SUBSTANCEAMOUNT)
5178        return "SubstanceAmount";
5179      if (code == FHIRAllTypes.SUBSTANCEMOIETY)
5180        return "SubstanceMoiety";
5181      if (code == FHIRAllTypes.TIMING)
5182        return "Timing";
5183      if (code == FHIRAllTypes.TRIGGERDEFINITION)
5184        return "TriggerDefinition";
5185      if (code == FHIRAllTypes.USAGECONTEXT)
5186        return "UsageContext";
5187      if (code == FHIRAllTypes.BASE64BINARY)
5188        return "base64Binary";
5189      if (code == FHIRAllTypes.BOOLEAN)
5190        return "boolean";
5191      if (code == FHIRAllTypes.CANONICAL)
5192        return "canonical";
5193      if (code == FHIRAllTypes.CODE)
5194        return "code";
5195      if (code == FHIRAllTypes.DATE)
5196        return "date";
5197      if (code == FHIRAllTypes.DATETIME)
5198        return "dateTime";
5199      if (code == FHIRAllTypes.DECIMAL)
5200        return "decimal";
5201      if (code == FHIRAllTypes.ID)
5202        return "id";
5203      if (code == FHIRAllTypes.INSTANT)
5204        return "instant";
5205      if (code == FHIRAllTypes.INTEGER)
5206        return "integer";
5207      if (code == FHIRAllTypes.MARKDOWN)
5208        return "markdown";
5209      if (code == FHIRAllTypes.OID)
5210        return "oid";
5211      if (code == FHIRAllTypes.POSITIVEINT)
5212        return "positiveInt";
5213      if (code == FHIRAllTypes.STRING)
5214        return "string";
5215      if (code == FHIRAllTypes.TIME)
5216        return "time";
5217      if (code == FHIRAllTypes.UNSIGNEDINT)
5218        return "unsignedInt";
5219      if (code == FHIRAllTypes.URI)
5220        return "uri";
5221      if (code == FHIRAllTypes.URL)
5222        return "url";
5223      if (code == FHIRAllTypes.UUID)
5224        return "uuid";
5225      if (code == FHIRAllTypes.XHTML)
5226        return "xhtml";
5227      if (code == FHIRAllTypes.ACCOUNT)
5228        return "Account";
5229      if (code == FHIRAllTypes.ACTIVITYDEFINITION)
5230        return "ActivityDefinition";
5231      if (code == FHIRAllTypes.ADVERSEEVENT)
5232        return "AdverseEvent";
5233      if (code == FHIRAllTypes.ALLERGYINTOLERANCE)
5234        return "AllergyIntolerance";
5235      if (code == FHIRAllTypes.APPOINTMENT)
5236        return "Appointment";
5237      if (code == FHIRAllTypes.APPOINTMENTRESPONSE)
5238        return "AppointmentResponse";
5239      if (code == FHIRAllTypes.AUDITEVENT)
5240        return "AuditEvent";
5241      if (code == FHIRAllTypes.BASIC)
5242        return "Basic";
5243      if (code == FHIRAllTypes.BINARY)
5244        return "Binary";
5245      if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT)
5246        return "BiologicallyDerivedProduct";
5247      if (code == FHIRAllTypes.BODYSTRUCTURE)
5248        return "BodyStructure";
5249      if (code == FHIRAllTypes.BUNDLE)
5250        return "Bundle";
5251      if (code == FHIRAllTypes.CAPABILITYSTATEMENT)
5252        return "CapabilityStatement";
5253      if (code == FHIRAllTypes.CAREPLAN)
5254        return "CarePlan";
5255      if (code == FHIRAllTypes.CARETEAM)
5256        return "CareTeam";
5257      if (code == FHIRAllTypes.CHARGEITEM)
5258        return "ChargeItem";
5259      if (code == FHIRAllTypes.CLAIM)
5260        return "Claim";
5261      if (code == FHIRAllTypes.CLAIMRESPONSE)
5262        return "ClaimResponse";
5263      if (code == FHIRAllTypes.CLINICALIMPRESSION)
5264        return "ClinicalImpression";
5265      if (code == FHIRAllTypes.CODESYSTEM)
5266        return "CodeSystem";
5267      if (code == FHIRAllTypes.COMMUNICATION)
5268        return "Communication";
5269      if (code == FHIRAllTypes.COMMUNICATIONREQUEST)
5270        return "CommunicationRequest";
5271      if (code == FHIRAllTypes.COMPARTMENTDEFINITION)
5272        return "CompartmentDefinition";
5273      if (code == FHIRAllTypes.COMPOSITION)
5274        return "Composition";
5275      if (code == FHIRAllTypes.CONCEPTMAP)
5276        return "ConceptMap";
5277      if (code == FHIRAllTypes.CONDITION)
5278        return "Condition";
5279      if (code == FHIRAllTypes.CONSENT)
5280        return "Consent";
5281      if (code == FHIRAllTypes.CONTRACT)
5282        return "Contract";
5283      if (code == FHIRAllTypes.COVERAGE)
5284        return "Coverage";
5285      if (code == FHIRAllTypes.DETECTEDISSUE)
5286        return "DetectedIssue";
5287      if (code == FHIRAllTypes.DEVICE)
5288        return "Device";
5289      if (code == FHIRAllTypes.DEVICECOMPONENT)
5290        return "DeviceComponent";
5291      if (code == FHIRAllTypes.DEVICEMETRIC)
5292        return "DeviceMetric";
5293      if (code == FHIRAllTypes.DEVICEREQUEST)
5294        return "DeviceRequest";
5295      if (code == FHIRAllTypes.DEVICEUSESTATEMENT)
5296        return "DeviceUseStatement";
5297      if (code == FHIRAllTypes.DIAGNOSTICREPORT)
5298        return "DiagnosticReport";
5299      if (code == FHIRAllTypes.DOCUMENTMANIFEST)
5300        return "DocumentManifest";
5301      if (code == FHIRAllTypes.DOCUMENTREFERENCE)
5302        return "DocumentReference";
5303      if (code == FHIRAllTypes.DOMAINRESOURCE)
5304        return "DomainResource";
5305      if (code == FHIRAllTypes.ELIGIBILITYREQUEST)
5306        return "EligibilityRequest";
5307      if (code == FHIRAllTypes.ELIGIBILITYRESPONSE)
5308        return "EligibilityResponse";
5309      if (code == FHIRAllTypes.ENCOUNTER)
5310        return "Encounter";
5311      if (code == FHIRAllTypes.ENDPOINT)
5312        return "Endpoint";
5313      if (code == FHIRAllTypes.ENROLLMENTREQUEST)
5314        return "EnrollmentRequest";
5315      if (code == FHIRAllTypes.ENROLLMENTRESPONSE)
5316        return "EnrollmentResponse";
5317      if (code == FHIRAllTypes.ENTRYDEFINITION)
5318        return "EntryDefinition";
5319      if (code == FHIRAllTypes.EPISODEOFCARE)
5320        return "EpisodeOfCare";
5321      if (code == FHIRAllTypes.EVENTDEFINITION)
5322        return "EventDefinition";
5323      if (code == FHIRAllTypes.EXAMPLESCENARIO)
5324        return "ExampleScenario";
5325      if (code == FHIRAllTypes.EXPANSIONPROFILE)
5326        return "ExpansionProfile";
5327      if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT)
5328        return "ExplanationOfBenefit";
5329      if (code == FHIRAllTypes.FAMILYMEMBERHISTORY)
5330        return "FamilyMemberHistory";
5331      if (code == FHIRAllTypes.FLAG)
5332        return "Flag";
5333      if (code == FHIRAllTypes.GOAL)
5334        return "Goal";
5335      if (code == FHIRAllTypes.GRAPHDEFINITION)
5336        return "GraphDefinition";
5337      if (code == FHIRAllTypes.GROUP)
5338        return "Group";
5339      if (code == FHIRAllTypes.GUIDANCERESPONSE)
5340        return "GuidanceResponse";
5341      if (code == FHIRAllTypes.HEALTHCARESERVICE)
5342        return "HealthcareService";
5343      if (code == FHIRAllTypes.IMAGINGSTUDY)
5344        return "ImagingStudy";
5345      if (code == FHIRAllTypes.IMMUNIZATION)
5346        return "Immunization";
5347      if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION)
5348        return "ImmunizationEvaluation";
5349      if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION)
5350        return "ImmunizationRecommendation";
5351      if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE)
5352        return "ImplementationGuide";
5353      if (code == FHIRAllTypes.INVOICE)
5354        return "Invoice";
5355      if (code == FHIRAllTypes.ITEMINSTANCE)
5356        return "ItemInstance";
5357      if (code == FHIRAllTypes.LIBRARY)
5358        return "Library";
5359      if (code == FHIRAllTypes.LINKAGE)
5360        return "Linkage";
5361      if (code == FHIRAllTypes.LIST)
5362        return "List";
5363      if (code == FHIRAllTypes.LOCATION)
5364        return "Location";
5365      if (code == FHIRAllTypes.MEASURE)
5366        return "Measure";
5367      if (code == FHIRAllTypes.MEASUREREPORT)
5368        return "MeasureReport";
5369      if (code == FHIRAllTypes.MEDIA)
5370        return "Media";
5371      if (code == FHIRAllTypes.MEDICATION)
5372        return "Medication";
5373      if (code == FHIRAllTypes.MEDICATIONADMINISTRATION)
5374        return "MedicationAdministration";
5375      if (code == FHIRAllTypes.MEDICATIONDISPENSE)
5376        return "MedicationDispense";
5377      if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE)
5378        return "MedicationKnowledge";
5379      if (code == FHIRAllTypes.MEDICATIONREQUEST)
5380        return "MedicationRequest";
5381      if (code == FHIRAllTypes.MEDICATIONSTATEMENT)
5382        return "MedicationStatement";
5383      if (code == FHIRAllTypes.MEDICINALPRODUCT)
5384        return "MedicinalProduct";
5385      if (code == FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION)
5386        return "MedicinalProductAuthorization";
5387      if (code == FHIRAllTypes.MEDICINALPRODUCTCLINICALS)
5388        return "MedicinalProductClinicals";
5389      if (code == FHIRAllTypes.MEDICINALPRODUCTDEVICESPEC)
5390        return "MedicinalProductDeviceSpec";
5391      if (code == FHIRAllTypes.MEDICINALPRODUCTINGREDIENT)
5392        return "MedicinalProductIngredient";
5393      if (code == FHIRAllTypes.MEDICINALPRODUCTPACKAGED)
5394        return "MedicinalProductPackaged";
5395      if (code == FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL)
5396        return "MedicinalProductPharmaceutical";
5397      if (code == FHIRAllTypes.MESSAGEDEFINITION)
5398        return "MessageDefinition";
5399      if (code == FHIRAllTypes.MESSAGEHEADER)
5400        return "MessageHeader";
5401      if (code == FHIRAllTypes.NAMINGSYSTEM)
5402        return "NamingSystem";
5403      if (code == FHIRAllTypes.NUTRITIONORDER)
5404        return "NutritionOrder";
5405      if (code == FHIRAllTypes.OBSERVATION)
5406        return "Observation";
5407      if (code == FHIRAllTypes.OBSERVATIONDEFINITION)
5408        return "ObservationDefinition";
5409      if (code == FHIRAllTypes.OCCUPATIONALDATA)
5410        return "OccupationalData";
5411      if (code == FHIRAllTypes.OPERATIONDEFINITION)
5412        return "OperationDefinition";
5413      if (code == FHIRAllTypes.OPERATIONOUTCOME)
5414        return "OperationOutcome";
5415      if (code == FHIRAllTypes.ORGANIZATION)
5416        return "Organization";
5417      if (code == FHIRAllTypes.ORGANIZATIONROLE)
5418        return "OrganizationRole";
5419      if (code == FHIRAllTypes.PARAMETERS)
5420        return "Parameters";
5421      if (code == FHIRAllTypes.PATIENT)
5422        return "Patient";
5423      if (code == FHIRAllTypes.PAYMENTNOTICE)
5424        return "PaymentNotice";
5425      if (code == FHIRAllTypes.PAYMENTRECONCILIATION)
5426        return "PaymentReconciliation";
5427      if (code == FHIRAllTypes.PERSON)
5428        return "Person";
5429      if (code == FHIRAllTypes.PLANDEFINITION)
5430        return "PlanDefinition";
5431      if (code == FHIRAllTypes.PRACTITIONER)
5432        return "Practitioner";
5433      if (code == FHIRAllTypes.PRACTITIONERROLE)
5434        return "PractitionerRole";
5435      if (code == FHIRAllTypes.PROCEDURE)
5436        return "Procedure";
5437      if (code == FHIRAllTypes.PROCESSREQUEST)
5438        return "ProcessRequest";
5439      if (code == FHIRAllTypes.PROCESSRESPONSE)
5440        return "ProcessResponse";
5441      if (code == FHIRAllTypes.PRODUCTPLAN)
5442        return "ProductPlan";
5443      if (code == FHIRAllTypes.PROVENANCE)
5444        return "Provenance";
5445      if (code == FHIRAllTypes.QUESTIONNAIRE)
5446        return "Questionnaire";
5447      if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE)
5448        return "QuestionnaireResponse";
5449      if (code == FHIRAllTypes.RELATEDPERSON)
5450        return "RelatedPerson";
5451      if (code == FHIRAllTypes.REQUESTGROUP)
5452        return "RequestGroup";
5453      if (code == FHIRAllTypes.RESEARCHSTUDY)
5454        return "ResearchStudy";
5455      if (code == FHIRAllTypes.RESEARCHSUBJECT)
5456        return "ResearchSubject";
5457      if (code == FHIRAllTypes.RESOURCE)
5458        return "Resource";
5459      if (code == FHIRAllTypes.RISKASSESSMENT)
5460        return "RiskAssessment";
5461      if (code == FHIRAllTypes.SCHEDULE)
5462        return "Schedule";
5463      if (code == FHIRAllTypes.SEARCHPARAMETER)
5464        return "SearchParameter";
5465      if (code == FHIRAllTypes.SEQUENCE)
5466        return "Sequence";
5467      if (code == FHIRAllTypes.SERVICEREQUEST)
5468        return "ServiceRequest";
5469      if (code == FHIRAllTypes.SLOT)
5470        return "Slot";
5471      if (code == FHIRAllTypes.SPECIMEN)
5472        return "Specimen";
5473      if (code == FHIRAllTypes.SPECIMENDEFINITION)
5474        return "SpecimenDefinition";
5475      if (code == FHIRAllTypes.STRUCTUREDEFINITION)
5476        return "StructureDefinition";
5477      if (code == FHIRAllTypes.STRUCTUREMAP)
5478        return "StructureMap";
5479      if (code == FHIRAllTypes.SUBSCRIPTION)
5480        return "Subscription";
5481      if (code == FHIRAllTypes.SUBSTANCE)
5482        return "Substance";
5483      if (code == FHIRAllTypes.SUBSTANCEPOLYMER)
5484        return "SubstancePolymer";
5485      if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION)
5486        return "SubstanceReferenceInformation";
5487      if (code == FHIRAllTypes.SUBSTANCESPECIFICATION)
5488        return "SubstanceSpecification";
5489      if (code == FHIRAllTypes.SUPPLYDELIVERY)
5490        return "SupplyDelivery";
5491      if (code == FHIRAllTypes.SUPPLYREQUEST)
5492        return "SupplyRequest";
5493      if (code == FHIRAllTypes.TASK)
5494        return "Task";
5495      if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES)
5496        return "TerminologyCapabilities";
5497      if (code == FHIRAllTypes.TESTREPORT)
5498        return "TestReport";
5499      if (code == FHIRAllTypes.TESTSCRIPT)
5500        return "TestScript";
5501      if (code == FHIRAllTypes.USERSESSION)
5502        return "UserSession";
5503      if (code == FHIRAllTypes.VALUESET)
5504        return "ValueSet";
5505      if (code == FHIRAllTypes.VERIFICATIONRESULT)
5506        return "VerificationResult";
5507      if (code == FHIRAllTypes.VISIONPRESCRIPTION)
5508        return "VisionPrescription";
5509      if (code == FHIRAllTypes.TYPE)
5510        return "Type";
5511      if (code == FHIRAllTypes.ANY)
5512        return "Any";
5513      return "?";
5514      }
5515    public String toSystem(FHIRAllTypes code) {
5516      return code.getSystem();
5517      }
5518    }
5519
5520    public enum FHIRDefinedType {
5521        /**
5522         * 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.
5523         */
5524        ADDRESS, 
5525        /**
5526         * A duration of time during which an organism (or a process) has existed.
5527         */
5528        AGE, 
5529        /**
5530         * A  text note which also  contains information about who made the statement and when.
5531         */
5532        ANNOTATION, 
5533        /**
5534         * For referring to data content defined in other formats.
5535         */
5536        ATTACHMENT, 
5537        /**
5538         * Base definition for all elements that are defined inside a resource - but not those in a data type.
5539         */
5540        BACKBONEELEMENT, 
5541        /**
5542         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
5543         */
5544        CODEABLECONCEPT, 
5545        /**
5546         * A reference to a code defined by a terminology system.
5547         */
5548        CODING, 
5549        /**
5550         * Specifies contact information for a person or organization.
5551         */
5552        CONTACTDETAIL, 
5553        /**
5554         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
5555         */
5556        CONTACTPOINT, 
5557        /**
5558         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
5559         */
5560        CONTRIBUTOR, 
5561        /**
5562         * 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.
5563         */
5564        COUNT, 
5565        /**
5566         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
5567         */
5568        DATAREQUIREMENT, 
5569        /**
5570         * A length - a value with a unit that is a physical distance.
5571         */
5572        DISTANCE, 
5573        /**
5574         * Indicates how the medication is/was taken or should be taken by the patient.
5575         */
5576        DOSAGE, 
5577        /**
5578         * A length of time.
5579         */
5580        DURATION, 
5581        /**
5582         * Base definition for all elements in a resource.
5583         */
5584        ELEMENT, 
5585        /**
5586         * Captures constraints on each element within the resource, profile, or extension.
5587         */
5588        ELEMENTDEFINITION, 
5589        /**
5590         * Optional Extension Element - found in all resources.
5591         */
5592        EXTENSION, 
5593        /**
5594         * A human's name with the ability to identify parts and usage.
5595         */
5596        HUMANNAME, 
5597        /**
5598         * A technical identifier - identifies some entity uniquely and unambiguously.
5599         */
5600        IDENTIFIER, 
5601        /**
5602         * 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.
5603         */
5604        MARKETINGSTATUS, 
5605        /**
5606         * 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.
5607         */
5608        META, 
5609        /**
5610         * An amount of economic utility in some recognized currency.
5611         */
5612        MONEY, 
5613        /**
5614         * A human-readable formatted text, including images.
5615         */
5616        NARRATIVE, 
5617        /**
5618         * 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.
5619         */
5620        PARAMETERDEFINITION, 
5621        /**
5622         * A time period defined by a start and end date and optionally time.
5623         */
5624        PERIOD, 
5625        /**
5626         * 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.
5627         */
5628        PRODCHARACTERISTIC, 
5629        /**
5630         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
5631         */
5632        PRODUCTSHELFLIFE, 
5633        /**
5634         * 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.
5635         */
5636        QUANTITY, 
5637        /**
5638         * A set of ordered Quantities defined by a low and high limit.
5639         */
5640        RANGE, 
5641        /**
5642         * A relationship of two Quantity values - expressed as a numerator and a denominator.
5643         */
5644        RATIO, 
5645        /**
5646         * A reference from one resource to another.
5647         */
5648        REFERENCE, 
5649        /**
5650         * Related artifacts such as additional documentation, justification, or bibliographic references.
5651         */
5652        RELATEDARTIFACT, 
5653        /**
5654         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
5655         */
5656        SAMPLEDDATA, 
5657        /**
5658         * 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.
5659         */
5660        SIGNATURE, 
5661        /**
5662         * null
5663         */
5664        SIMPLEQUANTITY, 
5665        /**
5666         * 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.
5667         */
5668        SUBSTANCEAMOUNT, 
5669        /**
5670         * 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.
5671         */
5672        SUBSTANCEMOIETY, 
5673        /**
5674         * 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.
5675         */
5676        TIMING, 
5677        /**
5678         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
5679         */
5680        TRIGGERDEFINITION, 
5681        /**
5682         * 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).
5683         */
5684        USAGECONTEXT, 
5685        /**
5686         * A stream of bytes
5687         */
5688        BASE64BINARY, 
5689        /**
5690         * Value of "true" or "false"
5691         */
5692        BOOLEAN, 
5693        /**
5694         * A URI that is a reference to a canonical URI on a FHIR resource
5695         */
5696        CANONICAL, 
5697        /**
5698         * 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
5699         */
5700        CODE, 
5701        /**
5702         * 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.
5703         */
5704        DATE, 
5705        /**
5706         * 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.
5707         */
5708        DATETIME, 
5709        /**
5710         * A rational number with implicit precision
5711         */
5712        DECIMAL, 
5713        /**
5714         * 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.
5715         */
5716        ID, 
5717        /**
5718         * An instant in time - known at least to the second
5719         */
5720        INSTANT, 
5721        /**
5722         * A whole number
5723         */
5724        INTEGER, 
5725        /**
5726         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
5727         */
5728        MARKDOWN, 
5729        /**
5730         * An OID represented as a URI
5731         */
5732        OID, 
5733        /**
5734         * An integer with a value that is positive (e.g. >0)
5735         */
5736        POSITIVEINT, 
5737        /**
5738         * A sequence of Unicode characters
5739         */
5740        STRING, 
5741        /**
5742         * A time during the day, with no date specified
5743         */
5744        TIME, 
5745        /**
5746         * An integer with a value that is not negative (e.g. >= 0)
5747         */
5748        UNSIGNEDINT, 
5749        /**
5750         * String of characters used to identify a name or a resource
5751         */
5752        URI, 
5753        /**
5754         * A URI that is a literal reference
5755         */
5756        URL, 
5757        /**
5758         * A UUID, represented as a URI
5759         */
5760        UUID, 
5761        /**
5762         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
5763         */
5764        XHTML, 
5765        /**
5766         * 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.
5767         */
5768        ACCOUNT, 
5769        /**
5770         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
5771         */
5772        ACTIVITYDEFINITION, 
5773        /**
5774         * 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.
5775         */
5776        ADVERSEEVENT, 
5777        /**
5778         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
5779         */
5780        ALLERGYINTOLERANCE, 
5781        /**
5782         * 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).
5783         */
5784        APPOINTMENT, 
5785        /**
5786         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
5787         */
5788        APPOINTMENTRESPONSE, 
5789        /**
5790         * 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.
5791         */
5792        AUDITEVENT, 
5793        /**
5794         * 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.
5795         */
5796        BASIC, 
5797        /**
5798         * A binary resource can contain any content, whether text, image, pdf, zip archive, etc.
5799         */
5800        BINARY, 
5801        /**
5802         * A material substance originating from a biological entity intended to be transplanted or infused
5803into another (possibly the same) biological entity.
5804         */
5805        BIOLOGICALLYDERIVEDPRODUCT, 
5806        /**
5807         * 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.
5808         */
5809        BODYSTRUCTURE, 
5810        /**
5811         * A container for a collection of resources.
5812         */
5813        BUNDLE, 
5814        /**
5815         * 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.
5816         */
5817        CAPABILITYSTATEMENT, 
5818        /**
5819         * 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.
5820         */
5821        CAREPLAN, 
5822        /**
5823         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
5824         */
5825        CARETEAM, 
5826        /**
5827         * 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.
5828         */
5829        CHARGEITEM, 
5830        /**
5831         * 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.
5832         */
5833        CLAIM, 
5834        /**
5835         * This resource provides the adjudication details from the processing of a Claim resource.
5836         */
5837        CLAIMRESPONSE, 
5838        /**
5839         * 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.
5840         */
5841        CLINICALIMPRESSION, 
5842        /**
5843         * 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.
5844         */
5845        CODESYSTEM, 
5846        /**
5847         * 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.
5848         */
5849        COMMUNICATION, 
5850        /**
5851         * 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.
5852         */
5853        COMMUNICATIONREQUEST, 
5854        /**
5855         * A compartment definition that defines how resources are accessed on a server.
5856         */
5857        COMPARTMENTDEFINITION, 
5858        /**
5859         * 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.).
5860         */
5861        COMPOSITION, 
5862        /**
5863         * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.
5864         */
5865        CONCEPTMAP, 
5866        /**
5867         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
5868         */
5869        CONDITION, 
5870        /**
5871         * 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.
5872         */
5873        CONSENT, 
5874        /**
5875         * A formal agreement between parties regarding the conduct of business, exchange of information or other matters.
5876         */
5877        CONTRACT, 
5878        /**
5879         * Financial instrument which may be used to reimburse or pay for health care products and services.
5880         */
5881        COVERAGE, 
5882        /**
5883         * 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.
5884         */
5885        DETECTEDISSUE, 
5886        /**
5887         * This resource identifies an instance or 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.
5888         */
5889        DEVICE, 
5890        /**
5891         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
5892         */
5893        DEVICECOMPONENT, 
5894        /**
5895         * Describes a measurement, calculation or setting capability of a medical device.
5896         */
5897        DEVICEMETRIC, 
5898        /**
5899         * 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.
5900         */
5901        DEVICEREQUEST, 
5902        /**
5903         * 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.
5904         */
5905        DEVICEUSESTATEMENT, 
5906        /**
5907         * 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.
5908         */
5909        DIAGNOSTICREPORT, 
5910        /**
5911         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
5912         */
5913        DOCUMENTMANIFEST, 
5914        /**
5915         * A reference to a document.
5916         */
5917        DOCUMENTREFERENCE, 
5918        /**
5919         * A resource that includes narrative, extensions, and contained resources.
5920         */
5921        DOMAINRESOURCE, 
5922        /**
5923         * The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
5924         */
5925        ELIGIBILITYREQUEST, 
5926        /**
5927         * This resource provides eligibility and plan details from the processing of an Eligibility resource.
5928         */
5929        ELIGIBILITYRESPONSE, 
5930        /**
5931         * 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.
5932         */
5933        ENCOUNTER, 
5934        /**
5935         * 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.
5936         */
5937        ENDPOINT, 
5938        /**
5939         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
5940         */
5941        ENROLLMENTREQUEST, 
5942        /**
5943         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
5944         */
5945        ENROLLMENTRESPONSE, 
5946        /**
5947         * Catalog entries are wrappers that contextualize items included in a catalog.
5948         */
5949        ENTRYDEFINITION, 
5950        /**
5951         * 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.
5952         */
5953        EPISODEOFCARE, 
5954        /**
5955         * The EventDefinition resource provides a reusable description of when a particular event can occur.
5956         */
5957        EVENTDEFINITION, 
5958        /**
5959         * Example of workflow instance.
5960         */
5961        EXAMPLESCENARIO, 
5962        /**
5963         * Resource to define constraints on the Expansion of a FHIR ValueSet.
5964         */
5965        EXPANSIONPROFILE, 
5966        /**
5967         * 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.
5968         */
5969        EXPLANATIONOFBENEFIT, 
5970        /**
5971         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
5972         */
5973        FAMILYMEMBERHISTORY, 
5974        /**
5975         * Prospective warnings of potential issues when providing care to the patient.
5976         */
5977        FLAG, 
5978        /**
5979         * 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.
5980         */
5981        GOAL, 
5982        /**
5983         * 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.
5984         */
5985        GRAPHDEFINITION, 
5986        /**
5987         * 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.
5988         */
5989        GROUP, 
5990        /**
5991         * 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.
5992         */
5993        GUIDANCERESPONSE, 
5994        /**
5995         * The details of a healthcare service available at a location.
5996         */
5997        HEALTHCARESERVICE, 
5998        /**
5999         * 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.
6000         */
6001        IMAGINGSTUDY, 
6002        /**
6003         * 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.
6004         */
6005        IMMUNIZATION, 
6006        /**
6007         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
6008         */
6009        IMMUNIZATIONEVALUATION, 
6010        /**
6011         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
6012         */
6013        IMMUNIZATIONRECOMMENDATION, 
6014        /**
6015         * 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.
6016         */
6017        IMPLEMENTATIONGUIDE, 
6018        /**
6019         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
6020         */
6021        INVOICE, 
6022        /**
6023         * A physical, countable instance of an item, for example one box or one unit.
6024         */
6025        ITEMINSTANCE, 
6026        /**
6027         * 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.
6028         */
6029        LIBRARY, 
6030        /**
6031         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
6032         */
6033        LINKAGE, 
6034        /**
6035         * A set of information summarized from a list of other resources.
6036         */
6037        LIST, 
6038        /**
6039         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
6040         */
6041        LOCATION, 
6042        /**
6043         * The Measure resource provides the definition of a quality measure.
6044         */
6045        MEASURE, 
6046        /**
6047         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
6048         */
6049        MEASUREREPORT, 
6050        /**
6051         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
6052         */
6053        MEDIA, 
6054        /**
6055         * 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.
6056         */
6057        MEDICATION, 
6058        /**
6059         * 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.
6060         */
6061        MEDICATIONADMINISTRATION, 
6062        /**
6063         * 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.
6064         */
6065        MEDICATIONDISPENSE, 
6066        /**
6067         * Information about a medication that is used to support knowledge.
6068         */
6069        MEDICATIONKNOWLEDGE, 
6070        /**
6071         * 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.
6072         */
6073        MEDICATIONREQUEST, 
6074        /**
6075         * 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. 
6076
6077The 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.
6078         */
6079        MEDICATIONSTATEMENT, 
6080        /**
6081         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
6082         */
6083        MEDICINALPRODUCT, 
6084        /**
6085         * The regulatory authorization of a medicinal product.
6086         */
6087        MEDICINALPRODUCTAUTHORIZATION, 
6088        /**
6089         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
6090         */
6091        MEDICINALPRODUCTCLINICALS, 
6092        /**
6093         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.
6094         */
6095        MEDICINALPRODUCTDEVICESPEC, 
6096        /**
6097         * An ingredient of a manufactured item or pharmaceutical product.
6098         */
6099        MEDICINALPRODUCTINGREDIENT, 
6100        /**
6101         * A medicinal product in a container or package.
6102         */
6103        MEDICINALPRODUCTPACKAGED, 
6104        /**
6105         * A pharmaceutical product described in terms of its composition and dose form.
6106         */
6107        MEDICINALPRODUCTPHARMACEUTICAL, 
6108        /**
6109         * 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.
6110         */
6111        MESSAGEDEFINITION, 
6112        /**
6113         * 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.
6114         */
6115        MESSAGEHEADER, 
6116        /**
6117         * 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.
6118         */
6119        NAMINGSYSTEM, 
6120        /**
6121         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
6122         */
6123        NUTRITIONORDER, 
6124        /**
6125         * Measurements and simple assertions made about a patient, device or other subject.
6126         */
6127        OBSERVATION, 
6128        /**
6129         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
6130         */
6131        OBSERVATIONDEFINITION, 
6132        /**
6133         * A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.
6134         */
6135        OCCUPATIONALDATA, 
6136        /**
6137         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
6138         */
6139        OPERATIONDEFINITION, 
6140        /**
6141         * A collection of error, warning or information messages that result from a system action.
6142         */
6143        OPERATIONOUTCOME, 
6144        /**
6145         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
6146         */
6147        ORGANIZATION, 
6148        /**
6149         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
6150         */
6151        ORGANIZATIONROLE, 
6152        /**
6153         * 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.
6154         */
6155        PARAMETERS, 
6156        /**
6157         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
6158         */
6159        PATIENT, 
6160        /**
6161         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
6162         */
6163        PAYMENTNOTICE, 
6164        /**
6165         * This resource provides payment details and claim references supporting a bulk payment.
6166         */
6167        PAYMENTRECONCILIATION, 
6168        /**
6169         * Demographics and administrative information about a person independent of a specific health-related context.
6170         */
6171        PERSON, 
6172        /**
6173         * 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.
6174         */
6175        PLANDEFINITION, 
6176        /**
6177         * A person who is directly or indirectly involved in the provisioning of healthcare.
6178         */
6179        PRACTITIONER, 
6180        /**
6181         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
6182         */
6183        PRACTITIONERROLE, 
6184        /**
6185         * An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
6186         */
6187        PROCEDURE, 
6188        /**
6189         * 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.
6190         */
6191        PROCESSREQUEST, 
6192        /**
6193         * This resource provides processing status, errors and notes from the processing of a resource.
6194         */
6195        PROCESSRESPONSE, 
6196        /**
6197         * Details of a Health Insurance product/plan provided by an organization.
6198         */
6199        PRODUCTPLAN, 
6200        /**
6201         * 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.
6202         */
6203        PROVENANCE, 
6204        /**
6205         * 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.
6206         */
6207        QUESTIONNAIRE, 
6208        /**
6209         * 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.
6210         */
6211        QUESTIONNAIRERESPONSE, 
6212        /**
6213         * 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.
6214         */
6215        RELATEDPERSON, 
6216        /**
6217         * 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".
6218         */
6219        REQUESTGROUP, 
6220        /**
6221         * 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.
6222         */
6223        RESEARCHSTUDY, 
6224        /**
6225         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
6226         */
6227        RESEARCHSUBJECT, 
6228        /**
6229         * This is the base resource type for everything.
6230         */
6231        RESOURCE, 
6232        /**
6233         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
6234         */
6235        RISKASSESSMENT, 
6236        /**
6237         * A container for slots of time that may be available for booking appointments.
6238         */
6239        SCHEDULE, 
6240        /**
6241         * A search parameter that defines a named search item that can be used to search/filter on a resource.
6242         */
6243        SEARCHPARAMETER, 
6244        /**
6245         * Raw data describing a biological sequence.
6246         */
6247        SEQUENCE, 
6248        /**
6249         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
6250         */
6251        SERVICEREQUEST, 
6252        /**
6253         * A slot of time on a schedule that may be available for booking appointments.
6254         */
6255        SLOT, 
6256        /**
6257         * A sample to be used for analysis.
6258         */
6259        SPECIMEN, 
6260        /**
6261         * A kind of specimen with associated set of requirements.
6262         */
6263        SPECIMENDEFINITION, 
6264        /**
6265         * 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.
6266         */
6267        STRUCTUREDEFINITION, 
6268        /**
6269         * A Map of relationships between 2 structures that can be used to transform data.
6270         */
6271        STRUCTUREMAP, 
6272        /**
6273         * 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.
6274         */
6275        SUBSCRIPTION, 
6276        /**
6277         * A homogeneous material with a definite composition.
6278         */
6279        SUBSTANCE, 
6280        /**
6281         * Todo.
6282         */
6283        SUBSTANCEPOLYMER, 
6284        /**
6285         * Todo.
6286         */
6287        SUBSTANCEREFERENCEINFORMATION, 
6288        /**
6289         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
6290         */
6291        SUBSTANCESPECIFICATION, 
6292        /**
6293         * Record of delivery of what is supplied.
6294         */
6295        SUPPLYDELIVERY, 
6296        /**
6297         * A record of a request for a medication, substance or device used in the healthcare setting.
6298         */
6299        SUPPLYREQUEST, 
6300        /**
6301         * A task to be performed.
6302         */
6303        TASK, 
6304        /**
6305         * 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.
6306         */
6307        TERMINOLOGYCAPABILITIES, 
6308        /**
6309         * A summary of information based on the results of executing a TestScript.
6310         */
6311        TESTREPORT, 
6312        /**
6313         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
6314         */
6315        TESTSCRIPT, 
6316        /**
6317         * Information about a user's current session.
6318         */
6319        USERSESSION, 
6320        /**
6321         * A ValueSet resource 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).
6322         */
6323        VALUESET, 
6324        /**
6325         * Describes validation requirements, source(s), status and dates for one or more elements.
6326         */
6327        VERIFICATIONRESULT, 
6328        /**
6329         * An authorization for the supply of glasses and/or contact lenses to a patient.
6330         */
6331        VISIONPRESCRIPTION, 
6332        /**
6333         * added to help the parsers
6334         */
6335        NULL;
6336        public static FHIRDefinedType fromCode(String codeString) throws FHIRException {
6337            if (codeString == null || "".equals(codeString))
6338                return null;
6339        if ("Address".equals(codeString))
6340          return ADDRESS;
6341        if ("Age".equals(codeString))
6342          return AGE;
6343        if ("Annotation".equals(codeString))
6344          return ANNOTATION;
6345        if ("Attachment".equals(codeString))
6346          return ATTACHMENT;
6347        if ("BackboneElement".equals(codeString))
6348          return BACKBONEELEMENT;
6349        if ("CodeableConcept".equals(codeString))
6350          return CODEABLECONCEPT;
6351        if ("Coding".equals(codeString))
6352          return CODING;
6353        if ("ContactDetail".equals(codeString))
6354          return CONTACTDETAIL;
6355        if ("ContactPoint".equals(codeString))
6356          return CONTACTPOINT;
6357        if ("Contributor".equals(codeString))
6358          return CONTRIBUTOR;
6359        if ("Count".equals(codeString))
6360          return COUNT;
6361        if ("DataRequirement".equals(codeString))
6362          return DATAREQUIREMENT;
6363        if ("Distance".equals(codeString))
6364          return DISTANCE;
6365        if ("Dosage".equals(codeString))
6366          return DOSAGE;
6367        if ("Duration".equals(codeString))
6368          return DURATION;
6369        if ("Element".equals(codeString))
6370          return ELEMENT;
6371        if ("ElementDefinition".equals(codeString))
6372          return ELEMENTDEFINITION;
6373        if ("Extension".equals(codeString))
6374          return EXTENSION;
6375        if ("HumanName".equals(codeString))
6376          return HUMANNAME;
6377        if ("Identifier".equals(codeString))
6378          return IDENTIFIER;
6379        if ("MarketingStatus".equals(codeString))
6380          return MARKETINGSTATUS;
6381        if ("Meta".equals(codeString))
6382          return META;
6383        if ("Money".equals(codeString))
6384          return MONEY;
6385        if ("Narrative".equals(codeString))
6386          return NARRATIVE;
6387        if ("ParameterDefinition".equals(codeString))
6388          return PARAMETERDEFINITION;
6389        if ("Period".equals(codeString))
6390          return PERIOD;
6391        if ("ProdCharacteristic".equals(codeString))
6392          return PRODCHARACTERISTIC;
6393        if ("ProductShelfLife".equals(codeString))
6394          return PRODUCTSHELFLIFE;
6395        if ("Quantity".equals(codeString))
6396          return QUANTITY;
6397        if ("Range".equals(codeString))
6398          return RANGE;
6399        if ("Ratio".equals(codeString))
6400          return RATIO;
6401        if ("Reference".equals(codeString))
6402          return REFERENCE;
6403        if ("RelatedArtifact".equals(codeString))
6404          return RELATEDARTIFACT;
6405        if ("SampledData".equals(codeString))
6406          return SAMPLEDDATA;
6407        if ("Signature".equals(codeString))
6408          return SIGNATURE;
6409        if ("SimpleQuantity".equals(codeString))
6410          return SIMPLEQUANTITY;
6411        if ("SubstanceAmount".equals(codeString))
6412          return SUBSTANCEAMOUNT;
6413        if ("SubstanceMoiety".equals(codeString))
6414          return SUBSTANCEMOIETY;
6415        if ("Timing".equals(codeString))
6416          return TIMING;
6417        if ("TriggerDefinition".equals(codeString))
6418          return TRIGGERDEFINITION;
6419        if ("UsageContext".equals(codeString))
6420          return USAGECONTEXT;
6421        if ("base64Binary".equals(codeString))
6422          return BASE64BINARY;
6423        if ("boolean".equals(codeString))
6424          return BOOLEAN;
6425        if ("canonical".equals(codeString))
6426          return CANONICAL;
6427        if ("code".equals(codeString))
6428          return CODE;
6429        if ("date".equals(codeString))
6430          return DATE;
6431        if ("dateTime".equals(codeString))
6432          return DATETIME;
6433        if ("decimal".equals(codeString))
6434          return DECIMAL;
6435        if ("id".equals(codeString))
6436          return ID;
6437        if ("instant".equals(codeString))
6438          return INSTANT;
6439        if ("integer".equals(codeString))
6440          return INTEGER;
6441        if ("markdown".equals(codeString))
6442          return MARKDOWN;
6443        if ("oid".equals(codeString))
6444          return OID;
6445        if ("positiveInt".equals(codeString))
6446          return POSITIVEINT;
6447        if ("string".equals(codeString))
6448          return STRING;
6449        if ("time".equals(codeString))
6450          return TIME;
6451        if ("unsignedInt".equals(codeString))
6452          return UNSIGNEDINT;
6453        if ("uri".equals(codeString))
6454          return URI;
6455        if ("url".equals(codeString))
6456          return URL;
6457        if ("uuid".equals(codeString))
6458          return UUID;
6459        if ("xhtml".equals(codeString))
6460          return XHTML;
6461        if ("Account".equals(codeString))
6462          return ACCOUNT;
6463        if ("ActivityDefinition".equals(codeString))
6464          return ACTIVITYDEFINITION;
6465        if ("AdverseEvent".equals(codeString))
6466          return ADVERSEEVENT;
6467        if ("AllergyIntolerance".equals(codeString))
6468          return ALLERGYINTOLERANCE;
6469        if ("Appointment".equals(codeString))
6470          return APPOINTMENT;
6471        if ("AppointmentResponse".equals(codeString))
6472          return APPOINTMENTRESPONSE;
6473        if ("AuditEvent".equals(codeString))
6474          return AUDITEVENT;
6475        if ("Basic".equals(codeString))
6476          return BASIC;
6477        if ("Binary".equals(codeString))
6478          return BINARY;
6479        if ("BiologicallyDerivedProduct".equals(codeString))
6480          return BIOLOGICALLYDERIVEDPRODUCT;
6481        if ("BodyStructure".equals(codeString))
6482          return BODYSTRUCTURE;
6483        if ("Bundle".equals(codeString))
6484          return BUNDLE;
6485        if ("CapabilityStatement".equals(codeString))
6486          return CAPABILITYSTATEMENT;
6487        if ("CarePlan".equals(codeString))
6488          return CAREPLAN;
6489        if ("CareTeam".equals(codeString))
6490          return CARETEAM;
6491        if ("ChargeItem".equals(codeString))
6492          return CHARGEITEM;
6493        if ("Claim".equals(codeString))
6494          return CLAIM;
6495        if ("ClaimResponse".equals(codeString))
6496          return CLAIMRESPONSE;
6497        if ("ClinicalImpression".equals(codeString))
6498          return CLINICALIMPRESSION;
6499        if ("CodeSystem".equals(codeString))
6500          return CODESYSTEM;
6501        if ("Communication".equals(codeString))
6502          return COMMUNICATION;
6503        if ("CommunicationRequest".equals(codeString))
6504          return COMMUNICATIONREQUEST;
6505        if ("CompartmentDefinition".equals(codeString))
6506          return COMPARTMENTDEFINITION;
6507        if ("Composition".equals(codeString))
6508          return COMPOSITION;
6509        if ("ConceptMap".equals(codeString))
6510          return CONCEPTMAP;
6511        if ("Condition".equals(codeString))
6512          return CONDITION;
6513        if ("Consent".equals(codeString))
6514          return CONSENT;
6515        if ("Contract".equals(codeString))
6516          return CONTRACT;
6517        if ("Coverage".equals(codeString))
6518          return COVERAGE;
6519        if ("DetectedIssue".equals(codeString))
6520          return DETECTEDISSUE;
6521        if ("Device".equals(codeString))
6522          return DEVICE;
6523        if ("DeviceComponent".equals(codeString))
6524          return DEVICECOMPONENT;
6525        if ("DeviceMetric".equals(codeString))
6526          return DEVICEMETRIC;
6527        if ("DeviceRequest".equals(codeString))
6528          return DEVICEREQUEST;
6529        if ("DeviceUseStatement".equals(codeString))
6530          return DEVICEUSESTATEMENT;
6531        if ("DiagnosticReport".equals(codeString))
6532          return DIAGNOSTICREPORT;
6533        if ("DocumentManifest".equals(codeString))
6534          return DOCUMENTMANIFEST;
6535        if ("DocumentReference".equals(codeString))
6536          return DOCUMENTREFERENCE;
6537        if ("DomainResource".equals(codeString))
6538          return DOMAINRESOURCE;
6539        if ("EligibilityRequest".equals(codeString))
6540          return ELIGIBILITYREQUEST;
6541        if ("EligibilityResponse".equals(codeString))
6542          return ELIGIBILITYRESPONSE;
6543        if ("Encounter".equals(codeString))
6544          return ENCOUNTER;
6545        if ("Endpoint".equals(codeString))
6546          return ENDPOINT;
6547        if ("EnrollmentRequest".equals(codeString))
6548          return ENROLLMENTREQUEST;
6549        if ("EnrollmentResponse".equals(codeString))
6550          return ENROLLMENTRESPONSE;
6551        if ("EntryDefinition".equals(codeString))
6552          return ENTRYDEFINITION;
6553        if ("EpisodeOfCare".equals(codeString))
6554          return EPISODEOFCARE;
6555        if ("EventDefinition".equals(codeString))
6556          return EVENTDEFINITION;
6557        if ("ExampleScenario".equals(codeString))
6558          return EXAMPLESCENARIO;
6559        if ("ExpansionProfile".equals(codeString))
6560          return EXPANSIONPROFILE;
6561        if ("ExplanationOfBenefit".equals(codeString))
6562          return EXPLANATIONOFBENEFIT;
6563        if ("FamilyMemberHistory".equals(codeString))
6564          return FAMILYMEMBERHISTORY;
6565        if ("Flag".equals(codeString))
6566          return FLAG;
6567        if ("Goal".equals(codeString))
6568          return GOAL;
6569        if ("GraphDefinition".equals(codeString))
6570          return GRAPHDEFINITION;
6571        if ("Group".equals(codeString))
6572          return GROUP;
6573        if ("GuidanceResponse".equals(codeString))
6574          return GUIDANCERESPONSE;
6575        if ("HealthcareService".equals(codeString))
6576          return HEALTHCARESERVICE;
6577        if ("ImagingStudy".equals(codeString))
6578          return IMAGINGSTUDY;
6579        if ("Immunization".equals(codeString))
6580          return IMMUNIZATION;
6581        if ("ImmunizationEvaluation".equals(codeString))
6582          return IMMUNIZATIONEVALUATION;
6583        if ("ImmunizationRecommendation".equals(codeString))
6584          return IMMUNIZATIONRECOMMENDATION;
6585        if ("ImplementationGuide".equals(codeString))
6586          return IMPLEMENTATIONGUIDE;
6587        if ("Invoice".equals(codeString))
6588          return INVOICE;
6589        if ("ItemInstance".equals(codeString))
6590          return ITEMINSTANCE;
6591        if ("Library".equals(codeString))
6592          return LIBRARY;
6593        if ("Linkage".equals(codeString))
6594          return LINKAGE;
6595        if ("List".equals(codeString))
6596          return LIST;
6597        if ("Location".equals(codeString))
6598          return LOCATION;
6599        if ("Measure".equals(codeString))
6600          return MEASURE;
6601        if ("MeasureReport".equals(codeString))
6602          return MEASUREREPORT;
6603        if ("Media".equals(codeString))
6604          return MEDIA;
6605        if ("Medication".equals(codeString))
6606          return MEDICATION;
6607        if ("MedicationAdministration".equals(codeString))
6608          return MEDICATIONADMINISTRATION;
6609        if ("MedicationDispense".equals(codeString))
6610          return MEDICATIONDISPENSE;
6611        if ("MedicationKnowledge".equals(codeString))
6612          return MEDICATIONKNOWLEDGE;
6613        if ("MedicationRequest".equals(codeString))
6614          return MEDICATIONREQUEST;
6615        if ("MedicationStatement".equals(codeString))
6616          return MEDICATIONSTATEMENT;
6617        if ("MedicinalProduct".equals(codeString))
6618          return MEDICINALPRODUCT;
6619        if ("MedicinalProductAuthorization".equals(codeString))
6620          return MEDICINALPRODUCTAUTHORIZATION;
6621        if ("MedicinalProductClinicals".equals(codeString))
6622          return MEDICINALPRODUCTCLINICALS;
6623        if ("MedicinalProductDeviceSpec".equals(codeString))
6624          return MEDICINALPRODUCTDEVICESPEC;
6625        if ("MedicinalProductIngredient".equals(codeString))
6626          return MEDICINALPRODUCTINGREDIENT;
6627        if ("MedicinalProductPackaged".equals(codeString))
6628          return MEDICINALPRODUCTPACKAGED;
6629        if ("MedicinalProductPharmaceutical".equals(codeString))
6630          return MEDICINALPRODUCTPHARMACEUTICAL;
6631        if ("MessageDefinition".equals(codeString))
6632          return MESSAGEDEFINITION;
6633        if ("MessageHeader".equals(codeString))
6634          return MESSAGEHEADER;
6635        if ("NamingSystem".equals(codeString))
6636          return NAMINGSYSTEM;
6637        if ("NutritionOrder".equals(codeString))
6638          return NUTRITIONORDER;
6639        if ("Observation".equals(codeString))
6640          return OBSERVATION;
6641        if ("ObservationDefinition".equals(codeString))
6642          return OBSERVATIONDEFINITION;
6643        if ("OccupationalData".equals(codeString))
6644          return OCCUPATIONALDATA;
6645        if ("OperationDefinition".equals(codeString))
6646          return OPERATIONDEFINITION;
6647        if ("OperationOutcome".equals(codeString))
6648          return OPERATIONOUTCOME;
6649        if ("Organization".equals(codeString))
6650          return ORGANIZATION;
6651        if ("OrganizationRole".equals(codeString))
6652          return ORGANIZATIONROLE;
6653        if ("Parameters".equals(codeString))
6654          return PARAMETERS;
6655        if ("Patient".equals(codeString))
6656          return PATIENT;
6657        if ("PaymentNotice".equals(codeString))
6658          return PAYMENTNOTICE;
6659        if ("PaymentReconciliation".equals(codeString))
6660          return PAYMENTRECONCILIATION;
6661        if ("Person".equals(codeString))
6662          return PERSON;
6663        if ("PlanDefinition".equals(codeString))
6664          return PLANDEFINITION;
6665        if ("Practitioner".equals(codeString))
6666          return PRACTITIONER;
6667        if ("PractitionerRole".equals(codeString))
6668          return PRACTITIONERROLE;
6669        if ("Procedure".equals(codeString))
6670          return PROCEDURE;
6671        if ("ProcessRequest".equals(codeString))
6672          return PROCESSREQUEST;
6673        if ("ProcessResponse".equals(codeString))
6674          return PROCESSRESPONSE;
6675        if ("ProductPlan".equals(codeString))
6676          return PRODUCTPLAN;
6677        if ("Provenance".equals(codeString))
6678          return PROVENANCE;
6679        if ("Questionnaire".equals(codeString))
6680          return QUESTIONNAIRE;
6681        if ("QuestionnaireResponse".equals(codeString))
6682          return QUESTIONNAIRERESPONSE;
6683        if ("RelatedPerson".equals(codeString))
6684          return RELATEDPERSON;
6685        if ("RequestGroup".equals(codeString))
6686          return REQUESTGROUP;
6687        if ("ResearchStudy".equals(codeString))
6688          return RESEARCHSTUDY;
6689        if ("ResearchSubject".equals(codeString))
6690          return RESEARCHSUBJECT;
6691        if ("Resource".equals(codeString))
6692          return RESOURCE;
6693        if ("RiskAssessment".equals(codeString))
6694          return RISKASSESSMENT;
6695        if ("Schedule".equals(codeString))
6696          return SCHEDULE;
6697        if ("SearchParameter".equals(codeString))
6698          return SEARCHPARAMETER;
6699        if ("Sequence".equals(codeString))
6700          return SEQUENCE;
6701        if ("ServiceRequest".equals(codeString))
6702          return SERVICEREQUEST;
6703        if ("Slot".equals(codeString))
6704          return SLOT;
6705        if ("Specimen".equals(codeString))
6706          return SPECIMEN;
6707        if ("SpecimenDefinition".equals(codeString))
6708          return SPECIMENDEFINITION;
6709        if ("StructureDefinition".equals(codeString))
6710          return STRUCTUREDEFINITION;
6711        if ("StructureMap".equals(codeString))
6712          return STRUCTUREMAP;
6713        if ("Subscription".equals(codeString))
6714          return SUBSCRIPTION;
6715        if ("Substance".equals(codeString))
6716          return SUBSTANCE;
6717        if ("SubstancePolymer".equals(codeString))
6718          return SUBSTANCEPOLYMER;
6719        if ("SubstanceReferenceInformation".equals(codeString))
6720          return SUBSTANCEREFERENCEINFORMATION;
6721        if ("SubstanceSpecification".equals(codeString))
6722          return SUBSTANCESPECIFICATION;
6723        if ("SupplyDelivery".equals(codeString))
6724          return SUPPLYDELIVERY;
6725        if ("SupplyRequest".equals(codeString))
6726          return SUPPLYREQUEST;
6727        if ("Task".equals(codeString))
6728          return TASK;
6729        if ("TerminologyCapabilities".equals(codeString))
6730          return TERMINOLOGYCAPABILITIES;
6731        if ("TestReport".equals(codeString))
6732          return TESTREPORT;
6733        if ("TestScript".equals(codeString))
6734          return TESTSCRIPT;
6735        if ("UserSession".equals(codeString))
6736          return USERSESSION;
6737        if ("ValueSet".equals(codeString))
6738          return VALUESET;
6739        if ("VerificationResult".equals(codeString))
6740          return VERIFICATIONRESULT;
6741        if ("VisionPrescription".equals(codeString))
6742          return VISIONPRESCRIPTION;
6743        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
6744        }
6745        public String toCode() {
6746          switch (this) {
6747            case ADDRESS: return "Address";
6748            case AGE: return "Age";
6749            case ANNOTATION: return "Annotation";
6750            case ATTACHMENT: return "Attachment";
6751            case BACKBONEELEMENT: return "BackboneElement";
6752            case CODEABLECONCEPT: return "CodeableConcept";
6753            case CODING: return "Coding";
6754            case CONTACTDETAIL: return "ContactDetail";
6755            case CONTACTPOINT: return "ContactPoint";
6756            case CONTRIBUTOR: return "Contributor";
6757            case COUNT: return "Count";
6758            case DATAREQUIREMENT: return "DataRequirement";
6759            case DISTANCE: return "Distance";
6760            case DOSAGE: return "Dosage";
6761            case DURATION: return "Duration";
6762            case ELEMENT: return "Element";
6763            case ELEMENTDEFINITION: return "ElementDefinition";
6764            case EXTENSION: return "Extension";
6765            case HUMANNAME: return "HumanName";
6766            case IDENTIFIER: return "Identifier";
6767            case MARKETINGSTATUS: return "MarketingStatus";
6768            case META: return "Meta";
6769            case MONEY: return "Money";
6770            case NARRATIVE: return "Narrative";
6771            case PARAMETERDEFINITION: return "ParameterDefinition";
6772            case PERIOD: return "Period";
6773            case PRODCHARACTERISTIC: return "ProdCharacteristic";
6774            case PRODUCTSHELFLIFE: return "ProductShelfLife";
6775            case QUANTITY: return "Quantity";
6776            case RANGE: return "Range";
6777            case RATIO: return "Ratio";
6778            case REFERENCE: return "Reference";
6779            case RELATEDARTIFACT: return "RelatedArtifact";
6780            case SAMPLEDDATA: return "SampledData";
6781            case SIGNATURE: return "Signature";
6782            case SIMPLEQUANTITY: return "SimpleQuantity";
6783            case SUBSTANCEAMOUNT: return "SubstanceAmount";
6784            case SUBSTANCEMOIETY: return "SubstanceMoiety";
6785            case TIMING: return "Timing";
6786            case TRIGGERDEFINITION: return "TriggerDefinition";
6787            case USAGECONTEXT: return "UsageContext";
6788            case BASE64BINARY: return "base64Binary";
6789            case BOOLEAN: return "boolean";
6790            case CANONICAL: return "canonical";
6791            case CODE: return "code";
6792            case DATE: return "date";
6793            case DATETIME: return "dateTime";
6794            case DECIMAL: return "decimal";
6795            case ID: return "id";
6796            case INSTANT: return "instant";
6797            case INTEGER: return "integer";
6798            case MARKDOWN: return "markdown";
6799            case OID: return "oid";
6800            case POSITIVEINT: return "positiveInt";
6801            case STRING: return "string";
6802            case TIME: return "time";
6803            case UNSIGNEDINT: return "unsignedInt";
6804            case URI: return "uri";
6805            case URL: return "url";
6806            case UUID: return "uuid";
6807            case XHTML: return "xhtml";
6808            case ACCOUNT: return "Account";
6809            case ACTIVITYDEFINITION: return "ActivityDefinition";
6810            case ADVERSEEVENT: return "AdverseEvent";
6811            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
6812            case APPOINTMENT: return "Appointment";
6813            case APPOINTMENTRESPONSE: return "AppointmentResponse";
6814            case AUDITEVENT: return "AuditEvent";
6815            case BASIC: return "Basic";
6816            case BINARY: return "Binary";
6817            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
6818            case BODYSTRUCTURE: return "BodyStructure";
6819            case BUNDLE: return "Bundle";
6820            case CAPABILITYSTATEMENT: return "CapabilityStatement";
6821            case CAREPLAN: return "CarePlan";
6822            case CARETEAM: return "CareTeam";
6823            case CHARGEITEM: return "ChargeItem";
6824            case CLAIM: return "Claim";
6825            case CLAIMRESPONSE: return "ClaimResponse";
6826            case CLINICALIMPRESSION: return "ClinicalImpression";
6827            case CODESYSTEM: return "CodeSystem";
6828            case COMMUNICATION: return "Communication";
6829            case COMMUNICATIONREQUEST: return "CommunicationRequest";
6830            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
6831            case COMPOSITION: return "Composition";
6832            case CONCEPTMAP: return "ConceptMap";
6833            case CONDITION: return "Condition";
6834            case CONSENT: return "Consent";
6835            case CONTRACT: return "Contract";
6836            case COVERAGE: return "Coverage";
6837            case DETECTEDISSUE: return "DetectedIssue";
6838            case DEVICE: return "Device";
6839            case DEVICECOMPONENT: return "DeviceComponent";
6840            case DEVICEMETRIC: return "DeviceMetric";
6841            case DEVICEREQUEST: return "DeviceRequest";
6842            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
6843            case DIAGNOSTICREPORT: return "DiagnosticReport";
6844            case DOCUMENTMANIFEST: return "DocumentManifest";
6845            case DOCUMENTREFERENCE: return "DocumentReference";
6846            case DOMAINRESOURCE: return "DomainResource";
6847            case ELIGIBILITYREQUEST: return "EligibilityRequest";
6848            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
6849            case ENCOUNTER: return "Encounter";
6850            case ENDPOINT: return "Endpoint";
6851            case ENROLLMENTREQUEST: return "EnrollmentRequest";
6852            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
6853            case ENTRYDEFINITION: return "EntryDefinition";
6854            case EPISODEOFCARE: return "EpisodeOfCare";
6855            case EVENTDEFINITION: return "EventDefinition";
6856            case EXAMPLESCENARIO: return "ExampleScenario";
6857            case EXPANSIONPROFILE: return "ExpansionProfile";
6858            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
6859            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
6860            case FLAG: return "Flag";
6861            case GOAL: return "Goal";
6862            case GRAPHDEFINITION: return "GraphDefinition";
6863            case GROUP: return "Group";
6864            case GUIDANCERESPONSE: return "GuidanceResponse";
6865            case HEALTHCARESERVICE: return "HealthcareService";
6866            case IMAGINGSTUDY: return "ImagingStudy";
6867            case IMMUNIZATION: return "Immunization";
6868            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
6869            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
6870            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
6871            case INVOICE: return "Invoice";
6872            case ITEMINSTANCE: return "ItemInstance";
6873            case LIBRARY: return "Library";
6874            case LINKAGE: return "Linkage";
6875            case LIST: return "List";
6876            case LOCATION: return "Location";
6877            case MEASURE: return "Measure";
6878            case MEASUREREPORT: return "MeasureReport";
6879            case MEDIA: return "Media";
6880            case MEDICATION: return "Medication";
6881            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
6882            case MEDICATIONDISPENSE: return "MedicationDispense";
6883            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
6884            case MEDICATIONREQUEST: return "MedicationRequest";
6885            case MEDICATIONSTATEMENT: return "MedicationStatement";
6886            case MEDICINALPRODUCT: return "MedicinalProduct";
6887            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
6888            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
6889            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
6890            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
6891            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
6892            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
6893            case MESSAGEDEFINITION: return "MessageDefinition";
6894            case MESSAGEHEADER: return "MessageHeader";
6895            case NAMINGSYSTEM: return "NamingSystem";
6896            case NUTRITIONORDER: return "NutritionOrder";
6897            case OBSERVATION: return "Observation";
6898            case OBSERVATIONDEFINITION: return "ObservationDefinition";
6899            case OCCUPATIONALDATA: return "OccupationalData";
6900            case OPERATIONDEFINITION: return "OperationDefinition";
6901            case OPERATIONOUTCOME: return "OperationOutcome";
6902            case ORGANIZATION: return "Organization";
6903            case ORGANIZATIONROLE: return "OrganizationRole";
6904            case PARAMETERS: return "Parameters";
6905            case PATIENT: return "Patient";
6906            case PAYMENTNOTICE: return "PaymentNotice";
6907            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
6908            case PERSON: return "Person";
6909            case PLANDEFINITION: return "PlanDefinition";
6910            case PRACTITIONER: return "Practitioner";
6911            case PRACTITIONERROLE: return "PractitionerRole";
6912            case PROCEDURE: return "Procedure";
6913            case PROCESSREQUEST: return "ProcessRequest";
6914            case PROCESSRESPONSE: return "ProcessResponse";
6915            case PRODUCTPLAN: return "ProductPlan";
6916            case PROVENANCE: return "Provenance";
6917            case QUESTIONNAIRE: return "Questionnaire";
6918            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
6919            case RELATEDPERSON: return "RelatedPerson";
6920            case REQUESTGROUP: return "RequestGroup";
6921            case RESEARCHSTUDY: return "ResearchStudy";
6922            case RESEARCHSUBJECT: return "ResearchSubject";
6923            case RESOURCE: return "Resource";
6924            case RISKASSESSMENT: return "RiskAssessment";
6925            case SCHEDULE: return "Schedule";
6926            case SEARCHPARAMETER: return "SearchParameter";
6927            case SEQUENCE: return "Sequence";
6928            case SERVICEREQUEST: return "ServiceRequest";
6929            case SLOT: return "Slot";
6930            case SPECIMEN: return "Specimen";
6931            case SPECIMENDEFINITION: return "SpecimenDefinition";
6932            case STRUCTUREDEFINITION: return "StructureDefinition";
6933            case STRUCTUREMAP: return "StructureMap";
6934            case SUBSCRIPTION: return "Subscription";
6935            case SUBSTANCE: return "Substance";
6936            case SUBSTANCEPOLYMER: return "SubstancePolymer";
6937            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
6938            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
6939            case SUPPLYDELIVERY: return "SupplyDelivery";
6940            case SUPPLYREQUEST: return "SupplyRequest";
6941            case TASK: return "Task";
6942            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
6943            case TESTREPORT: return "TestReport";
6944            case TESTSCRIPT: return "TestScript";
6945            case USERSESSION: return "UserSession";
6946            case VALUESET: return "ValueSet";
6947            case VERIFICATIONRESULT: return "VerificationResult";
6948            case VISIONPRESCRIPTION: return "VisionPrescription";
6949            default: return "?";
6950          }
6951        }
6952        public String getSystem() {
6953          switch (this) {
6954            case ADDRESS: return "http://hl7.org/fhir/data-types";
6955            case AGE: return "http://hl7.org/fhir/data-types";
6956            case ANNOTATION: return "http://hl7.org/fhir/data-types";
6957            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
6958            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
6959            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
6960            case CODING: return "http://hl7.org/fhir/data-types";
6961            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
6962            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
6963            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
6964            case COUNT: return "http://hl7.org/fhir/data-types";
6965            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
6966            case DISTANCE: return "http://hl7.org/fhir/data-types";
6967            case DOSAGE: return "http://hl7.org/fhir/data-types";
6968            case DURATION: return "http://hl7.org/fhir/data-types";
6969            case ELEMENT: return "http://hl7.org/fhir/data-types";
6970            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
6971            case EXTENSION: return "http://hl7.org/fhir/data-types";
6972            case HUMANNAME: return "http://hl7.org/fhir/data-types";
6973            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
6974            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
6975            case META: return "http://hl7.org/fhir/data-types";
6976            case MONEY: return "http://hl7.org/fhir/data-types";
6977            case NARRATIVE: return "http://hl7.org/fhir/data-types";
6978            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
6979            case PERIOD: return "http://hl7.org/fhir/data-types";
6980            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
6981            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
6982            case QUANTITY: return "http://hl7.org/fhir/data-types";
6983            case RANGE: return "http://hl7.org/fhir/data-types";
6984            case RATIO: return "http://hl7.org/fhir/data-types";
6985            case REFERENCE: return "http://hl7.org/fhir/data-types";
6986            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
6987            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
6988            case SIGNATURE: return "http://hl7.org/fhir/data-types";
6989            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
6990            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
6991            case SUBSTANCEMOIETY: return "http://hl7.org/fhir/data-types";
6992            case TIMING: return "http://hl7.org/fhir/data-types";
6993            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
6994            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
6995            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
6996            case BOOLEAN: return "http://hl7.org/fhir/data-types";
6997            case CANONICAL: return "http://hl7.org/fhir/data-types";
6998            case CODE: return "http://hl7.org/fhir/data-types";
6999            case DATE: return "http://hl7.org/fhir/data-types";
7000            case DATETIME: return "http://hl7.org/fhir/data-types";
7001            case DECIMAL: return "http://hl7.org/fhir/data-types";
7002            case ID: return "http://hl7.org/fhir/data-types";
7003            case INSTANT: return "http://hl7.org/fhir/data-types";
7004            case INTEGER: return "http://hl7.org/fhir/data-types";
7005            case MARKDOWN: return "http://hl7.org/fhir/data-types";
7006            case OID: return "http://hl7.org/fhir/data-types";
7007            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
7008            case STRING: return "http://hl7.org/fhir/data-types";
7009            case TIME: return "http://hl7.org/fhir/data-types";
7010            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
7011            case URI: return "http://hl7.org/fhir/data-types";
7012            case URL: return "http://hl7.org/fhir/data-types";
7013            case UUID: return "http://hl7.org/fhir/data-types";
7014            case XHTML: return "http://hl7.org/fhir/data-types";
7015            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
7016            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
7017            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
7018            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
7019            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
7020            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
7021            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
7022            case BASIC: return "http://hl7.org/fhir/resource-types";
7023            case BINARY: return "http://hl7.org/fhir/resource-types";
7024            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
7025            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
7026            case BUNDLE: return "http://hl7.org/fhir/resource-types";
7027            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
7028            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
7029            case CARETEAM: return "http://hl7.org/fhir/resource-types";
7030            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
7031            case CLAIM: return "http://hl7.org/fhir/resource-types";
7032            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
7033            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
7034            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
7035            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
7036            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
7037            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
7038            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
7039            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
7040            case CONDITION: return "http://hl7.org/fhir/resource-types";
7041            case CONSENT: return "http://hl7.org/fhir/resource-types";
7042            case CONTRACT: return "http://hl7.org/fhir/resource-types";
7043            case COVERAGE: return "http://hl7.org/fhir/resource-types";
7044            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
7045            case DEVICE: return "http://hl7.org/fhir/resource-types";
7046            case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types";
7047            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
7048            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
7049            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
7050            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
7051            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
7052            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
7053            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
7054            case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
7055            case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
7056            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
7057            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
7058            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
7059            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
7060            case ENTRYDEFINITION: return "http://hl7.org/fhir/resource-types";
7061            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
7062            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
7063            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
7064            case EXPANSIONPROFILE: return "http://hl7.org/fhir/resource-types";
7065            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
7066            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
7067            case FLAG: return "http://hl7.org/fhir/resource-types";
7068            case GOAL: return "http://hl7.org/fhir/resource-types";
7069            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
7070            case GROUP: return "http://hl7.org/fhir/resource-types";
7071            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
7072            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
7073            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
7074            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
7075            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
7076            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
7077            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
7078            case INVOICE: return "http://hl7.org/fhir/resource-types";
7079            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
7080            case LIBRARY: return "http://hl7.org/fhir/resource-types";
7081            case LINKAGE: return "http://hl7.org/fhir/resource-types";
7082            case LIST: return "http://hl7.org/fhir/resource-types";
7083            case LOCATION: return "http://hl7.org/fhir/resource-types";
7084            case MEASURE: return "http://hl7.org/fhir/resource-types";
7085            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
7086            case MEDIA: return "http://hl7.org/fhir/resource-types";
7087            case MEDICATION: return "http://hl7.org/fhir/resource-types";
7088            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
7089            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
7090            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
7091            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
7092            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
7093            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
7094            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
7095            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
7096            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
7097            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
7098            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
7099            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
7100            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
7101            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
7102            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
7103            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
7104            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
7105            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
7106            case OCCUPATIONALDATA: return "http://hl7.org/fhir/resource-types";
7107            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
7108            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
7109            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
7110            case ORGANIZATIONROLE: return "http://hl7.org/fhir/resource-types";
7111            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
7112            case PATIENT: return "http://hl7.org/fhir/resource-types";
7113            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
7114            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
7115            case PERSON: return "http://hl7.org/fhir/resource-types";
7116            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
7117            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
7118            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
7119            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
7120            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
7121            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
7122            case PRODUCTPLAN: return "http://hl7.org/fhir/resource-types";
7123            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
7124            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
7125            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
7126            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
7127            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
7128            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
7129            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
7130            case RESOURCE: return "http://hl7.org/fhir/resource-types";
7131            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
7132            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
7133            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
7134            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
7135            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
7136            case SLOT: return "http://hl7.org/fhir/resource-types";
7137            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
7138            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
7139            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
7140            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
7141            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
7142            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
7143            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
7144            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
7145            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
7146            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
7147            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
7148            case TASK: return "http://hl7.org/fhir/resource-types";
7149            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
7150            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
7151            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
7152            case USERSESSION: return "http://hl7.org/fhir/resource-types";
7153            case VALUESET: return "http://hl7.org/fhir/resource-types";
7154            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
7155            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
7156            default: return "?";
7157          }
7158        }
7159        public String getDefinition() {
7160          switch (this) {
7161            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.";
7162            case AGE: return "A duration of time during which an organism (or a process) has existed.";
7163            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
7164            case ATTACHMENT: return "For referring to data content defined in other formats.";
7165            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
7166            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
7167            case CODING: return "A reference to a code defined by a terminology system.";
7168            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
7169            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
7170            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
7171            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.";
7172            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.";
7173            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
7174            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
7175            case DURATION: return "A length of time.";
7176            case ELEMENT: return "Base definition for all elements in a resource.";
7177            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
7178            case EXTENSION: return "Optional Extension Element - found in all resources.";
7179            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
7180            case IDENTIFIER: return "A technical identifier - identifies some entity uniquely and unambiguously.";
7181            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.";
7182            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.";
7183            case MONEY: return "An amount of economic utility in some recognized currency.";
7184            case NARRATIVE: return "A human-readable formatted text, including images.";
7185            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.";
7186            case PERIOD: return "A time period defined by a start and end date and optionally time.";
7187            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.";
7188            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
7189            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.";
7190            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
7191            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
7192            case REFERENCE: return "A reference from one resource to another.";
7193            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
7194            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.";
7195            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.";
7196            case SIMPLEQUANTITY: return "";
7197            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.";
7198            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.";
7199            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.";
7200            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.";
7201            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).";
7202            case BASE64BINARY: return "A stream of bytes";
7203            case BOOLEAN: return "Value of \"true\" or \"false\"";
7204            case CANONICAL: return "A URI that is a reference to a canonical URI on a FHIR resource";
7205            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";
7206            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.";
7207            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.";
7208            case DECIMAL: return "A rational number with implicit precision";
7209            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.";
7210            case INSTANT: return "An instant in time - known at least to the second";
7211            case INTEGER: return "A whole number";
7212            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
7213            case OID: return "An OID represented as a URI";
7214            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
7215            case STRING: return "A sequence of Unicode characters";
7216            case TIME: return "A time during the day, with no date specified";
7217            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
7218            case URI: return "String of characters used to identify a name or a resource";
7219            case URL: return "A URI that is a literal reference";
7220            case UUID: return "A UUID, represented as a URI";
7221            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
7222            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.";
7223            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.";
7224            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.";
7225            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
7226            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).";
7227            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
7228            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.";
7229            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.";
7230            case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
7231            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
7232            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.";
7233            case BUNDLE: return "A container for a collection of resources.";
7234            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.";
7235            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.";
7236            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.";
7237            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.";
7238            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.";
7239            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
7240            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.";
7241            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.";
7242            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.";
7243            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.";
7244            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
7245            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.).";
7246            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.";
7247            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
7248            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.";
7249            case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.";
7250            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
7251            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.";
7252            case DEVICE: return "This resource identifies an instance or 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.";
7253            case DEVICECOMPONENT: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
7254            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
7255            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.";
7256            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.";
7257            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.";
7258            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
7259            case DOCUMENTREFERENCE: return "A reference to a document.";
7260            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
7261            case ELIGIBILITYREQUEST: return "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
7262            case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource.";
7263            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.";
7264            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.";
7265            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
7266            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
7267            case ENTRYDEFINITION: return "Catalog entries are wrappers that contextualize items included in a catalog.";
7268            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.";
7269            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
7270            case EXAMPLESCENARIO: return "Example of workflow instance.";
7271            case EXPANSIONPROFILE: return "Resource to define constraints on the Expansion of a FHIR ValueSet.";
7272            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.";
7273            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
7274            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
7275            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.";
7276            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.";
7277            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.";
7278            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.";
7279            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
7280            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.";
7281            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.";
7282            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.";
7283            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
7284            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.";
7285            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
7286            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
7287            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.";
7288            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
7289            case LIST: return "A set of information summarized from a list of other resources.";
7290            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.";
7291            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
7292            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.";
7293            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.";
7294            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.";
7295            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.";
7296            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.";
7297            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
7298            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.";
7299            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.";
7300            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
7301            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
7302            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
7303            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.";
7304            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
7305            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
7306            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
7307            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.";
7308            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.";
7309            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.";
7310            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
7311            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
7312            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
7313            case OCCUPATIONALDATA: return "A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.";
7314            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
7315            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
7316            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.";
7317            case ORGANIZATIONROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
7318            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.";
7319            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
7320            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
7321            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
7322            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
7323            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.";
7324            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
7325            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
7326            case PROCEDURE: return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.";
7327            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.";
7328            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
7329            case PRODUCTPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
7330            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.";
7331            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.";
7332            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.";
7333            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.";
7334            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\".";
7335            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.";
7336            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
7337            case RESOURCE: return "This is the base resource type for everything.";
7338            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
7339            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
7340            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
7341            case SEQUENCE: return "Raw data describing a biological sequence.";
7342            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
7343            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
7344            case SPECIMEN: return "A sample to be used for analysis.";
7345            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
7346            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.";
7347            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
7348            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.";
7349            case SUBSTANCE: return "A homogeneous material with a definite composition.";
7350            case SUBSTANCEPOLYMER: return "Todo.";
7351            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
7352            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
7353            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
7354            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
7355            case TASK: return "A task to be performed.";
7356            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.";
7357            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
7358            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
7359            case USERSESSION: return "Information about a user's current session.";
7360            case VALUESET: return "A ValueSet resource 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).";
7361            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
7362            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
7363            default: return "?";
7364          }
7365        }
7366        public String getDisplay() {
7367          switch (this) {
7368            case ADDRESS: return "Address";
7369            case AGE: return "Age";
7370            case ANNOTATION: return "Annotation";
7371            case ATTACHMENT: return "Attachment";
7372            case BACKBONEELEMENT: return "BackboneElement";
7373            case CODEABLECONCEPT: return "CodeableConcept";
7374            case CODING: return "Coding";
7375            case CONTACTDETAIL: return "ContactDetail";
7376            case CONTACTPOINT: return "ContactPoint";
7377            case CONTRIBUTOR: return "Contributor";
7378            case COUNT: return "Count";
7379            case DATAREQUIREMENT: return "DataRequirement";
7380            case DISTANCE: return "Distance";
7381            case DOSAGE: return "Dosage";
7382            case DURATION: return "Duration";
7383            case ELEMENT: return "Element";
7384            case ELEMENTDEFINITION: return "ElementDefinition";
7385            case EXTENSION: return "Extension";
7386            case HUMANNAME: return "HumanName";
7387            case IDENTIFIER: return "Identifier";
7388            case MARKETINGSTATUS: return "MarketingStatus";
7389            case META: return "Meta";
7390            case MONEY: return "Money";
7391            case NARRATIVE: return "Narrative";
7392            case PARAMETERDEFINITION: return "ParameterDefinition";
7393            case PERIOD: return "Period";
7394            case PRODCHARACTERISTIC: return "ProdCharacteristic";
7395            case PRODUCTSHELFLIFE: return "ProductShelfLife";
7396            case QUANTITY: return "Quantity";
7397            case RANGE: return "Range";
7398            case RATIO: return "Ratio";
7399            case REFERENCE: return "Reference";
7400            case RELATEDARTIFACT: return "RelatedArtifact";
7401            case SAMPLEDDATA: return "SampledData";
7402            case SIGNATURE: return "Signature";
7403            case SIMPLEQUANTITY: return "SimpleQuantity";
7404            case SUBSTANCEAMOUNT: return "SubstanceAmount";
7405            case SUBSTANCEMOIETY: return "SubstanceMoiety";
7406            case TIMING: return "Timing";
7407            case TRIGGERDEFINITION: return "TriggerDefinition";
7408            case USAGECONTEXT: return "UsageContext";
7409            case BASE64BINARY: return "base64Binary";
7410            case BOOLEAN: return "boolean";
7411            case CANONICAL: return "canonical";
7412            case CODE: return "code";
7413            case DATE: return "date";
7414            case DATETIME: return "dateTime";
7415            case DECIMAL: return "decimal";
7416            case ID: return "id";
7417            case INSTANT: return "instant";
7418            case INTEGER: return "integer";
7419            case MARKDOWN: return "markdown";
7420            case OID: return "oid";
7421            case POSITIVEINT: return "positiveInt";
7422            case STRING: return "string";
7423            case TIME: return "time";
7424            case UNSIGNEDINT: return "unsignedInt";
7425            case URI: return "uri";
7426            case URL: return "url";
7427            case UUID: return "uuid";
7428            case XHTML: return "XHTML";
7429            case ACCOUNT: return "Account";
7430            case ACTIVITYDEFINITION: return "ActivityDefinition";
7431            case ADVERSEEVENT: return "AdverseEvent";
7432            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
7433            case APPOINTMENT: return "Appointment";
7434            case APPOINTMENTRESPONSE: return "AppointmentResponse";
7435            case AUDITEVENT: return "AuditEvent";
7436            case BASIC: return "Basic";
7437            case BINARY: return "Binary";
7438            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
7439            case BODYSTRUCTURE: return "BodyStructure";
7440            case BUNDLE: return "Bundle";
7441            case CAPABILITYSTATEMENT: return "CapabilityStatement";
7442            case CAREPLAN: return "CarePlan";
7443            case CARETEAM: return "CareTeam";
7444            case CHARGEITEM: return "ChargeItem";
7445            case CLAIM: return "Claim";
7446            case CLAIMRESPONSE: return "ClaimResponse";
7447            case CLINICALIMPRESSION: return "ClinicalImpression";
7448            case CODESYSTEM: return "CodeSystem";
7449            case COMMUNICATION: return "Communication";
7450            case COMMUNICATIONREQUEST: return "CommunicationRequest";
7451            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
7452            case COMPOSITION: return "Composition";
7453            case CONCEPTMAP: return "ConceptMap";
7454            case CONDITION: return "Condition";
7455            case CONSENT: return "Consent";
7456            case CONTRACT: return "Contract";
7457            case COVERAGE: return "Coverage";
7458            case DETECTEDISSUE: return "DetectedIssue";
7459            case DEVICE: return "Device";
7460            case DEVICECOMPONENT: return "DeviceComponent";
7461            case DEVICEMETRIC: return "DeviceMetric";
7462            case DEVICEREQUEST: return "DeviceRequest";
7463            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
7464            case DIAGNOSTICREPORT: return "DiagnosticReport";
7465            case DOCUMENTMANIFEST: return "DocumentManifest";
7466            case DOCUMENTREFERENCE: return "DocumentReference";
7467            case DOMAINRESOURCE: return "DomainResource";
7468            case ELIGIBILITYREQUEST: return "EligibilityRequest";
7469            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
7470            case ENCOUNTER: return "Encounter";
7471            case ENDPOINT: return "Endpoint";
7472            case ENROLLMENTREQUEST: return "EnrollmentRequest";
7473            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
7474            case ENTRYDEFINITION: return "EntryDefinition";
7475            case EPISODEOFCARE: return "EpisodeOfCare";
7476            case EVENTDEFINITION: return "EventDefinition";
7477            case EXAMPLESCENARIO: return "ExampleScenario";
7478            case EXPANSIONPROFILE: return "ExpansionProfile";
7479            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
7480            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
7481            case FLAG: return "Flag";
7482            case GOAL: return "Goal";
7483            case GRAPHDEFINITION: return "GraphDefinition";
7484            case GROUP: return "Group";
7485            case GUIDANCERESPONSE: return "GuidanceResponse";
7486            case HEALTHCARESERVICE: return "HealthcareService";
7487            case IMAGINGSTUDY: return "ImagingStudy";
7488            case IMMUNIZATION: return "Immunization";
7489            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
7490            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
7491            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
7492            case INVOICE: return "Invoice";
7493            case ITEMINSTANCE: return "ItemInstance";
7494            case LIBRARY: return "Library";
7495            case LINKAGE: return "Linkage";
7496            case LIST: return "List";
7497            case LOCATION: return "Location";
7498            case MEASURE: return "Measure";
7499            case MEASUREREPORT: return "MeasureReport";
7500            case MEDIA: return "Media";
7501            case MEDICATION: return "Medication";
7502            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
7503            case MEDICATIONDISPENSE: return "MedicationDispense";
7504            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
7505            case MEDICATIONREQUEST: return "MedicationRequest";
7506            case MEDICATIONSTATEMENT: return "MedicationStatement";
7507            case MEDICINALPRODUCT: return "MedicinalProduct";
7508            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
7509            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
7510            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
7511            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
7512            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
7513            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
7514            case MESSAGEDEFINITION: return "MessageDefinition";
7515            case MESSAGEHEADER: return "MessageHeader";
7516            case NAMINGSYSTEM: return "NamingSystem";
7517            case NUTRITIONORDER: return "NutritionOrder";
7518            case OBSERVATION: return "Observation";
7519            case OBSERVATIONDEFINITION: return "ObservationDefinition";
7520            case OCCUPATIONALDATA: return "OccupationalData";
7521            case OPERATIONDEFINITION: return "OperationDefinition";
7522            case OPERATIONOUTCOME: return "OperationOutcome";
7523            case ORGANIZATION: return "Organization";
7524            case ORGANIZATIONROLE: return "OrganizationRole";
7525            case PARAMETERS: return "Parameters";
7526            case PATIENT: return "Patient";
7527            case PAYMENTNOTICE: return "PaymentNotice";
7528            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
7529            case PERSON: return "Person";
7530            case PLANDEFINITION: return "PlanDefinition";
7531            case PRACTITIONER: return "Practitioner";
7532            case PRACTITIONERROLE: return "PractitionerRole";
7533            case PROCEDURE: return "Procedure";
7534            case PROCESSREQUEST: return "ProcessRequest";
7535            case PROCESSRESPONSE: return "ProcessResponse";
7536            case PRODUCTPLAN: return "ProductPlan";
7537            case PROVENANCE: return "Provenance";
7538            case QUESTIONNAIRE: return "Questionnaire";
7539            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
7540            case RELATEDPERSON: return "RelatedPerson";
7541            case REQUESTGROUP: return "RequestGroup";
7542            case RESEARCHSTUDY: return "ResearchStudy";
7543            case RESEARCHSUBJECT: return "ResearchSubject";
7544            case RESOURCE: return "Resource";
7545            case RISKASSESSMENT: return "RiskAssessment";
7546            case SCHEDULE: return "Schedule";
7547            case SEARCHPARAMETER: return "SearchParameter";
7548            case SEQUENCE: return "Sequence";
7549            case SERVICEREQUEST: return "ServiceRequest";
7550            case SLOT: return "Slot";
7551            case SPECIMEN: return "Specimen";
7552            case SPECIMENDEFINITION: return "SpecimenDefinition";
7553            case STRUCTUREDEFINITION: return "StructureDefinition";
7554            case STRUCTUREMAP: return "StructureMap";
7555            case SUBSCRIPTION: return "Subscription";
7556            case SUBSTANCE: return "Substance";
7557            case SUBSTANCEPOLYMER: return "SubstancePolymer";
7558            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
7559            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
7560            case SUPPLYDELIVERY: return "SupplyDelivery";
7561            case SUPPLYREQUEST: return "SupplyRequest";
7562            case TASK: return "Task";
7563            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
7564            case TESTREPORT: return "TestReport";
7565            case TESTSCRIPT: return "TestScript";
7566            case USERSESSION: return "UserSession";
7567            case VALUESET: return "ValueSet";
7568            case VERIFICATIONRESULT: return "VerificationResult";
7569            case VISIONPRESCRIPTION: return "VisionPrescription";
7570            default: return "?";
7571          }
7572        }
7573    }
7574
7575  public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> {
7576    public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException {
7577      if (codeString == null || "".equals(codeString))
7578            if (codeString == null || "".equals(codeString))
7579                return null;
7580        if ("Address".equals(codeString))
7581          return FHIRDefinedType.ADDRESS;
7582        if ("Age".equals(codeString))
7583          return FHIRDefinedType.AGE;
7584        if ("Annotation".equals(codeString))
7585          return FHIRDefinedType.ANNOTATION;
7586        if ("Attachment".equals(codeString))
7587          return FHIRDefinedType.ATTACHMENT;
7588        if ("BackboneElement".equals(codeString))
7589          return FHIRDefinedType.BACKBONEELEMENT;
7590        if ("CodeableConcept".equals(codeString))
7591          return FHIRDefinedType.CODEABLECONCEPT;
7592        if ("Coding".equals(codeString))
7593          return FHIRDefinedType.CODING;
7594        if ("ContactDetail".equals(codeString))
7595          return FHIRDefinedType.CONTACTDETAIL;
7596        if ("ContactPoint".equals(codeString))
7597          return FHIRDefinedType.CONTACTPOINT;
7598        if ("Contributor".equals(codeString))
7599          return FHIRDefinedType.CONTRIBUTOR;
7600        if ("Count".equals(codeString))
7601          return FHIRDefinedType.COUNT;
7602        if ("DataRequirement".equals(codeString))
7603          return FHIRDefinedType.DATAREQUIREMENT;
7604        if ("Distance".equals(codeString))
7605          return FHIRDefinedType.DISTANCE;
7606        if ("Dosage".equals(codeString))
7607          return FHIRDefinedType.DOSAGE;
7608        if ("Duration".equals(codeString))
7609          return FHIRDefinedType.DURATION;
7610        if ("Element".equals(codeString))
7611          return FHIRDefinedType.ELEMENT;
7612        if ("ElementDefinition".equals(codeString))
7613          return FHIRDefinedType.ELEMENTDEFINITION;
7614        if ("Extension".equals(codeString))
7615          return FHIRDefinedType.EXTENSION;
7616        if ("HumanName".equals(codeString))
7617          return FHIRDefinedType.HUMANNAME;
7618        if ("Identifier".equals(codeString))
7619          return FHIRDefinedType.IDENTIFIER;
7620        if ("MarketingStatus".equals(codeString))
7621          return FHIRDefinedType.MARKETINGSTATUS;
7622        if ("Meta".equals(codeString))
7623          return FHIRDefinedType.META;
7624        if ("Money".equals(codeString))
7625          return FHIRDefinedType.MONEY;
7626        if ("Narrative".equals(codeString))
7627          return FHIRDefinedType.NARRATIVE;
7628        if ("ParameterDefinition".equals(codeString))
7629          return FHIRDefinedType.PARAMETERDEFINITION;
7630        if ("Period".equals(codeString))
7631          return FHIRDefinedType.PERIOD;
7632        if ("ProdCharacteristic".equals(codeString))
7633          return FHIRDefinedType.PRODCHARACTERISTIC;
7634        if ("ProductShelfLife".equals(codeString))
7635          return FHIRDefinedType.PRODUCTSHELFLIFE;
7636        if ("Quantity".equals(codeString))
7637          return FHIRDefinedType.QUANTITY;
7638        if ("Range".equals(codeString))
7639          return FHIRDefinedType.RANGE;
7640        if ("Ratio".equals(codeString))
7641          return FHIRDefinedType.RATIO;
7642        if ("Reference".equals(codeString))
7643          return FHIRDefinedType.REFERENCE;
7644        if ("RelatedArtifact".equals(codeString))
7645          return FHIRDefinedType.RELATEDARTIFACT;
7646        if ("SampledData".equals(codeString))
7647          return FHIRDefinedType.SAMPLEDDATA;
7648        if ("Signature".equals(codeString))
7649          return FHIRDefinedType.SIGNATURE;
7650        if ("SimpleQuantity".equals(codeString))
7651          return FHIRDefinedType.SIMPLEQUANTITY;
7652        if ("SubstanceAmount".equals(codeString))
7653          return FHIRDefinedType.SUBSTANCEAMOUNT;
7654        if ("SubstanceMoiety".equals(codeString))
7655          return FHIRDefinedType.SUBSTANCEMOIETY;
7656        if ("Timing".equals(codeString))
7657          return FHIRDefinedType.TIMING;
7658        if ("TriggerDefinition".equals(codeString))
7659          return FHIRDefinedType.TRIGGERDEFINITION;
7660        if ("UsageContext".equals(codeString))
7661          return FHIRDefinedType.USAGECONTEXT;
7662        if ("base64Binary".equals(codeString))
7663          return FHIRDefinedType.BASE64BINARY;
7664        if ("boolean".equals(codeString))
7665          return FHIRDefinedType.BOOLEAN;
7666        if ("canonical".equals(codeString))
7667          return FHIRDefinedType.CANONICAL;
7668        if ("code".equals(codeString))
7669          return FHIRDefinedType.CODE;
7670        if ("date".equals(codeString))
7671          return FHIRDefinedType.DATE;
7672        if ("dateTime".equals(codeString))
7673          return FHIRDefinedType.DATETIME;
7674        if ("decimal".equals(codeString))
7675          return FHIRDefinedType.DECIMAL;
7676        if ("id".equals(codeString))
7677          return FHIRDefinedType.ID;
7678        if ("instant".equals(codeString))
7679          return FHIRDefinedType.INSTANT;
7680        if ("integer".equals(codeString))
7681          return FHIRDefinedType.INTEGER;
7682        if ("markdown".equals(codeString))
7683          return FHIRDefinedType.MARKDOWN;
7684        if ("oid".equals(codeString))
7685          return FHIRDefinedType.OID;
7686        if ("positiveInt".equals(codeString))
7687          return FHIRDefinedType.POSITIVEINT;
7688        if ("string".equals(codeString))
7689          return FHIRDefinedType.STRING;
7690        if ("time".equals(codeString))
7691          return FHIRDefinedType.TIME;
7692        if ("unsignedInt".equals(codeString))
7693          return FHIRDefinedType.UNSIGNEDINT;
7694        if ("uri".equals(codeString))
7695          return FHIRDefinedType.URI;
7696        if ("url".equals(codeString))
7697          return FHIRDefinedType.URL;
7698        if ("uuid".equals(codeString))
7699          return FHIRDefinedType.UUID;
7700        if ("xhtml".equals(codeString))
7701          return FHIRDefinedType.XHTML;
7702        if ("Account".equals(codeString))
7703          return FHIRDefinedType.ACCOUNT;
7704        if ("ActivityDefinition".equals(codeString))
7705          return FHIRDefinedType.ACTIVITYDEFINITION;
7706        if ("AdverseEvent".equals(codeString))
7707          return FHIRDefinedType.ADVERSEEVENT;
7708        if ("AllergyIntolerance".equals(codeString))
7709          return FHIRDefinedType.ALLERGYINTOLERANCE;
7710        if ("Appointment".equals(codeString))
7711          return FHIRDefinedType.APPOINTMENT;
7712        if ("AppointmentResponse".equals(codeString))
7713          return FHIRDefinedType.APPOINTMENTRESPONSE;
7714        if ("AuditEvent".equals(codeString))
7715          return FHIRDefinedType.AUDITEVENT;
7716        if ("Basic".equals(codeString))
7717          return FHIRDefinedType.BASIC;
7718        if ("Binary".equals(codeString))
7719          return FHIRDefinedType.BINARY;
7720        if ("BiologicallyDerivedProduct".equals(codeString))
7721          return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT;
7722        if ("BodyStructure".equals(codeString))
7723          return FHIRDefinedType.BODYSTRUCTURE;
7724        if ("Bundle".equals(codeString))
7725          return FHIRDefinedType.BUNDLE;
7726        if ("CapabilityStatement".equals(codeString))
7727          return FHIRDefinedType.CAPABILITYSTATEMENT;
7728        if ("CarePlan".equals(codeString))
7729          return FHIRDefinedType.CAREPLAN;
7730        if ("CareTeam".equals(codeString))
7731          return FHIRDefinedType.CARETEAM;
7732        if ("ChargeItem".equals(codeString))
7733          return FHIRDefinedType.CHARGEITEM;
7734        if ("Claim".equals(codeString))
7735          return FHIRDefinedType.CLAIM;
7736        if ("ClaimResponse".equals(codeString))
7737          return FHIRDefinedType.CLAIMRESPONSE;
7738        if ("ClinicalImpression".equals(codeString))
7739          return FHIRDefinedType.CLINICALIMPRESSION;
7740        if ("CodeSystem".equals(codeString))
7741          return FHIRDefinedType.CODESYSTEM;
7742        if ("Communication".equals(codeString))
7743          return FHIRDefinedType.COMMUNICATION;
7744        if ("CommunicationRequest".equals(codeString))
7745          return FHIRDefinedType.COMMUNICATIONREQUEST;
7746        if ("CompartmentDefinition".equals(codeString))
7747          return FHIRDefinedType.COMPARTMENTDEFINITION;
7748        if ("Composition".equals(codeString))
7749          return FHIRDefinedType.COMPOSITION;
7750        if ("ConceptMap".equals(codeString))
7751          return FHIRDefinedType.CONCEPTMAP;
7752        if ("Condition".equals(codeString))
7753          return FHIRDefinedType.CONDITION;
7754        if ("Consent".equals(codeString))
7755          return FHIRDefinedType.CONSENT;
7756        if ("Contract".equals(codeString))
7757          return FHIRDefinedType.CONTRACT;
7758        if ("Coverage".equals(codeString))
7759          return FHIRDefinedType.COVERAGE;
7760        if ("DetectedIssue".equals(codeString))
7761          return FHIRDefinedType.DETECTEDISSUE;
7762        if ("Device".equals(codeString))
7763          return FHIRDefinedType.DEVICE;
7764        if ("DeviceComponent".equals(codeString))
7765          return FHIRDefinedType.DEVICECOMPONENT;
7766        if ("DeviceMetric".equals(codeString))
7767          return FHIRDefinedType.DEVICEMETRIC;
7768        if ("DeviceRequest".equals(codeString))
7769          return FHIRDefinedType.DEVICEREQUEST;
7770        if ("DeviceUseStatement".equals(codeString))
7771          return FHIRDefinedType.DEVICEUSESTATEMENT;
7772        if ("DiagnosticReport".equals(codeString))
7773          return FHIRDefinedType.DIAGNOSTICREPORT;
7774        if ("DocumentManifest".equals(codeString))
7775          return FHIRDefinedType.DOCUMENTMANIFEST;
7776        if ("DocumentReference".equals(codeString))
7777          return FHIRDefinedType.DOCUMENTREFERENCE;
7778        if ("DomainResource".equals(codeString))
7779          return FHIRDefinedType.DOMAINRESOURCE;
7780        if ("EligibilityRequest".equals(codeString))
7781          return FHIRDefinedType.ELIGIBILITYREQUEST;
7782        if ("EligibilityResponse".equals(codeString))
7783          return FHIRDefinedType.ELIGIBILITYRESPONSE;
7784        if ("Encounter".equals(codeString))
7785          return FHIRDefinedType.ENCOUNTER;
7786        if ("Endpoint".equals(codeString))
7787          return FHIRDefinedType.ENDPOINT;
7788        if ("EnrollmentRequest".equals(codeString))
7789          return FHIRDefinedType.ENROLLMENTREQUEST;
7790        if ("EnrollmentResponse".equals(codeString))
7791          return FHIRDefinedType.ENROLLMENTRESPONSE;
7792        if ("EntryDefinition".equals(codeString))
7793          return FHIRDefinedType.ENTRYDEFINITION;
7794        if ("EpisodeOfCare".equals(codeString))
7795          return FHIRDefinedType.EPISODEOFCARE;
7796        if ("EventDefinition".equals(codeString))
7797          return FHIRDefinedType.EVENTDEFINITION;
7798        if ("ExampleScenario".equals(codeString))
7799          return FHIRDefinedType.EXAMPLESCENARIO;
7800        if ("ExpansionProfile".equals(codeString))
7801          return FHIRDefinedType.EXPANSIONPROFILE;
7802        if ("ExplanationOfBenefit".equals(codeString))
7803          return FHIRDefinedType.EXPLANATIONOFBENEFIT;
7804        if ("FamilyMemberHistory".equals(codeString))
7805          return FHIRDefinedType.FAMILYMEMBERHISTORY;
7806        if ("Flag".equals(codeString))
7807          return FHIRDefinedType.FLAG;
7808        if ("Goal".equals(codeString))
7809          return FHIRDefinedType.GOAL;
7810        if ("GraphDefinition".equals(codeString))
7811          return FHIRDefinedType.GRAPHDEFINITION;
7812        if ("Group".equals(codeString))
7813          return FHIRDefinedType.GROUP;
7814        if ("GuidanceResponse".equals(codeString))
7815          return FHIRDefinedType.GUIDANCERESPONSE;
7816        if ("HealthcareService".equals(codeString))
7817          return FHIRDefinedType.HEALTHCARESERVICE;
7818        if ("ImagingStudy".equals(codeString))
7819          return FHIRDefinedType.IMAGINGSTUDY;
7820        if ("Immunization".equals(codeString))
7821          return FHIRDefinedType.IMMUNIZATION;
7822        if ("ImmunizationEvaluation".equals(codeString))
7823          return FHIRDefinedType.IMMUNIZATIONEVALUATION;
7824        if ("ImmunizationRecommendation".equals(codeString))
7825          return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION;
7826        if ("ImplementationGuide".equals(codeString))
7827          return FHIRDefinedType.IMPLEMENTATIONGUIDE;
7828        if ("Invoice".equals(codeString))
7829          return FHIRDefinedType.INVOICE;
7830        if ("ItemInstance".equals(codeString))
7831          return FHIRDefinedType.ITEMINSTANCE;
7832        if ("Library".equals(codeString))
7833          return FHIRDefinedType.LIBRARY;
7834        if ("Linkage".equals(codeString))
7835          return FHIRDefinedType.LINKAGE;
7836        if ("List".equals(codeString))
7837          return FHIRDefinedType.LIST;
7838        if ("Location".equals(codeString))
7839          return FHIRDefinedType.LOCATION;
7840        if ("Measure".equals(codeString))
7841          return FHIRDefinedType.MEASURE;
7842        if ("MeasureReport".equals(codeString))
7843          return FHIRDefinedType.MEASUREREPORT;
7844        if ("Media".equals(codeString))
7845          return FHIRDefinedType.MEDIA;
7846        if ("Medication".equals(codeString))
7847          return FHIRDefinedType.MEDICATION;
7848        if ("MedicationAdministration".equals(codeString))
7849          return FHIRDefinedType.MEDICATIONADMINISTRATION;
7850        if ("MedicationDispense".equals(codeString))
7851          return FHIRDefinedType.MEDICATIONDISPENSE;
7852        if ("MedicationKnowledge".equals(codeString))
7853          return FHIRDefinedType.MEDICATIONKNOWLEDGE;
7854        if ("MedicationRequest".equals(codeString))
7855          return FHIRDefinedType.MEDICATIONREQUEST;
7856        if ("MedicationStatement".equals(codeString))
7857          return FHIRDefinedType.MEDICATIONSTATEMENT;
7858        if ("MedicinalProduct".equals(codeString))
7859          return FHIRDefinedType.MEDICINALPRODUCT;
7860        if ("MedicinalProductAuthorization".equals(codeString))
7861          return FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION;
7862        if ("MedicinalProductClinicals".equals(codeString))
7863          return FHIRDefinedType.MEDICINALPRODUCTCLINICALS;
7864        if ("MedicinalProductDeviceSpec".equals(codeString))
7865          return FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC;
7866        if ("MedicinalProductIngredient".equals(codeString))
7867          return FHIRDefinedType.MEDICINALPRODUCTINGREDIENT;
7868        if ("MedicinalProductPackaged".equals(codeString))
7869          return FHIRDefinedType.MEDICINALPRODUCTPACKAGED;
7870        if ("MedicinalProductPharmaceutical".equals(codeString))
7871          return FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL;
7872        if ("MessageDefinition".equals(codeString))
7873          return FHIRDefinedType.MESSAGEDEFINITION;
7874        if ("MessageHeader".equals(codeString))
7875          return FHIRDefinedType.MESSAGEHEADER;
7876        if ("NamingSystem".equals(codeString))
7877          return FHIRDefinedType.NAMINGSYSTEM;
7878        if ("NutritionOrder".equals(codeString))
7879          return FHIRDefinedType.NUTRITIONORDER;
7880        if ("Observation".equals(codeString))
7881          return FHIRDefinedType.OBSERVATION;
7882        if ("ObservationDefinition".equals(codeString))
7883          return FHIRDefinedType.OBSERVATIONDEFINITION;
7884        if ("OccupationalData".equals(codeString))
7885          return FHIRDefinedType.OCCUPATIONALDATA;
7886        if ("OperationDefinition".equals(codeString))
7887          return FHIRDefinedType.OPERATIONDEFINITION;
7888        if ("OperationOutcome".equals(codeString))
7889          return FHIRDefinedType.OPERATIONOUTCOME;
7890        if ("Organization".equals(codeString))
7891          return FHIRDefinedType.ORGANIZATION;
7892        if ("OrganizationRole".equals(codeString))
7893          return FHIRDefinedType.ORGANIZATIONROLE;
7894        if ("Parameters".equals(codeString))
7895          return FHIRDefinedType.PARAMETERS;
7896        if ("Patient".equals(codeString))
7897          return FHIRDefinedType.PATIENT;
7898        if ("PaymentNotice".equals(codeString))
7899          return FHIRDefinedType.PAYMENTNOTICE;
7900        if ("PaymentReconciliation".equals(codeString))
7901          return FHIRDefinedType.PAYMENTRECONCILIATION;
7902        if ("Person".equals(codeString))
7903          return FHIRDefinedType.PERSON;
7904        if ("PlanDefinition".equals(codeString))
7905          return FHIRDefinedType.PLANDEFINITION;
7906        if ("Practitioner".equals(codeString))
7907          return FHIRDefinedType.PRACTITIONER;
7908        if ("PractitionerRole".equals(codeString))
7909          return FHIRDefinedType.PRACTITIONERROLE;
7910        if ("Procedure".equals(codeString))
7911          return FHIRDefinedType.PROCEDURE;
7912        if ("ProcessRequest".equals(codeString))
7913          return FHIRDefinedType.PROCESSREQUEST;
7914        if ("ProcessResponse".equals(codeString))
7915          return FHIRDefinedType.PROCESSRESPONSE;
7916        if ("ProductPlan".equals(codeString))
7917          return FHIRDefinedType.PRODUCTPLAN;
7918        if ("Provenance".equals(codeString))
7919          return FHIRDefinedType.PROVENANCE;
7920        if ("Questionnaire".equals(codeString))
7921          return FHIRDefinedType.QUESTIONNAIRE;
7922        if ("QuestionnaireResponse".equals(codeString))
7923          return FHIRDefinedType.QUESTIONNAIRERESPONSE;
7924        if ("RelatedPerson".equals(codeString))
7925          return FHIRDefinedType.RELATEDPERSON;
7926        if ("RequestGroup".equals(codeString))
7927          return FHIRDefinedType.REQUESTGROUP;
7928        if ("ResearchStudy".equals(codeString))
7929          return FHIRDefinedType.RESEARCHSTUDY;
7930        if ("ResearchSubject".equals(codeString))
7931          return FHIRDefinedType.RESEARCHSUBJECT;
7932        if ("Resource".equals(codeString))
7933          return FHIRDefinedType.RESOURCE;
7934        if ("RiskAssessment".equals(codeString))
7935          return FHIRDefinedType.RISKASSESSMENT;
7936        if ("Schedule".equals(codeString))
7937          return FHIRDefinedType.SCHEDULE;
7938        if ("SearchParameter".equals(codeString))
7939          return FHIRDefinedType.SEARCHPARAMETER;
7940        if ("Sequence".equals(codeString))
7941          return FHIRDefinedType.SEQUENCE;
7942        if ("ServiceRequest".equals(codeString))
7943          return FHIRDefinedType.SERVICEREQUEST;
7944        if ("Slot".equals(codeString))
7945          return FHIRDefinedType.SLOT;
7946        if ("Specimen".equals(codeString))
7947          return FHIRDefinedType.SPECIMEN;
7948        if ("SpecimenDefinition".equals(codeString))
7949          return FHIRDefinedType.SPECIMENDEFINITION;
7950        if ("StructureDefinition".equals(codeString))
7951          return FHIRDefinedType.STRUCTUREDEFINITION;
7952        if ("StructureMap".equals(codeString))
7953          return FHIRDefinedType.STRUCTUREMAP;
7954        if ("Subscription".equals(codeString))
7955          return FHIRDefinedType.SUBSCRIPTION;
7956        if ("Substance".equals(codeString))
7957          return FHIRDefinedType.SUBSTANCE;
7958        if ("SubstancePolymer".equals(codeString))
7959          return FHIRDefinedType.SUBSTANCEPOLYMER;
7960        if ("SubstanceReferenceInformation".equals(codeString))
7961          return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION;
7962        if ("SubstanceSpecification".equals(codeString))
7963          return FHIRDefinedType.SUBSTANCESPECIFICATION;
7964        if ("SupplyDelivery".equals(codeString))
7965          return FHIRDefinedType.SUPPLYDELIVERY;
7966        if ("SupplyRequest".equals(codeString))
7967          return FHIRDefinedType.SUPPLYREQUEST;
7968        if ("Task".equals(codeString))
7969          return FHIRDefinedType.TASK;
7970        if ("TerminologyCapabilities".equals(codeString))
7971          return FHIRDefinedType.TERMINOLOGYCAPABILITIES;
7972        if ("TestReport".equals(codeString))
7973          return FHIRDefinedType.TESTREPORT;
7974        if ("TestScript".equals(codeString))
7975          return FHIRDefinedType.TESTSCRIPT;
7976        if ("UserSession".equals(codeString))
7977          return FHIRDefinedType.USERSESSION;
7978        if ("ValueSet".equals(codeString))
7979          return FHIRDefinedType.VALUESET;
7980        if ("VerificationResult".equals(codeString))
7981          return FHIRDefinedType.VERIFICATIONRESULT;
7982        if ("VisionPrescription".equals(codeString))
7983          return FHIRDefinedType.VISIONPRESCRIPTION;
7984        throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'");
7985        }
7986        public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException {
7987          if (code == null)
7988            return null;
7989          if (code.isEmpty())
7990            return new Enumeration<FHIRDefinedType>(this);
7991          String codeString = ((PrimitiveType) code).asStringValue();
7992          if (codeString == null || "".equals(codeString))
7993            return null;
7994        if ("Address".equals(codeString))
7995          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS);
7996        if ("Age".equals(codeString))
7997          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE);
7998        if ("Annotation".equals(codeString))
7999          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION);
8000        if ("Attachment".equals(codeString))
8001          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT);
8002        if ("BackboneElement".equals(codeString))
8003          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT);
8004        if ("CodeableConcept".equals(codeString))
8005          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT);
8006        if ("Coding".equals(codeString))
8007          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING);
8008        if ("ContactDetail".equals(codeString))
8009          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL);
8010        if ("ContactPoint".equals(codeString))
8011          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT);
8012        if ("Contributor".equals(codeString))
8013          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR);
8014        if ("Count".equals(codeString))
8015          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT);
8016        if ("DataRequirement".equals(codeString))
8017          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT);
8018        if ("Distance".equals(codeString))
8019          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE);
8020        if ("Dosage".equals(codeString))
8021          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE);
8022        if ("Duration".equals(codeString))
8023          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION);
8024        if ("Element".equals(codeString))
8025          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT);
8026        if ("ElementDefinition".equals(codeString))
8027          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION);
8028        if ("Extension".equals(codeString))
8029          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION);
8030        if ("HumanName".equals(codeString))
8031          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME);
8032        if ("Identifier".equals(codeString))
8033          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER);
8034        if ("MarketingStatus".equals(codeString))
8035          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS);
8036        if ("Meta".equals(codeString))
8037          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META);
8038        if ("Money".equals(codeString))
8039          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY);
8040        if ("Narrative".equals(codeString))
8041          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE);
8042        if ("ParameterDefinition".equals(codeString))
8043          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION);
8044        if ("Period".equals(codeString))
8045          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD);
8046        if ("ProdCharacteristic".equals(codeString))
8047          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC);
8048        if ("ProductShelfLife".equals(codeString))
8049          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE);
8050        if ("Quantity".equals(codeString))
8051          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY);
8052        if ("Range".equals(codeString))
8053          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE);
8054        if ("Ratio".equals(codeString))
8055          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO);
8056        if ("Reference".equals(codeString))
8057          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE);
8058        if ("RelatedArtifact".equals(codeString))
8059          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT);
8060        if ("SampledData".equals(codeString))
8061          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA);
8062        if ("Signature".equals(codeString))
8063          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE);
8064        if ("SimpleQuantity".equals(codeString))
8065          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY);
8066        if ("SubstanceAmount".equals(codeString))
8067          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEAMOUNT);
8068        if ("SubstanceMoiety".equals(codeString))
8069          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEMOIETY);
8070        if ("Timing".equals(codeString))
8071          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING);
8072        if ("TriggerDefinition".equals(codeString))
8073          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION);
8074        if ("UsageContext".equals(codeString))
8075          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT);
8076        if ("base64Binary".equals(codeString))
8077          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY);
8078        if ("boolean".equals(codeString))
8079          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN);
8080        if ("canonical".equals(codeString))
8081          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL);
8082        if ("code".equals(codeString))
8083          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE);
8084        if ("date".equals(codeString))
8085          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE);
8086        if ("dateTime".equals(codeString))
8087          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME);
8088        if ("decimal".equals(codeString))
8089          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL);
8090        if ("id".equals(codeString))
8091          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID);
8092        if ("instant".equals(codeString))
8093          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT);
8094        if ("integer".equals(codeString))
8095          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER);
8096        if ("markdown".equals(codeString))
8097          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN);
8098        if ("oid".equals(codeString))
8099          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID);
8100        if ("positiveInt".equals(codeString))
8101          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT);
8102        if ("string".equals(codeString))
8103          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING);
8104        if ("time".equals(codeString))
8105          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME);
8106        if ("unsignedInt".equals(codeString))
8107          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT);
8108        if ("uri".equals(codeString))
8109          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI);
8110        if ("url".equals(codeString))
8111          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL);
8112        if ("uuid".equals(codeString))
8113          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID);
8114        if ("xhtml".equals(codeString))
8115          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML);
8116        if ("Account".equals(codeString))
8117          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT);
8118        if ("ActivityDefinition".equals(codeString))
8119          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION);
8120        if ("AdverseEvent".equals(codeString))
8121          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT);
8122        if ("AllergyIntolerance".equals(codeString))
8123          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE);
8124        if ("Appointment".equals(codeString))
8125          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT);
8126        if ("AppointmentResponse".equals(codeString))
8127          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE);
8128        if ("AuditEvent".equals(codeString))
8129          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT);
8130        if ("Basic".equals(codeString))
8131          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC);
8132        if ("Binary".equals(codeString))
8133          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY);
8134        if ("BiologicallyDerivedProduct".equals(codeString))
8135          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT);
8136        if ("BodyStructure".equals(codeString))
8137          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE);
8138        if ("Bundle".equals(codeString))
8139          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE);
8140        if ("CapabilityStatement".equals(codeString))
8141          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT);
8142        if ("CarePlan".equals(codeString))
8143          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN);
8144        if ("CareTeam".equals(codeString))
8145          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM);
8146        if ("ChargeItem".equals(codeString))
8147          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM);
8148        if ("Claim".equals(codeString))
8149          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM);
8150        if ("ClaimResponse".equals(codeString))
8151          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE);
8152        if ("ClinicalImpression".equals(codeString))
8153          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION);
8154        if ("CodeSystem".equals(codeString))
8155          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM);
8156        if ("Communication".equals(codeString))
8157          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION);
8158        if ("CommunicationRequest".equals(codeString))
8159          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST);
8160        if ("CompartmentDefinition".equals(codeString))
8161          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION);
8162        if ("Composition".equals(codeString))
8163          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION);
8164        if ("ConceptMap".equals(codeString))
8165          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP);
8166        if ("Condition".equals(codeString))
8167          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION);
8168        if ("Consent".equals(codeString))
8169          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT);
8170        if ("Contract".equals(codeString))
8171          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT);
8172        if ("Coverage".equals(codeString))
8173          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE);
8174        if ("DetectedIssue".equals(codeString))
8175          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE);
8176        if ("Device".equals(codeString))
8177          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE);
8178        if ("DeviceComponent".equals(codeString))
8179          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICECOMPONENT);
8180        if ("DeviceMetric".equals(codeString))
8181          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC);
8182        if ("DeviceRequest".equals(codeString))
8183          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST);
8184        if ("DeviceUseStatement".equals(codeString))
8185          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT);
8186        if ("DiagnosticReport".equals(codeString))
8187          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT);
8188        if ("DocumentManifest".equals(codeString))
8189          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST);
8190        if ("DocumentReference".equals(codeString))
8191          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE);
8192        if ("DomainResource".equals(codeString))
8193          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE);
8194        if ("EligibilityRequest".equals(codeString))
8195          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYREQUEST);
8196        if ("EligibilityResponse".equals(codeString))
8197          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELIGIBILITYRESPONSE);
8198        if ("Encounter".equals(codeString))
8199          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER);
8200        if ("Endpoint".equals(codeString))
8201          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT);
8202        if ("EnrollmentRequest".equals(codeString))
8203          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST);
8204        if ("EnrollmentResponse".equals(codeString))
8205          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE);
8206        if ("EntryDefinition".equals(codeString))
8207          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENTRYDEFINITION);
8208        if ("EpisodeOfCare".equals(codeString))
8209          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE);
8210        if ("EventDefinition".equals(codeString))
8211          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION);
8212        if ("ExampleScenario".equals(codeString))
8213          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO);
8214        if ("ExpansionProfile".equals(codeString))
8215          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPANSIONPROFILE);
8216        if ("ExplanationOfBenefit".equals(codeString))
8217          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT);
8218        if ("FamilyMemberHistory".equals(codeString))
8219          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY);
8220        if ("Flag".equals(codeString))
8221          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG);
8222        if ("Goal".equals(codeString))
8223          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL);
8224        if ("GraphDefinition".equals(codeString))
8225          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION);
8226        if ("Group".equals(codeString))
8227          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP);
8228        if ("GuidanceResponse".equals(codeString))
8229          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE);
8230        if ("HealthcareService".equals(codeString))
8231          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE);
8232        if ("ImagingStudy".equals(codeString))
8233          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY);
8234        if ("Immunization".equals(codeString))
8235          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION);
8236        if ("ImmunizationEvaluation".equals(codeString))
8237          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION);
8238        if ("ImmunizationRecommendation".equals(codeString))
8239          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION);
8240        if ("ImplementationGuide".equals(codeString))
8241          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE);
8242        if ("Invoice".equals(codeString))
8243          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE);
8244        if ("ItemInstance".equals(codeString))
8245          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ITEMINSTANCE);
8246        if ("Library".equals(codeString))
8247          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY);
8248        if ("Linkage".equals(codeString))
8249          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE);
8250        if ("List".equals(codeString))
8251          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST);
8252        if ("Location".equals(codeString))
8253          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION);
8254        if ("Measure".equals(codeString))
8255          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE);
8256        if ("MeasureReport".equals(codeString))
8257          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT);
8258        if ("Media".equals(codeString))
8259          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA);
8260        if ("Medication".equals(codeString))
8261          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION);
8262        if ("MedicationAdministration".equals(codeString))
8263          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION);
8264        if ("MedicationDispense".equals(codeString))
8265          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE);
8266        if ("MedicationKnowledge".equals(codeString))
8267          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE);
8268        if ("MedicationRequest".equals(codeString))
8269          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST);
8270        if ("MedicationStatement".equals(codeString))
8271          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT);
8272        if ("MedicinalProduct".equals(codeString))
8273          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCT);
8274        if ("MedicinalProductAuthorization".equals(codeString))
8275          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION);
8276        if ("MedicinalProductClinicals".equals(codeString))
8277          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCLINICALS);
8278        if ("MedicinalProductDeviceSpec".equals(codeString))
8279          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC);
8280        if ("MedicinalProductIngredient".equals(codeString))
8281          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINGREDIENT);
8282        if ("MedicinalProductPackaged".equals(codeString))
8283          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPACKAGED);
8284        if ("MedicinalProductPharmaceutical".equals(codeString))
8285          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL);
8286        if ("MessageDefinition".equals(codeString))
8287          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION);
8288        if ("MessageHeader".equals(codeString))
8289          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER);
8290        if ("NamingSystem".equals(codeString))
8291          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM);
8292        if ("NutritionOrder".equals(codeString))
8293          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER);
8294        if ("Observation".equals(codeString))
8295          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION);
8296        if ("ObservationDefinition".equals(codeString))
8297          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION);
8298        if ("OccupationalData".equals(codeString))
8299          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OCCUPATIONALDATA);
8300        if ("OperationDefinition".equals(codeString))
8301          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION);
8302        if ("OperationOutcome".equals(codeString))
8303          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME);
8304        if ("Organization".equals(codeString))
8305          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION);
8306        if ("OrganizationRole".equals(codeString))
8307          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONROLE);
8308        if ("Parameters".equals(codeString))
8309          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS);
8310        if ("Patient".equals(codeString))
8311          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT);
8312        if ("PaymentNotice".equals(codeString))
8313          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE);
8314        if ("PaymentReconciliation".equals(codeString))
8315          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION);
8316        if ("Person".equals(codeString))
8317          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON);
8318        if ("PlanDefinition".equals(codeString))
8319          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION);
8320        if ("Practitioner".equals(codeString))
8321          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER);
8322        if ("PractitionerRole".equals(codeString))
8323          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE);
8324        if ("Procedure".equals(codeString))
8325          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE);
8326        if ("ProcessRequest".equals(codeString))
8327          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSREQUEST);
8328        if ("ProcessResponse".equals(codeString))
8329          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCESSRESPONSE);
8330        if ("ProductPlan".equals(codeString))
8331          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTPLAN);
8332        if ("Provenance".equals(codeString))
8333          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE);
8334        if ("Questionnaire".equals(codeString))
8335          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE);
8336        if ("QuestionnaireResponse".equals(codeString))
8337          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE);
8338        if ("RelatedPerson".equals(codeString))
8339          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON);
8340        if ("RequestGroup".equals(codeString))
8341          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP);
8342        if ("ResearchStudy".equals(codeString))
8343          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY);
8344        if ("ResearchSubject".equals(codeString))
8345          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT);
8346        if ("Resource".equals(codeString))
8347          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE);
8348        if ("RiskAssessment".equals(codeString))
8349          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT);
8350        if ("Schedule".equals(codeString))
8351          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE);
8352        if ("SearchParameter".equals(codeString))
8353          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER);
8354        if ("Sequence".equals(codeString))
8355          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEQUENCE);
8356        if ("ServiceRequest".equals(codeString))
8357          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST);
8358        if ("Slot".equals(codeString))
8359          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT);
8360        if ("Specimen".equals(codeString))
8361          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN);
8362        if ("SpecimenDefinition".equals(codeString))
8363          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION);
8364        if ("StructureDefinition".equals(codeString))
8365          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION);
8366        if ("StructureMap".equals(codeString))
8367          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP);
8368        if ("Subscription".equals(codeString))
8369          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION);
8370        if ("Substance".equals(codeString))
8371          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE);
8372        if ("SubstancePolymer".equals(codeString))
8373          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER);
8374        if ("SubstanceReferenceInformation".equals(codeString))
8375          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION);
8376        if ("SubstanceSpecification".equals(codeString))
8377          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESPECIFICATION);
8378        if ("SupplyDelivery".equals(codeString))
8379          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY);
8380        if ("SupplyRequest".equals(codeString))
8381          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST);
8382        if ("Task".equals(codeString))
8383          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK);
8384        if ("TerminologyCapabilities".equals(codeString))
8385          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES);
8386        if ("TestReport".equals(codeString))
8387          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT);
8388        if ("TestScript".equals(codeString))
8389          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT);
8390        if ("UserSession".equals(codeString))
8391          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USERSESSION);
8392        if ("ValueSet".equals(codeString))
8393          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET);
8394        if ("VerificationResult".equals(codeString))
8395          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT);
8396        if ("VisionPrescription".equals(codeString))
8397          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION);
8398        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
8399        }
8400    public String toCode(FHIRDefinedType code) {
8401      if (code == FHIRDefinedType.ADDRESS)
8402        return "Address";
8403      if (code == FHIRDefinedType.AGE)
8404        return "Age";
8405      if (code == FHIRDefinedType.ANNOTATION)
8406        return "Annotation";
8407      if (code == FHIRDefinedType.ATTACHMENT)
8408        return "Attachment";
8409      if (code == FHIRDefinedType.BACKBONEELEMENT)
8410        return "BackboneElement";
8411      if (code == FHIRDefinedType.CODEABLECONCEPT)
8412        return "CodeableConcept";
8413      if (code == FHIRDefinedType.CODING)
8414        return "Coding";
8415      if (code == FHIRDefinedType.CONTACTDETAIL)
8416        return "ContactDetail";
8417      if (code == FHIRDefinedType.CONTACTPOINT)
8418        return "ContactPoint";
8419      if (code == FHIRDefinedType.CONTRIBUTOR)
8420        return "Contributor";
8421      if (code == FHIRDefinedType.COUNT)
8422        return "Count";
8423      if (code == FHIRDefinedType.DATAREQUIREMENT)
8424        return "DataRequirement";
8425      if (code == FHIRDefinedType.DISTANCE)
8426        return "Distance";
8427      if (code == FHIRDefinedType.DOSAGE)
8428        return "Dosage";
8429      if (code == FHIRDefinedType.DURATION)
8430        return "Duration";
8431      if (code == FHIRDefinedType.ELEMENT)
8432        return "Element";
8433      if (code == FHIRDefinedType.ELEMENTDEFINITION)
8434        return "ElementDefinition";
8435      if (code == FHIRDefinedType.EXTENSION)
8436        return "Extension";
8437      if (code == FHIRDefinedType.HUMANNAME)
8438        return "HumanName";
8439      if (code == FHIRDefinedType.IDENTIFIER)
8440        return "Identifier";
8441      if (code == FHIRDefinedType.MARKETINGSTATUS)
8442        return "MarketingStatus";
8443      if (code == FHIRDefinedType.META)
8444        return "Meta";
8445      if (code == FHIRDefinedType.MONEY)
8446        return "Money";
8447      if (code == FHIRDefinedType.NARRATIVE)
8448        return "Narrative";
8449      if (code == FHIRDefinedType.PARAMETERDEFINITION)
8450        return "ParameterDefinition";
8451      if (code == FHIRDefinedType.PERIOD)
8452        return "Period";
8453      if (code == FHIRDefinedType.PRODCHARACTERISTIC)
8454        return "ProdCharacteristic";
8455      if (code == FHIRDefinedType.PRODUCTSHELFLIFE)
8456        return "ProductShelfLife";
8457      if (code == FHIRDefinedType.QUANTITY)
8458        return "Quantity";
8459      if (code == FHIRDefinedType.RANGE)
8460        return "Range";
8461      if (code == FHIRDefinedType.RATIO)
8462        return "Ratio";
8463      if (code == FHIRDefinedType.REFERENCE)
8464        return "Reference";
8465      if (code == FHIRDefinedType.RELATEDARTIFACT)
8466        return "RelatedArtifact";
8467      if (code == FHIRDefinedType.SAMPLEDDATA)
8468        return "SampledData";
8469      if (code == FHIRDefinedType.SIGNATURE)
8470        return "Signature";
8471      if (code == FHIRDefinedType.SIMPLEQUANTITY)
8472        return "SimpleQuantity";
8473      if (code == FHIRDefinedType.SUBSTANCEAMOUNT)
8474        return "SubstanceAmount";
8475      if (code == FHIRDefinedType.SUBSTANCEMOIETY)
8476        return "SubstanceMoiety";
8477      if (code == FHIRDefinedType.TIMING)
8478        return "Timing";
8479      if (code == FHIRDefinedType.TRIGGERDEFINITION)
8480        return "TriggerDefinition";
8481      if (code == FHIRDefinedType.USAGECONTEXT)
8482        return "UsageContext";
8483      if (code == FHIRDefinedType.BASE64BINARY)
8484        return "base64Binary";
8485      if (code == FHIRDefinedType.BOOLEAN)
8486        return "boolean";
8487      if (code == FHIRDefinedType.CANONICAL)
8488        return "canonical";
8489      if (code == FHIRDefinedType.CODE)
8490        return "code";
8491      if (code == FHIRDefinedType.DATE)
8492        return "date";
8493      if (code == FHIRDefinedType.DATETIME)
8494        return "dateTime";
8495      if (code == FHIRDefinedType.DECIMAL)
8496        return "decimal";
8497      if (code == FHIRDefinedType.ID)
8498        return "id";
8499      if (code == FHIRDefinedType.INSTANT)
8500        return "instant";
8501      if (code == FHIRDefinedType.INTEGER)
8502        return "integer";
8503      if (code == FHIRDefinedType.MARKDOWN)
8504        return "markdown";
8505      if (code == FHIRDefinedType.OID)
8506        return "oid";
8507      if (code == FHIRDefinedType.POSITIVEINT)
8508        return "positiveInt";
8509      if (code == FHIRDefinedType.STRING)
8510        return "string";
8511      if (code == FHIRDefinedType.TIME)
8512        return "time";
8513      if (code == FHIRDefinedType.UNSIGNEDINT)
8514        return "unsignedInt";
8515      if (code == FHIRDefinedType.URI)
8516        return "uri";
8517      if (code == FHIRDefinedType.URL)
8518        return "url";
8519      if (code == FHIRDefinedType.UUID)
8520        return "uuid";
8521      if (code == FHIRDefinedType.XHTML)
8522        return "xhtml";
8523      if (code == FHIRDefinedType.ACCOUNT)
8524        return "Account";
8525      if (code == FHIRDefinedType.ACTIVITYDEFINITION)
8526        return "ActivityDefinition";
8527      if (code == FHIRDefinedType.ADVERSEEVENT)
8528        return "AdverseEvent";
8529      if (code == FHIRDefinedType.ALLERGYINTOLERANCE)
8530        return "AllergyIntolerance";
8531      if (code == FHIRDefinedType.APPOINTMENT)
8532        return "Appointment";
8533      if (code == FHIRDefinedType.APPOINTMENTRESPONSE)
8534        return "AppointmentResponse";
8535      if (code == FHIRDefinedType.AUDITEVENT)
8536        return "AuditEvent";
8537      if (code == FHIRDefinedType.BASIC)
8538        return "Basic";
8539      if (code == FHIRDefinedType.BINARY)
8540        return "Binary";
8541      if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT)
8542        return "BiologicallyDerivedProduct";
8543      if (code == FHIRDefinedType.BODYSTRUCTURE)
8544        return "BodyStructure";
8545      if (code == FHIRDefinedType.BUNDLE)
8546        return "Bundle";
8547      if (code == FHIRDefinedType.CAPABILITYSTATEMENT)
8548        return "CapabilityStatement";
8549      if (code == FHIRDefinedType.CAREPLAN)
8550        return "CarePlan";
8551      if (code == FHIRDefinedType.CARETEAM)
8552        return "CareTeam";
8553      if (code == FHIRDefinedType.CHARGEITEM)
8554        return "ChargeItem";
8555      if (code == FHIRDefinedType.CLAIM)
8556        return "Claim";
8557      if (code == FHIRDefinedType.CLAIMRESPONSE)
8558        return "ClaimResponse";
8559      if (code == FHIRDefinedType.CLINICALIMPRESSION)
8560        return "ClinicalImpression";
8561      if (code == FHIRDefinedType.CODESYSTEM)
8562        return "CodeSystem";
8563      if (code == FHIRDefinedType.COMMUNICATION)
8564        return "Communication";
8565      if (code == FHIRDefinedType.COMMUNICATIONREQUEST)
8566        return "CommunicationRequest";
8567      if (code == FHIRDefinedType.COMPARTMENTDEFINITION)
8568        return "CompartmentDefinition";
8569      if (code == FHIRDefinedType.COMPOSITION)
8570        return "Composition";
8571      if (code == FHIRDefinedType.CONCEPTMAP)
8572        return "ConceptMap";
8573      if (code == FHIRDefinedType.CONDITION)
8574        return "Condition";
8575      if (code == FHIRDefinedType.CONSENT)
8576        return "Consent";
8577      if (code == FHIRDefinedType.CONTRACT)
8578        return "Contract";
8579      if (code == FHIRDefinedType.COVERAGE)
8580        return "Coverage";
8581      if (code == FHIRDefinedType.DETECTEDISSUE)
8582        return "DetectedIssue";
8583      if (code == FHIRDefinedType.DEVICE)
8584        return "Device";
8585      if (code == FHIRDefinedType.DEVICECOMPONENT)
8586        return "DeviceComponent";
8587      if (code == FHIRDefinedType.DEVICEMETRIC)
8588        return "DeviceMetric";
8589      if (code == FHIRDefinedType.DEVICEREQUEST)
8590        return "DeviceRequest";
8591      if (code == FHIRDefinedType.DEVICEUSESTATEMENT)
8592        return "DeviceUseStatement";
8593      if (code == FHIRDefinedType.DIAGNOSTICREPORT)
8594        return "DiagnosticReport";
8595      if (code == FHIRDefinedType.DOCUMENTMANIFEST)
8596        return "DocumentManifest";
8597      if (code == FHIRDefinedType.DOCUMENTREFERENCE)
8598        return "DocumentReference";
8599      if (code == FHIRDefinedType.DOMAINRESOURCE)
8600        return "DomainResource";
8601      if (code == FHIRDefinedType.ELIGIBILITYREQUEST)
8602        return "EligibilityRequest";
8603      if (code == FHIRDefinedType.ELIGIBILITYRESPONSE)
8604        return "EligibilityResponse";
8605      if (code == FHIRDefinedType.ENCOUNTER)
8606        return "Encounter";
8607      if (code == FHIRDefinedType.ENDPOINT)
8608        return "Endpoint";
8609      if (code == FHIRDefinedType.ENROLLMENTREQUEST)
8610        return "EnrollmentRequest";
8611      if (code == FHIRDefinedType.ENROLLMENTRESPONSE)
8612        return "EnrollmentResponse";
8613      if (code == FHIRDefinedType.ENTRYDEFINITION)
8614        return "EntryDefinition";
8615      if (code == FHIRDefinedType.EPISODEOFCARE)
8616        return "EpisodeOfCare";
8617      if (code == FHIRDefinedType.EVENTDEFINITION)
8618        return "EventDefinition";
8619      if (code == FHIRDefinedType.EXAMPLESCENARIO)
8620        return "ExampleScenario";
8621      if (code == FHIRDefinedType.EXPANSIONPROFILE)
8622        return "ExpansionProfile";
8623      if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT)
8624        return "ExplanationOfBenefit";
8625      if (code == FHIRDefinedType.FAMILYMEMBERHISTORY)
8626        return "FamilyMemberHistory";
8627      if (code == FHIRDefinedType.FLAG)
8628        return "Flag";
8629      if (code == FHIRDefinedType.GOAL)
8630        return "Goal";
8631      if (code == FHIRDefinedType.GRAPHDEFINITION)
8632        return "GraphDefinition";
8633      if (code == FHIRDefinedType.GROUP)
8634        return "Group";
8635      if (code == FHIRDefinedType.GUIDANCERESPONSE)
8636        return "GuidanceResponse";
8637      if (code == FHIRDefinedType.HEALTHCARESERVICE)
8638        return "HealthcareService";
8639      if (code == FHIRDefinedType.IMAGINGSTUDY)
8640        return "ImagingStudy";
8641      if (code == FHIRDefinedType.IMMUNIZATION)
8642        return "Immunization";
8643      if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION)
8644        return "ImmunizationEvaluation";
8645      if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION)
8646        return "ImmunizationRecommendation";
8647      if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE)
8648        return "ImplementationGuide";
8649      if (code == FHIRDefinedType.INVOICE)
8650        return "Invoice";
8651      if (code == FHIRDefinedType.ITEMINSTANCE)
8652        return "ItemInstance";
8653      if (code == FHIRDefinedType.LIBRARY)
8654        return "Library";
8655      if (code == FHIRDefinedType.LINKAGE)
8656        return "Linkage";
8657      if (code == FHIRDefinedType.LIST)
8658        return "List";
8659      if (code == FHIRDefinedType.LOCATION)
8660        return "Location";
8661      if (code == FHIRDefinedType.MEASURE)
8662        return "Measure";
8663      if (code == FHIRDefinedType.MEASUREREPORT)
8664        return "MeasureReport";
8665      if (code == FHIRDefinedType.MEDIA)
8666        return "Media";
8667      if (code == FHIRDefinedType.MEDICATION)
8668        return "Medication";
8669      if (code == FHIRDefinedType.MEDICATIONADMINISTRATION)
8670        return "MedicationAdministration";
8671      if (code == FHIRDefinedType.MEDICATIONDISPENSE)
8672        return "MedicationDispense";
8673      if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE)
8674        return "MedicationKnowledge";
8675      if (code == FHIRDefinedType.MEDICATIONREQUEST)
8676        return "MedicationRequest";
8677      if (code == FHIRDefinedType.MEDICATIONSTATEMENT)
8678        return "MedicationStatement";
8679      if (code == FHIRDefinedType.MEDICINALPRODUCT)
8680        return "MedicinalProduct";
8681      if (code == FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION)
8682        return "MedicinalProductAuthorization";
8683      if (code == FHIRDefinedType.MEDICINALPRODUCTCLINICALS)
8684        return "MedicinalProductClinicals";
8685      if (code == FHIRDefinedType.MEDICINALPRODUCTDEVICESPEC)
8686        return "MedicinalProductDeviceSpec";
8687      if (code == FHIRDefinedType.MEDICINALPRODUCTINGREDIENT)
8688        return "MedicinalProductIngredient";
8689      if (code == FHIRDefinedType.MEDICINALPRODUCTPACKAGED)
8690        return "MedicinalProductPackaged";
8691      if (code == FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL)
8692        return "MedicinalProductPharmaceutical";
8693      if (code == FHIRDefinedType.MESSAGEDEFINITION)
8694        return "MessageDefinition";
8695      if (code == FHIRDefinedType.MESSAGEHEADER)
8696        return "MessageHeader";
8697      if (code == FHIRDefinedType.NAMINGSYSTEM)
8698        return "NamingSystem";
8699      if (code == FHIRDefinedType.NUTRITIONORDER)
8700        return "NutritionOrder";
8701      if (code == FHIRDefinedType.OBSERVATION)
8702        return "Observation";
8703      if (code == FHIRDefinedType.OBSERVATIONDEFINITION)
8704        return "ObservationDefinition";
8705      if (code == FHIRDefinedType.OCCUPATIONALDATA)
8706        return "OccupationalData";
8707      if (code == FHIRDefinedType.OPERATIONDEFINITION)
8708        return "OperationDefinition";
8709      if (code == FHIRDefinedType.OPERATIONOUTCOME)
8710        return "OperationOutcome";
8711      if (code == FHIRDefinedType.ORGANIZATION)
8712        return "Organization";
8713      if (code == FHIRDefinedType.ORGANIZATIONROLE)
8714        return "OrganizationRole";
8715      if (code == FHIRDefinedType.PARAMETERS)
8716        return "Parameters";
8717      if (code == FHIRDefinedType.PATIENT)
8718        return "Patient";
8719      if (code == FHIRDefinedType.PAYMENTNOTICE)
8720        return "PaymentNotice";
8721      if (code == FHIRDefinedType.PAYMENTRECONCILIATION)
8722        return "PaymentReconciliation";
8723      if (code == FHIRDefinedType.PERSON)
8724        return "Person";
8725      if (code == FHIRDefinedType.PLANDEFINITION)
8726        return "PlanDefinition";
8727      if (code == FHIRDefinedType.PRACTITIONER)
8728        return "Practitioner";
8729      if (code == FHIRDefinedType.PRACTITIONERROLE)
8730        return "PractitionerRole";
8731      if (code == FHIRDefinedType.PROCEDURE)
8732        return "Procedure";
8733      if (code == FHIRDefinedType.PROCESSREQUEST)
8734        return "ProcessRequest";
8735      if (code == FHIRDefinedType.PROCESSRESPONSE)
8736        return "ProcessResponse";
8737      if (code == FHIRDefinedType.PRODUCTPLAN)
8738        return "ProductPlan";
8739      if (code == FHIRDefinedType.PROVENANCE)
8740        return "Provenance";
8741      if (code == FHIRDefinedType.QUESTIONNAIRE)
8742        return "Questionnaire";
8743      if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE)
8744        return "QuestionnaireResponse";
8745      if (code == FHIRDefinedType.RELATEDPERSON)
8746        return "RelatedPerson";
8747      if (code == FHIRDefinedType.REQUESTGROUP)
8748        return "RequestGroup";
8749      if (code == FHIRDefinedType.RESEARCHSTUDY)
8750        return "ResearchStudy";
8751      if (code == FHIRDefinedType.RESEARCHSUBJECT)
8752        return "ResearchSubject";
8753      if (code == FHIRDefinedType.RESOURCE)
8754        return "Resource";
8755      if (code == FHIRDefinedType.RISKASSESSMENT)
8756        return "RiskAssessment";
8757      if (code == FHIRDefinedType.SCHEDULE)
8758        return "Schedule";
8759      if (code == FHIRDefinedType.SEARCHPARAMETER)
8760        return "SearchParameter";
8761      if (code == FHIRDefinedType.SEQUENCE)
8762        return "Sequence";
8763      if (code == FHIRDefinedType.SERVICEREQUEST)
8764        return "ServiceRequest";
8765      if (code == FHIRDefinedType.SLOT)
8766        return "Slot";
8767      if (code == FHIRDefinedType.SPECIMEN)
8768        return "Specimen";
8769      if (code == FHIRDefinedType.SPECIMENDEFINITION)
8770        return "SpecimenDefinition";
8771      if (code == FHIRDefinedType.STRUCTUREDEFINITION)
8772        return "StructureDefinition";
8773      if (code == FHIRDefinedType.STRUCTUREMAP)
8774        return "StructureMap";
8775      if (code == FHIRDefinedType.SUBSCRIPTION)
8776        return "Subscription";
8777      if (code == FHIRDefinedType.SUBSTANCE)
8778        return "Substance";
8779      if (code == FHIRDefinedType.SUBSTANCEPOLYMER)
8780        return "SubstancePolymer";
8781      if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION)
8782        return "SubstanceReferenceInformation";
8783      if (code == FHIRDefinedType.SUBSTANCESPECIFICATION)
8784        return "SubstanceSpecification";
8785      if (code == FHIRDefinedType.SUPPLYDELIVERY)
8786        return "SupplyDelivery";
8787      if (code == FHIRDefinedType.SUPPLYREQUEST)
8788        return "SupplyRequest";
8789      if (code == FHIRDefinedType.TASK)
8790        return "Task";
8791      if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES)
8792        return "TerminologyCapabilities";
8793      if (code == FHIRDefinedType.TESTREPORT)
8794        return "TestReport";
8795      if (code == FHIRDefinedType.TESTSCRIPT)
8796        return "TestScript";
8797      if (code == FHIRDefinedType.USERSESSION)
8798        return "UserSession";
8799      if (code == FHIRDefinedType.VALUESET)
8800        return "ValueSet";
8801      if (code == FHIRDefinedType.VERIFICATIONRESULT)
8802        return "VerificationResult";
8803      if (code == FHIRDefinedType.VISIONPRESCRIPTION)
8804        return "VisionPrescription";
8805      return "?";
8806      }
8807    public String toSystem(FHIRDefinedType code) {
8808      return code.getSystem();
8809      }
8810    }
8811
8812    public enum MessageEvent {
8813        /**
8814         * added to help the parsers
8815         */
8816        NULL;
8817        public static MessageEvent fromCode(String codeString) throws FHIRException {
8818            if (codeString == null || "".equals(codeString))
8819                return null;
8820        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
8821        }
8822        public String toCode() {
8823          switch (this) {
8824            default: return "?";
8825          }
8826        }
8827        public String getSystem() {
8828          switch (this) {
8829            default: return "?";
8830          }
8831        }
8832        public String getDefinition() {
8833          switch (this) {
8834            default: return "?";
8835          }
8836        }
8837        public String getDisplay() {
8838          switch (this) {
8839            default: return "?";
8840          }
8841        }
8842    }
8843
8844  public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> {
8845    public MessageEvent fromCode(String codeString) throws IllegalArgumentException {
8846      if (codeString == null || "".equals(codeString))
8847            if (codeString == null || "".equals(codeString))
8848                return null;
8849        throw new IllegalArgumentException("Unknown MessageEvent code '"+codeString+"'");
8850        }
8851        public Enumeration<MessageEvent> fromType(Base code) throws FHIRException {
8852          if (code == null)
8853            return null;
8854          if (code.isEmpty())
8855            return new Enumeration<MessageEvent>(this);
8856          String codeString = ((PrimitiveType) code).asStringValue();
8857          if (codeString == null || "".equals(codeString))
8858            return null;
8859        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
8860        }
8861    public String toCode(MessageEvent code) {
8862      return "?";
8863      }
8864    public String toSystem(MessageEvent code) {
8865      return code.getSystem();
8866      }
8867    }
8868
8869    public enum NoteType {
8870        /**
8871         * Display the note.
8872         */
8873        DISPLAY, 
8874        /**
8875         * Print the note on the form.
8876         */
8877        PRINT, 
8878        /**
8879         * Print the note for the operator.
8880         */
8881        PRINTOPER, 
8882        /**
8883         * added to help the parsers
8884         */
8885        NULL;
8886        public static NoteType fromCode(String codeString) throws FHIRException {
8887            if (codeString == null || "".equals(codeString))
8888                return null;
8889        if ("display".equals(codeString))
8890          return DISPLAY;
8891        if ("print".equals(codeString))
8892          return PRINT;
8893        if ("printoper".equals(codeString))
8894          return PRINTOPER;
8895        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
8896        }
8897        public String toCode() {
8898          switch (this) {
8899            case DISPLAY: return "display";
8900            case PRINT: return "print";
8901            case PRINTOPER: return "printoper";
8902            default: return "?";
8903          }
8904        }
8905        public String getSystem() {
8906          switch (this) {
8907            case DISPLAY: return "http://hl7.org/fhir/note-type";
8908            case PRINT: return "http://hl7.org/fhir/note-type";
8909            case PRINTOPER: return "http://hl7.org/fhir/note-type";
8910            default: return "?";
8911          }
8912        }
8913        public String getDefinition() {
8914          switch (this) {
8915            case DISPLAY: return "Display the note.";
8916            case PRINT: return "Print the note on the form.";
8917            case PRINTOPER: return "Print the note for the operator.";
8918            default: return "?";
8919          }
8920        }
8921        public String getDisplay() {
8922          switch (this) {
8923            case DISPLAY: return "Display";
8924            case PRINT: return "Print (Form)";
8925            case PRINTOPER: return "Print (Operator)";
8926            default: return "?";
8927          }
8928        }
8929    }
8930
8931  public static class NoteTypeEnumFactory implements EnumFactory<NoteType> {
8932    public NoteType fromCode(String codeString) throws IllegalArgumentException {
8933      if (codeString == null || "".equals(codeString))
8934            if (codeString == null || "".equals(codeString))
8935                return null;
8936        if ("display".equals(codeString))
8937          return NoteType.DISPLAY;
8938        if ("print".equals(codeString))
8939          return NoteType.PRINT;
8940        if ("printoper".equals(codeString))
8941          return NoteType.PRINTOPER;
8942        throw new IllegalArgumentException("Unknown NoteType code '"+codeString+"'");
8943        }
8944        public Enumeration<NoteType> fromType(Base code) throws FHIRException {
8945          if (code == null)
8946            return null;
8947          if (code.isEmpty())
8948            return new Enumeration<NoteType>(this);
8949          String codeString = ((PrimitiveType) code).asStringValue();
8950          if (codeString == null || "".equals(codeString))
8951            return null;
8952        if ("display".equals(codeString))
8953          return new Enumeration<NoteType>(this, NoteType.DISPLAY);
8954        if ("print".equals(codeString))
8955          return new Enumeration<NoteType>(this, NoteType.PRINT);
8956        if ("printoper".equals(codeString))
8957          return new Enumeration<NoteType>(this, NoteType.PRINTOPER);
8958        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
8959        }
8960    public String toCode(NoteType code) {
8961      if (code == NoteType.DISPLAY)
8962        return "display";
8963      if (code == NoteType.PRINT)
8964        return "print";
8965      if (code == NoteType.PRINTOPER)
8966        return "printoper";
8967      return "?";
8968      }
8969    public String toSystem(NoteType code) {
8970      return code.getSystem();
8971      }
8972    }
8973
8974    public enum PublicationStatus {
8975        /**
8976         * This resource is still under development and is not yet considered to be ready for normal use.
8977         */
8978        DRAFT, 
8979        /**
8980         * This resource is ready for normal use.
8981         */
8982        ACTIVE, 
8983        /**
8984         * This resource has been withdrawn or superseded and should no longer be used.
8985         */
8986        RETIRED, 
8987        /**
8988         * 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.
8989         */
8990        UNKNOWN, 
8991        /**
8992         * added to help the parsers
8993         */
8994        NULL;
8995        public static PublicationStatus fromCode(String codeString) throws FHIRException {
8996            if (codeString == null || "".equals(codeString))
8997                return null;
8998        if ("draft".equals(codeString))
8999          return DRAFT;
9000        if ("active".equals(codeString))
9001          return ACTIVE;
9002        if ("retired".equals(codeString))
9003          return RETIRED;
9004        if ("unknown".equals(codeString))
9005          return UNKNOWN;
9006        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
9007        }
9008        public String toCode() {
9009          switch (this) {
9010            case DRAFT: return "draft";
9011            case ACTIVE: return "active";
9012            case RETIRED: return "retired";
9013            case UNKNOWN: return "unknown";
9014            default: return "?";
9015          }
9016        }
9017        public String getSystem() {
9018          switch (this) {
9019            case DRAFT: return "http://hl7.org/fhir/publication-status";
9020            case ACTIVE: return "http://hl7.org/fhir/publication-status";
9021            case RETIRED: return "http://hl7.org/fhir/publication-status";
9022            case UNKNOWN: return "http://hl7.org/fhir/publication-status";
9023            default: return "?";
9024          }
9025        }
9026        public String getDefinition() {
9027          switch (this) {
9028            case DRAFT: return "This resource is still under development and is not yet considered to be ready for normal use.";
9029            case ACTIVE: return "This resource is ready for normal use.";
9030            case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used.";
9031            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.";
9032            default: return "?";
9033          }
9034        }
9035        public String getDisplay() {
9036          switch (this) {
9037            case DRAFT: return "Draft";
9038            case ACTIVE: return "Active";
9039            case RETIRED: return "Retired";
9040            case UNKNOWN: return "Unknown";
9041            default: return "?";
9042          }
9043        }
9044    }
9045
9046  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
9047    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
9048      if (codeString == null || "".equals(codeString))
9049            if (codeString == null || "".equals(codeString))
9050                return null;
9051        if ("draft".equals(codeString))
9052          return PublicationStatus.DRAFT;
9053        if ("active".equals(codeString))
9054          return PublicationStatus.ACTIVE;
9055        if ("retired".equals(codeString))
9056          return PublicationStatus.RETIRED;
9057        if ("unknown".equals(codeString))
9058          return PublicationStatus.UNKNOWN;
9059        throw new IllegalArgumentException("Unknown PublicationStatus code '"+codeString+"'");
9060        }
9061        public Enumeration<PublicationStatus> fromType(Base code) throws FHIRException {
9062          if (code == null)
9063            return null;
9064          if (code.isEmpty())
9065            return new Enumeration<PublicationStatus>(this);
9066          String codeString = ((PrimitiveType) code).asStringValue();
9067          if (codeString == null || "".equals(codeString))
9068            return null;
9069        if ("draft".equals(codeString))
9070          return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT);
9071        if ("active".equals(codeString))
9072          return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE);
9073        if ("retired".equals(codeString))
9074          return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED);
9075        if ("unknown".equals(codeString))
9076          return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN);
9077        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
9078        }
9079    public String toCode(PublicationStatus code) {
9080      if (code == PublicationStatus.DRAFT)
9081        return "draft";
9082      if (code == PublicationStatus.ACTIVE)
9083        return "active";
9084      if (code == PublicationStatus.RETIRED)
9085        return "retired";
9086      if (code == PublicationStatus.UNKNOWN)
9087        return "unknown";
9088      return "?";
9089      }
9090    public String toSystem(PublicationStatus code) {
9091      return code.getSystem();
9092      }
9093    }
9094
9095    public enum RemittanceOutcome {
9096        /**
9097         * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.
9098         */
9099        QUEUED, 
9100        /**
9101         * The processing has completed without errors
9102         */
9103        COMPLETE, 
9104        /**
9105         * One or more errors have been detected in the Claim
9106         */
9107        ERROR, 
9108        /**
9109         * No errors have been detected in the Claim and some of the adjudication has been performed.
9110         */
9111        PARTIAL, 
9112        /**
9113         * added to help the parsers
9114         */
9115        NULL;
9116        public static RemittanceOutcome fromCode(String codeString) throws FHIRException {
9117            if (codeString == null || "".equals(codeString))
9118                return null;
9119        if ("queued".equals(codeString))
9120          return QUEUED;
9121        if ("complete".equals(codeString))
9122          return COMPLETE;
9123        if ("error".equals(codeString))
9124          return ERROR;
9125        if ("partial".equals(codeString))
9126          return PARTIAL;
9127        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
9128        }
9129        public String toCode() {
9130          switch (this) {
9131            case QUEUED: return "queued";
9132            case COMPLETE: return "complete";
9133            case ERROR: return "error";
9134            case PARTIAL: return "partial";
9135            default: return "?";
9136          }
9137        }
9138        public String getSystem() {
9139          switch (this) {
9140            case QUEUED: return "http://hl7.org/fhir/remittance-outcome";
9141            case COMPLETE: return "http://hl7.org/fhir/remittance-outcome";
9142            case ERROR: return "http://hl7.org/fhir/remittance-outcome";
9143            case PARTIAL: return "http://hl7.org/fhir/remittance-outcome";
9144            default: return "?";
9145          }
9146        }
9147        public String getDefinition() {
9148          switch (this) {
9149            case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
9150            case COMPLETE: return "The processing has completed without errors";
9151            case ERROR: return "One or more errors have been detected in the Claim";
9152            case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed.";
9153            default: return "?";
9154          }
9155        }
9156        public String getDisplay() {
9157          switch (this) {
9158            case QUEUED: return "Queued";
9159            case COMPLETE: return "Processing Complete";
9160            case ERROR: return "Error";
9161            case PARTIAL: return "Partial Processing";
9162            default: return "?";
9163          }
9164        }
9165    }
9166
9167  public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> {
9168    public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException {
9169      if (codeString == null || "".equals(codeString))
9170            if (codeString == null || "".equals(codeString))
9171                return null;
9172        if ("queued".equals(codeString))
9173          return RemittanceOutcome.QUEUED;
9174        if ("complete".equals(codeString))
9175          return RemittanceOutcome.COMPLETE;
9176        if ("error".equals(codeString))
9177          return RemittanceOutcome.ERROR;
9178        if ("partial".equals(codeString))
9179          return RemittanceOutcome.PARTIAL;
9180        throw new IllegalArgumentException("Unknown RemittanceOutcome code '"+codeString+"'");
9181        }
9182        public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException {
9183          if (code == null)
9184            return null;
9185          if (code.isEmpty())
9186            return new Enumeration<RemittanceOutcome>(this);
9187          String codeString = ((PrimitiveType) code).asStringValue();
9188          if (codeString == null || "".equals(codeString))
9189            return null;
9190        if ("queued".equals(codeString))
9191          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.QUEUED);
9192        if ("complete".equals(codeString))
9193          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE);
9194        if ("error".equals(codeString))
9195          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR);
9196        if ("partial".equals(codeString))
9197          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.PARTIAL);
9198        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
9199        }
9200    public String toCode(RemittanceOutcome code) {
9201      if (code == RemittanceOutcome.QUEUED)
9202        return "queued";
9203      if (code == RemittanceOutcome.COMPLETE)
9204        return "complete";
9205      if (code == RemittanceOutcome.ERROR)
9206        return "error";
9207      if (code == RemittanceOutcome.PARTIAL)
9208        return "partial";
9209      return "?";
9210      }
9211    public String toSystem(RemittanceOutcome code) {
9212      return code.getSystem();
9213      }
9214    }
9215
9216    public enum ResourceType {
9217        /**
9218         * 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.
9219         */
9220        ACCOUNT, 
9221        /**
9222         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
9223         */
9224        ACTIVITYDEFINITION, 
9225        /**
9226         * 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.
9227         */
9228        ADVERSEEVENT, 
9229        /**
9230         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
9231         */
9232        ALLERGYINTOLERANCE, 
9233        /**
9234         * 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).
9235         */
9236        APPOINTMENT, 
9237        /**
9238         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
9239         */
9240        APPOINTMENTRESPONSE, 
9241        /**
9242         * 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.
9243         */
9244        AUDITEVENT, 
9245        /**
9246         * 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.
9247         */
9248        BASIC, 
9249        /**
9250         * A binary resource can contain any content, whether text, image, pdf, zip archive, etc.
9251         */
9252        BINARY, 
9253        /**
9254         * A material substance originating from a biological entity intended to be transplanted or infused
9255into another (possibly the same) biological entity.
9256         */
9257        BIOLOGICALLYDERIVEDPRODUCT, 
9258        /**
9259         * 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.
9260         */
9261        BODYSTRUCTURE, 
9262        /**
9263         * A container for a collection of resources.
9264         */
9265        BUNDLE, 
9266        /**
9267         * 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.
9268         */
9269        CAPABILITYSTATEMENT, 
9270        /**
9271         * 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.
9272         */
9273        CAREPLAN, 
9274        /**
9275         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
9276         */
9277        CARETEAM, 
9278        /**
9279         * 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.
9280         */
9281        CHARGEITEM, 
9282        /**
9283         * 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.
9284         */
9285        CLAIM, 
9286        /**
9287         * This resource provides the adjudication details from the processing of a Claim resource.
9288         */
9289        CLAIMRESPONSE, 
9290        /**
9291         * 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.
9292         */
9293        CLINICALIMPRESSION, 
9294        /**
9295         * 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.
9296         */
9297        CODESYSTEM, 
9298        /**
9299         * 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.
9300         */
9301        COMMUNICATION, 
9302        /**
9303         * 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.
9304         */
9305        COMMUNICATIONREQUEST, 
9306        /**
9307         * A compartment definition that defines how resources are accessed on a server.
9308         */
9309        COMPARTMENTDEFINITION, 
9310        /**
9311         * 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.).
9312         */
9313        COMPOSITION, 
9314        /**
9315         * A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.
9316         */
9317        CONCEPTMAP, 
9318        /**
9319         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
9320         */
9321        CONDITION, 
9322        /**
9323         * 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.
9324         */
9325        CONSENT, 
9326        /**
9327         * A formal agreement between parties regarding the conduct of business, exchange of information or other matters.
9328         */
9329        CONTRACT, 
9330        /**
9331         * Financial instrument which may be used to reimburse or pay for health care products and services.
9332         */
9333        COVERAGE, 
9334        /**
9335         * 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.
9336         */
9337        DETECTEDISSUE, 
9338        /**
9339         * This resource identifies an instance or 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.
9340         */
9341        DEVICE, 
9342        /**
9343         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
9344         */
9345        DEVICECOMPONENT, 
9346        /**
9347         * Describes a measurement, calculation or setting capability of a medical device.
9348         */
9349        DEVICEMETRIC, 
9350        /**
9351         * 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.
9352         */
9353        DEVICEREQUEST, 
9354        /**
9355         * 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.
9356         */
9357        DEVICEUSESTATEMENT, 
9358        /**
9359         * 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.
9360         */
9361        DIAGNOSTICREPORT, 
9362        /**
9363         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
9364         */
9365        DOCUMENTMANIFEST, 
9366        /**
9367         * A reference to a document.
9368         */
9369        DOCUMENTREFERENCE, 
9370        /**
9371         * A resource that includes narrative, extensions, and contained resources.
9372         */
9373        DOMAINRESOURCE, 
9374        /**
9375         * The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
9376         */
9377        ELIGIBILITYREQUEST, 
9378        /**
9379         * This resource provides eligibility and plan details from the processing of an Eligibility resource.
9380         */
9381        ELIGIBILITYRESPONSE, 
9382        /**
9383         * 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.
9384         */
9385        ENCOUNTER, 
9386        /**
9387         * 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.
9388         */
9389        ENDPOINT, 
9390        /**
9391         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
9392         */
9393        ENROLLMENTREQUEST, 
9394        /**
9395         * This resource provides enrollment and plan details from the processing of an Enrollment resource.
9396         */
9397        ENROLLMENTRESPONSE, 
9398        /**
9399         * Catalog entries are wrappers that contextualize items included in a catalog.
9400         */
9401        ENTRYDEFINITION, 
9402        /**
9403         * 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.
9404         */
9405        EPISODEOFCARE, 
9406        /**
9407         * The EventDefinition resource provides a reusable description of when a particular event can occur.
9408         */
9409        EVENTDEFINITION, 
9410        /**
9411         * Example of workflow instance.
9412         */
9413        EXAMPLESCENARIO, 
9414        /**
9415         * Resource to define constraints on the Expansion of a FHIR ValueSet.
9416         */
9417        EXPANSIONPROFILE, 
9418        /**
9419         * 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.
9420         */
9421        EXPLANATIONOFBENEFIT, 
9422        /**
9423         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
9424         */
9425        FAMILYMEMBERHISTORY, 
9426        /**
9427         * Prospective warnings of potential issues when providing care to the patient.
9428         */
9429        FLAG, 
9430        /**
9431         * 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.
9432         */
9433        GOAL, 
9434        /**
9435         * 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.
9436         */
9437        GRAPHDEFINITION, 
9438        /**
9439         * 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.
9440         */
9441        GROUP, 
9442        /**
9443         * 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.
9444         */
9445        GUIDANCERESPONSE, 
9446        /**
9447         * The details of a healthcare service available at a location.
9448         */
9449        HEALTHCARESERVICE, 
9450        /**
9451         * 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.
9452         */
9453        IMAGINGSTUDY, 
9454        /**
9455         * 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.
9456         */
9457        IMMUNIZATION, 
9458        /**
9459         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
9460         */
9461        IMMUNIZATIONEVALUATION, 
9462        /**
9463         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
9464         */
9465        IMMUNIZATIONRECOMMENDATION, 
9466        /**
9467         * 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.
9468         */
9469        IMPLEMENTATIONGUIDE, 
9470        /**
9471         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
9472         */
9473        INVOICE, 
9474        /**
9475         * A physical, countable instance of an item, for example one box or one unit.
9476         */
9477        ITEMINSTANCE, 
9478        /**
9479         * 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.
9480         */
9481        LIBRARY, 
9482        /**
9483         * Identifies two or more records (resource instances) that are referring to the same real-world "occurrence".
9484         */
9485        LINKAGE, 
9486        /**
9487         * A set of information summarized from a list of other resources.
9488         */
9489        LIST, 
9490        /**
9491         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
9492         */
9493        LOCATION, 
9494        /**
9495         * The Measure resource provides the definition of a quality measure.
9496         */
9497        MEASURE, 
9498        /**
9499         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
9500         */
9501        MEASUREREPORT, 
9502        /**
9503         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
9504         */
9505        MEDIA, 
9506        /**
9507         * 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.
9508         */
9509        MEDICATION, 
9510        /**
9511         * 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.
9512         */
9513        MEDICATIONADMINISTRATION, 
9514        /**
9515         * 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.
9516         */
9517        MEDICATIONDISPENSE, 
9518        /**
9519         * Information about a medication that is used to support knowledge.
9520         */
9521        MEDICATIONKNOWLEDGE, 
9522        /**
9523         * 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.
9524         */
9525        MEDICATIONREQUEST, 
9526        /**
9527         * 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. 
9528
9529The 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.
9530         */
9531        MEDICATIONSTATEMENT, 
9532        /**
9533         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
9534         */
9535        MEDICINALPRODUCT, 
9536        /**
9537         * The regulatory authorization of a medicinal product.
9538         */
9539        MEDICINALPRODUCTAUTHORIZATION, 
9540        /**
9541         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
9542         */
9543        MEDICINALPRODUCTCLINICALS, 
9544        /**
9545         * A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.
9546         */
9547        MEDICINALPRODUCTDEVICESPEC, 
9548        /**
9549         * An ingredient of a manufactured item or pharmaceutical product.
9550         */
9551        MEDICINALPRODUCTINGREDIENT, 
9552        /**
9553         * A medicinal product in a container or package.
9554         */
9555        MEDICINALPRODUCTPACKAGED, 
9556        /**
9557         * A pharmaceutical product described in terms of its composition and dose form.
9558         */
9559        MEDICINALPRODUCTPHARMACEUTICAL, 
9560        /**
9561         * 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.
9562         */
9563        MESSAGEDEFINITION, 
9564        /**
9565         * 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.
9566         */
9567        MESSAGEHEADER, 
9568        /**
9569         * 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.
9570         */
9571        NAMINGSYSTEM, 
9572        /**
9573         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
9574         */
9575        NUTRITIONORDER, 
9576        /**
9577         * Measurements and simple assertions made about a patient, device or other subject.
9578         */
9579        OBSERVATION, 
9580        /**
9581         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
9582         */
9583        OBSERVATIONDEFINITION, 
9584        /**
9585         * A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.
9586         */
9587        OCCUPATIONALDATA, 
9588        /**
9589         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
9590         */
9591        OPERATIONDEFINITION, 
9592        /**
9593         * A collection of error, warning or information messages that result from a system action.
9594         */
9595        OPERATIONOUTCOME, 
9596        /**
9597         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.
9598         */
9599        ORGANIZATION, 
9600        /**
9601         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
9602         */
9603        ORGANIZATIONROLE, 
9604        /**
9605         * 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.
9606         */
9607        PARAMETERS, 
9608        /**
9609         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
9610         */
9611        PATIENT, 
9612        /**
9613         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
9614         */
9615        PAYMENTNOTICE, 
9616        /**
9617         * This resource provides payment details and claim references supporting a bulk payment.
9618         */
9619        PAYMENTRECONCILIATION, 
9620        /**
9621         * Demographics and administrative information about a person independent of a specific health-related context.
9622         */
9623        PERSON, 
9624        /**
9625         * 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.
9626         */
9627        PLANDEFINITION, 
9628        /**
9629         * A person who is directly or indirectly involved in the provisioning of healthcare.
9630         */
9631        PRACTITIONER, 
9632        /**
9633         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
9634         */
9635        PRACTITIONERROLE, 
9636        /**
9637         * An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.
9638         */
9639        PROCEDURE, 
9640        /**
9641         * 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.
9642         */
9643        PROCESSREQUEST, 
9644        /**
9645         * This resource provides processing status, errors and notes from the processing of a resource.
9646         */
9647        PROCESSRESPONSE, 
9648        /**
9649         * Details of a Health Insurance product/plan provided by an organization.
9650         */
9651        PRODUCTPLAN, 
9652        /**
9653         * 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.
9654         */
9655        PROVENANCE, 
9656        /**
9657         * 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.
9658         */
9659        QUESTIONNAIRE, 
9660        /**
9661         * 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.
9662         */
9663        QUESTIONNAIRERESPONSE, 
9664        /**
9665         * 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.
9666         */
9667        RELATEDPERSON, 
9668        /**
9669         * 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".
9670         */
9671        REQUESTGROUP, 
9672        /**
9673         * 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.
9674         */
9675        RESEARCHSTUDY, 
9676        /**
9677         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
9678         */
9679        RESEARCHSUBJECT, 
9680        /**
9681         * This is the base resource type for everything.
9682         */
9683        RESOURCE, 
9684        /**
9685         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
9686         */
9687        RISKASSESSMENT, 
9688        /**
9689         * A container for slots of time that may be available for booking appointments.
9690         */
9691        SCHEDULE, 
9692        /**
9693         * A search parameter that defines a named search item that can be used to search/filter on a resource.
9694         */
9695        SEARCHPARAMETER, 
9696        /**
9697         * Raw data describing a biological sequence.
9698         */
9699        SEQUENCE, 
9700        /**
9701         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
9702         */
9703        SERVICEREQUEST, 
9704        /**
9705         * A slot of time on a schedule that may be available for booking appointments.
9706         */
9707        SLOT, 
9708        /**
9709         * A sample to be used for analysis.
9710         */
9711        SPECIMEN, 
9712        /**
9713         * A kind of specimen with associated set of requirements.
9714         */
9715        SPECIMENDEFINITION, 
9716        /**
9717         * 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.
9718         */
9719        STRUCTUREDEFINITION, 
9720        /**
9721         * A Map of relationships between 2 structures that can be used to transform data.
9722         */
9723        STRUCTUREMAP, 
9724        /**
9725         * 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.
9726         */
9727        SUBSCRIPTION, 
9728        /**
9729         * A homogeneous material with a definite composition.
9730         */
9731        SUBSTANCE, 
9732        /**
9733         * Todo.
9734         */
9735        SUBSTANCEPOLYMER, 
9736        /**
9737         * Todo.
9738         */
9739        SUBSTANCEREFERENCEINFORMATION, 
9740        /**
9741         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
9742         */
9743        SUBSTANCESPECIFICATION, 
9744        /**
9745         * Record of delivery of what is supplied.
9746         */
9747        SUPPLYDELIVERY, 
9748        /**
9749         * A record of a request for a medication, substance or device used in the healthcare setting.
9750         */
9751        SUPPLYREQUEST, 
9752        /**
9753         * A task to be performed.
9754         */
9755        TASK, 
9756        /**
9757         * 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.
9758         */
9759        TERMINOLOGYCAPABILITIES, 
9760        /**
9761         * A summary of information based on the results of executing a TestScript.
9762         */
9763        TESTREPORT, 
9764        /**
9765         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
9766         */
9767        TESTSCRIPT, 
9768        /**
9769         * Information about a user's current session.
9770         */
9771        USERSESSION, 
9772        /**
9773         * A ValueSet resource 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).
9774         */
9775        VALUESET, 
9776        /**
9777         * Describes validation requirements, source(s), status and dates for one or more elements.
9778         */
9779        VERIFICATIONRESULT, 
9780        /**
9781         * An authorization for the supply of glasses and/or contact lenses to a patient.
9782         */
9783        VISIONPRESCRIPTION, 
9784        /**
9785         * added to help the parsers
9786         */
9787        NULL;
9788        public static ResourceType fromCode(String codeString) throws FHIRException {
9789            if (codeString == null || "".equals(codeString))
9790                return null;
9791        if ("Account".equals(codeString))
9792          return ACCOUNT;
9793        if ("ActivityDefinition".equals(codeString))
9794          return ACTIVITYDEFINITION;
9795        if ("AdverseEvent".equals(codeString))
9796          return ADVERSEEVENT;
9797        if ("AllergyIntolerance".equals(codeString))
9798          return ALLERGYINTOLERANCE;
9799        if ("Appointment".equals(codeString))
9800          return APPOINTMENT;
9801        if ("AppointmentResponse".equals(codeString))
9802          return APPOINTMENTRESPONSE;
9803        if ("AuditEvent".equals(codeString))
9804          return AUDITEVENT;
9805        if ("Basic".equals(codeString))
9806          return BASIC;
9807        if ("Binary".equals(codeString))
9808          return BINARY;
9809        if ("BiologicallyDerivedProduct".equals(codeString))
9810          return BIOLOGICALLYDERIVEDPRODUCT;
9811        if ("BodyStructure".equals(codeString))
9812          return BODYSTRUCTURE;
9813        if ("Bundle".equals(codeString))
9814          return BUNDLE;
9815        if ("CapabilityStatement".equals(codeString))
9816          return CAPABILITYSTATEMENT;
9817        if ("CarePlan".equals(codeString))
9818          return CAREPLAN;
9819        if ("CareTeam".equals(codeString))
9820          return CARETEAM;
9821        if ("ChargeItem".equals(codeString))
9822          return CHARGEITEM;
9823        if ("Claim".equals(codeString))
9824          return CLAIM;
9825        if ("ClaimResponse".equals(codeString))
9826          return CLAIMRESPONSE;
9827        if ("ClinicalImpression".equals(codeString))
9828          return CLINICALIMPRESSION;
9829        if ("CodeSystem".equals(codeString))
9830          return CODESYSTEM;
9831        if ("Communication".equals(codeString))
9832          return COMMUNICATION;
9833        if ("CommunicationRequest".equals(codeString))
9834          return COMMUNICATIONREQUEST;
9835        if ("CompartmentDefinition".equals(codeString))
9836          return COMPARTMENTDEFINITION;
9837        if ("Composition".equals(codeString))
9838          return COMPOSITION;
9839        if ("ConceptMap".equals(codeString))
9840          return CONCEPTMAP;
9841        if ("Condition".equals(codeString))
9842          return CONDITION;
9843        if ("Consent".equals(codeString))
9844          return CONSENT;
9845        if ("Contract".equals(codeString))
9846          return CONTRACT;
9847        if ("Coverage".equals(codeString))
9848          return COVERAGE;
9849        if ("DetectedIssue".equals(codeString))
9850          return DETECTEDISSUE;
9851        if ("Device".equals(codeString))
9852          return DEVICE;
9853        if ("DeviceComponent".equals(codeString))
9854          return DEVICECOMPONENT;
9855        if ("DeviceMetric".equals(codeString))
9856          return DEVICEMETRIC;
9857        if ("DeviceRequest".equals(codeString))
9858          return DEVICEREQUEST;
9859        if ("DeviceUseStatement".equals(codeString))
9860          return DEVICEUSESTATEMENT;
9861        if ("DiagnosticReport".equals(codeString))
9862          return DIAGNOSTICREPORT;
9863        if ("DocumentManifest".equals(codeString))
9864          return DOCUMENTMANIFEST;
9865        if ("DocumentReference".equals(codeString))
9866          return DOCUMENTREFERENCE;
9867        if ("DomainResource".equals(codeString))
9868          return DOMAINRESOURCE;
9869        if ("EligibilityRequest".equals(codeString))
9870          return ELIGIBILITYREQUEST;
9871        if ("EligibilityResponse".equals(codeString))
9872          return ELIGIBILITYRESPONSE;
9873        if ("Encounter".equals(codeString))
9874          return ENCOUNTER;
9875        if ("Endpoint".equals(codeString))
9876          return ENDPOINT;
9877        if ("EnrollmentRequest".equals(codeString))
9878          return ENROLLMENTREQUEST;
9879        if ("EnrollmentResponse".equals(codeString))
9880          return ENROLLMENTRESPONSE;
9881        if ("EntryDefinition".equals(codeString))
9882          return ENTRYDEFINITION;
9883        if ("EpisodeOfCare".equals(codeString))
9884          return EPISODEOFCARE;
9885        if ("EventDefinition".equals(codeString))
9886          return EVENTDEFINITION;
9887        if ("ExampleScenario".equals(codeString))
9888          return EXAMPLESCENARIO;
9889        if ("ExpansionProfile".equals(codeString))
9890          return EXPANSIONPROFILE;
9891        if ("ExplanationOfBenefit".equals(codeString))
9892          return EXPLANATIONOFBENEFIT;
9893        if ("FamilyMemberHistory".equals(codeString))
9894          return FAMILYMEMBERHISTORY;
9895        if ("Flag".equals(codeString))
9896          return FLAG;
9897        if ("Goal".equals(codeString))
9898          return GOAL;
9899        if ("GraphDefinition".equals(codeString))
9900          return GRAPHDEFINITION;
9901        if ("Group".equals(codeString))
9902          return GROUP;
9903        if ("GuidanceResponse".equals(codeString))
9904          return GUIDANCERESPONSE;
9905        if ("HealthcareService".equals(codeString))
9906          return HEALTHCARESERVICE;
9907        if ("ImagingStudy".equals(codeString))
9908          return IMAGINGSTUDY;
9909        if ("Immunization".equals(codeString))
9910          return IMMUNIZATION;
9911        if ("ImmunizationEvaluation".equals(codeString))
9912          return IMMUNIZATIONEVALUATION;
9913        if ("ImmunizationRecommendation".equals(codeString))
9914          return IMMUNIZATIONRECOMMENDATION;
9915        if ("ImplementationGuide".equals(codeString))
9916          return IMPLEMENTATIONGUIDE;
9917        if ("Invoice".equals(codeString))
9918          return INVOICE;
9919        if ("ItemInstance".equals(codeString))
9920          return ITEMINSTANCE;
9921        if ("Library".equals(codeString))
9922          return LIBRARY;
9923        if ("Linkage".equals(codeString))
9924          return LINKAGE;
9925        if ("List".equals(codeString))
9926          return LIST;
9927        if ("Location".equals(codeString))
9928          return LOCATION;
9929        if ("Measure".equals(codeString))
9930          return MEASURE;
9931        if ("MeasureReport".equals(codeString))
9932          return MEASUREREPORT;
9933        if ("Media".equals(codeString))
9934          return MEDIA;
9935        if ("Medication".equals(codeString))
9936          return MEDICATION;
9937        if ("MedicationAdministration".equals(codeString))
9938          return MEDICATIONADMINISTRATION;
9939        if ("MedicationDispense".equals(codeString))
9940          return MEDICATIONDISPENSE;
9941        if ("MedicationKnowledge".equals(codeString))
9942          return MEDICATIONKNOWLEDGE;
9943        if ("MedicationRequest".equals(codeString))
9944          return MEDICATIONREQUEST;
9945        if ("MedicationStatement".equals(codeString))
9946          return MEDICATIONSTATEMENT;
9947        if ("MedicinalProduct".equals(codeString))
9948          return MEDICINALPRODUCT;
9949        if ("MedicinalProductAuthorization".equals(codeString))
9950          return MEDICINALPRODUCTAUTHORIZATION;
9951        if ("MedicinalProductClinicals".equals(codeString))
9952          return MEDICINALPRODUCTCLINICALS;
9953        if ("MedicinalProductDeviceSpec".equals(codeString))
9954          return MEDICINALPRODUCTDEVICESPEC;
9955        if ("MedicinalProductIngredient".equals(codeString))
9956          return MEDICINALPRODUCTINGREDIENT;
9957        if ("MedicinalProductPackaged".equals(codeString))
9958          return MEDICINALPRODUCTPACKAGED;
9959        if ("MedicinalProductPharmaceutical".equals(codeString))
9960          return MEDICINALPRODUCTPHARMACEUTICAL;
9961        if ("MessageDefinition".equals(codeString))
9962          return MESSAGEDEFINITION;
9963        if ("MessageHeader".equals(codeString))
9964          return MESSAGEHEADER;
9965        if ("NamingSystem".equals(codeString))
9966          return NAMINGSYSTEM;
9967        if ("NutritionOrder".equals(codeString))
9968          return NUTRITIONORDER;
9969        if ("Observation".equals(codeString))
9970          return OBSERVATION;
9971        if ("ObservationDefinition".equals(codeString))
9972          return OBSERVATIONDEFINITION;
9973        if ("OccupationalData".equals(codeString))
9974          return OCCUPATIONALDATA;
9975        if ("OperationDefinition".equals(codeString))
9976          return OPERATIONDEFINITION;
9977        if ("OperationOutcome".equals(codeString))
9978          return OPERATIONOUTCOME;
9979        if ("Organization".equals(codeString))
9980          return ORGANIZATION;
9981        if ("OrganizationRole".equals(codeString))
9982          return ORGANIZATIONROLE;
9983        if ("Parameters".equals(codeString))
9984          return PARAMETERS;
9985        if ("Patient".equals(codeString))
9986          return PATIENT;
9987        if ("PaymentNotice".equals(codeString))
9988          return PAYMENTNOTICE;
9989        if ("PaymentReconciliation".equals(codeString))
9990          return PAYMENTRECONCILIATION;
9991        if ("Person".equals(codeString))
9992          return PERSON;
9993        if ("PlanDefinition".equals(codeString))
9994          return PLANDEFINITION;
9995        if ("Practitioner".equals(codeString))
9996          return PRACTITIONER;
9997        if ("PractitionerRole".equals(codeString))
9998          return PRACTITIONERROLE;
9999        if ("Procedure".equals(codeString))
10000          return PROCEDURE;
10001        if ("ProcessRequest".equals(codeString))
10002          return PROCESSREQUEST;
10003        if ("ProcessResponse".equals(codeString))
10004          return PROCESSRESPONSE;
10005        if ("ProductPlan".equals(codeString))
10006          return PRODUCTPLAN;
10007        if ("Provenance".equals(codeString))
10008          return PROVENANCE;
10009        if ("Questionnaire".equals(codeString))
10010          return QUESTIONNAIRE;
10011        if ("QuestionnaireResponse".equals(codeString))
10012          return QUESTIONNAIRERESPONSE;
10013        if ("RelatedPerson".equals(codeString))
10014          return RELATEDPERSON;
10015        if ("RequestGroup".equals(codeString))
10016          return REQUESTGROUP;
10017        if ("ResearchStudy".equals(codeString))
10018          return RESEARCHSTUDY;
10019        if ("ResearchSubject".equals(codeString))
10020          return RESEARCHSUBJECT;
10021        if ("Resource".equals(codeString))
10022          return RESOURCE;
10023        if ("RiskAssessment".equals(codeString))
10024          return RISKASSESSMENT;
10025        if ("Schedule".equals(codeString))
10026          return SCHEDULE;
10027        if ("SearchParameter".equals(codeString))
10028          return SEARCHPARAMETER;
10029        if ("Sequence".equals(codeString))
10030          return SEQUENCE;
10031        if ("ServiceRequest".equals(codeString))
10032          return SERVICEREQUEST;
10033        if ("Slot".equals(codeString))
10034          return SLOT;
10035        if ("Specimen".equals(codeString))
10036          return SPECIMEN;
10037        if ("SpecimenDefinition".equals(codeString))
10038          return SPECIMENDEFINITION;
10039        if ("StructureDefinition".equals(codeString))
10040          return STRUCTUREDEFINITION;
10041        if ("StructureMap".equals(codeString))
10042          return STRUCTUREMAP;
10043        if ("Subscription".equals(codeString))
10044          return SUBSCRIPTION;
10045        if ("Substance".equals(codeString))
10046          return SUBSTANCE;
10047        if ("SubstancePolymer".equals(codeString))
10048          return SUBSTANCEPOLYMER;
10049        if ("SubstanceReferenceInformation".equals(codeString))
10050          return SUBSTANCEREFERENCEINFORMATION;
10051        if ("SubstanceSpecification".equals(codeString))
10052          return SUBSTANCESPECIFICATION;
10053        if ("SupplyDelivery".equals(codeString))
10054          return SUPPLYDELIVERY;
10055        if ("SupplyRequest".equals(codeString))
10056          return SUPPLYREQUEST;
10057        if ("Task".equals(codeString))
10058          return TASK;
10059        if ("TerminologyCapabilities".equals(codeString))
10060          return TERMINOLOGYCAPABILITIES;
10061        if ("TestReport".equals(codeString))
10062          return TESTREPORT;
10063        if ("TestScript".equals(codeString))
10064          return TESTSCRIPT;
10065        if ("UserSession".equals(codeString))
10066          return USERSESSION;
10067        if ("ValueSet".equals(codeString))
10068          return VALUESET;
10069        if ("VerificationResult".equals(codeString))
10070          return VERIFICATIONRESULT;
10071        if ("VisionPrescription".equals(codeString))
10072          return VISIONPRESCRIPTION;
10073        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
10074        }
10075        public String toCode() {
10076          switch (this) {
10077            case ACCOUNT: return "Account";
10078            case ACTIVITYDEFINITION: return "ActivityDefinition";
10079            case ADVERSEEVENT: return "AdverseEvent";
10080            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
10081            case APPOINTMENT: return "Appointment";
10082            case APPOINTMENTRESPONSE: return "AppointmentResponse";
10083            case AUDITEVENT: return "AuditEvent";
10084            case BASIC: return "Basic";
10085            case BINARY: return "Binary";
10086            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
10087            case BODYSTRUCTURE: return "BodyStructure";
10088            case BUNDLE: return "Bundle";
10089            case CAPABILITYSTATEMENT: return "CapabilityStatement";
10090            case CAREPLAN: return "CarePlan";
10091            case CARETEAM: return "CareTeam";
10092            case CHARGEITEM: return "ChargeItem";
10093            case CLAIM: return "Claim";
10094            case CLAIMRESPONSE: return "ClaimResponse";
10095            case CLINICALIMPRESSION: return "ClinicalImpression";
10096            case CODESYSTEM: return "CodeSystem";
10097            case COMMUNICATION: return "Communication";
10098            case COMMUNICATIONREQUEST: return "CommunicationRequest";
10099            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
10100            case COMPOSITION: return "Composition";
10101            case CONCEPTMAP: return "ConceptMap";
10102            case CONDITION: return "Condition";
10103            case CONSENT: return "Consent";
10104            case CONTRACT: return "Contract";
10105            case COVERAGE: return "Coverage";
10106            case DETECTEDISSUE: return "DetectedIssue";
10107            case DEVICE: return "Device";
10108            case DEVICECOMPONENT: return "DeviceComponent";
10109            case DEVICEMETRIC: return "DeviceMetric";
10110            case DEVICEREQUEST: return "DeviceRequest";
10111            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
10112            case DIAGNOSTICREPORT: return "DiagnosticReport";
10113            case DOCUMENTMANIFEST: return "DocumentManifest";
10114            case DOCUMENTREFERENCE: return "DocumentReference";
10115            case DOMAINRESOURCE: return "DomainResource";
10116            case ELIGIBILITYREQUEST: return "EligibilityRequest";
10117            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
10118            case ENCOUNTER: return "Encounter";
10119            case ENDPOINT: return "Endpoint";
10120            case ENROLLMENTREQUEST: return "EnrollmentRequest";
10121            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
10122            case ENTRYDEFINITION: return "EntryDefinition";
10123            case EPISODEOFCARE: return "EpisodeOfCare";
10124            case EVENTDEFINITION: return "EventDefinition";
10125            case EXAMPLESCENARIO: return "ExampleScenario";
10126            case EXPANSIONPROFILE: return "ExpansionProfile";
10127            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
10128            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
10129            case FLAG: return "Flag";
10130            case GOAL: return "Goal";
10131            case GRAPHDEFINITION: return "GraphDefinition";
10132            case GROUP: return "Group";
10133            case GUIDANCERESPONSE: return "GuidanceResponse";
10134            case HEALTHCARESERVICE: return "HealthcareService";
10135            case IMAGINGSTUDY: return "ImagingStudy";
10136            case IMMUNIZATION: return "Immunization";
10137            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
10138            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
10139            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
10140            case INVOICE: return "Invoice";
10141            case ITEMINSTANCE: return "ItemInstance";
10142            case LIBRARY: return "Library";
10143            case LINKAGE: return "Linkage";
10144            case LIST: return "List";
10145            case LOCATION: return "Location";
10146            case MEASURE: return "Measure";
10147            case MEASUREREPORT: return "MeasureReport";
10148            case MEDIA: return "Media";
10149            case MEDICATION: return "Medication";
10150            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
10151            case MEDICATIONDISPENSE: return "MedicationDispense";
10152            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
10153            case MEDICATIONREQUEST: return "MedicationRequest";
10154            case MEDICATIONSTATEMENT: return "MedicationStatement";
10155            case MEDICINALPRODUCT: return "MedicinalProduct";
10156            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
10157            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
10158            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
10159            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
10160            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
10161            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
10162            case MESSAGEDEFINITION: return "MessageDefinition";
10163            case MESSAGEHEADER: return "MessageHeader";
10164            case NAMINGSYSTEM: return "NamingSystem";
10165            case NUTRITIONORDER: return "NutritionOrder";
10166            case OBSERVATION: return "Observation";
10167            case OBSERVATIONDEFINITION: return "ObservationDefinition";
10168            case OCCUPATIONALDATA: return "OccupationalData";
10169            case OPERATIONDEFINITION: return "OperationDefinition";
10170            case OPERATIONOUTCOME: return "OperationOutcome";
10171            case ORGANIZATION: return "Organization";
10172            case ORGANIZATIONROLE: return "OrganizationRole";
10173            case PARAMETERS: return "Parameters";
10174            case PATIENT: return "Patient";
10175            case PAYMENTNOTICE: return "PaymentNotice";
10176            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
10177            case PERSON: return "Person";
10178            case PLANDEFINITION: return "PlanDefinition";
10179            case PRACTITIONER: return "Practitioner";
10180            case PRACTITIONERROLE: return "PractitionerRole";
10181            case PROCEDURE: return "Procedure";
10182            case PROCESSREQUEST: return "ProcessRequest";
10183            case PROCESSRESPONSE: return "ProcessResponse";
10184            case PRODUCTPLAN: return "ProductPlan";
10185            case PROVENANCE: return "Provenance";
10186            case QUESTIONNAIRE: return "Questionnaire";
10187            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
10188            case RELATEDPERSON: return "RelatedPerson";
10189            case REQUESTGROUP: return "RequestGroup";
10190            case RESEARCHSTUDY: return "ResearchStudy";
10191            case RESEARCHSUBJECT: return "ResearchSubject";
10192            case RESOURCE: return "Resource";
10193            case RISKASSESSMENT: return "RiskAssessment";
10194            case SCHEDULE: return "Schedule";
10195            case SEARCHPARAMETER: return "SearchParameter";
10196            case SEQUENCE: return "Sequence";
10197            case SERVICEREQUEST: return "ServiceRequest";
10198            case SLOT: return "Slot";
10199            case SPECIMEN: return "Specimen";
10200            case SPECIMENDEFINITION: return "SpecimenDefinition";
10201            case STRUCTUREDEFINITION: return "StructureDefinition";
10202            case STRUCTUREMAP: return "StructureMap";
10203            case SUBSCRIPTION: return "Subscription";
10204            case SUBSTANCE: return "Substance";
10205            case SUBSTANCEPOLYMER: return "SubstancePolymer";
10206            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
10207            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
10208            case SUPPLYDELIVERY: return "SupplyDelivery";
10209            case SUPPLYREQUEST: return "SupplyRequest";
10210            case TASK: return "Task";
10211            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
10212            case TESTREPORT: return "TestReport";
10213            case TESTSCRIPT: return "TestScript";
10214            case USERSESSION: return "UserSession";
10215            case VALUESET: return "ValueSet";
10216            case VERIFICATIONRESULT: return "VerificationResult";
10217            case VISIONPRESCRIPTION: return "VisionPrescription";
10218            default: return "?";
10219          }
10220        }
10221        public String getSystem() {
10222          switch (this) {
10223            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
10224            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
10225            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
10226            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
10227            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
10228            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
10229            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
10230            case BASIC: return "http://hl7.org/fhir/resource-types";
10231            case BINARY: return "http://hl7.org/fhir/resource-types";
10232            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
10233            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
10234            case BUNDLE: return "http://hl7.org/fhir/resource-types";
10235            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
10236            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
10237            case CARETEAM: return "http://hl7.org/fhir/resource-types";
10238            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
10239            case CLAIM: return "http://hl7.org/fhir/resource-types";
10240            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
10241            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
10242            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
10243            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
10244            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
10245            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
10246            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
10247            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
10248            case CONDITION: return "http://hl7.org/fhir/resource-types";
10249            case CONSENT: return "http://hl7.org/fhir/resource-types";
10250            case CONTRACT: return "http://hl7.org/fhir/resource-types";
10251            case COVERAGE: return "http://hl7.org/fhir/resource-types";
10252            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
10253            case DEVICE: return "http://hl7.org/fhir/resource-types";
10254            case DEVICECOMPONENT: return "http://hl7.org/fhir/resource-types";
10255            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
10256            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
10257            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
10258            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
10259            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
10260            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
10261            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
10262            case ELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
10263            case ELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
10264            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
10265            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
10266            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
10267            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
10268            case ENTRYDEFINITION: return "http://hl7.org/fhir/resource-types";
10269            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
10270            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
10271            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
10272            case EXPANSIONPROFILE: return "http://hl7.org/fhir/resource-types";
10273            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
10274            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
10275            case FLAG: return "http://hl7.org/fhir/resource-types";
10276            case GOAL: return "http://hl7.org/fhir/resource-types";
10277            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
10278            case GROUP: return "http://hl7.org/fhir/resource-types";
10279            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
10280            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
10281            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
10282            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
10283            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
10284            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
10285            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
10286            case INVOICE: return "http://hl7.org/fhir/resource-types";
10287            case ITEMINSTANCE: return "http://hl7.org/fhir/resource-types";
10288            case LIBRARY: return "http://hl7.org/fhir/resource-types";
10289            case LINKAGE: return "http://hl7.org/fhir/resource-types";
10290            case LIST: return "http://hl7.org/fhir/resource-types";
10291            case LOCATION: return "http://hl7.org/fhir/resource-types";
10292            case MEASURE: return "http://hl7.org/fhir/resource-types";
10293            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
10294            case MEDIA: return "http://hl7.org/fhir/resource-types";
10295            case MEDICATION: return "http://hl7.org/fhir/resource-types";
10296            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
10297            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
10298            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
10299            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
10300            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
10301            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
10302            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
10303            case MEDICINALPRODUCTCLINICALS: return "http://hl7.org/fhir/resource-types";
10304            case MEDICINALPRODUCTDEVICESPEC: return "http://hl7.org/fhir/resource-types";
10305            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
10306            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
10307            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
10308            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
10309            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
10310            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
10311            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
10312            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
10313            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
10314            case OCCUPATIONALDATA: return "http://hl7.org/fhir/resource-types";
10315            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
10316            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
10317            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
10318            case ORGANIZATIONROLE: return "http://hl7.org/fhir/resource-types";
10319            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
10320            case PATIENT: return "http://hl7.org/fhir/resource-types";
10321            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
10322            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
10323            case PERSON: return "http://hl7.org/fhir/resource-types";
10324            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
10325            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
10326            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
10327            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
10328            case PROCESSREQUEST: return "http://hl7.org/fhir/resource-types";
10329            case PROCESSRESPONSE: return "http://hl7.org/fhir/resource-types";
10330            case PRODUCTPLAN: return "http://hl7.org/fhir/resource-types";
10331            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
10332            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
10333            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
10334            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
10335            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
10336            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
10337            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
10338            case RESOURCE: return "http://hl7.org/fhir/resource-types";
10339            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
10340            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
10341            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
10342            case SEQUENCE: return "http://hl7.org/fhir/resource-types";
10343            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
10344            case SLOT: return "http://hl7.org/fhir/resource-types";
10345            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
10346            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
10347            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
10348            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
10349            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
10350            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
10351            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
10352            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
10353            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
10354            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
10355            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
10356            case TASK: return "http://hl7.org/fhir/resource-types";
10357            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
10358            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
10359            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
10360            case USERSESSION: return "http://hl7.org/fhir/resource-types";
10361            case VALUESET: return "http://hl7.org/fhir/resource-types";
10362            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
10363            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
10364            default: return "?";
10365          }
10366        }
10367        public String getDefinition() {
10368          switch (this) {
10369            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.";
10370            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.";
10371            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.";
10372            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
10373            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).";
10374            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
10375            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.";
10376            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.";
10377            case BINARY: return "A binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
10378            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
10379            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.";
10380            case BUNDLE: return "A container for a collection of resources.";
10381            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.";
10382            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.";
10383            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.";
10384            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.";
10385            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.";
10386            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
10387            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.";
10388            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.";
10389            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.";
10390            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.";
10391            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
10392            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.).";
10393            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either code systems or data elements, or classes in class models.";
10394            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
10395            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.";
10396            case CONTRACT: return "A formal agreement between parties regarding the conduct of business, exchange of information or other matters.";
10397            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services.";
10398            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.";
10399            case DEVICE: return "This resource identifies an instance or 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.";
10400            case DEVICECOMPONENT: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
10401            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
10402            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.";
10403            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.";
10404            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.";
10405            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
10406            case DOCUMENTREFERENCE: return "A reference to a document.";
10407            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
10408            case ELIGIBILITYREQUEST: return "The EligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an EligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
10409            case ELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an Eligibility resource.";
10410            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.";
10411            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.";
10412            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
10413            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an Enrollment resource.";
10414            case ENTRYDEFINITION: return "Catalog entries are wrappers that contextualize items included in a catalog.";
10415            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.";
10416            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
10417            case EXAMPLESCENARIO: return "Example of workflow instance.";
10418            case EXPANSIONPROFILE: return "Resource to define constraints on the Expansion of a FHIR ValueSet.";
10419            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.";
10420            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
10421            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
10422            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.";
10423            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.";
10424            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.";
10425            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.";
10426            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
10427            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.";
10428            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.";
10429            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.";
10430            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
10431            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.";
10432            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
10433            case ITEMINSTANCE: return "A physical, countable instance of an item, for example one box or one unit.";
10434            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.";
10435            case LINKAGE: return "Identifies two or more records (resource instances) that are referring to the same real-world \"occurrence\".";
10436            case LIST: return "A set of information summarized from a list of other resources.";
10437            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.";
10438            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
10439            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.";
10440            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.";
10441            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.";
10442            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.";
10443            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.";
10444            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
10445            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.";
10446            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.";
10447            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
10448            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
10449            case MEDICINALPRODUCTCLINICALS: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
10450            case MEDICINALPRODUCTDEVICESPEC: return "A detailed description of a device, typically as part of a regulated medicinal product. It is not intended to relace the Device resource, which covers use of device instances.";
10451            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
10452            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
10453            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
10454            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.";
10455            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.";
10456            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.";
10457            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
10458            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
10459            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
10460            case OCCUPATIONALDATA: return "A person's work information, structured to facilitate individual, population, and public health use; not intended to support billing.";
10461            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
10462            case OPERATIONOUTCOME: return "A collection of error, warning or information messages that result from a system action.";
10463            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, etc.";
10464            case ORGANIZATIONROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
10465            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.";
10466            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
10467            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
10468            case PAYMENTRECONCILIATION: return "This resource provides payment details and claim references supporting a bulk payment.";
10469            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
10470            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.";
10471            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
10472            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
10473            case PROCEDURE: return "An action that is or was performed on a patient. This can be a physical intervention like an operation, or less invasive like counseling or hypnotherapy.";
10474            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.";
10475            case PROCESSRESPONSE: return "This resource provides processing status, errors and notes from the processing of a resource.";
10476            case PRODUCTPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
10477            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.";
10478            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.";
10479            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.";
10480            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.";
10481            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\".";
10482            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.";
10483            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
10484            case RESOURCE: return "This is the base resource type for everything.";
10485            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
10486            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
10487            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
10488            case SEQUENCE: return "Raw data describing a biological sequence.";
10489            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
10490            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
10491            case SPECIMEN: return "A sample to be used for analysis.";
10492            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
10493            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.";
10494            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
10495            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.";
10496            case SUBSTANCE: return "A homogeneous material with a definite composition.";
10497            case SUBSTANCEPOLYMER: return "Todo.";
10498            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
10499            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
10500            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
10501            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
10502            case TASK: return "A task to be performed.";
10503            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.";
10504            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
10505            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
10506            case USERSESSION: return "Information about a user's current session.";
10507            case VALUESET: return "A ValueSet resource 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).";
10508            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
10509            case VISIONPRESCRIPTION: return "An authorization for the supply of glasses and/or contact lenses to a patient.";
10510            default: return "?";
10511          }
10512        }
10513        public String getDisplay() {
10514          switch (this) {
10515            case ACCOUNT: return "Account";
10516            case ACTIVITYDEFINITION: return "ActivityDefinition";
10517            case ADVERSEEVENT: return "AdverseEvent";
10518            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
10519            case APPOINTMENT: return "Appointment";
10520            case APPOINTMENTRESPONSE: return "AppointmentResponse";
10521            case AUDITEVENT: return "AuditEvent";
10522            case BASIC: return "Basic";
10523            case BINARY: return "Binary";
10524            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
10525            case BODYSTRUCTURE: return "BodyStructure";
10526            case BUNDLE: return "Bundle";
10527            case CAPABILITYSTATEMENT: return "CapabilityStatement";
10528            case CAREPLAN: return "CarePlan";
10529            case CARETEAM: return "CareTeam";
10530            case CHARGEITEM: return "ChargeItem";
10531            case CLAIM: return "Claim";
10532            case CLAIMRESPONSE: return "ClaimResponse";
10533            case CLINICALIMPRESSION: return "ClinicalImpression";
10534            case CODESYSTEM: return "CodeSystem";
10535            case COMMUNICATION: return "Communication";
10536            case COMMUNICATIONREQUEST: return "CommunicationRequest";
10537            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
10538            case COMPOSITION: return "Composition";
10539            case CONCEPTMAP: return "ConceptMap";
10540            case CONDITION: return "Condition";
10541            case CONSENT: return "Consent";
10542            case CONTRACT: return "Contract";
10543            case COVERAGE: return "Coverage";
10544            case DETECTEDISSUE: return "DetectedIssue";
10545            case DEVICE: return "Device";
10546            case DEVICECOMPONENT: return "DeviceComponent";
10547            case DEVICEMETRIC: return "DeviceMetric";
10548            case DEVICEREQUEST: return "DeviceRequest";
10549            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
10550            case DIAGNOSTICREPORT: return "DiagnosticReport";
10551            case DOCUMENTMANIFEST: return "DocumentManifest";
10552            case DOCUMENTREFERENCE: return "DocumentReference";
10553            case DOMAINRESOURCE: return "DomainResource";
10554            case ELIGIBILITYREQUEST: return "EligibilityRequest";
10555            case ELIGIBILITYRESPONSE: return "EligibilityResponse";
10556            case ENCOUNTER: return "Encounter";
10557            case ENDPOINT: return "Endpoint";
10558            case ENROLLMENTREQUEST: return "EnrollmentRequest";
10559            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
10560            case ENTRYDEFINITION: return "EntryDefinition";
10561            case EPISODEOFCARE: return "EpisodeOfCare";
10562            case EVENTDEFINITION: return "EventDefinition";
10563            case EXAMPLESCENARIO: return "ExampleScenario";
10564            case EXPANSIONPROFILE: return "ExpansionProfile";
10565            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
10566            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
10567            case FLAG: return "Flag";
10568            case GOAL: return "Goal";
10569            case GRAPHDEFINITION: return "GraphDefinition";
10570            case GROUP: return "Group";
10571            case GUIDANCERESPONSE: return "GuidanceResponse";
10572            case HEALTHCARESERVICE: return "HealthcareService";
10573            case IMAGINGSTUDY: return "ImagingStudy";
10574            case IMMUNIZATION: return "Immunization";
10575            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
10576            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
10577            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
10578            case INVOICE: return "Invoice";
10579            case ITEMINSTANCE: return "ItemInstance";
10580            case LIBRARY: return "Library";
10581            case LINKAGE: return "Linkage";
10582            case LIST: return "List";
10583            case LOCATION: return "Location";
10584            case MEASURE: return "Measure";
10585            case MEASUREREPORT: return "MeasureReport";
10586            case MEDIA: return "Media";
10587            case MEDICATION: return "Medication";
10588            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
10589            case MEDICATIONDISPENSE: return "MedicationDispense";
10590            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
10591            case MEDICATIONREQUEST: return "MedicationRequest";
10592            case MEDICATIONSTATEMENT: return "MedicationStatement";
10593            case MEDICINALPRODUCT: return "MedicinalProduct";
10594            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
10595            case MEDICINALPRODUCTCLINICALS: return "MedicinalProductClinicals";
10596            case MEDICINALPRODUCTDEVICESPEC: return "MedicinalProductDeviceSpec";
10597            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
10598            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
10599            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
10600            case MESSAGEDEFINITION: return "MessageDefinition";
10601            case MESSAGEHEADER: return "MessageHeader";
10602            case NAMINGSYSTEM: return "NamingSystem";
10603            case NUTRITIONORDER: return "NutritionOrder";
10604            case OBSERVATION: return "Observation";
10605            case OBSERVATIONDEFINITION: return "ObservationDefinition";
10606            case OCCUPATIONALDATA: return "OccupationalData";
10607            case OPERATIONDEFINITION: return "OperationDefinition";
10608            case OPERATIONOUTCOME: return "OperationOutcome";
10609            case ORGANIZATION: return "Organization";
10610            case ORGANIZATIONROLE: return "OrganizationRole";
10611            case PARAMETERS: return "Parameters";
10612            case PATIENT: return "Patient";
10613            case PAYMENTNOTICE: return "PaymentNotice";
10614            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
10615            case PERSON: return "Person";
10616            case PLANDEFINITION: return "PlanDefinition";
10617            case PRACTITIONER: return "Practitioner";
10618            case PRACTITIONERROLE: return "PractitionerRole";
10619            case PROCEDURE: return "Procedure";
10620            case PROCESSREQUEST: return "ProcessRequest";
10621            case PROCESSRESPONSE: return "ProcessResponse";
10622            case PRODUCTPLAN: return "ProductPlan";
10623            case PROVENANCE: return "Provenance";
10624            case QUESTIONNAIRE: return "Questionnaire";
10625            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
10626            case RELATEDPERSON: return "RelatedPerson";
10627            case REQUESTGROUP: return "RequestGroup";
10628            case RESEARCHSTUDY: return "ResearchStudy";
10629            case RESEARCHSUBJECT: return "ResearchSubject";
10630            case RESOURCE: return "Resource";
10631            case RISKASSESSMENT: return "RiskAssessment";
10632            case SCHEDULE: return "Schedule";
10633            case SEARCHPARAMETER: return "SearchParameter";
10634            case SEQUENCE: return "Sequence";
10635            case SERVICEREQUEST: return "ServiceRequest";
10636            case SLOT: return "Slot";
10637            case SPECIMEN: return "Specimen";
10638            case SPECIMENDEFINITION: return "SpecimenDefinition";
10639            case STRUCTUREDEFINITION: return "StructureDefinition";
10640            case STRUCTUREMAP: return "StructureMap";
10641            case SUBSCRIPTION: return "Subscription";
10642            case SUBSTANCE: return "Substance";
10643            case SUBSTANCEPOLYMER: return "SubstancePolymer";
10644            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
10645            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
10646            case SUPPLYDELIVERY: return "SupplyDelivery";
10647            case SUPPLYREQUEST: return "SupplyRequest";
10648            case TASK: return "Task";
10649            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
10650            case TESTREPORT: return "TestReport";
10651            case TESTSCRIPT: return "TestScript";
10652            case USERSESSION: return "UserSession";
10653            case VALUESET: return "ValueSet";
10654            case VERIFICATIONRESULT: return "VerificationResult";
10655            case VISIONPRESCRIPTION: return "VisionPrescription";
10656            default: return "?";
10657          }
10658        }
10659    }
10660
10661  public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> {
10662    public ResourceType fromCode(String codeString) throws IllegalArgumentException {
10663      if (codeString == null || "".equals(codeString))
10664            if (codeString == null || "".equals(codeString))
10665                return null;
10666        if ("Account".equals(codeString))
10667          return ResourceType.ACCOUNT;
10668        if ("ActivityDefinition".equals(codeString))
10669          return ResourceType.ACTIVITYDEFINITION;
10670        if ("AdverseEvent".equals(codeString))
10671          return ResourceType.ADVERSEEVENT;
10672        if ("AllergyIntolerance".equals(codeString))
10673          return ResourceType.ALLERGYINTOLERANCE;
10674        if ("Appointment".equals(codeString))
10675          return ResourceType.APPOINTMENT;
10676        if ("AppointmentResponse".equals(codeString))
10677          return ResourceType.APPOINTMENTRESPONSE;
10678        if ("AuditEvent".equals(codeString))
10679          return ResourceType.AUDITEVENT;
10680        if ("Basic".equals(codeString))
10681          return ResourceType.BASIC;
10682        if ("Binary".equals(codeString))
10683          return ResourceType.BINARY;
10684        if ("BiologicallyDerivedProduct".equals(codeString))
10685          return ResourceType.BIOLOGICALLYDERIVEDPRODUCT;
10686        if ("BodyStructure".equals(codeString))
10687          return ResourceType.BODYSTRUCTURE;
10688        if ("Bundle".equals(codeString))
10689          return ResourceType.BUNDLE;
10690        if ("CapabilityStatement".equals(codeString))
10691          return ResourceType.CAPABILITYSTATEMENT;
10692        if ("CarePlan".equals(codeString))
10693          return ResourceType.CAREPLAN;
10694        if ("CareTeam".equals(codeString))
10695          return ResourceType.CARETEAM;
10696        if ("ChargeItem".equals(codeString))
10697          return ResourceType.CHARGEITEM;
10698        if ("Claim".equals(codeString))
10699          return ResourceType.CLAIM;
10700        if ("ClaimResponse".equals(codeString))
10701          return ResourceType.CLAIMRESPONSE;
10702        if ("ClinicalImpression".equals(codeString))
10703          return ResourceType.CLINICALIMPRESSION;
10704        if ("CodeSystem".equals(codeString))
10705          return ResourceType.CODESYSTEM;
10706        if ("Communication".equals(codeString))
10707          return ResourceType.COMMUNICATION;
10708        if ("CommunicationRequest".equals(codeString))
10709          return ResourceType.COMMUNICATIONREQUEST;
10710        if ("CompartmentDefinition".equals(codeString))
10711          return ResourceType.COMPARTMENTDEFINITION;
10712        if ("Composition".equals(codeString))
10713          return ResourceType.COMPOSITION;
10714        if ("ConceptMap".equals(codeString))
10715          return ResourceType.CONCEPTMAP;
10716        if ("Condition".equals(codeString))
10717          return ResourceType.CONDITION;
10718        if ("Consent".equals(codeString))
10719          return ResourceType.CONSENT;
10720        if ("Contract".equals(codeString))
10721          return ResourceType.CONTRACT;
10722        if ("Coverage".equals(codeString))
10723          return ResourceType.COVERAGE;
10724        if ("DetectedIssue".equals(codeString))
10725          return ResourceType.DETECTEDISSUE;
10726        if ("Device".equals(codeString))
10727          return ResourceType.DEVICE;
10728        if ("DeviceComponent".equals(codeString))
10729          return ResourceType.DEVICECOMPONENT;
10730        if ("DeviceMetric".equals(codeString))
10731          return ResourceType.DEVICEMETRIC;
10732        if ("DeviceRequest".equals(codeString))
10733          return ResourceType.DEVICEREQUEST;
10734        if ("DeviceUseStatement".equals(codeString))
10735          return ResourceType.DEVICEUSESTATEMENT;
10736        if ("DiagnosticReport".equals(codeString))
10737          return ResourceType.DIAGNOSTICREPORT;
10738        if ("DocumentManifest".equals(codeString))
10739          return ResourceType.DOCUMENTMANIFEST;
10740        if ("DocumentReference".equals(codeString))
10741          return ResourceType.DOCUMENTREFERENCE;
10742        if ("DomainResource".equals(codeString))
10743          return ResourceType.DOMAINRESOURCE;
10744        if ("EligibilityRequest".equals(codeString))
10745          return ResourceType.ELIGIBILITYREQUEST;
10746        if ("EligibilityResponse".equals(codeString))
10747          return ResourceType.ELIGIBILITYRESPONSE;
10748        if ("Encounter".equals(codeString))
10749          return ResourceType.ENCOUNTER;
10750        if ("Endpoint".equals(codeString))
10751          return ResourceType.ENDPOINT;
10752        if ("EnrollmentRequest".equals(codeString))
10753          return ResourceType.ENROLLMENTREQUEST;
10754        if ("EnrollmentResponse".equals(codeString))
10755          return ResourceType.ENROLLMENTRESPONSE;
10756        if ("EntryDefinition".equals(codeString))
10757          return ResourceType.ENTRYDEFINITION;
10758        if ("EpisodeOfCare".equals(codeString))
10759          return ResourceType.EPISODEOFCARE;
10760        if ("EventDefinition".equals(codeString))
10761          return ResourceType.EVENTDEFINITION;
10762        if ("ExampleScenario".equals(codeString))
10763          return ResourceType.EXAMPLESCENARIO;
10764        if ("ExpansionProfile".equals(codeString))
10765          return ResourceType.EXPANSIONPROFILE;
10766        if ("ExplanationOfBenefit".equals(codeString))
10767          return ResourceType.EXPLANATIONOFBENEFIT;
10768        if ("FamilyMemberHistory".equals(codeString))
10769          return ResourceType.FAMILYMEMBERHISTORY;
10770        if ("Flag".equals(codeString))
10771          return ResourceType.FLAG;
10772        if ("Goal".equals(codeString))
10773          return ResourceType.GOAL;
10774        if ("GraphDefinition".equals(codeString))
10775          return ResourceType.GRAPHDEFINITION;
10776        if ("Group".equals(codeString))
10777          return ResourceType.GROUP;
10778        if ("GuidanceResponse".equals(codeString))
10779          return ResourceType.GUIDANCERESPONSE;
10780        if ("HealthcareService".equals(codeString))
10781          return ResourceType.HEALTHCARESERVICE;
10782        if ("ImagingStudy".equals(codeString))
10783          return ResourceType.IMAGINGSTUDY;
10784        if ("Immunization".equals(codeString))
10785          return ResourceType.IMMUNIZATION;
10786        if ("ImmunizationEvaluation".equals(codeString))
10787          return ResourceType.IMMUNIZATIONEVALUATION;
10788        if ("ImmunizationRecommendation".equals(codeString))
10789          return ResourceType.IMMUNIZATIONRECOMMENDATION;
10790        if ("ImplementationGuide".equals(codeString))
10791          return ResourceType.IMPLEMENTATIONGUIDE;
10792        if ("Invoice".equals(codeString))
10793          return ResourceType.INVOICE;
10794        if ("ItemInstance".equals(codeString))
10795          return ResourceType.ITEMINSTANCE;
10796        if ("Library".equals(codeString))
10797          return ResourceType.LIBRARY;
10798        if ("Linkage".equals(codeString))
10799          return ResourceType.LINKAGE;
10800        if ("List".equals(codeString))
10801          return ResourceType.LIST;
10802        if ("Location".equals(codeString))
10803          return ResourceType.LOCATION;
10804        if ("Measure".equals(codeString))
10805          return ResourceType.MEASURE;
10806        if ("MeasureReport".equals(codeString))
10807          return ResourceType.MEASUREREPORT;
10808        if ("Media".equals(codeString))
10809          return ResourceType.MEDIA;
10810        if ("Medication".equals(codeString))
10811          return ResourceType.MEDICATION;
10812        if ("MedicationAdministration".equals(codeString))
10813          return ResourceType.MEDICATIONADMINISTRATION;
10814        if ("MedicationDispense".equals(codeString))
10815          return ResourceType.MEDICATIONDISPENSE;
10816        if ("MedicationKnowledge".equals(codeString))
10817          return ResourceType.MEDICATIONKNOWLEDGE;
10818        if ("MedicationRequest".equals(codeString))
10819          return ResourceType.MEDICATIONREQUEST;
10820        if ("MedicationStatement".equals(codeString))
10821          return ResourceType.MEDICATIONSTATEMENT;
10822        if ("MedicinalProduct".equals(codeString))
10823          return ResourceType.MEDICINALPRODUCT;
10824        if ("MedicinalProductAuthorization".equals(codeString))
10825          return ResourceType.MEDICINALPRODUCTAUTHORIZATION;
10826        if ("MedicinalProductClinicals".equals(codeString))
10827          return ResourceType.MEDICINALPRODUCTCLINICALS;
10828        if ("MedicinalProductDeviceSpec".equals(codeString))
10829          return ResourceType.MEDICINALPRODUCTDEVICESPEC;
10830        if ("MedicinalProductIngredient".equals(codeString))
10831          return ResourceType.MEDICINALPRODUCTINGREDIENT;
10832        if ("MedicinalProductPackaged".equals(codeString))
10833          return ResourceType.MEDICINALPRODUCTPACKAGED;
10834        if ("MedicinalProductPharmaceutical".equals(codeString))
10835          return ResourceType.MEDICINALPRODUCTPHARMACEUTICAL;
10836        if ("MessageDefinition".equals(codeString))
10837          return ResourceType.MESSAGEDEFINITION;
10838        if ("MessageHeader".equals(codeString))
10839          return ResourceType.MESSAGEHEADER;
10840        if ("NamingSystem".equals(codeString))
10841          return ResourceType.NAMINGSYSTEM;
10842        if ("NutritionOrder".equals(codeString))
10843          return ResourceType.NUTRITIONORDER;
10844        if ("Observation".equals(codeString))
10845          return ResourceType.OBSERVATION;
10846        if ("ObservationDefinition".equals(codeString))
10847          return ResourceType.OBSERVATIONDEFINITION;
10848        if ("OccupationalData".equals(codeString))
10849          return ResourceType.OCCUPATIONALDATA;
10850        if ("OperationDefinition".equals(codeString))
10851          return ResourceType.OPERATIONDEFINITION;
10852        if ("OperationOutcome".equals(codeString))
10853          return ResourceType.OPERATIONOUTCOME;
10854        if ("Organization".equals(codeString))
10855          return ResourceType.ORGANIZATION;
10856        if ("OrganizationRole".equals(codeString))
10857          return ResourceType.ORGANIZATIONROLE;
10858        if ("Parameters".equals(codeString))
10859          return ResourceType.PARAMETERS;
10860        if ("Patient".equals(codeString))
10861          return ResourceType.PATIENT;
10862        if ("PaymentNotice".equals(codeString))
10863          return ResourceType.PAYMENTNOTICE;
10864        if ("PaymentReconciliation".equals(codeString))
10865          return ResourceType.PAYMENTRECONCILIATION;
10866        if ("Person".equals(codeString))
10867          return ResourceType.PERSON;
10868        if ("PlanDefinition".equals(codeString))
10869          return ResourceType.PLANDEFINITION;
10870        if ("Practitioner".equals(codeString))
10871          return ResourceType.PRACTITIONER;
10872        if ("PractitionerRole".equals(codeString))
10873          return ResourceType.PRACTITIONERROLE;
10874        if ("Procedure".equals(codeString))
10875          return ResourceType.PROCEDURE;
10876        if ("ProcessRequest".equals(codeString))
10877          return ResourceType.PROCESSREQUEST;
10878        if ("ProcessResponse".equals(codeString))
10879          return ResourceType.PROCESSRESPONSE;
10880        if ("ProductPlan".equals(codeString))
10881          return ResourceType.PRODUCTPLAN;
10882        if ("Provenance".equals(codeString))
10883          return ResourceType.PROVENANCE;
10884        if ("Questionnaire".equals(codeString))
10885          return ResourceType.QUESTIONNAIRE;
10886        if ("QuestionnaireResponse".equals(codeString))
10887          return ResourceType.QUESTIONNAIRERESPONSE;
10888        if ("RelatedPerson".equals(codeString))
10889          return ResourceType.RELATEDPERSON;
10890        if ("RequestGroup".equals(codeString))
10891          return ResourceType.REQUESTGROUP;
10892        if ("ResearchStudy".equals(codeString))
10893          return ResourceType.RESEARCHSTUDY;
10894        if ("ResearchSubject".equals(codeString))
10895          return ResourceType.RESEARCHSUBJECT;
10896        if ("Resource".equals(codeString))
10897          return ResourceType.RESOURCE;
10898        if ("RiskAssessment".equals(codeString))
10899          return ResourceType.RISKASSESSMENT;
10900        if ("Schedule".equals(codeString))
10901          return ResourceType.SCHEDULE;
10902        if ("SearchParameter".equals(codeString))
10903          return ResourceType.SEARCHPARAMETER;
10904        if ("Sequence".equals(codeString))
10905          return ResourceType.SEQUENCE;
10906        if ("ServiceRequest".equals(codeString))
10907          return ResourceType.SERVICEREQUEST;
10908        if ("Slot".equals(codeString))
10909          return ResourceType.SLOT;
10910        if ("Specimen".equals(codeString))
10911          return ResourceType.SPECIMEN;
10912        if ("SpecimenDefinition".equals(codeString))
10913          return ResourceType.SPECIMENDEFINITION;
10914        if ("StructureDefinition".equals(codeString))
10915          return ResourceType.STRUCTUREDEFINITION;
10916        if ("StructureMap".equals(codeString))
10917          return ResourceType.STRUCTUREMAP;
10918        if ("Subscription".equals(codeString))
10919          return ResourceType.SUBSCRIPTION;
10920        if ("Substance".equals(codeString))
10921          return ResourceType.SUBSTANCE;
10922        if ("SubstancePolymer".equals(codeString))
10923          return ResourceType.SUBSTANCEPOLYMER;
10924        if ("SubstanceReferenceInformation".equals(codeString))
10925          return ResourceType.SUBSTANCEREFERENCEINFORMATION;
10926        if ("SubstanceSpecification".equals(codeString))
10927          return ResourceType.SUBSTANCESPECIFICATION;
10928        if ("SupplyDelivery".equals(codeString))
10929          return ResourceType.SUPPLYDELIVERY;
10930        if ("SupplyRequest".equals(codeString))
10931          return ResourceType.SUPPLYREQUEST;
10932        if ("Task".equals(codeString))
10933          return ResourceType.TASK;
10934        if ("TerminologyCapabilities".equals(codeString))
10935          return ResourceType.TERMINOLOGYCAPABILITIES;
10936        if ("TestReport".equals(codeString))
10937          return ResourceType.TESTREPORT;
10938        if ("TestScript".equals(codeString))
10939          return ResourceType.TESTSCRIPT;
10940        if ("UserSession".equals(codeString))
10941          return ResourceType.USERSESSION;
10942        if ("ValueSet".equals(codeString))
10943          return ResourceType.VALUESET;
10944        if ("VerificationResult".equals(codeString))
10945          return ResourceType.VERIFICATIONRESULT;
10946        if ("VisionPrescription".equals(codeString))
10947          return ResourceType.VISIONPRESCRIPTION;
10948        throw new IllegalArgumentException("Unknown ResourceType code '"+codeString+"'");
10949        }
10950        public Enumeration<ResourceType> fromType(Base code) throws FHIRException {
10951          if (code == null)
10952            return null;
10953          if (code.isEmpty())
10954            return new Enumeration<ResourceType>(this);
10955          String codeString = ((PrimitiveType) code).asStringValue();
10956          if (codeString == null || "".equals(codeString))
10957            return null;
10958        if ("Account".equals(codeString))
10959          return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT);
10960        if ("ActivityDefinition".equals(codeString))
10961          return new Enumeration<ResourceType>(this, ResourceType.ACTIVITYDEFINITION);
10962        if ("AdverseEvent".equals(codeString))
10963          return new Enumeration<ResourceType>(this, ResourceType.ADVERSEEVENT);
10964        if ("AllergyIntolerance".equals(codeString))
10965          return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE);
10966        if ("Appointment".equals(codeString))
10967          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT);
10968        if ("AppointmentResponse".equals(codeString))
10969          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE);
10970        if ("AuditEvent".equals(codeString))
10971          return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT);
10972        if ("Basic".equals(codeString))
10973          return new Enumeration<ResourceType>(this, ResourceType.BASIC);
10974        if ("Binary".equals(codeString))
10975          return new Enumeration<ResourceType>(this, ResourceType.BINARY);
10976        if ("BiologicallyDerivedProduct".equals(codeString))
10977          return new Enumeration<ResourceType>(this, ResourceType.BIOLOGICALLYDERIVEDPRODUCT);
10978        if ("BodyStructure".equals(codeString))
10979          return new Enumeration<ResourceType>(this, ResourceType.BODYSTRUCTURE);
10980        if ("Bundle".equals(codeString))
10981          return new Enumeration<ResourceType>(this, ResourceType.BUNDLE);
10982        if ("CapabilityStatement".equals(codeString))
10983          return new Enumeration<ResourceType>(this, ResourceType.CAPABILITYSTATEMENT);
10984        if ("CarePlan".equals(codeString))
10985          return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN);
10986        if ("CareTeam".equals(codeString))
10987          return new Enumeration<ResourceType>(this, ResourceType.CARETEAM);
10988        if ("ChargeItem".equals(codeString))
10989          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEM);
10990        if ("Claim".equals(codeString))
10991          return new Enumeration<ResourceType>(this, ResourceType.CLAIM);
10992        if ("ClaimResponse".equals(codeString))
10993          return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE);
10994        if ("ClinicalImpression".equals(codeString))
10995          return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION);
10996        if ("CodeSystem".equals(codeString))
10997          return new Enumeration<ResourceType>(this, ResourceType.CODESYSTEM);
10998        if ("Communication".equals(codeString))
10999          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION);
11000        if ("CommunicationRequest".equals(codeString))
11001          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST);
11002        if ("CompartmentDefinition".equals(codeString))
11003          return new Enumeration<ResourceType>(this, ResourceType.COMPARTMENTDEFINITION);
11004        if ("Composition".equals(codeString))
11005          return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION);
11006        if ("ConceptMap".equals(codeString))
11007          return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP);
11008        if ("Condition".equals(codeString))
11009          return new Enumeration<ResourceType>(this, ResourceType.CONDITION);
11010        if ("Consent".equals(codeString))
11011          return new Enumeration<ResourceType>(this, ResourceType.CONSENT);
11012        if ("Contract".equals(codeString))
11013          return new Enumeration<ResourceType>(this, ResourceType.CONTRACT);
11014        if ("Coverage".equals(codeString))
11015          return new Enumeration<ResourceType>(this, ResourceType.COVERAGE);
11016        if ("DetectedIssue".equals(codeString))
11017          return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE);
11018        if ("Device".equals(codeString))
11019          return new Enumeration<ResourceType>(this, ResourceType.DEVICE);
11020        if ("DeviceComponent".equals(codeString))
11021          return new Enumeration<ResourceType>(this, ResourceType.DEVICECOMPONENT);
11022        if ("DeviceMetric".equals(codeString))
11023          return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC);
11024        if ("DeviceRequest".equals(codeString))
11025          return new Enumeration<ResourceType>(this, ResourceType.DEVICEREQUEST);
11026        if ("DeviceUseStatement".equals(codeString))
11027          return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT);
11028        if ("DiagnosticReport".equals(codeString))
11029          return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT);
11030        if ("DocumentManifest".equals(codeString))
11031          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST);
11032        if ("DocumentReference".equals(codeString))
11033          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE);
11034        if ("DomainResource".equals(codeString))
11035          return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE);
11036        if ("EligibilityRequest".equals(codeString))
11037          return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYREQUEST);
11038        if ("EligibilityResponse".equals(codeString))
11039          return new Enumeration<ResourceType>(this, ResourceType.ELIGIBILITYRESPONSE);
11040        if ("Encounter".equals(codeString))
11041          return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER);
11042        if ("Endpoint".equals(codeString))
11043          return new Enumeration<ResourceType>(this, ResourceType.ENDPOINT);
11044        if ("EnrollmentRequest".equals(codeString))
11045          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST);
11046        if ("EnrollmentResponse".equals(codeString))
11047          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE);
11048        if ("EntryDefinition".equals(codeString))
11049          return new Enumeration<ResourceType>(this, ResourceType.ENTRYDEFINITION);
11050        if ("EpisodeOfCare".equals(codeString))
11051          return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE);
11052        if ("EventDefinition".equals(codeString))
11053          return new Enumeration<ResourceType>(this, ResourceType.EVENTDEFINITION);
11054        if ("ExampleScenario".equals(codeString))
11055          return new Enumeration<ResourceType>(this, ResourceType.EXAMPLESCENARIO);
11056        if ("ExpansionProfile".equals(codeString))
11057          return new Enumeration<ResourceType>(this, ResourceType.EXPANSIONPROFILE);
11058        if ("ExplanationOfBenefit".equals(codeString))
11059          return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT);
11060        if ("FamilyMemberHistory".equals(codeString))
11061          return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY);
11062        if ("Flag".equals(codeString))
11063          return new Enumeration<ResourceType>(this, ResourceType.FLAG);
11064        if ("Goal".equals(codeString))
11065          return new Enumeration<ResourceType>(this, ResourceType.GOAL);
11066        if ("GraphDefinition".equals(codeString))
11067          return new Enumeration<ResourceType>(this, ResourceType.GRAPHDEFINITION);
11068        if ("Group".equals(codeString))
11069          return new Enumeration<ResourceType>(this, ResourceType.GROUP);
11070        if ("GuidanceResponse".equals(codeString))
11071          return new Enumeration<ResourceType>(this, ResourceType.GUIDANCERESPONSE);
11072        if ("HealthcareService".equals(codeString))
11073          return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE);
11074        if ("ImagingStudy".equals(codeString))
11075          return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY);
11076        if ("Immunization".equals(codeString))
11077          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION);
11078        if ("ImmunizationEvaluation".equals(codeString))
11079          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONEVALUATION);
11080        if ("ImmunizationRecommendation".equals(codeString))
11081          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION);
11082        if ("ImplementationGuide".equals(codeString))
11083          return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE);
11084        if ("Invoice".equals(codeString))
11085          return new Enumeration<ResourceType>(this, ResourceType.INVOICE);
11086        if ("ItemInstance".equals(codeString))
11087          return new Enumeration<ResourceType>(this, ResourceType.ITEMINSTANCE);
11088        if ("Library".equals(codeString))
11089          return new Enumeration<ResourceType>(this, ResourceType.LIBRARY);
11090        if ("Linkage".equals(codeString))
11091          return new Enumeration<ResourceType>(this, ResourceType.LINKAGE);
11092        if ("List".equals(codeString))
11093          return new Enumeration<ResourceType>(this, ResourceType.LIST);
11094        if ("Location".equals(codeString))
11095          return new Enumeration<ResourceType>(this, ResourceType.LOCATION);
11096        if ("Measure".equals(codeString))
11097          return new Enumeration<ResourceType>(this, ResourceType.MEASURE);
11098        if ("MeasureReport".equals(codeString))
11099          return new Enumeration<ResourceType>(this, ResourceType.MEASUREREPORT);
11100        if ("Media".equals(codeString))
11101          return new Enumeration<ResourceType>(this, ResourceType.MEDIA);
11102        if ("Medication".equals(codeString))
11103          return new Enumeration<ResourceType>(this, ResourceType.MEDICATION);
11104        if ("MedicationAdministration".equals(codeString))
11105          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION);
11106        if ("MedicationDispense".equals(codeString))
11107          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE);
11108        if ("MedicationKnowledge".equals(codeString))
11109          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONKNOWLEDGE);
11110        if ("MedicationRequest".equals(codeString))
11111          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONREQUEST);
11112        if ("MedicationStatement".equals(codeString))
11113          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT);
11114        if ("MedicinalProduct".equals(codeString))
11115          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCT);
11116        if ("MedicinalProductAuthorization".equals(codeString))
11117          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTAUTHORIZATION);
11118        if ("MedicinalProductClinicals".equals(codeString))
11119          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCLINICALS);
11120        if ("MedicinalProductDeviceSpec".equals(codeString))
11121          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTDEVICESPEC);
11122        if ("MedicinalProductIngredient".equals(codeString))
11123          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINGREDIENT);
11124        if ("MedicinalProductPackaged".equals(codeString))
11125          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPACKAGED);
11126        if ("MedicinalProductPharmaceutical".equals(codeString))
11127          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPHARMACEUTICAL);
11128        if ("MessageDefinition".equals(codeString))
11129          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEDEFINITION);
11130        if ("MessageHeader".equals(codeString))
11131          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER);
11132        if ("NamingSystem".equals(codeString))
11133          return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM);
11134        if ("NutritionOrder".equals(codeString))
11135          return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER);
11136        if ("Observation".equals(codeString))
11137          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION);
11138        if ("ObservationDefinition".equals(codeString))
11139          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATIONDEFINITION);
11140        if ("OccupationalData".equals(codeString))
11141          return new Enumeration<ResourceType>(this, ResourceType.OCCUPATIONALDATA);
11142        if ("OperationDefinition".equals(codeString))
11143          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION);
11144        if ("OperationOutcome".equals(codeString))
11145          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME);
11146        if ("Organization".equals(codeString))
11147          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION);
11148        if ("OrganizationRole".equals(codeString))
11149          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATIONROLE);
11150        if ("Parameters".equals(codeString))
11151          return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS);
11152        if ("Patient".equals(codeString))
11153          return new Enumeration<ResourceType>(this, ResourceType.PATIENT);
11154        if ("PaymentNotice".equals(codeString))
11155          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE);
11156        if ("PaymentReconciliation".equals(codeString))
11157          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION);
11158        if ("Person".equals(codeString))
11159          return new Enumeration<ResourceType>(this, ResourceType.PERSON);
11160        if ("PlanDefinition".equals(codeString))
11161          return new Enumeration<ResourceType>(this, ResourceType.PLANDEFINITION);
11162        if ("Practitioner".equals(codeString))
11163          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER);
11164        if ("PractitionerRole".equals(codeString))
11165          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONERROLE);
11166        if ("Procedure".equals(codeString))
11167          return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE);
11168        if ("ProcessRequest".equals(codeString))
11169          return new Enumeration<ResourceType>(this, ResourceType.PROCESSREQUEST);
11170        if ("ProcessResponse".equals(codeString))
11171          return new Enumeration<ResourceType>(this, ResourceType.PROCESSRESPONSE);
11172        if ("ProductPlan".equals(codeString))
11173          return new Enumeration<ResourceType>(this, ResourceType.PRODUCTPLAN);
11174        if ("Provenance".equals(codeString))
11175          return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE);
11176        if ("Questionnaire".equals(codeString))
11177          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE);
11178        if ("QuestionnaireResponse".equals(codeString))
11179          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE);
11180        if ("RelatedPerson".equals(codeString))
11181          return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON);
11182        if ("RequestGroup".equals(codeString))
11183          return new Enumeration<ResourceType>(this, ResourceType.REQUESTGROUP);
11184        if ("ResearchStudy".equals(codeString))
11185          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSTUDY);
11186        if ("ResearchSubject".equals(codeString))
11187          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSUBJECT);
11188        if ("Resource".equals(codeString))
11189          return new Enumeration<ResourceType>(this, ResourceType.RESOURCE);
11190        if ("RiskAssessment".equals(codeString))
11191          return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT);
11192        if ("Schedule".equals(codeString))
11193          return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE);
11194        if ("SearchParameter".equals(codeString))
11195          return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER);
11196        if ("Sequence".equals(codeString))
11197          return new Enumeration<ResourceType>(this, ResourceType.SEQUENCE);
11198        if ("ServiceRequest".equals(codeString))
11199          return new Enumeration<ResourceType>(this, ResourceType.SERVICEREQUEST);
11200        if ("Slot".equals(codeString))
11201          return new Enumeration<ResourceType>(this, ResourceType.SLOT);
11202        if ("Specimen".equals(codeString))
11203          return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN);
11204        if ("SpecimenDefinition".equals(codeString))
11205          return new Enumeration<ResourceType>(this, ResourceType.SPECIMENDEFINITION);
11206        if ("StructureDefinition".equals(codeString))
11207          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION);
11208        if ("StructureMap".equals(codeString))
11209          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREMAP);
11210        if ("Subscription".equals(codeString))
11211          return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION);
11212        if ("Substance".equals(codeString))
11213          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE);
11214        if ("SubstancePolymer".equals(codeString))
11215          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPOLYMER);
11216        if ("SubstanceReferenceInformation".equals(codeString))
11217          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEREFERENCEINFORMATION);
11218        if ("SubstanceSpecification".equals(codeString))
11219          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESPECIFICATION);
11220        if ("SupplyDelivery".equals(codeString))
11221          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY);
11222        if ("SupplyRequest".equals(codeString))
11223          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST);
11224        if ("Task".equals(codeString))
11225          return new Enumeration<ResourceType>(this, ResourceType.TASK);
11226        if ("TerminologyCapabilities".equals(codeString))
11227          return new Enumeration<ResourceType>(this, ResourceType.TERMINOLOGYCAPABILITIES);
11228        if ("TestReport".equals(codeString))
11229          return new Enumeration<ResourceType>(this, ResourceType.TESTREPORT);
11230        if ("TestScript".equals(codeString))
11231          return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT);
11232        if ("UserSession".equals(codeString))
11233          return new Enumeration<ResourceType>(this, ResourceType.USERSESSION);
11234        if ("ValueSet".equals(codeString))
11235          return new Enumeration<ResourceType>(this, ResourceType.VALUESET);
11236        if ("VerificationResult".equals(codeString))
11237          return new Enumeration<ResourceType>(this, ResourceType.VERIFICATIONRESULT);
11238        if ("VisionPrescription".equals(codeString))
11239          return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION);
11240        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
11241        }
11242    public String toCode(ResourceType code) {
11243      if (code == ResourceType.ACCOUNT)
11244        return "Account";
11245      if (code == ResourceType.ACTIVITYDEFINITION)
11246        return "ActivityDefinition";
11247      if (code == ResourceType.ADVERSEEVENT)
11248        return "AdverseEvent";
11249      if (code == ResourceType.ALLERGYINTOLERANCE)
11250        return "AllergyIntolerance";
11251      if (code == ResourceType.APPOINTMENT)
11252        return "Appointment";
11253      if (code == ResourceType.APPOINTMENTRESPONSE)
11254        return "AppointmentResponse";
11255      if (code == ResourceType.AUDITEVENT)
11256        return "AuditEvent";
11257      if (code == ResourceType.BASIC)
11258        return "Basic";
11259      if (code == ResourceType.BINARY)
11260        return "Binary";
11261      if (code == ResourceType.BIOLOGICALLYDERIVEDPRODUCT)
11262        return "BiologicallyDerivedProduct";
11263      if (code == ResourceType.BODYSTRUCTURE)
11264        return "BodyStructure";
11265      if (code == ResourceType.BUNDLE)
11266        return "Bundle";
11267      if (code == ResourceType.CAPABILITYSTATEMENT)
11268        return "CapabilityStatement";
11269      if (code == ResourceType.CAREPLAN)
11270        return "CarePlan";
11271      if (code == ResourceType.CARETEAM)
11272        return "CareTeam";
11273      if (code == ResourceType.CHARGEITEM)
11274        return "ChargeItem";
11275      if (code == ResourceType.CLAIM)
11276        return "Claim";
11277      if (code == ResourceType.CLAIMRESPONSE)
11278        return "ClaimResponse";
11279      if (code == ResourceType.CLINICALIMPRESSION)
11280        return "ClinicalImpression";
11281      if (code == ResourceType.CODESYSTEM)
11282        return "CodeSystem";
11283      if (code == ResourceType.COMMUNICATION)
11284        return "Communication";
11285      if (code == ResourceType.COMMUNICATIONREQUEST)
11286        return "CommunicationRequest";
11287      if (code == ResourceType.COMPARTMENTDEFINITION)
11288        return "CompartmentDefinition";
11289      if (code == ResourceType.COMPOSITION)
11290        return "Composition";
11291      if (code == ResourceType.CONCEPTMAP)
11292        return "ConceptMap";
11293      if (code == ResourceType.CONDITION)
11294        return "Condition";
11295      if (code == ResourceType.CONSENT)
11296        return "Consent";
11297      if (code == ResourceType.CONTRACT)
11298        return "Contract";
11299      if (code == ResourceType.COVERAGE)
11300        return "Coverage";
11301      if (code == ResourceType.DETECTEDISSUE)
11302        return "DetectedIssue";
11303      if (code == ResourceType.DEVICE)
11304        return "Device";
11305      if (code == ResourceType.DEVICECOMPONENT)
11306        return "DeviceComponent";
11307      if (code == ResourceType.DEVICEMETRIC)
11308        return "DeviceMetric";
11309      if (code == ResourceType.DEVICEREQUEST)
11310        return "DeviceRequest";
11311      if (code == ResourceType.DEVICEUSESTATEMENT)
11312        return "DeviceUseStatement";
11313      if (code == ResourceType.DIAGNOSTICREPORT)
11314        return "DiagnosticReport";
11315      if (code == ResourceType.DOCUMENTMANIFEST)
11316        return "DocumentManifest";
11317      if (code == ResourceType.DOCUMENTREFERENCE)
11318        return "DocumentReference";
11319      if (code == ResourceType.DOMAINRESOURCE)
11320        return "DomainResource";
11321      if (code == ResourceType.ELIGIBILITYREQUEST)
11322        return "EligibilityRequest";
11323      if (code == ResourceType.ELIGIBILITYRESPONSE)
11324        return "EligibilityResponse";
11325      if (code == ResourceType.ENCOUNTER)
11326        return "Encounter";
11327      if (code == ResourceType.ENDPOINT)
11328        return "Endpoint";
11329      if (code == ResourceType.ENROLLMENTREQUEST)
11330        return "EnrollmentRequest";
11331      if (code == ResourceType.ENROLLMENTRESPONSE)
11332        return "EnrollmentResponse";
11333      if (code == ResourceType.ENTRYDEFINITION)
11334        return "EntryDefinition";
11335      if (code == ResourceType.EPISODEOFCARE)
11336        return "EpisodeOfCare";
11337      if (code == ResourceType.EVENTDEFINITION)
11338        return "EventDefinition";
11339      if (code == ResourceType.EXAMPLESCENARIO)
11340        return "ExampleScenario";
11341      if (code == ResourceType.EXPANSIONPROFILE)
11342        return "ExpansionProfile";
11343      if (code == ResourceType.EXPLANATIONOFBENEFIT)
11344        return "ExplanationOfBenefit";
11345      if (code == ResourceType.FAMILYMEMBERHISTORY)
11346        return "FamilyMemberHistory";
11347      if (code == ResourceType.FLAG)
11348        return "Flag";
11349      if (code == ResourceType.GOAL)
11350        return "Goal";
11351      if (code == ResourceType.GRAPHDEFINITION)
11352        return "GraphDefinition";
11353      if (code == ResourceType.GROUP)
11354        return "Group";
11355      if (code == ResourceType.GUIDANCERESPONSE)
11356        return "GuidanceResponse";
11357      if (code == ResourceType.HEALTHCARESERVICE)
11358        return "HealthcareService";
11359      if (code == ResourceType.IMAGINGSTUDY)
11360        return "ImagingStudy";
11361      if (code == ResourceType.IMMUNIZATION)
11362        return "Immunization";
11363      if (code == ResourceType.IMMUNIZATIONEVALUATION)
11364        return "ImmunizationEvaluation";
11365      if (code == ResourceType.IMMUNIZATIONRECOMMENDATION)
11366        return "ImmunizationRecommendation";
11367      if (code == ResourceType.IMPLEMENTATIONGUIDE)
11368        return "ImplementationGuide";
11369      if (code == ResourceType.INVOICE)
11370        return "Invoice";
11371      if (code == ResourceType.ITEMINSTANCE)
11372        return "ItemInstance";
11373      if (code == ResourceType.LIBRARY)
11374        return "Library";
11375      if (code == ResourceType.LINKAGE)
11376        return "Linkage";
11377      if (code == ResourceType.LIST)
11378        return "List";
11379      if (code == ResourceType.LOCATION)
11380        return "Location";
11381      if (code == ResourceType.MEASURE)
11382        return "Measure";
11383      if (code == ResourceType.MEASUREREPORT)
11384        return "MeasureReport";
11385      if (code == ResourceType.MEDIA)
11386        return "Media";
11387      if (code == ResourceType.MEDICATION)
11388        return "Medication";
11389      if (code == ResourceType.MEDICATIONADMINISTRATION)
11390        return "MedicationAdministration";
11391      if (code == ResourceType.MEDICATIONDISPENSE)
11392        return "MedicationDispense";
11393      if (code == ResourceType.MEDICATIONKNOWLEDGE)
11394        return "MedicationKnowledge";
11395      if (code == ResourceType.MEDICATIONREQUEST)
11396        return "MedicationRequest";
11397      if (code == ResourceType.MEDICATIONSTATEMENT)
11398        return "MedicationStatement";
11399      if (code == ResourceType.MEDICINALPRODUCT)
11400        return "MedicinalProduct";
11401      if (code == ResourceType.MEDICINALPRODUCTAUTHORIZATION)
11402        return "MedicinalProductAuthorization";
11403      if (code == ResourceType.MEDICINALPRODUCTCLINICALS)
11404        return "MedicinalProductClinicals";
11405      if (code == ResourceType.MEDICINALPRODUCTDEVICESPEC)
11406        return "MedicinalProductDeviceSpec";
11407      if (code == ResourceType.MEDICINALPRODUCTINGREDIENT)
11408        return "MedicinalProductIngredient";
11409      if (code == ResourceType.MEDICINALPRODUCTPACKAGED)
11410        return "MedicinalProductPackaged";
11411      if (code == ResourceType.MEDICINALPRODUCTPHARMACEUTICAL)
11412        return "MedicinalProductPharmaceutical";
11413      if (code == ResourceType.MESSAGEDEFINITION)
11414        return "MessageDefinition";
11415      if (code == ResourceType.MESSAGEHEADER)
11416        return "MessageHeader";
11417      if (code == ResourceType.NAMINGSYSTEM)
11418        return "NamingSystem";
11419      if (code == ResourceType.NUTRITIONORDER)
11420        return "NutritionOrder";
11421      if (code == ResourceType.OBSERVATION)
11422        return "Observation";
11423      if (code == ResourceType.OBSERVATIONDEFINITION)
11424        return "ObservationDefinition";
11425      if (code == ResourceType.OCCUPATIONALDATA)
11426        return "OccupationalData";
11427      if (code == ResourceType.OPERATIONDEFINITION)
11428        return "OperationDefinition";
11429      if (code == ResourceType.OPERATIONOUTCOME)
11430        return "OperationOutcome";
11431      if (code == ResourceType.ORGANIZATION)
11432        return "Organization";
11433      if (code == ResourceType.ORGANIZATIONROLE)
11434        return "OrganizationRole";
11435      if (code == ResourceType.PARAMETERS)
11436        return "Parameters";
11437      if (code == ResourceType.PATIENT)
11438        return "Patient";
11439      if (code == ResourceType.PAYMENTNOTICE)
11440        return "PaymentNotice";
11441      if (code == ResourceType.PAYMENTRECONCILIATION)
11442        return "PaymentReconciliation";
11443      if (code == ResourceType.PERSON)
11444        return "Person";
11445      if (code == ResourceType.PLANDEFINITION)
11446        return "PlanDefinition";
11447      if (code == ResourceType.PRACTITIONER)
11448        return "Practitioner";
11449      if (code == ResourceType.PRACTITIONERROLE)
11450        return "PractitionerRole";
11451      if (code == ResourceType.PROCEDURE)
11452        return "Procedure";
11453      if (code == ResourceType.PROCESSREQUEST)
11454        return "ProcessRequest";
11455      if (code == ResourceType.PROCESSRESPONSE)
11456        return "ProcessResponse";
11457      if (code == ResourceType.PRODUCTPLAN)
11458        return "ProductPlan";
11459      if (code == ResourceType.PROVENANCE)
11460        return "Provenance";
11461      if (code == ResourceType.QUESTIONNAIRE)
11462        return "Questionnaire";
11463      if (code == ResourceType.QUESTIONNAIRERESPONSE)
11464        return "QuestionnaireResponse";
11465      if (code == ResourceType.RELATEDPERSON)
11466        return "RelatedPerson";
11467      if (code == ResourceType.REQUESTGROUP)
11468        return "RequestGroup";
11469      if (code == ResourceType.RESEARCHSTUDY)
11470        return "ResearchStudy";
11471      if (code == ResourceType.RESEARCHSUBJECT)
11472        return "ResearchSubject";
11473      if (code == ResourceType.RESOURCE)
11474        return "Resource";
11475      if (code == ResourceType.RISKASSESSMENT)
11476        return "RiskAssessment";
11477      if (code == ResourceType.SCHEDULE)
11478        return "Schedule";
11479      if (code == ResourceType.SEARCHPARAMETER)
11480        return "SearchParameter";
11481      if (code == ResourceType.SEQUENCE)
11482        return "Sequence";
11483      if (code == ResourceType.SERVICEREQUEST)
11484        return "ServiceRequest";
11485      if (code == ResourceType.SLOT)
11486        return "Slot";
11487      if (code == ResourceType.SPECIMEN)
11488        return "Specimen";
11489      if (code == ResourceType.SPECIMENDEFINITION)
11490        return "SpecimenDefinition";
11491      if (code == ResourceType.STRUCTUREDEFINITION)
11492        return "StructureDefinition";
11493      if (code == ResourceType.STRUCTUREMAP)
11494        return "StructureMap";
11495      if (code == ResourceType.SUBSCRIPTION)
11496        return "Subscription";
11497      if (code == ResourceType.SUBSTANCE)
11498        return "Substance";
11499      if (code == ResourceType.SUBSTANCEPOLYMER)
11500        return "SubstancePolymer";
11501      if (code == ResourceType.SUBSTANCEREFERENCEINFORMATION)
11502        return "SubstanceReferenceInformation";
11503      if (code == ResourceType.SUBSTANCESPECIFICATION)
11504        return "SubstanceSpecification";
11505      if (code == ResourceType.SUPPLYDELIVERY)
11506        return "SupplyDelivery";
11507      if (code == ResourceType.SUPPLYREQUEST)
11508        return "SupplyRequest";
11509      if (code == ResourceType.TASK)
11510        return "Task";
11511      if (code == ResourceType.TERMINOLOGYCAPABILITIES)
11512        return "TerminologyCapabilities";
11513      if (code == ResourceType.TESTREPORT)
11514        return "TestReport";
11515      if (code == ResourceType.TESTSCRIPT)
11516        return "TestScript";
11517      if (code == ResourceType.USERSESSION)
11518        return "UserSession";
11519      if (code == ResourceType.VALUESET)
11520        return "ValueSet";
11521      if (code == ResourceType.VERIFICATIONRESULT)
11522        return "VerificationResult";
11523      if (code == ResourceType.VISIONPRESCRIPTION)
11524        return "VisionPrescription";
11525      return "?";
11526      }
11527    public String toSystem(ResourceType code) {
11528      return code.getSystem();
11529      }
11530    }
11531
11532    public enum SearchParamType {
11533        /**
11534         * Search parameter SHALL be a number (a whole number, or a decimal).
11535         */
11536        NUMBER, 
11537        /**
11538         * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
11539         */
11540        DATE, 
11541        /**
11542         * 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.
11543         */
11544        STRING, 
11545        /**
11546         * 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.
11547         */
11548        TOKEN, 
11549        /**
11550         * A reference to another resource (Reference or canonical).
11551         */
11552        REFERENCE, 
11553        /**
11554         * A composite search parameter that combines a search on two values together.
11555         */
11556        COMPOSITE, 
11557        /**
11558         * A search parameter that searches on a quantity.
11559         */
11560        QUANTITY, 
11561        /**
11562         * A search parameter that searches on a URI (RFC 3986).
11563         */
11564        URI, 
11565        /**
11566         * added to help the parsers
11567         */
11568        NULL;
11569        public static SearchParamType fromCode(String codeString) throws FHIRException {
11570            if (codeString == null || "".equals(codeString))
11571                return null;
11572        if ("number".equals(codeString))
11573          return NUMBER;
11574        if ("date".equals(codeString))
11575          return DATE;
11576        if ("string".equals(codeString))
11577          return STRING;
11578        if ("token".equals(codeString))
11579          return TOKEN;
11580        if ("reference".equals(codeString))
11581          return REFERENCE;
11582        if ("composite".equals(codeString))
11583          return COMPOSITE;
11584        if ("quantity".equals(codeString))
11585          return QUANTITY;
11586        if ("uri".equals(codeString))
11587          return URI;
11588        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
11589        }
11590        public String toCode() {
11591          switch (this) {
11592            case NUMBER: return "number";
11593            case DATE: return "date";
11594            case STRING: return "string";
11595            case TOKEN: return "token";
11596            case REFERENCE: return "reference";
11597            case COMPOSITE: return "composite";
11598            case QUANTITY: return "quantity";
11599            case URI: return "uri";
11600            default: return "?";
11601          }
11602        }
11603        public String getSystem() {
11604          switch (this) {
11605            case NUMBER: return "http://hl7.org/fhir/search-param-type";
11606            case DATE: return "http://hl7.org/fhir/search-param-type";
11607            case STRING: return "http://hl7.org/fhir/search-param-type";
11608            case TOKEN: return "http://hl7.org/fhir/search-param-type";
11609            case REFERENCE: return "http://hl7.org/fhir/search-param-type";
11610            case COMPOSITE: return "http://hl7.org/fhir/search-param-type";
11611            case QUANTITY: return "http://hl7.org/fhir/search-param-type";
11612            case URI: return "http://hl7.org/fhir/search-param-type";
11613            default: return "?";
11614          }
11615        }
11616        public String getDefinition() {
11617          switch (this) {
11618            case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal).";
11619            case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
11620            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.";
11621            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.";
11622            case REFERENCE: return "A reference to another resource (Reference or canonical).";
11623            case COMPOSITE: return "A composite search parameter that combines a search on two values together.";
11624            case QUANTITY: return "A search parameter that searches on a quantity.";
11625            case URI: return "A search parameter that searches on a URI (RFC 3986).";
11626            default: return "?";
11627          }
11628        }
11629        public String getDisplay() {
11630          switch (this) {
11631            case NUMBER: return "Number";
11632            case DATE: return "Date/DateTime";
11633            case STRING: return "String";
11634            case TOKEN: return "Token";
11635            case REFERENCE: return "Reference";
11636            case COMPOSITE: return "Composite";
11637            case QUANTITY: return "Quantity";
11638            case URI: return "URI";
11639            default: return "?";
11640          }
11641        }
11642    }
11643
11644  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
11645    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
11646      if (codeString == null || "".equals(codeString))
11647            if (codeString == null || "".equals(codeString))
11648                return null;
11649        if ("number".equals(codeString))
11650          return SearchParamType.NUMBER;
11651        if ("date".equals(codeString))
11652          return SearchParamType.DATE;
11653        if ("string".equals(codeString))
11654          return SearchParamType.STRING;
11655        if ("token".equals(codeString))
11656          return SearchParamType.TOKEN;
11657        if ("reference".equals(codeString))
11658          return SearchParamType.REFERENCE;
11659        if ("composite".equals(codeString))
11660          return SearchParamType.COMPOSITE;
11661        if ("quantity".equals(codeString))
11662          return SearchParamType.QUANTITY;
11663        if ("uri".equals(codeString))
11664          return SearchParamType.URI;
11665        throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'");
11666        }
11667        public Enumeration<SearchParamType> fromType(Base code) throws FHIRException {
11668          if (code == null)
11669            return null;
11670          if (code.isEmpty())
11671            return new Enumeration<SearchParamType>(this);
11672          String codeString = ((PrimitiveType) code).asStringValue();
11673          if (codeString == null || "".equals(codeString))
11674            return null;
11675        if ("number".equals(codeString))
11676          return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER);
11677        if ("date".equals(codeString))
11678          return new Enumeration<SearchParamType>(this, SearchParamType.DATE);
11679        if ("string".equals(codeString))
11680          return new Enumeration<SearchParamType>(this, SearchParamType.STRING);
11681        if ("token".equals(codeString))
11682          return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN);
11683        if ("reference".equals(codeString))
11684          return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE);
11685        if ("composite".equals(codeString))
11686          return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE);
11687        if ("quantity".equals(codeString))
11688          return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY);
11689        if ("uri".equals(codeString))
11690          return new Enumeration<SearchParamType>(this, SearchParamType.URI);
11691        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
11692        }
11693    public String toCode(SearchParamType code) {
11694      if (code == SearchParamType.NUMBER)
11695        return "number";
11696      if (code == SearchParamType.DATE)
11697        return "date";
11698      if (code == SearchParamType.STRING)
11699        return "string";
11700      if (code == SearchParamType.TOKEN)
11701        return "token";
11702      if (code == SearchParamType.REFERENCE)
11703        return "reference";
11704      if (code == SearchParamType.COMPOSITE)
11705        return "composite";
11706      if (code == SearchParamType.QUANTITY)
11707        return "quantity";
11708      if (code == SearchParamType.URI)
11709        return "uri";
11710      return "?";
11711      }
11712    public String toSystem(SearchParamType code) {
11713      return code.getSystem();
11714      }
11715    }
11716
11717    public enum SpecialValues {
11718        /**
11719         * Boolean true.
11720         */
11721        TRUE, 
11722        /**
11723         * Boolean false.
11724         */
11725        FALSE, 
11726        /**
11727         * The content is greater than zero, but too small to be quantified.
11728         */
11729        TRACE, 
11730        /**
11731         * 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.
11732         */
11733        SUFFICIENT, 
11734        /**
11735         * The value is no longer available.
11736         */
11737        WITHDRAWN, 
11738        /**
11739         * The are no known applicable values in this context.
11740         */
11741        NILKNOWN, 
11742        /**
11743         * added to help the parsers
11744         */
11745        NULL;
11746        public static SpecialValues fromCode(String codeString) throws FHIRException {
11747            if (codeString == null || "".equals(codeString))
11748                return null;
11749        if ("true".equals(codeString))
11750          return TRUE;
11751        if ("false".equals(codeString))
11752          return FALSE;
11753        if ("trace".equals(codeString))
11754          return TRACE;
11755        if ("sufficient".equals(codeString))
11756          return SUFFICIENT;
11757        if ("withdrawn".equals(codeString))
11758          return WITHDRAWN;
11759        if ("nil-known".equals(codeString))
11760          return NILKNOWN;
11761        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
11762        }
11763        public String toCode() {
11764          switch (this) {
11765            case TRUE: return "true";
11766            case FALSE: return "false";
11767            case TRACE: return "trace";
11768            case SUFFICIENT: return "sufficient";
11769            case WITHDRAWN: return "withdrawn";
11770            case NILKNOWN: return "nil-known";
11771            default: return "?";
11772          }
11773        }
11774        public String getSystem() {
11775          switch (this) {
11776            case TRUE: return "http://hl7.org/fhir/special-values";
11777            case FALSE: return "http://hl7.org/fhir/special-values";
11778            case TRACE: return "http://hl7.org/fhir/special-values";
11779            case SUFFICIENT: return "http://hl7.org/fhir/special-values";
11780            case WITHDRAWN: return "http://hl7.org/fhir/special-values";
11781            case NILKNOWN: return "http://hl7.org/fhir/special-values";
11782            default: return "?";
11783          }
11784        }
11785        public String getDefinition() {
11786          switch (this) {
11787            case TRUE: return "Boolean true.";
11788            case FALSE: return "Boolean false.";
11789            case TRACE: return "The content is greater than zero, but too small to be quantified.";
11790            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.";
11791            case WITHDRAWN: return "The value is no longer available.";
11792            case NILKNOWN: return "The are no known applicable values in this context.";
11793            default: return "?";
11794          }
11795        }
11796        public String getDisplay() {
11797          switch (this) {
11798            case TRUE: return "true";
11799            case FALSE: return "false";
11800            case TRACE: return "Trace Amount Detected";
11801            case SUFFICIENT: return "Sufficient Quantity";
11802            case WITHDRAWN: return "Value Withdrawn";
11803            case NILKNOWN: return "Nil Known";
11804            default: return "?";
11805          }
11806        }
11807    }
11808
11809  public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> {
11810    public SpecialValues fromCode(String codeString) throws IllegalArgumentException {
11811      if (codeString == null || "".equals(codeString))
11812            if (codeString == null || "".equals(codeString))
11813                return null;
11814        if ("true".equals(codeString))
11815          return SpecialValues.TRUE;
11816        if ("false".equals(codeString))
11817          return SpecialValues.FALSE;
11818        if ("trace".equals(codeString))
11819          return SpecialValues.TRACE;
11820        if ("sufficient".equals(codeString))
11821          return SpecialValues.SUFFICIENT;
11822        if ("withdrawn".equals(codeString))
11823          return SpecialValues.WITHDRAWN;
11824        if ("nil-known".equals(codeString))
11825          return SpecialValues.NILKNOWN;
11826        throw new IllegalArgumentException("Unknown SpecialValues code '"+codeString+"'");
11827        }
11828        public Enumeration<SpecialValues> fromType(Base code) throws FHIRException {
11829          if (code == null)
11830            return null;
11831          if (code.isEmpty())
11832            return new Enumeration<SpecialValues>(this);
11833          String codeString = ((PrimitiveType) code).asStringValue();
11834          if (codeString == null || "".equals(codeString))
11835            return null;
11836        if ("true".equals(codeString))
11837          return new Enumeration<SpecialValues>(this, SpecialValues.TRUE);
11838        if ("false".equals(codeString))
11839          return new Enumeration<SpecialValues>(this, SpecialValues.FALSE);
11840        if ("trace".equals(codeString))
11841          return new Enumeration<SpecialValues>(this, SpecialValues.TRACE);
11842        if ("sufficient".equals(codeString))
11843          return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT);
11844        if ("withdrawn".equals(codeString))
11845          return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN);
11846        if ("nil-known".equals(codeString))
11847          return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN);
11848        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
11849        }
11850    public String toCode(SpecialValues code) {
11851      if (code == SpecialValues.TRUE)
11852        return "true";
11853      if (code == SpecialValues.FALSE)
11854        return "false";
11855      if (code == SpecialValues.TRACE)
11856        return "trace";
11857      if (code == SpecialValues.SUFFICIENT)
11858        return "sufficient";
11859      if (code == SpecialValues.WITHDRAWN)
11860        return "withdrawn";
11861      if (code == SpecialValues.NILKNOWN)
11862        return "nil-known";
11863      return "?";
11864      }
11865    public String toSystem(SpecialValues code) {
11866      return code.getSystem();
11867      }
11868    }
11869
11870
11871}
11872