001package org.hl7.fhir.r4.model;
002
003/*-
004 * #%L
005 * org.hl7.fhir.r4
006 * %%
007 * Copyright (C) 2014 - 2019 Health Level 7
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 * 
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 * 
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import org.hl7.fhir.exceptions.FHIRException;
024
025public class Enumerations {
026
027// In here: 
028//   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.
029//   AdministrativeGender: The gender of a person used for administrative purposes.
030//   AgeUnits: A valueSet of UCUM codes for representing age value units.
031//   BindingStrength: Indication of the degree of conformance expectations associated with a binding.
032//   ConceptMapEquivalence: The degree of equivalence between concepts.
033//   DataAbsentReason: Used to specify why the normally expected content of the data element is missing.
034//   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).
035//   DefinitionResourceType: A list of all the definition resource types defined in this version of the FHIR specification.
036//   DocumentReferenceStatus: The status of the document reference.
037//   EventResourceType: A list of all the event resource types defined in this version of the FHIR specification.
038//   FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.
039//   FHIRDefinedType: A list of all the concrete types defined in this version of the FHIR specification - Data Types and Resource Types.
040//   FHIRVersion: All published FHIR Versions.
041//   KnowledgeResourceType: A list of all the knowledge resource types defined in this version of the FHIR specification.
042//   MessageEvent: One of the message events defined as part of this version of FHIR.
043//   NoteType: The presentation types of notes.
044//   PublicationStatus: The lifecycle status of an artifact.
045//   RemittanceOutcome: The outcome of the processing.
046//   RequestResourceType: A list of all the request resource types defined in this version of the FHIR specification.
047//   ResourceType: One of the resource types defined as part of this version of FHIR.
048//   SearchParamType: Data types allowed to be used for search parameters.
049//   SpecialValues: A set of generally useful codes defined so they can be included in value sets.
050
051
052    public enum AbstractType {
053        /**
054         * A place holder that means any kind of data type
055         */
056        TYPE, 
057        /**
058         * A place holder that means any kind of resource
059         */
060        ANY, 
061        /**
062         * added to help the parsers
063         */
064        NULL;
065        public static AbstractType fromCode(String codeString) throws FHIRException {
066            if (codeString == null || "".equals(codeString))
067                return null;
068        if ("Type".equals(codeString))
069          return TYPE;
070        if ("Any".equals(codeString))
071          return ANY;
072        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
073        }
074        public String toCode() {
075          switch (this) {
076            case TYPE: return "Type";
077            case ANY: return "Any";
078            default: return "?";
079          }
080        }
081        public String getSystem() {
082          switch (this) {
083            case TYPE: return "http://hl7.org/fhir/abstract-types";
084            case ANY: return "http://hl7.org/fhir/abstract-types";
085            default: return "?";
086          }
087        }
088        public String getDefinition() {
089          switch (this) {
090            case TYPE: return "A place holder that means any kind of data type";
091            case ANY: return "A place holder that means any kind of resource";
092            default: return "?";
093          }
094        }
095        public String getDisplay() {
096          switch (this) {
097            case TYPE: return "Type";
098            case ANY: return "Any";
099            default: return "?";
100          }
101        }
102    }
103
104  public static class AbstractTypeEnumFactory implements EnumFactory<AbstractType> {
105    public AbstractType fromCode(String codeString) throws IllegalArgumentException {
106      if (codeString == null || "".equals(codeString))
107            if (codeString == null || "".equals(codeString))
108                return null;
109        if ("Type".equals(codeString))
110          return AbstractType.TYPE;
111        if ("Any".equals(codeString))
112          return AbstractType.ANY;
113        throw new IllegalArgumentException("Unknown AbstractType code '"+codeString+"'");
114        }
115        public Enumeration<AbstractType> fromType(Base code) throws FHIRException {
116          if (code == null)
117            return null;
118          if (code.isEmpty())
119            return new Enumeration<AbstractType>(this);
120          String codeString = ((PrimitiveType) code).asStringValue();
121          if (codeString == null || "".equals(codeString))
122            return null;
123        if ("Type".equals(codeString))
124          return new Enumeration<AbstractType>(this, AbstractType.TYPE);
125        if ("Any".equals(codeString))
126          return new Enumeration<AbstractType>(this, AbstractType.ANY);
127        throw new FHIRException("Unknown AbstractType code '"+codeString+"'");
128        }
129    public String toCode(AbstractType code) {
130      if (code == AbstractType.TYPE)
131        return "Type";
132      if (code == AbstractType.ANY)
133        return "Any";
134      return "?";
135      }
136    public String toSystem(AbstractType code) {
137      return code.getSystem();
138      }
139    }
140
141    public enum AdministrativeGender {
142        /**
143         * Male.
144         */
145        MALE, 
146        /**
147         * Female.
148         */
149        FEMALE, 
150        /**
151         * Other.
152         */
153        OTHER, 
154        /**
155         * Unknown.
156         */
157        UNKNOWN, 
158        /**
159         * added to help the parsers
160         */
161        NULL;
162        public static AdministrativeGender fromCode(String codeString) throws FHIRException {
163            if (codeString == null || "".equals(codeString))
164                return null;
165        if ("male".equals(codeString))
166          return MALE;
167        if ("female".equals(codeString))
168          return FEMALE;
169        if ("other".equals(codeString))
170          return OTHER;
171        if ("unknown".equals(codeString))
172          return UNKNOWN;
173        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
174        }
175        public String toCode() {
176          switch (this) {
177            case MALE: return "male";
178            case FEMALE: return "female";
179            case OTHER: return "other";
180            case UNKNOWN: return "unknown";
181            default: return "?";
182          }
183        }
184        public String getSystem() {
185          switch (this) {
186            case MALE: return "http://hl7.org/fhir/administrative-gender";
187            case FEMALE: return "http://hl7.org/fhir/administrative-gender";
188            case OTHER: return "http://hl7.org/fhir/administrative-gender";
189            case UNKNOWN: return "http://hl7.org/fhir/administrative-gender";
190            default: return "?";
191          }
192        }
193        public String getDefinition() {
194          switch (this) {
195            case MALE: return "Male.";
196            case FEMALE: return "Female.";
197            case OTHER: return "Other.";
198            case UNKNOWN: return "Unknown.";
199            default: return "?";
200          }
201        }
202        public String getDisplay() {
203          switch (this) {
204            case MALE: return "Male";
205            case FEMALE: return "Female";
206            case OTHER: return "Other";
207            case UNKNOWN: return "Unknown";
208            default: return "?";
209          }
210        }
211    }
212
213  public static class AdministrativeGenderEnumFactory implements EnumFactory<AdministrativeGender> {
214    public AdministrativeGender fromCode(String codeString) throws IllegalArgumentException {
215      if (codeString == null || "".equals(codeString))
216            if (codeString == null || "".equals(codeString))
217                return null;
218        if ("male".equals(codeString))
219          return AdministrativeGender.MALE;
220        if ("female".equals(codeString))
221          return AdministrativeGender.FEMALE;
222        if ("other".equals(codeString))
223          return AdministrativeGender.OTHER;
224        if ("unknown".equals(codeString))
225          return AdministrativeGender.UNKNOWN;
226        throw new IllegalArgumentException("Unknown AdministrativeGender code '"+codeString+"'");
227        }
228        public Enumeration<AdministrativeGender> fromType(Base code) throws FHIRException {
229          if (code == null)
230            return null;
231          if (code.isEmpty())
232            return new Enumeration<AdministrativeGender>(this);
233          String codeString = ((PrimitiveType) code).asStringValue();
234          if (codeString == null || "".equals(codeString))
235            return null;
236        if ("male".equals(codeString))
237          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.MALE);
238        if ("female".equals(codeString))
239          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.FEMALE);
240        if ("other".equals(codeString))
241          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.OTHER);
242        if ("unknown".equals(codeString))
243          return new Enumeration<AdministrativeGender>(this, AdministrativeGender.UNKNOWN);
244        throw new FHIRException("Unknown AdministrativeGender code '"+codeString+"'");
245        }
246    public String toCode(AdministrativeGender code) {
247      if (code == AdministrativeGender.MALE)
248        return "male";
249      if (code == AdministrativeGender.FEMALE)
250        return "female";
251      if (code == AdministrativeGender.OTHER)
252        return "other";
253      if (code == AdministrativeGender.UNKNOWN)
254        return "unknown";
255      return "?";
256      }
257    public String toSystem(AdministrativeGender code) {
258      return code.getSystem();
259      }
260    }
261
262    public enum AgeUnits {
263        /**
264         * null
265         */
266        MIN, 
267        /**
268         * null
269         */
270        H, 
271        /**
272         * null
273         */
274        D, 
275        /**
276         * null
277         */
278        WK, 
279        /**
280         * null
281         */
282        MO, 
283        /**
284         * null
285         */
286        A, 
287        /**
288         * added to help the parsers
289         */
290        NULL;
291        public static AgeUnits fromCode(String codeString) throws FHIRException {
292            if (codeString == null || "".equals(codeString))
293                return null;
294        if ("min".equals(codeString))
295          return MIN;
296        if ("h".equals(codeString))
297          return H;
298        if ("d".equals(codeString))
299          return D;
300        if ("wk".equals(codeString))
301          return WK;
302        if ("mo".equals(codeString))
303          return MO;
304        if ("a".equals(codeString))
305          return A;
306        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
307        }
308        public String toCode() {
309          switch (this) {
310            case MIN: return "min";
311            case H: return "h";
312            case D: return "d";
313            case WK: return "wk";
314            case MO: return "mo";
315            case A: return "a";
316            default: return "?";
317          }
318        }
319        public String getSystem() {
320          switch (this) {
321            case MIN: return "http://unitsofmeasure.org";
322            case H: return "http://unitsofmeasure.org";
323            case D: return "http://unitsofmeasure.org";
324            case WK: return "http://unitsofmeasure.org";
325            case MO: return "http://unitsofmeasure.org";
326            case A: return "http://unitsofmeasure.org";
327            default: return "?";
328          }
329        }
330        public String getDefinition() {
331          switch (this) {
332            case MIN: return "";
333            case H: return "";
334            case D: return "";
335            case WK: return "";
336            case MO: return "";
337            case A: return "";
338            default: return "?";
339          }
340        }
341        public String getDisplay() {
342          switch (this) {
343            case MIN: return "Minute";
344            case H: return "Hour";
345            case D: return "Day";
346            case WK: return "Week";
347            case MO: return "Month";
348            case A: return "Year";
349            default: return "?";
350          }
351        }
352    }
353
354  public static class AgeUnitsEnumFactory implements EnumFactory<AgeUnits> {
355    public AgeUnits fromCode(String codeString) throws IllegalArgumentException {
356      if (codeString == null || "".equals(codeString))
357            if (codeString == null || "".equals(codeString))
358                return null;
359        if ("min".equals(codeString))
360          return AgeUnits.MIN;
361        if ("h".equals(codeString))
362          return AgeUnits.H;
363        if ("d".equals(codeString))
364          return AgeUnits.D;
365        if ("wk".equals(codeString))
366          return AgeUnits.WK;
367        if ("mo".equals(codeString))
368          return AgeUnits.MO;
369        if ("a".equals(codeString))
370          return AgeUnits.A;
371        throw new IllegalArgumentException("Unknown AgeUnits code '"+codeString+"'");
372        }
373        public Enumeration<AgeUnits> fromType(Base code) throws FHIRException {
374          if (code == null)
375            return null;
376          if (code.isEmpty())
377            return new Enumeration<AgeUnits>(this);
378          String codeString = ((PrimitiveType) code).asStringValue();
379          if (codeString == null || "".equals(codeString))
380            return null;
381        if ("min".equals(codeString))
382          return new Enumeration<AgeUnits>(this, AgeUnits.MIN);
383        if ("h".equals(codeString))
384          return new Enumeration<AgeUnits>(this, AgeUnits.H);
385        if ("d".equals(codeString))
386          return new Enumeration<AgeUnits>(this, AgeUnits.D);
387        if ("wk".equals(codeString))
388          return new Enumeration<AgeUnits>(this, AgeUnits.WK);
389        if ("mo".equals(codeString))
390          return new Enumeration<AgeUnits>(this, AgeUnits.MO);
391        if ("a".equals(codeString))
392          return new Enumeration<AgeUnits>(this, AgeUnits.A);
393        throw new FHIRException("Unknown AgeUnits code '"+codeString+"'");
394        }
395    public String toCode(AgeUnits code) {
396      if (code == AgeUnits.MIN)
397        return "min";
398      if (code == AgeUnits.H)
399        return "h";
400      if (code == AgeUnits.D)
401        return "d";
402      if (code == AgeUnits.WK)
403        return "wk";
404      if (code == AgeUnits.MO)
405        return "mo";
406      if (code == AgeUnits.A)
407        return "a";
408      return "?";
409      }
410    public String toSystem(AgeUnits code) {
411      return code.getSystem();
412      }
413    }
414
415    public enum BindingStrength {
416        /**
417         * To be conformant, the concept in this element SHALL be from the specified value set.
418         */
419        REQUIRED, 
420        /**
421         * 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.
422         */
423        EXTENSIBLE, 
424        /**
425         * Instances are encouraged to draw from the specified codes for interoperability purposes but are not required to do so to be considered conformant.
426         */
427        PREFERRED, 
428        /**
429         * 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.
430         */
431        EXAMPLE, 
432        /**
433         * added to help the parsers
434         */
435        NULL;
436        public static BindingStrength fromCode(String codeString) throws FHIRException {
437            if (codeString == null || "".equals(codeString))
438                return null;
439        if ("required".equals(codeString))
440          return REQUIRED;
441        if ("extensible".equals(codeString))
442          return EXTENSIBLE;
443        if ("preferred".equals(codeString))
444          return PREFERRED;
445        if ("example".equals(codeString))
446          return EXAMPLE;
447        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
448        }
449        public String toCode() {
450          switch (this) {
451            case REQUIRED: return "required";
452            case EXTENSIBLE: return "extensible";
453            case PREFERRED: return "preferred";
454            case EXAMPLE: return "example";
455            default: return "?";
456          }
457        }
458        public String getSystem() {
459          switch (this) {
460            case REQUIRED: return "http://hl7.org/fhir/binding-strength";
461            case EXTENSIBLE: return "http://hl7.org/fhir/binding-strength";
462            case PREFERRED: return "http://hl7.org/fhir/binding-strength";
463            case EXAMPLE: return "http://hl7.org/fhir/binding-strength";
464            default: return "?";
465          }
466        }
467        public String getDefinition() {
468          switch (this) {
469            case REQUIRED: return "To be conformant, the concept in this element SHALL be from the specified value set.";
470            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.";
471            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.";
472            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.";
473            default: return "?";
474          }
475        }
476        public String getDisplay() {
477          switch (this) {
478            case REQUIRED: return "Required";
479            case EXTENSIBLE: return "Extensible";
480            case PREFERRED: return "Preferred";
481            case EXAMPLE: return "Example";
482            default: return "?";
483          }
484        }
485    }
486
487  public static class BindingStrengthEnumFactory implements EnumFactory<BindingStrength> {
488    public BindingStrength fromCode(String codeString) throws IllegalArgumentException {
489      if (codeString == null || "".equals(codeString))
490            if (codeString == null || "".equals(codeString))
491                return null;
492        if ("required".equals(codeString))
493          return BindingStrength.REQUIRED;
494        if ("extensible".equals(codeString))
495          return BindingStrength.EXTENSIBLE;
496        if ("preferred".equals(codeString))
497          return BindingStrength.PREFERRED;
498        if ("example".equals(codeString))
499          return BindingStrength.EXAMPLE;
500        throw new IllegalArgumentException("Unknown BindingStrength code '"+codeString+"'");
501        }
502        public Enumeration<BindingStrength> fromType(Base code) throws FHIRException {
503          if (code == null)
504            return null;
505          if (code.isEmpty())
506            return new Enumeration<BindingStrength>(this);
507          String codeString = ((PrimitiveType) code).asStringValue();
508          if (codeString == null || "".equals(codeString))
509            return null;
510        if ("required".equals(codeString))
511          return new Enumeration<BindingStrength>(this, BindingStrength.REQUIRED);
512        if ("extensible".equals(codeString))
513          return new Enumeration<BindingStrength>(this, BindingStrength.EXTENSIBLE);
514        if ("preferred".equals(codeString))
515          return new Enumeration<BindingStrength>(this, BindingStrength.PREFERRED);
516        if ("example".equals(codeString))
517          return new Enumeration<BindingStrength>(this, BindingStrength.EXAMPLE);
518        throw new FHIRException("Unknown BindingStrength code '"+codeString+"'");
519        }
520    public String toCode(BindingStrength code) {
521      if (code == BindingStrength.REQUIRED)
522        return "required";
523      if (code == BindingStrength.EXTENSIBLE)
524        return "extensible";
525      if (code == BindingStrength.PREFERRED)
526        return "preferred";
527      if (code == BindingStrength.EXAMPLE)
528        return "example";
529      return "?";
530      }
531    public String toSystem(BindingStrength code) {
532      return code.getSystem();
533      }
534    }
535
536    public enum ConceptMapEquivalence {
537        /**
538         * The concepts are related to each other, and have at least some overlap in meaning, but the exact relationship is not known.
539         */
540        RELATEDTO, 
541        /**
542         * The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).
543         */
544        EQUIVALENT, 
545        /**
546         * 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).
547         */
548        EQUAL, 
549        /**
550         * The target mapping is wider in meaning than the source concept.
551         */
552        WIDER, 
553        /**
554         * The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).
555         */
556        SUBSUMES, 
557        /**
558         * 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.
559         */
560        NARROWER, 
561        /**
562         * The target mapping specializes the meaning of the source concept (e.g. the target is-a source).
563         */
564        SPECIALIZES, 
565        /**
566         * 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.
567         */
568        INEXACT, 
569        /**
570         * There is no match for this concept in the target code system.
571         */
572        UNMATCHED, 
573        /**
574         * This is an explicit assertion that there is no mapping between the source and target concept.
575         */
576        DISJOINT, 
577        /**
578         * added to help the parsers
579         */
580        NULL;
581        public static ConceptMapEquivalence fromCode(String codeString) throws FHIRException {
582            if (codeString == null || "".equals(codeString))
583                return null;
584        if ("relatedto".equals(codeString))
585          return RELATEDTO;
586        if ("equivalent".equals(codeString))
587          return EQUIVALENT;
588        if ("equal".equals(codeString))
589          return EQUAL;
590        if ("wider".equals(codeString))
591          return WIDER;
592        if ("subsumes".equals(codeString))
593          return SUBSUMES;
594        if ("narrower".equals(codeString))
595          return NARROWER;
596        if ("specializes".equals(codeString))
597          return SPECIALIZES;
598        if ("inexact".equals(codeString))
599          return INEXACT;
600        if ("unmatched".equals(codeString))
601          return UNMATCHED;
602        if ("disjoint".equals(codeString))
603          return DISJOINT;
604        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
605        }
606        public String toCode() {
607          switch (this) {
608            case RELATEDTO: return "relatedto";
609            case EQUIVALENT: return "equivalent";
610            case EQUAL: return "equal";
611            case WIDER: return "wider";
612            case SUBSUMES: return "subsumes";
613            case NARROWER: return "narrower";
614            case SPECIALIZES: return "specializes";
615            case INEXACT: return "inexact";
616            case UNMATCHED: return "unmatched";
617            case DISJOINT: return "disjoint";
618            default: return "?";
619          }
620        }
621        public String getSystem() {
622          switch (this) {
623            case RELATEDTO: return "http://hl7.org/fhir/concept-map-equivalence";
624            case EQUIVALENT: return "http://hl7.org/fhir/concept-map-equivalence";
625            case EQUAL: return "http://hl7.org/fhir/concept-map-equivalence";
626            case WIDER: return "http://hl7.org/fhir/concept-map-equivalence";
627            case SUBSUMES: return "http://hl7.org/fhir/concept-map-equivalence";
628            case NARROWER: return "http://hl7.org/fhir/concept-map-equivalence";
629            case SPECIALIZES: return "http://hl7.org/fhir/concept-map-equivalence";
630            case INEXACT: return "http://hl7.org/fhir/concept-map-equivalence";
631            case UNMATCHED: return "http://hl7.org/fhir/concept-map-equivalence";
632            case DISJOINT: return "http://hl7.org/fhir/concept-map-equivalence";
633            default: return "?";
634          }
635        }
636        public String getDefinition() {
637          switch (this) {
638            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.";
639            case EQUIVALENT: return "The definitions of the concepts mean the same thing (including when structural implications of meaning are considered) (i.e. extensionally identical).";
640            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).";
641            case WIDER: return "The target mapping is wider in meaning than the source concept.";
642            case SUBSUMES: return "The target mapping subsumes the meaning of the source concept (e.g. the source is-a target).";
643            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.";
644            case SPECIALIZES: return "The target mapping specializes the meaning of the source concept (e.g. the target is-a source).";
645            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.";
646            case UNMATCHED: return "There is no match for this concept in the target code system.";
647            case DISJOINT: return "This is an explicit assertion that there is no mapping between the source and target concept.";
648            default: return "?";
649          }
650        }
651        public String getDisplay() {
652          switch (this) {
653            case RELATEDTO: return "Related To";
654            case EQUIVALENT: return "Equivalent";
655            case EQUAL: return "Equal";
656            case WIDER: return "Wider";
657            case SUBSUMES: return "Subsumes";
658            case NARROWER: return "Narrower";
659            case SPECIALIZES: return "Specializes";
660            case INEXACT: return "Inexact";
661            case UNMATCHED: return "Unmatched";
662            case DISJOINT: return "Disjoint";
663            default: return "?";
664          }
665        }
666    }
667
668  public static class ConceptMapEquivalenceEnumFactory implements EnumFactory<ConceptMapEquivalence> {
669    public ConceptMapEquivalence fromCode(String codeString) throws IllegalArgumentException {
670      if (codeString == null || "".equals(codeString))
671            if (codeString == null || "".equals(codeString))
672                return null;
673        if ("relatedto".equals(codeString))
674          return ConceptMapEquivalence.RELATEDTO;
675        if ("equivalent".equals(codeString))
676          return ConceptMapEquivalence.EQUIVALENT;
677        if ("equal".equals(codeString))
678          return ConceptMapEquivalence.EQUAL;
679        if ("wider".equals(codeString))
680          return ConceptMapEquivalence.WIDER;
681        if ("subsumes".equals(codeString))
682          return ConceptMapEquivalence.SUBSUMES;
683        if ("narrower".equals(codeString))
684          return ConceptMapEquivalence.NARROWER;
685        if ("specializes".equals(codeString))
686          return ConceptMapEquivalence.SPECIALIZES;
687        if ("inexact".equals(codeString))
688          return ConceptMapEquivalence.INEXACT;
689        if ("unmatched".equals(codeString))
690          return ConceptMapEquivalence.UNMATCHED;
691        if ("disjoint".equals(codeString))
692          return ConceptMapEquivalence.DISJOINT;
693        throw new IllegalArgumentException("Unknown ConceptMapEquivalence code '"+codeString+"'");
694        }
695        public Enumeration<ConceptMapEquivalence> fromType(Base code) throws FHIRException {
696          if (code == null)
697            return null;
698          if (code.isEmpty())
699            return new Enumeration<ConceptMapEquivalence>(this);
700          String codeString = ((PrimitiveType) code).asStringValue();
701          if (codeString == null || "".equals(codeString))
702            return null;
703        if ("relatedto".equals(codeString))
704          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.RELATEDTO);
705        if ("equivalent".equals(codeString))
706          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUIVALENT);
707        if ("equal".equals(codeString))
708          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.EQUAL);
709        if ("wider".equals(codeString))
710          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.WIDER);
711        if ("subsumes".equals(codeString))
712          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SUBSUMES);
713        if ("narrower".equals(codeString))
714          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.NARROWER);
715        if ("specializes".equals(codeString))
716          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.SPECIALIZES);
717        if ("inexact".equals(codeString))
718          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.INEXACT);
719        if ("unmatched".equals(codeString))
720          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.UNMATCHED);
721        if ("disjoint".equals(codeString))
722          return new Enumeration<ConceptMapEquivalence>(this, ConceptMapEquivalence.DISJOINT);
723        throw new FHIRException("Unknown ConceptMapEquivalence code '"+codeString+"'");
724        }
725    public String toCode(ConceptMapEquivalence code) {
726      if (code == ConceptMapEquivalence.RELATEDTO)
727        return "relatedto";
728      if (code == ConceptMapEquivalence.EQUIVALENT)
729        return "equivalent";
730      if (code == ConceptMapEquivalence.EQUAL)
731        return "equal";
732      if (code == ConceptMapEquivalence.WIDER)
733        return "wider";
734      if (code == ConceptMapEquivalence.SUBSUMES)
735        return "subsumes";
736      if (code == ConceptMapEquivalence.NARROWER)
737        return "narrower";
738      if (code == ConceptMapEquivalence.SPECIALIZES)
739        return "specializes";
740      if (code == ConceptMapEquivalence.INEXACT)
741        return "inexact";
742      if (code == ConceptMapEquivalence.UNMATCHED)
743        return "unmatched";
744      if (code == ConceptMapEquivalence.DISJOINT)
745        return "disjoint";
746      return "?";
747      }
748    public String toSystem(ConceptMapEquivalence code) {
749      return code.getSystem();
750      }
751    }
752
753    public enum DataAbsentReason {
754        /**
755         * The value is expected to exist but is not known.
756         */
757        UNKNOWN, 
758        /**
759         * The source was asked but does not know the value.
760         */
761        ASKEDUNKNOWN, 
762        /**
763         * There is reason to expect (from the workflow) that the value may become known.
764         */
765        TEMPUNKNOWN, 
766        /**
767         * The workflow didn't lead to this value being known.
768         */
769        NOTASKED, 
770        /**
771         * The source was asked but declined to answer.
772         */
773        ASKEDDECLINED, 
774        /**
775         * The information is not available due to security, privacy or related reasons.
776         */
777        MASKED, 
778        /**
779         * There is no proper value for this element (e.g. last menstrual period for a male).
780         */
781        NOTAPPLICABLE, 
782        /**
783         * The source system wasn't capable of supporting this element.
784         */
785        UNSUPPORTED, 
786        /**
787         * The content of the data is represented in the resource narrative.
788         */
789        ASTEXT, 
790        /**
791         * Some system or workflow process error means that the information is not available.
792         */
793        ERROR, 
794        /**
795         * The numeric value is undefined or unrepresentable due to a floating point processing error.
796         */
797        NOTANUMBER, 
798        /**
799         * The numeric value is excessively low and unrepresentable due to a floating point processing error.
800         */
801        NEGATIVEINFINITY, 
802        /**
803         * The numeric value is excessively high and unrepresentable due to a floating point processing error.
804         */
805        POSITIVEINFINITY, 
806        /**
807         * The value is not available because the observation procedure (test, etc.) was not performed.
808         */
809        NOTPERFORMED, 
810        /**
811         * The value is not permitted in this context (e.g. due to profiles, or the base data types).
812         */
813        NOTPERMITTED, 
814        /**
815         * added to help the parsers
816         */
817        NULL;
818        public static DataAbsentReason fromCode(String codeString) throws FHIRException {
819            if (codeString == null || "".equals(codeString))
820                return null;
821        if ("unknown".equals(codeString))
822          return UNKNOWN;
823        if ("asked-unknown".equals(codeString))
824          return ASKEDUNKNOWN;
825        if ("temp-unknown".equals(codeString))
826          return TEMPUNKNOWN;
827        if ("not-asked".equals(codeString))
828          return NOTASKED;
829        if ("asked-declined".equals(codeString))
830          return ASKEDDECLINED;
831        if ("masked".equals(codeString))
832          return MASKED;
833        if ("not-applicable".equals(codeString))
834          return NOTAPPLICABLE;
835        if ("unsupported".equals(codeString))
836          return UNSUPPORTED;
837        if ("as-text".equals(codeString))
838          return ASTEXT;
839        if ("error".equals(codeString))
840          return ERROR;
841        if ("not-a-number".equals(codeString))
842          return NOTANUMBER;
843        if ("negative-infinity".equals(codeString))
844          return NEGATIVEINFINITY;
845        if ("positive-infinity".equals(codeString))
846          return POSITIVEINFINITY;
847        if ("not-performed".equals(codeString))
848          return NOTPERFORMED;
849        if ("not-permitted".equals(codeString))
850          return NOTPERMITTED;
851        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
852        }
853        public String toCode() {
854          switch (this) {
855            case UNKNOWN: return "unknown";
856            case ASKEDUNKNOWN: return "asked-unknown";
857            case TEMPUNKNOWN: return "temp-unknown";
858            case NOTASKED: return "not-asked";
859            case ASKEDDECLINED: return "asked-declined";
860            case MASKED: return "masked";
861            case NOTAPPLICABLE: return "not-applicable";
862            case UNSUPPORTED: return "unsupported";
863            case ASTEXT: return "as-text";
864            case ERROR: return "error";
865            case NOTANUMBER: return "not-a-number";
866            case NEGATIVEINFINITY: return "negative-infinity";
867            case POSITIVEINFINITY: return "positive-infinity";
868            case NOTPERFORMED: return "not-performed";
869            case NOTPERMITTED: return "not-permitted";
870            default: return "?";
871          }
872        }
873        public String getSystem() {
874          switch (this) {
875            case UNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
876            case ASKEDUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
877            case TEMPUNKNOWN: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
878            case NOTASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
879            case ASKEDDECLINED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
880            case MASKED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
881            case NOTAPPLICABLE: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
882            case UNSUPPORTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
883            case ASTEXT: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
884            case ERROR: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
885            case NOTANUMBER: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
886            case NEGATIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
887            case POSITIVEINFINITY: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
888            case NOTPERFORMED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
889            case NOTPERMITTED: return "http://terminology.hl7.org/CodeSystem/data-absent-reason";
890            default: return "?";
891          }
892        }
893        public String getDefinition() {
894          switch (this) {
895            case UNKNOWN: return "The value is expected to exist but is not known.";
896            case ASKEDUNKNOWN: return "The source was asked but does not know the value.";
897            case TEMPUNKNOWN: return "There is reason to expect (from the workflow) that the value may become known.";
898            case NOTASKED: return "The workflow didn't lead to this value being known.";
899            case ASKEDDECLINED: return "The source was asked but declined to answer.";
900            case MASKED: return "The information is not available due to security, privacy or related reasons.";
901            case NOTAPPLICABLE: return "There is no proper value for this element (e.g. last menstrual period for a male).";
902            case UNSUPPORTED: return "The source system wasn't capable of supporting this element.";
903            case ASTEXT: return "The content of the data is represented in the resource narrative.";
904            case ERROR: return "Some system or workflow process error means that the information is not available.";
905            case NOTANUMBER: return "The numeric value is undefined or unrepresentable due to a floating point processing error.";
906            case NEGATIVEINFINITY: return "The numeric value is excessively low and unrepresentable due to a floating point processing error.";
907            case POSITIVEINFINITY: return "The numeric value is excessively high and unrepresentable due to a floating point processing error.";
908            case NOTPERFORMED: return "The value is not available because the observation procedure (test, etc.) was not performed.";
909            case NOTPERMITTED: return "The value is not permitted in this context (e.g. due to profiles, or the base data types).";
910            default: return "?";
911          }
912        }
913        public String getDisplay() {
914          switch (this) {
915            case UNKNOWN: return "Unknown";
916            case ASKEDUNKNOWN: return "Asked But Unknown";
917            case TEMPUNKNOWN: return "Temporarily Unknown";
918            case NOTASKED: return "Not Asked";
919            case ASKEDDECLINED: return "Asked But Declined";
920            case MASKED: return "Masked";
921            case NOTAPPLICABLE: return "Not Applicable";
922            case UNSUPPORTED: return "Unsupported";
923            case ASTEXT: return "As Text";
924            case ERROR: return "Error";
925            case NOTANUMBER: return "Not a Number (NaN)";
926            case NEGATIVEINFINITY: return "Negative Infinity (NINF)";
927            case POSITIVEINFINITY: return "Positive Infinity (PINF)";
928            case NOTPERFORMED: return "Not Performed";
929            case NOTPERMITTED: return "Not Permitted";
930            default: return "?";
931          }
932        }
933    }
934
935  public static class DataAbsentReasonEnumFactory implements EnumFactory<DataAbsentReason> {
936    public DataAbsentReason fromCode(String codeString) throws IllegalArgumentException {
937      if (codeString == null || "".equals(codeString))
938            if (codeString == null || "".equals(codeString))
939                return null;
940        if ("unknown".equals(codeString))
941          return DataAbsentReason.UNKNOWN;
942        if ("asked-unknown".equals(codeString))
943          return DataAbsentReason.ASKEDUNKNOWN;
944        if ("temp-unknown".equals(codeString))
945          return DataAbsentReason.TEMPUNKNOWN;
946        if ("not-asked".equals(codeString))
947          return DataAbsentReason.NOTASKED;
948        if ("asked-declined".equals(codeString))
949          return DataAbsentReason.ASKEDDECLINED;
950        if ("masked".equals(codeString))
951          return DataAbsentReason.MASKED;
952        if ("not-applicable".equals(codeString))
953          return DataAbsentReason.NOTAPPLICABLE;
954        if ("unsupported".equals(codeString))
955          return DataAbsentReason.UNSUPPORTED;
956        if ("as-text".equals(codeString))
957          return DataAbsentReason.ASTEXT;
958        if ("error".equals(codeString))
959          return DataAbsentReason.ERROR;
960        if ("not-a-number".equals(codeString))
961          return DataAbsentReason.NOTANUMBER;
962        if ("negative-infinity".equals(codeString))
963          return DataAbsentReason.NEGATIVEINFINITY;
964        if ("positive-infinity".equals(codeString))
965          return DataAbsentReason.POSITIVEINFINITY;
966        if ("not-performed".equals(codeString))
967          return DataAbsentReason.NOTPERFORMED;
968        if ("not-permitted".equals(codeString))
969          return DataAbsentReason.NOTPERMITTED;
970        throw new IllegalArgumentException("Unknown DataAbsentReason code '"+codeString+"'");
971        }
972        public Enumeration<DataAbsentReason> fromType(Base code) throws FHIRException {
973          if (code == null)
974            return null;
975          if (code.isEmpty())
976            return new Enumeration<DataAbsentReason>(this);
977          String codeString = ((PrimitiveType) code).asStringValue();
978          if (codeString == null || "".equals(codeString))
979            return null;
980        if ("unknown".equals(codeString))
981          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNKNOWN);
982        if ("asked-unknown".equals(codeString))
983          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDUNKNOWN);
984        if ("temp-unknown".equals(codeString))
985          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.TEMPUNKNOWN);
986        if ("not-asked".equals(codeString))
987          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTASKED);
988        if ("asked-declined".equals(codeString))
989          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASKEDDECLINED);
990        if ("masked".equals(codeString))
991          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.MASKED);
992        if ("not-applicable".equals(codeString))
993          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTAPPLICABLE);
994        if ("unsupported".equals(codeString))
995          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.UNSUPPORTED);
996        if ("as-text".equals(codeString))
997          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ASTEXT);
998        if ("error".equals(codeString))
999          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.ERROR);
1000        if ("not-a-number".equals(codeString))
1001          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTANUMBER);
1002        if ("negative-infinity".equals(codeString))
1003          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NEGATIVEINFINITY);
1004        if ("positive-infinity".equals(codeString))
1005          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.POSITIVEINFINITY);
1006        if ("not-performed".equals(codeString))
1007          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERFORMED);
1008        if ("not-permitted".equals(codeString))
1009          return new Enumeration<DataAbsentReason>(this, DataAbsentReason.NOTPERMITTED);
1010        throw new FHIRException("Unknown DataAbsentReason code '"+codeString+"'");
1011        }
1012    public String toCode(DataAbsentReason code) {
1013      if (code == DataAbsentReason.UNKNOWN)
1014        return "unknown";
1015      if (code == DataAbsentReason.ASKEDUNKNOWN)
1016        return "asked-unknown";
1017      if (code == DataAbsentReason.TEMPUNKNOWN)
1018        return "temp-unknown";
1019      if (code == DataAbsentReason.NOTASKED)
1020        return "not-asked";
1021      if (code == DataAbsentReason.ASKEDDECLINED)
1022        return "asked-declined";
1023      if (code == DataAbsentReason.MASKED)
1024        return "masked";
1025      if (code == DataAbsentReason.NOTAPPLICABLE)
1026        return "not-applicable";
1027      if (code == DataAbsentReason.UNSUPPORTED)
1028        return "unsupported";
1029      if (code == DataAbsentReason.ASTEXT)
1030        return "as-text";
1031      if (code == DataAbsentReason.ERROR)
1032        return "error";
1033      if (code == DataAbsentReason.NOTANUMBER)
1034        return "not-a-number";
1035      if (code == DataAbsentReason.NEGATIVEINFINITY)
1036        return "negative-infinity";
1037      if (code == DataAbsentReason.POSITIVEINFINITY)
1038        return "positive-infinity";
1039      if (code == DataAbsentReason.NOTPERFORMED)
1040        return "not-performed";
1041      if (code == DataAbsentReason.NOTPERMITTED)
1042        return "not-permitted";
1043      return "?";
1044      }
1045    public String toSystem(DataAbsentReason code) {
1046      return code.getSystem();
1047      }
1048    }
1049
1050    public enum DataType {
1051        /**
1052         * 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.
1053         */
1054        ADDRESS, 
1055        /**
1056         * A duration of time during which an organism (or a process) has existed.
1057         */
1058        AGE, 
1059        /**
1060         * A  text note which also  contains information about who made the statement and when.
1061         */
1062        ANNOTATION, 
1063        /**
1064         * For referring to data content defined in other formats.
1065         */
1066        ATTACHMENT, 
1067        /**
1068         * Base definition for all elements that are defined inside a resource - but not those in a data type.
1069         */
1070        BACKBONEELEMENT, 
1071        /**
1072         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
1073         */
1074        CODEABLECONCEPT, 
1075        /**
1076         * A reference to a code defined by a terminology system.
1077         */
1078        CODING, 
1079        /**
1080         * Specifies contact information for a person or organization.
1081         */
1082        CONTACTDETAIL, 
1083        /**
1084         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
1085         */
1086        CONTACTPOINT, 
1087        /**
1088         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
1089         */
1090        CONTRIBUTOR, 
1091        /**
1092         * 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.
1093         */
1094        COUNT, 
1095        /**
1096         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
1097         */
1098        DATAREQUIREMENT, 
1099        /**
1100         * A length - a value with a unit that is a physical distance.
1101         */
1102        DISTANCE, 
1103        /**
1104         * Indicates how the medication is/was taken or should be taken by the patient.
1105         */
1106        DOSAGE, 
1107        /**
1108         * A length of time.
1109         */
1110        DURATION, 
1111        /**
1112         * Base definition for all elements in a resource.
1113         */
1114        ELEMENT, 
1115        /**
1116         * Captures constraints on each element within the resource, profile, or extension.
1117         */
1118        ELEMENTDEFINITION, 
1119        /**
1120         * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.
1121         */
1122        EXPRESSION, 
1123        /**
1124         * Optional Extension Element - found in all resources.
1125         */
1126        EXTENSION, 
1127        /**
1128         * A human's name with the ability to identify parts and usage.
1129         */
1130        HUMANNAME, 
1131        /**
1132         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
1133         */
1134        IDENTIFIER, 
1135        /**
1136         * 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.
1137         */
1138        MARKETINGSTATUS, 
1139        /**
1140         * 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.
1141         */
1142        META, 
1143        /**
1144         * An amount of economic utility in some recognized currency.
1145         */
1146        MONEY, 
1147        /**
1148         * null
1149         */
1150        MONEYQUANTITY, 
1151        /**
1152         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
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         * A populatioof people with some set of grouping criteria.
1165         */
1166        POPULATION, 
1167        /**
1168         * 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.
1169         */
1170        PRODCHARACTERISTIC, 
1171        /**
1172         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
1173         */
1174        PRODUCTSHELFLIFE, 
1175        /**
1176         * 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.
1177         */
1178        QUANTITY, 
1179        /**
1180         * A set of ordered Quantities defined by a low and high limit.
1181         */
1182        RANGE, 
1183        /**
1184         * A relationship of two Quantity values - expressed as a numerator and a denominator.
1185         */
1186        RATIO, 
1187        /**
1188         * A reference from one resource to another.
1189         */
1190        REFERENCE, 
1191        /**
1192         * Related artifacts such as additional documentation, justification, or bibliographic references.
1193         */
1194        RELATEDARTIFACT, 
1195        /**
1196         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
1197         */
1198        SAMPLEDDATA, 
1199        /**
1200         * 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.
1201         */
1202        SIGNATURE, 
1203        /**
1204         * null
1205         */
1206        SIMPLEQUANTITY, 
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        SUBSTANCEAMOUNT, 
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 URL 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 ("Expression".equals(codeString))
1345          return EXPRESSION;
1346        if ("Extension".equals(codeString))
1347          return EXTENSION;
1348        if ("HumanName".equals(codeString))
1349          return HUMANNAME;
1350        if ("Identifier".equals(codeString))
1351          return IDENTIFIER;
1352        if ("MarketingStatus".equals(codeString))
1353          return MARKETINGSTATUS;
1354        if ("Meta".equals(codeString))
1355          return META;
1356        if ("Money".equals(codeString))
1357          return MONEY;
1358        if ("MoneyQuantity".equals(codeString))
1359          return MONEYQUANTITY;
1360        if ("Narrative".equals(codeString))
1361          return NARRATIVE;
1362        if ("ParameterDefinition".equals(codeString))
1363          return PARAMETERDEFINITION;
1364        if ("Period".equals(codeString))
1365          return PERIOD;
1366        if ("Population".equals(codeString))
1367          return POPULATION;
1368        if ("ProdCharacteristic".equals(codeString))
1369          return PRODCHARACTERISTIC;
1370        if ("ProductShelfLife".equals(codeString))
1371          return PRODUCTSHELFLIFE;
1372        if ("Quantity".equals(codeString))
1373          return QUANTITY;
1374        if ("Range".equals(codeString))
1375          return RANGE;
1376        if ("Ratio".equals(codeString))
1377          return RATIO;
1378        if ("Reference".equals(codeString))
1379          return REFERENCE;
1380        if ("RelatedArtifact".equals(codeString))
1381          return RELATEDARTIFACT;
1382        if ("SampledData".equals(codeString))
1383          return SAMPLEDDATA;
1384        if ("Signature".equals(codeString))
1385          return SIGNATURE;
1386        if ("SimpleQuantity".equals(codeString))
1387          return SIMPLEQUANTITY;
1388        if ("SubstanceAmount".equals(codeString))
1389          return SUBSTANCEAMOUNT;
1390        if ("Timing".equals(codeString))
1391          return TIMING;
1392        if ("TriggerDefinition".equals(codeString))
1393          return TRIGGERDEFINITION;
1394        if ("UsageContext".equals(codeString))
1395          return USAGECONTEXT;
1396        if ("base64Binary".equals(codeString))
1397          return BASE64BINARY;
1398        if ("boolean".equals(codeString))
1399          return BOOLEAN;
1400        if ("canonical".equals(codeString))
1401          return CANONICAL;
1402        if ("code".equals(codeString))
1403          return CODE;
1404        if ("date".equals(codeString))
1405          return DATE;
1406        if ("dateTime".equals(codeString))
1407          return DATETIME;
1408        if ("decimal".equals(codeString))
1409          return DECIMAL;
1410        if ("id".equals(codeString))
1411          return ID;
1412        if ("instant".equals(codeString))
1413          return INSTANT;
1414        if ("integer".equals(codeString))
1415          return INTEGER;
1416        if ("markdown".equals(codeString))
1417          return MARKDOWN;
1418        if ("oid".equals(codeString))
1419          return OID;
1420        if ("positiveInt".equals(codeString))
1421          return POSITIVEINT;
1422        if ("string".equals(codeString))
1423          return STRING;
1424        if ("time".equals(codeString))
1425          return TIME;
1426        if ("unsignedInt".equals(codeString))
1427          return UNSIGNEDINT;
1428        if ("uri".equals(codeString))
1429          return URI;
1430        if ("url".equals(codeString))
1431          return URL;
1432        if ("uuid".equals(codeString))
1433          return UUID;
1434        if ("xhtml".equals(codeString))
1435          return XHTML;
1436        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1437        }
1438        public String toCode() {
1439          switch (this) {
1440            case ADDRESS: return "Address";
1441            case AGE: return "Age";
1442            case ANNOTATION: return "Annotation";
1443            case ATTACHMENT: return "Attachment";
1444            case BACKBONEELEMENT: return "BackboneElement";
1445            case CODEABLECONCEPT: return "CodeableConcept";
1446            case CODING: return "Coding";
1447            case CONTACTDETAIL: return "ContactDetail";
1448            case CONTACTPOINT: return "ContactPoint";
1449            case CONTRIBUTOR: return "Contributor";
1450            case COUNT: return "Count";
1451            case DATAREQUIREMENT: return "DataRequirement";
1452            case DISTANCE: return "Distance";
1453            case DOSAGE: return "Dosage";
1454            case DURATION: return "Duration";
1455            case ELEMENT: return "Element";
1456            case ELEMENTDEFINITION: return "ElementDefinition";
1457            case EXPRESSION: return "Expression";
1458            case EXTENSION: return "Extension";
1459            case HUMANNAME: return "HumanName";
1460            case IDENTIFIER: return "Identifier";
1461            case MARKETINGSTATUS: return "MarketingStatus";
1462            case META: return "Meta";
1463            case MONEY: return "Money";
1464            case MONEYQUANTITY: return "MoneyQuantity";
1465            case NARRATIVE: return "Narrative";
1466            case PARAMETERDEFINITION: return "ParameterDefinition";
1467            case PERIOD: return "Period";
1468            case POPULATION: return "Population";
1469            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1470            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1471            case QUANTITY: return "Quantity";
1472            case RANGE: return "Range";
1473            case RATIO: return "Ratio";
1474            case REFERENCE: return "Reference";
1475            case RELATEDARTIFACT: return "RelatedArtifact";
1476            case SAMPLEDDATA: return "SampledData";
1477            case SIGNATURE: return "Signature";
1478            case SIMPLEQUANTITY: return "SimpleQuantity";
1479            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1480            case TIMING: return "Timing";
1481            case TRIGGERDEFINITION: return "TriggerDefinition";
1482            case USAGECONTEXT: return "UsageContext";
1483            case BASE64BINARY: return "base64Binary";
1484            case BOOLEAN: return "boolean";
1485            case CANONICAL: return "canonical";
1486            case CODE: return "code";
1487            case DATE: return "date";
1488            case DATETIME: return "dateTime";
1489            case DECIMAL: return "decimal";
1490            case ID: return "id";
1491            case INSTANT: return "instant";
1492            case INTEGER: return "integer";
1493            case MARKDOWN: return "markdown";
1494            case OID: return "oid";
1495            case POSITIVEINT: return "positiveInt";
1496            case STRING: return "string";
1497            case TIME: return "time";
1498            case UNSIGNEDINT: return "unsignedInt";
1499            case URI: return "uri";
1500            case URL: return "url";
1501            case UUID: return "uuid";
1502            case XHTML: return "xhtml";
1503            default: return "?";
1504          }
1505        }
1506        public String getSystem() {
1507          switch (this) {
1508            case ADDRESS: return "http://hl7.org/fhir/data-types";
1509            case AGE: return "http://hl7.org/fhir/data-types";
1510            case ANNOTATION: return "http://hl7.org/fhir/data-types";
1511            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
1512            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
1513            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
1514            case CODING: return "http://hl7.org/fhir/data-types";
1515            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
1516            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
1517            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
1518            case COUNT: return "http://hl7.org/fhir/data-types";
1519            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
1520            case DISTANCE: return "http://hl7.org/fhir/data-types";
1521            case DOSAGE: return "http://hl7.org/fhir/data-types";
1522            case DURATION: return "http://hl7.org/fhir/data-types";
1523            case ELEMENT: return "http://hl7.org/fhir/data-types";
1524            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
1525            case EXPRESSION: return "http://hl7.org/fhir/data-types";
1526            case EXTENSION: return "http://hl7.org/fhir/data-types";
1527            case HUMANNAME: return "http://hl7.org/fhir/data-types";
1528            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
1529            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
1530            case META: return "http://hl7.org/fhir/data-types";
1531            case MONEY: return "http://hl7.org/fhir/data-types";
1532            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
1533            case NARRATIVE: return "http://hl7.org/fhir/data-types";
1534            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
1535            case PERIOD: return "http://hl7.org/fhir/data-types";
1536            case POPULATION: return "http://hl7.org/fhir/data-types";
1537            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
1538            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
1539            case QUANTITY: return "http://hl7.org/fhir/data-types";
1540            case RANGE: return "http://hl7.org/fhir/data-types";
1541            case RATIO: return "http://hl7.org/fhir/data-types";
1542            case REFERENCE: return "http://hl7.org/fhir/data-types";
1543            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
1544            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
1545            case SIGNATURE: return "http://hl7.org/fhir/data-types";
1546            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
1547            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
1548            case TIMING: return "http://hl7.org/fhir/data-types";
1549            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
1550            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
1551            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
1552            case BOOLEAN: return "http://hl7.org/fhir/data-types";
1553            case CANONICAL: return "http://hl7.org/fhir/data-types";
1554            case CODE: return "http://hl7.org/fhir/data-types";
1555            case DATE: return "http://hl7.org/fhir/data-types";
1556            case DATETIME: return "http://hl7.org/fhir/data-types";
1557            case DECIMAL: return "http://hl7.org/fhir/data-types";
1558            case ID: return "http://hl7.org/fhir/data-types";
1559            case INSTANT: return "http://hl7.org/fhir/data-types";
1560            case INTEGER: return "http://hl7.org/fhir/data-types";
1561            case MARKDOWN: return "http://hl7.org/fhir/data-types";
1562            case OID: return "http://hl7.org/fhir/data-types";
1563            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
1564            case STRING: return "http://hl7.org/fhir/data-types";
1565            case TIME: return "http://hl7.org/fhir/data-types";
1566            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
1567            case URI: return "http://hl7.org/fhir/data-types";
1568            case URL: return "http://hl7.org/fhir/data-types";
1569            case UUID: return "http://hl7.org/fhir/data-types";
1570            case XHTML: return "http://hl7.org/fhir/data-types";
1571            default: return "?";
1572          }
1573        }
1574        public String getDefinition() {
1575          switch (this) {
1576            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.";
1577            case AGE: return "A duration of time during which an organism (or a process) has existed.";
1578            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
1579            case ATTACHMENT: return "For referring to data content defined in other formats.";
1580            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
1581            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
1582            case CODING: return "A reference to a code defined by a terminology system.";
1583            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
1584            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
1585            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
1586            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.";
1587            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.";
1588            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
1589            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
1590            case DURATION: return "A length of time.";
1591            case ELEMENT: return "Base definition for all elements in a resource.";
1592            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
1593            case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
1594            case EXTENSION: return "Optional Extension Element - found in all resources.";
1595            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
1596            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
1597            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.";
1598            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.";
1599            case MONEY: return "An amount of economic utility in some recognized currency.";
1600            case MONEYQUANTITY: return "";
1601            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
1602            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.";
1603            case PERIOD: return "A time period defined by a start and end date and optionally time.";
1604            case POPULATION: return "A populatioof people with some set of grouping criteria.";
1605            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.";
1606            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
1607            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.";
1608            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
1609            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
1610            case REFERENCE: return "A reference from one resource to another.";
1611            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
1612            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.";
1613            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.";
1614            case SIMPLEQUANTITY: return "";
1615            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.";
1616            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.";
1617            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.";
1618            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).";
1619            case BASE64BINARY: return "A stream of bytes";
1620            case BOOLEAN: return "Value of \"true\" or \"false\"";
1621            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
1622            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";
1623            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.";
1624            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.";
1625            case DECIMAL: return "A rational number with implicit precision";
1626            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.";
1627            case INSTANT: return "An instant in time - known at least to the second";
1628            case INTEGER: return "A whole number";
1629            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
1630            case OID: return "An OID represented as a URI";
1631            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
1632            case STRING: return "A sequence of Unicode characters";
1633            case TIME: return "A time during the day, with no date specified";
1634            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
1635            case URI: return "String of characters used to identify a name or a resource";
1636            case URL: return "A URI that is a literal reference";
1637            case UUID: return "A UUID, represented as a URI";
1638            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
1639            default: return "?";
1640          }
1641        }
1642        public String getDisplay() {
1643          switch (this) {
1644            case ADDRESS: return "Address";
1645            case AGE: return "Age";
1646            case ANNOTATION: return "Annotation";
1647            case ATTACHMENT: return "Attachment";
1648            case BACKBONEELEMENT: return "BackboneElement";
1649            case CODEABLECONCEPT: return "CodeableConcept";
1650            case CODING: return "Coding";
1651            case CONTACTDETAIL: return "ContactDetail";
1652            case CONTACTPOINT: return "ContactPoint";
1653            case CONTRIBUTOR: return "Contributor";
1654            case COUNT: return "Count";
1655            case DATAREQUIREMENT: return "DataRequirement";
1656            case DISTANCE: return "Distance";
1657            case DOSAGE: return "Dosage";
1658            case DURATION: return "Duration";
1659            case ELEMENT: return "Element";
1660            case ELEMENTDEFINITION: return "ElementDefinition";
1661            case EXPRESSION: return "Expression";
1662            case EXTENSION: return "Extension";
1663            case HUMANNAME: return "HumanName";
1664            case IDENTIFIER: return "Identifier";
1665            case MARKETINGSTATUS: return "MarketingStatus";
1666            case META: return "Meta";
1667            case MONEY: return "Money";
1668            case MONEYQUANTITY: return "MoneyQuantity";
1669            case NARRATIVE: return "Narrative";
1670            case PARAMETERDEFINITION: return "ParameterDefinition";
1671            case PERIOD: return "Period";
1672            case POPULATION: return "Population";
1673            case PRODCHARACTERISTIC: return "ProdCharacteristic";
1674            case PRODUCTSHELFLIFE: return "ProductShelfLife";
1675            case QUANTITY: return "Quantity";
1676            case RANGE: return "Range";
1677            case RATIO: return "Ratio";
1678            case REFERENCE: return "Reference";
1679            case RELATEDARTIFACT: return "RelatedArtifact";
1680            case SAMPLEDDATA: return "SampledData";
1681            case SIGNATURE: return "Signature";
1682            case SIMPLEQUANTITY: return "SimpleQuantity";
1683            case SUBSTANCEAMOUNT: return "SubstanceAmount";
1684            case TIMING: return "Timing";
1685            case TRIGGERDEFINITION: return "TriggerDefinition";
1686            case USAGECONTEXT: return "UsageContext";
1687            case BASE64BINARY: return "base64Binary";
1688            case BOOLEAN: return "boolean";
1689            case CANONICAL: return "canonical";
1690            case CODE: return "code";
1691            case DATE: return "date";
1692            case DATETIME: return "dateTime";
1693            case DECIMAL: return "decimal";
1694            case ID: return "id";
1695            case INSTANT: return "instant";
1696            case INTEGER: return "integer";
1697            case MARKDOWN: return "markdown";
1698            case OID: return "oid";
1699            case POSITIVEINT: return "positiveInt";
1700            case STRING: return "string";
1701            case TIME: return "time";
1702            case UNSIGNEDINT: return "unsignedInt";
1703            case URI: return "uri";
1704            case URL: return "url";
1705            case UUID: return "uuid";
1706            case XHTML: return "XHTML";
1707            default: return "?";
1708          }
1709        }
1710    }
1711
1712  public static class DataTypeEnumFactory implements EnumFactory<DataType> {
1713    public DataType fromCode(String codeString) throws IllegalArgumentException {
1714      if (codeString == null || "".equals(codeString))
1715            if (codeString == null || "".equals(codeString))
1716                return null;
1717        if ("Address".equals(codeString))
1718          return DataType.ADDRESS;
1719        if ("Age".equals(codeString))
1720          return DataType.AGE;
1721        if ("Annotation".equals(codeString))
1722          return DataType.ANNOTATION;
1723        if ("Attachment".equals(codeString))
1724          return DataType.ATTACHMENT;
1725        if ("BackboneElement".equals(codeString))
1726          return DataType.BACKBONEELEMENT;
1727        if ("CodeableConcept".equals(codeString))
1728          return DataType.CODEABLECONCEPT;
1729        if ("Coding".equals(codeString))
1730          return DataType.CODING;
1731        if ("ContactDetail".equals(codeString))
1732          return DataType.CONTACTDETAIL;
1733        if ("ContactPoint".equals(codeString))
1734          return DataType.CONTACTPOINT;
1735        if ("Contributor".equals(codeString))
1736          return DataType.CONTRIBUTOR;
1737        if ("Count".equals(codeString))
1738          return DataType.COUNT;
1739        if ("DataRequirement".equals(codeString))
1740          return DataType.DATAREQUIREMENT;
1741        if ("Distance".equals(codeString))
1742          return DataType.DISTANCE;
1743        if ("Dosage".equals(codeString))
1744          return DataType.DOSAGE;
1745        if ("Duration".equals(codeString))
1746          return DataType.DURATION;
1747        if ("Element".equals(codeString))
1748          return DataType.ELEMENT;
1749        if ("ElementDefinition".equals(codeString))
1750          return DataType.ELEMENTDEFINITION;
1751        if ("Expression".equals(codeString))
1752          return DataType.EXPRESSION;
1753        if ("Extension".equals(codeString))
1754          return DataType.EXTENSION;
1755        if ("HumanName".equals(codeString))
1756          return DataType.HUMANNAME;
1757        if ("Identifier".equals(codeString))
1758          return DataType.IDENTIFIER;
1759        if ("MarketingStatus".equals(codeString))
1760          return DataType.MARKETINGSTATUS;
1761        if ("Meta".equals(codeString))
1762          return DataType.META;
1763        if ("Money".equals(codeString))
1764          return DataType.MONEY;
1765        if ("MoneyQuantity".equals(codeString))
1766          return DataType.MONEYQUANTITY;
1767        if ("Narrative".equals(codeString))
1768          return DataType.NARRATIVE;
1769        if ("ParameterDefinition".equals(codeString))
1770          return DataType.PARAMETERDEFINITION;
1771        if ("Period".equals(codeString))
1772          return DataType.PERIOD;
1773        if ("Population".equals(codeString))
1774          return DataType.POPULATION;
1775        if ("ProdCharacteristic".equals(codeString))
1776          return DataType.PRODCHARACTERISTIC;
1777        if ("ProductShelfLife".equals(codeString))
1778          return DataType.PRODUCTSHELFLIFE;
1779        if ("Quantity".equals(codeString))
1780          return DataType.QUANTITY;
1781        if ("Range".equals(codeString))
1782          return DataType.RANGE;
1783        if ("Ratio".equals(codeString))
1784          return DataType.RATIO;
1785        if ("Reference".equals(codeString))
1786          return DataType.REFERENCE;
1787        if ("RelatedArtifact".equals(codeString))
1788          return DataType.RELATEDARTIFACT;
1789        if ("SampledData".equals(codeString))
1790          return DataType.SAMPLEDDATA;
1791        if ("Signature".equals(codeString))
1792          return DataType.SIGNATURE;
1793        if ("SimpleQuantity".equals(codeString))
1794          return DataType.SIMPLEQUANTITY;
1795        if ("SubstanceAmount".equals(codeString))
1796          return DataType.SUBSTANCEAMOUNT;
1797        if ("Timing".equals(codeString))
1798          return DataType.TIMING;
1799        if ("TriggerDefinition".equals(codeString))
1800          return DataType.TRIGGERDEFINITION;
1801        if ("UsageContext".equals(codeString))
1802          return DataType.USAGECONTEXT;
1803        if ("base64Binary".equals(codeString))
1804          return DataType.BASE64BINARY;
1805        if ("boolean".equals(codeString))
1806          return DataType.BOOLEAN;
1807        if ("canonical".equals(codeString))
1808          return DataType.CANONICAL;
1809        if ("code".equals(codeString))
1810          return DataType.CODE;
1811        if ("date".equals(codeString))
1812          return DataType.DATE;
1813        if ("dateTime".equals(codeString))
1814          return DataType.DATETIME;
1815        if ("decimal".equals(codeString))
1816          return DataType.DECIMAL;
1817        if ("id".equals(codeString))
1818          return DataType.ID;
1819        if ("instant".equals(codeString))
1820          return DataType.INSTANT;
1821        if ("integer".equals(codeString))
1822          return DataType.INTEGER;
1823        if ("markdown".equals(codeString))
1824          return DataType.MARKDOWN;
1825        if ("oid".equals(codeString))
1826          return DataType.OID;
1827        if ("positiveInt".equals(codeString))
1828          return DataType.POSITIVEINT;
1829        if ("string".equals(codeString))
1830          return DataType.STRING;
1831        if ("time".equals(codeString))
1832          return DataType.TIME;
1833        if ("unsignedInt".equals(codeString))
1834          return DataType.UNSIGNEDINT;
1835        if ("uri".equals(codeString))
1836          return DataType.URI;
1837        if ("url".equals(codeString))
1838          return DataType.URL;
1839        if ("uuid".equals(codeString))
1840          return DataType.UUID;
1841        if ("xhtml".equals(codeString))
1842          return DataType.XHTML;
1843        throw new IllegalArgumentException("Unknown DataType code '"+codeString+"'");
1844        }
1845        public Enumeration<DataType> fromType(Base code) throws FHIRException {
1846          if (code == null)
1847            return null;
1848          if (code.isEmpty())
1849            return new Enumeration<DataType>(this);
1850          String codeString = ((PrimitiveType) code).asStringValue();
1851          if (codeString == null || "".equals(codeString))
1852            return null;
1853        if ("Address".equals(codeString))
1854          return new Enumeration<DataType>(this, DataType.ADDRESS);
1855        if ("Age".equals(codeString))
1856          return new Enumeration<DataType>(this, DataType.AGE);
1857        if ("Annotation".equals(codeString))
1858          return new Enumeration<DataType>(this, DataType.ANNOTATION);
1859        if ("Attachment".equals(codeString))
1860          return new Enumeration<DataType>(this, DataType.ATTACHMENT);
1861        if ("BackboneElement".equals(codeString))
1862          return new Enumeration<DataType>(this, DataType.BACKBONEELEMENT);
1863        if ("CodeableConcept".equals(codeString))
1864          return new Enumeration<DataType>(this, DataType.CODEABLECONCEPT);
1865        if ("Coding".equals(codeString))
1866          return new Enumeration<DataType>(this, DataType.CODING);
1867        if ("ContactDetail".equals(codeString))
1868          return new Enumeration<DataType>(this, DataType.CONTACTDETAIL);
1869        if ("ContactPoint".equals(codeString))
1870          return new Enumeration<DataType>(this, DataType.CONTACTPOINT);
1871        if ("Contributor".equals(codeString))
1872          return new Enumeration<DataType>(this, DataType.CONTRIBUTOR);
1873        if ("Count".equals(codeString))
1874          return new Enumeration<DataType>(this, DataType.COUNT);
1875        if ("DataRequirement".equals(codeString))
1876          return new Enumeration<DataType>(this, DataType.DATAREQUIREMENT);
1877        if ("Distance".equals(codeString))
1878          return new Enumeration<DataType>(this, DataType.DISTANCE);
1879        if ("Dosage".equals(codeString))
1880          return new Enumeration<DataType>(this, DataType.DOSAGE);
1881        if ("Duration".equals(codeString))
1882          return new Enumeration<DataType>(this, DataType.DURATION);
1883        if ("Element".equals(codeString))
1884          return new Enumeration<DataType>(this, DataType.ELEMENT);
1885        if ("ElementDefinition".equals(codeString))
1886          return new Enumeration<DataType>(this, DataType.ELEMENTDEFINITION);
1887        if ("Expression".equals(codeString))
1888          return new Enumeration<DataType>(this, DataType.EXPRESSION);
1889        if ("Extension".equals(codeString))
1890          return new Enumeration<DataType>(this, DataType.EXTENSION);
1891        if ("HumanName".equals(codeString))
1892          return new Enumeration<DataType>(this, DataType.HUMANNAME);
1893        if ("Identifier".equals(codeString))
1894          return new Enumeration<DataType>(this, DataType.IDENTIFIER);
1895        if ("MarketingStatus".equals(codeString))
1896          return new Enumeration<DataType>(this, DataType.MARKETINGSTATUS);
1897        if ("Meta".equals(codeString))
1898          return new Enumeration<DataType>(this, DataType.META);
1899        if ("Money".equals(codeString))
1900          return new Enumeration<DataType>(this, DataType.MONEY);
1901        if ("MoneyQuantity".equals(codeString))
1902          return new Enumeration<DataType>(this, DataType.MONEYQUANTITY);
1903        if ("Narrative".equals(codeString))
1904          return new Enumeration<DataType>(this, DataType.NARRATIVE);
1905        if ("ParameterDefinition".equals(codeString))
1906          return new Enumeration<DataType>(this, DataType.PARAMETERDEFINITION);
1907        if ("Period".equals(codeString))
1908          return new Enumeration<DataType>(this, DataType.PERIOD);
1909        if ("Population".equals(codeString))
1910          return new Enumeration<DataType>(this, DataType.POPULATION);
1911        if ("ProdCharacteristic".equals(codeString))
1912          return new Enumeration<DataType>(this, DataType.PRODCHARACTERISTIC);
1913        if ("ProductShelfLife".equals(codeString))
1914          return new Enumeration<DataType>(this, DataType.PRODUCTSHELFLIFE);
1915        if ("Quantity".equals(codeString))
1916          return new Enumeration<DataType>(this, DataType.QUANTITY);
1917        if ("Range".equals(codeString))
1918          return new Enumeration<DataType>(this, DataType.RANGE);
1919        if ("Ratio".equals(codeString))
1920          return new Enumeration<DataType>(this, DataType.RATIO);
1921        if ("Reference".equals(codeString))
1922          return new Enumeration<DataType>(this, DataType.REFERENCE);
1923        if ("RelatedArtifact".equals(codeString))
1924          return new Enumeration<DataType>(this, DataType.RELATEDARTIFACT);
1925        if ("SampledData".equals(codeString))
1926          return new Enumeration<DataType>(this, DataType.SAMPLEDDATA);
1927        if ("Signature".equals(codeString))
1928          return new Enumeration<DataType>(this, DataType.SIGNATURE);
1929        if ("SimpleQuantity".equals(codeString))
1930          return new Enumeration<DataType>(this, DataType.SIMPLEQUANTITY);
1931        if ("SubstanceAmount".equals(codeString))
1932          return new Enumeration<DataType>(this, DataType.SUBSTANCEAMOUNT);
1933        if ("Timing".equals(codeString))
1934          return new Enumeration<DataType>(this, DataType.TIMING);
1935        if ("TriggerDefinition".equals(codeString))
1936          return new Enumeration<DataType>(this, DataType.TRIGGERDEFINITION);
1937        if ("UsageContext".equals(codeString))
1938          return new Enumeration<DataType>(this, DataType.USAGECONTEXT);
1939        if ("base64Binary".equals(codeString))
1940          return new Enumeration<DataType>(this, DataType.BASE64BINARY);
1941        if ("boolean".equals(codeString))
1942          return new Enumeration<DataType>(this, DataType.BOOLEAN);
1943        if ("canonical".equals(codeString))
1944          return new Enumeration<DataType>(this, DataType.CANONICAL);
1945        if ("code".equals(codeString))
1946          return new Enumeration<DataType>(this, DataType.CODE);
1947        if ("date".equals(codeString))
1948          return new Enumeration<DataType>(this, DataType.DATE);
1949        if ("dateTime".equals(codeString))
1950          return new Enumeration<DataType>(this, DataType.DATETIME);
1951        if ("decimal".equals(codeString))
1952          return new Enumeration<DataType>(this, DataType.DECIMAL);
1953        if ("id".equals(codeString))
1954          return new Enumeration<DataType>(this, DataType.ID);
1955        if ("instant".equals(codeString))
1956          return new Enumeration<DataType>(this, DataType.INSTANT);
1957        if ("integer".equals(codeString))
1958          return new Enumeration<DataType>(this, DataType.INTEGER);
1959        if ("markdown".equals(codeString))
1960          return new Enumeration<DataType>(this, DataType.MARKDOWN);
1961        if ("oid".equals(codeString))
1962          return new Enumeration<DataType>(this, DataType.OID);
1963        if ("positiveInt".equals(codeString))
1964          return new Enumeration<DataType>(this, DataType.POSITIVEINT);
1965        if ("string".equals(codeString))
1966          return new Enumeration<DataType>(this, DataType.STRING);
1967        if ("time".equals(codeString))
1968          return new Enumeration<DataType>(this, DataType.TIME);
1969        if ("unsignedInt".equals(codeString))
1970          return new Enumeration<DataType>(this, DataType.UNSIGNEDINT);
1971        if ("uri".equals(codeString))
1972          return new Enumeration<DataType>(this, DataType.URI);
1973        if ("url".equals(codeString))
1974          return new Enumeration<DataType>(this, DataType.URL);
1975        if ("uuid".equals(codeString))
1976          return new Enumeration<DataType>(this, DataType.UUID);
1977        if ("xhtml".equals(codeString))
1978          return new Enumeration<DataType>(this, DataType.XHTML);
1979        throw new FHIRException("Unknown DataType code '"+codeString+"'");
1980        }
1981    public String toCode(DataType code) {
1982      if (code == DataType.ADDRESS)
1983        return "Address";
1984      if (code == DataType.AGE)
1985        return "Age";
1986      if (code == DataType.ANNOTATION)
1987        return "Annotation";
1988      if (code == DataType.ATTACHMENT)
1989        return "Attachment";
1990      if (code == DataType.BACKBONEELEMENT)
1991        return "BackboneElement";
1992      if (code == DataType.CODEABLECONCEPT)
1993        return "CodeableConcept";
1994      if (code == DataType.CODING)
1995        return "Coding";
1996      if (code == DataType.CONTACTDETAIL)
1997        return "ContactDetail";
1998      if (code == DataType.CONTACTPOINT)
1999        return "ContactPoint";
2000      if (code == DataType.CONTRIBUTOR)
2001        return "Contributor";
2002      if (code == DataType.COUNT)
2003        return "Count";
2004      if (code == DataType.DATAREQUIREMENT)
2005        return "DataRequirement";
2006      if (code == DataType.DISTANCE)
2007        return "Distance";
2008      if (code == DataType.DOSAGE)
2009        return "Dosage";
2010      if (code == DataType.DURATION)
2011        return "Duration";
2012      if (code == DataType.ELEMENT)
2013        return "Element";
2014      if (code == DataType.ELEMENTDEFINITION)
2015        return "ElementDefinition";
2016      if (code == DataType.EXPRESSION)
2017        return "Expression";
2018      if (code == DataType.EXTENSION)
2019        return "Extension";
2020      if (code == DataType.HUMANNAME)
2021        return "HumanName";
2022      if (code == DataType.IDENTIFIER)
2023        return "Identifier";
2024      if (code == DataType.MARKETINGSTATUS)
2025        return "MarketingStatus";
2026      if (code == DataType.META)
2027        return "Meta";
2028      if (code == DataType.MONEY)
2029        return "Money";
2030      if (code == DataType.MONEYQUANTITY)
2031        return "MoneyQuantity";
2032      if (code == DataType.NARRATIVE)
2033        return "Narrative";
2034      if (code == DataType.PARAMETERDEFINITION)
2035        return "ParameterDefinition";
2036      if (code == DataType.PERIOD)
2037        return "Period";
2038      if (code == DataType.POPULATION)
2039        return "Population";
2040      if (code == DataType.PRODCHARACTERISTIC)
2041        return "ProdCharacteristic";
2042      if (code == DataType.PRODUCTSHELFLIFE)
2043        return "ProductShelfLife";
2044      if (code == DataType.QUANTITY)
2045        return "Quantity";
2046      if (code == DataType.RANGE)
2047        return "Range";
2048      if (code == DataType.RATIO)
2049        return "Ratio";
2050      if (code == DataType.REFERENCE)
2051        return "Reference";
2052      if (code == DataType.RELATEDARTIFACT)
2053        return "RelatedArtifact";
2054      if (code == DataType.SAMPLEDDATA)
2055        return "SampledData";
2056      if (code == DataType.SIGNATURE)
2057        return "Signature";
2058      if (code == DataType.SIMPLEQUANTITY)
2059        return "SimpleQuantity";
2060      if (code == DataType.SUBSTANCEAMOUNT)
2061        return "SubstanceAmount";
2062      if (code == DataType.TIMING)
2063        return "Timing";
2064      if (code == DataType.TRIGGERDEFINITION)
2065        return "TriggerDefinition";
2066      if (code == DataType.USAGECONTEXT)
2067        return "UsageContext";
2068      if (code == DataType.BASE64BINARY)
2069        return "base64Binary";
2070      if (code == DataType.BOOLEAN)
2071        return "boolean";
2072      if (code == DataType.CANONICAL)
2073        return "canonical";
2074      if (code == DataType.CODE)
2075        return "code";
2076      if (code == DataType.DATE)
2077        return "date";
2078      if (code == DataType.DATETIME)
2079        return "dateTime";
2080      if (code == DataType.DECIMAL)
2081        return "decimal";
2082      if (code == DataType.ID)
2083        return "id";
2084      if (code == DataType.INSTANT)
2085        return "instant";
2086      if (code == DataType.INTEGER)
2087        return "integer";
2088      if (code == DataType.MARKDOWN)
2089        return "markdown";
2090      if (code == DataType.OID)
2091        return "oid";
2092      if (code == DataType.POSITIVEINT)
2093        return "positiveInt";
2094      if (code == DataType.STRING)
2095        return "string";
2096      if (code == DataType.TIME)
2097        return "time";
2098      if (code == DataType.UNSIGNEDINT)
2099        return "unsignedInt";
2100      if (code == DataType.URI)
2101        return "uri";
2102      if (code == DataType.URL)
2103        return "url";
2104      if (code == DataType.UUID)
2105        return "uuid";
2106      if (code == DataType.XHTML)
2107        return "xhtml";
2108      return "?";
2109      }
2110    public String toSystem(DataType code) {
2111      return code.getSystem();
2112      }
2113    }
2114
2115    public enum DefinitionResourceType {
2116        /**
2117         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
2118         */
2119        ACTIVITYDEFINITION, 
2120        /**
2121         * The EventDefinition resource provides a reusable description of when a particular event can occur.
2122         */
2123        EVENTDEFINITION, 
2124        /**
2125         * The Measure resource provides the definition of a quality measure.
2126         */
2127        MEASURE, 
2128        /**
2129         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
2130         */
2131        OPERATIONDEFINITION, 
2132        /**
2133         * 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.
2134         */
2135        PLANDEFINITION, 
2136        /**
2137         * 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.
2138         */
2139        QUESTIONNAIRE, 
2140        /**
2141         * added to help the parsers
2142         */
2143        NULL;
2144        public static DefinitionResourceType fromCode(String codeString) throws FHIRException {
2145            if (codeString == null || "".equals(codeString))
2146                return null;
2147        if ("ActivityDefinition".equals(codeString))
2148          return ACTIVITYDEFINITION;
2149        if ("EventDefinition".equals(codeString))
2150          return EVENTDEFINITION;
2151        if ("Measure".equals(codeString))
2152          return MEASURE;
2153        if ("OperationDefinition".equals(codeString))
2154          return OPERATIONDEFINITION;
2155        if ("PlanDefinition".equals(codeString))
2156          return PLANDEFINITION;
2157        if ("Questionnaire".equals(codeString))
2158          return QUESTIONNAIRE;
2159        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2160        }
2161        public String toCode() {
2162          switch (this) {
2163            case ACTIVITYDEFINITION: return "ActivityDefinition";
2164            case EVENTDEFINITION: return "EventDefinition";
2165            case MEASURE: return "Measure";
2166            case OPERATIONDEFINITION: return "OperationDefinition";
2167            case PLANDEFINITION: return "PlanDefinition";
2168            case QUESTIONNAIRE: return "Questionnaire";
2169            default: return "?";
2170          }
2171        }
2172        public String getSystem() {
2173          switch (this) {
2174            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2175            case EVENTDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2176            case MEASURE: return "http://hl7.org/fhir/definition-resource-types";
2177            case OPERATIONDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2178            case PLANDEFINITION: return "http://hl7.org/fhir/definition-resource-types";
2179            case QUESTIONNAIRE: return "http://hl7.org/fhir/definition-resource-types";
2180            default: return "?";
2181          }
2182        }
2183        public String getDefinition() {
2184          switch (this) {
2185            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.";
2186            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
2187            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
2188            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
2189            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.";
2190            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.";
2191            default: return "?";
2192          }
2193        }
2194        public String getDisplay() {
2195          switch (this) {
2196            case ACTIVITYDEFINITION: return "ActivityDefinition";
2197            case EVENTDEFINITION: return "EventDefinition";
2198            case MEASURE: return "Measure";
2199            case OPERATIONDEFINITION: return "OperationDefinition";
2200            case PLANDEFINITION: return "PlanDefinition";
2201            case QUESTIONNAIRE: return "Questionnaire";
2202            default: return "?";
2203          }
2204        }
2205    }
2206
2207  public static class DefinitionResourceTypeEnumFactory implements EnumFactory<DefinitionResourceType> {
2208    public DefinitionResourceType fromCode(String codeString) throws IllegalArgumentException {
2209      if (codeString == null || "".equals(codeString))
2210            if (codeString == null || "".equals(codeString))
2211                return null;
2212        if ("ActivityDefinition".equals(codeString))
2213          return DefinitionResourceType.ACTIVITYDEFINITION;
2214        if ("EventDefinition".equals(codeString))
2215          return DefinitionResourceType.EVENTDEFINITION;
2216        if ("Measure".equals(codeString))
2217          return DefinitionResourceType.MEASURE;
2218        if ("OperationDefinition".equals(codeString))
2219          return DefinitionResourceType.OPERATIONDEFINITION;
2220        if ("PlanDefinition".equals(codeString))
2221          return DefinitionResourceType.PLANDEFINITION;
2222        if ("Questionnaire".equals(codeString))
2223          return DefinitionResourceType.QUESTIONNAIRE;
2224        throw new IllegalArgumentException("Unknown DefinitionResourceType code '"+codeString+"'");
2225        }
2226        public Enumeration<DefinitionResourceType> fromType(Base code) throws FHIRException {
2227          if (code == null)
2228            return null;
2229          if (code.isEmpty())
2230            return new Enumeration<DefinitionResourceType>(this);
2231          String codeString = ((PrimitiveType) code).asStringValue();
2232          if (codeString == null || "".equals(codeString))
2233            return null;
2234        if ("ActivityDefinition".equals(codeString))
2235          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.ACTIVITYDEFINITION);
2236        if ("EventDefinition".equals(codeString))
2237          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.EVENTDEFINITION);
2238        if ("Measure".equals(codeString))
2239          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.MEASURE);
2240        if ("OperationDefinition".equals(codeString))
2241          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.OPERATIONDEFINITION);
2242        if ("PlanDefinition".equals(codeString))
2243          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.PLANDEFINITION);
2244        if ("Questionnaire".equals(codeString))
2245          return new Enumeration<DefinitionResourceType>(this, DefinitionResourceType.QUESTIONNAIRE);
2246        throw new FHIRException("Unknown DefinitionResourceType code '"+codeString+"'");
2247        }
2248    public String toCode(DefinitionResourceType code) {
2249      if (code == DefinitionResourceType.ACTIVITYDEFINITION)
2250        return "ActivityDefinition";
2251      if (code == DefinitionResourceType.EVENTDEFINITION)
2252        return "EventDefinition";
2253      if (code == DefinitionResourceType.MEASURE)
2254        return "Measure";
2255      if (code == DefinitionResourceType.OPERATIONDEFINITION)
2256        return "OperationDefinition";
2257      if (code == DefinitionResourceType.PLANDEFINITION)
2258        return "PlanDefinition";
2259      if (code == DefinitionResourceType.QUESTIONNAIRE)
2260        return "Questionnaire";
2261      return "?";
2262      }
2263    public String toSystem(DefinitionResourceType code) {
2264      return code.getSystem();
2265      }
2266    }
2267
2268    public enum DocumentReferenceStatus {
2269        /**
2270         * This is the current reference for this document.
2271         */
2272        CURRENT, 
2273        /**
2274         * This reference has been superseded by another reference.
2275         */
2276        SUPERSEDED, 
2277        /**
2278         * This reference was created in error.
2279         */
2280        ENTEREDINERROR, 
2281        /**
2282         * added to help the parsers
2283         */
2284        NULL;
2285        public static DocumentReferenceStatus fromCode(String codeString) throws FHIRException {
2286            if (codeString == null || "".equals(codeString))
2287                return null;
2288        if ("current".equals(codeString))
2289          return CURRENT;
2290        if ("superseded".equals(codeString))
2291          return SUPERSEDED;
2292        if ("entered-in-error".equals(codeString))
2293          return ENTEREDINERROR;
2294        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2295        }
2296        public String toCode() {
2297          switch (this) {
2298            case CURRENT: return "current";
2299            case SUPERSEDED: return "superseded";
2300            case ENTEREDINERROR: return "entered-in-error";
2301            default: return "?";
2302          }
2303        }
2304        public String getSystem() {
2305          switch (this) {
2306            case CURRENT: return "http://hl7.org/fhir/document-reference-status";
2307            case SUPERSEDED: return "http://hl7.org/fhir/document-reference-status";
2308            case ENTEREDINERROR: return "http://hl7.org/fhir/document-reference-status";
2309            default: return "?";
2310          }
2311        }
2312        public String getDefinition() {
2313          switch (this) {
2314            case CURRENT: return "This is the current reference for this document.";
2315            case SUPERSEDED: return "This reference has been superseded by another reference.";
2316            case ENTEREDINERROR: return "This reference was created in error.";
2317            default: return "?";
2318          }
2319        }
2320        public String getDisplay() {
2321          switch (this) {
2322            case CURRENT: return "Current";
2323            case SUPERSEDED: return "Superseded";
2324            case ENTEREDINERROR: return "Entered in Error";
2325            default: return "?";
2326          }
2327        }
2328    }
2329
2330  public static class DocumentReferenceStatusEnumFactory implements EnumFactory<DocumentReferenceStatus> {
2331    public DocumentReferenceStatus fromCode(String codeString) throws IllegalArgumentException {
2332      if (codeString == null || "".equals(codeString))
2333            if (codeString == null || "".equals(codeString))
2334                return null;
2335        if ("current".equals(codeString))
2336          return DocumentReferenceStatus.CURRENT;
2337        if ("superseded".equals(codeString))
2338          return DocumentReferenceStatus.SUPERSEDED;
2339        if ("entered-in-error".equals(codeString))
2340          return DocumentReferenceStatus.ENTEREDINERROR;
2341        throw new IllegalArgumentException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2342        }
2343        public Enumeration<DocumentReferenceStatus> fromType(Base code) throws FHIRException {
2344          if (code == null)
2345            return null;
2346          if (code.isEmpty())
2347            return new Enumeration<DocumentReferenceStatus>(this);
2348          String codeString = ((PrimitiveType) code).asStringValue();
2349          if (codeString == null || "".equals(codeString))
2350            return null;
2351        if ("current".equals(codeString))
2352          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.CURRENT);
2353        if ("superseded".equals(codeString))
2354          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.SUPERSEDED);
2355        if ("entered-in-error".equals(codeString))
2356          return new Enumeration<DocumentReferenceStatus>(this, DocumentReferenceStatus.ENTEREDINERROR);
2357        throw new FHIRException("Unknown DocumentReferenceStatus code '"+codeString+"'");
2358        }
2359    public String toCode(DocumentReferenceStatus code) {
2360      if (code == DocumentReferenceStatus.CURRENT)
2361        return "current";
2362      if (code == DocumentReferenceStatus.SUPERSEDED)
2363        return "superseded";
2364      if (code == DocumentReferenceStatus.ENTEREDINERROR)
2365        return "entered-in-error";
2366      return "?";
2367      }
2368    public String toSystem(DocumentReferenceStatus code) {
2369      return code.getSystem();
2370      }
2371    }
2372
2373    public enum EventResourceType {
2374        /**
2375         * Item containing charge code(s) associated with the provision of healthcare provider products.
2376         */
2377        CHARGEITEM, 
2378        /**
2379         * Remittance resource.
2380         */
2381        CLAIMRESPONSE, 
2382        /**
2383         * A clinical assessment performed when planning treatments and management strategies for a patient.
2384         */
2385        CLINICALIMPRESSION, 
2386        /**
2387         * A record of information transmitted from a sender to a receiver.
2388         */
2389        COMMUNICATION, 
2390        /**
2391         * A set of resources composed into a single coherent clinical statement with clinical attestation.
2392         */
2393        COMPOSITION, 
2394        /**
2395         * Detailed information about conditions, problems or diagnoses.
2396         */
2397        CONDITION, 
2398        /**
2399         * A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.
2400         */
2401        CONSENT, 
2402        /**
2403         * Insurance or medical plan or a payment agreement.
2404         */
2405        COVERAGE, 
2406        /**
2407         * Record of use of a device.
2408         */
2409        DEVICEUSESTATEMENT, 
2410        /**
2411         * A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.
2412         */
2413        DIAGNOSTICREPORT, 
2414        /**
2415         * A list that defines a set of documents.
2416         */
2417        DOCUMENTMANIFEST, 
2418        /**
2419         * A reference to a document.
2420         */
2421        DOCUMENTREFERENCE, 
2422        /**
2423         * An interaction during which services are provided to the patient.
2424         */
2425        ENCOUNTER, 
2426        /**
2427         * EnrollmentResponse resource.
2428         */
2429        ENROLLMENTRESPONSE, 
2430        /**
2431         * An association of a Patient with an Organization and  Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility.
2432         */
2433        EPISODEOFCARE, 
2434        /**
2435         * Explanation of Benefit resource.
2436         */
2437        EXPLANATIONOFBENEFIT, 
2438        /**
2439         * Information about patient's relatives, relevant for patient.
2440         */
2441        FAMILYMEMBERHISTORY, 
2442        /**
2443         * The formal response to a guidance request.
2444         */
2445        GUIDANCERESPONSE, 
2446        /**
2447         * A set of images produced in single study (one or more series of references images).
2448         */
2449        IMAGINGSTUDY, 
2450        /**
2451         * Immunization event information.
2452         */
2453        IMMUNIZATION, 
2454        /**
2455         * Results of a measure evaluation.
2456         */
2457        MEASUREREPORT, 
2458        /**
2459         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
2460         */
2461        MEDIA, 
2462        /**
2463         * Administration of medication to a patient.
2464         */
2465        MEDICATIONADMINISTRATION, 
2466        /**
2467         * Dispensing a medication to a named patient.
2468         */
2469        MEDICATIONDISPENSE, 
2470        /**
2471         * Record of medication being taken by a patient.
2472         */
2473        MEDICATIONSTATEMENT, 
2474        /**
2475         * Measurements and simple assertions.
2476         */
2477        OBSERVATION, 
2478        /**
2479         * PaymentNotice request.
2480         */
2481        PAYMENTNOTICE, 
2482        /**
2483         * PaymentReconciliation resource.
2484         */
2485        PAYMENTRECONCILIATION, 
2486        /**
2487         * An action that is being or was performed on a patient.
2488         */
2489        PROCEDURE, 
2490        /**
2491         * ProcessResponse resource.
2492         */
2493        PROCESSRESPONSE, 
2494        /**
2495         * A structured set of questions and their answers.
2496         */
2497        QUESTIONNAIRERESPONSE, 
2498        /**
2499         * Potential outcomes for a subject with likelihood.
2500         */
2501        RISKASSESSMENT, 
2502        /**
2503         * Delivery of bulk Supplies.
2504         */
2505        SUPPLYDELIVERY, 
2506        /**
2507         * A task to be performed.
2508         */
2509        TASK, 
2510        /**
2511         * added to help the parsers
2512         */
2513        NULL;
2514        public static EventResourceType fromCode(String codeString) throws FHIRException {
2515            if (codeString == null || "".equals(codeString))
2516                return null;
2517        if ("ChargeItem".equals(codeString))
2518          return CHARGEITEM;
2519        if ("ClaimResponse".equals(codeString))
2520          return CLAIMRESPONSE;
2521        if ("ClinicalImpression".equals(codeString))
2522          return CLINICALIMPRESSION;
2523        if ("Communication".equals(codeString))
2524          return COMMUNICATION;
2525        if ("Composition".equals(codeString))
2526          return COMPOSITION;
2527        if ("Condition".equals(codeString))
2528          return CONDITION;
2529        if ("Consent".equals(codeString))
2530          return CONSENT;
2531        if ("Coverage".equals(codeString))
2532          return COVERAGE;
2533        if ("DeviceUseStatement".equals(codeString))
2534          return DEVICEUSESTATEMENT;
2535        if ("DiagnosticReport".equals(codeString))
2536          return DIAGNOSTICREPORT;
2537        if ("DocumentManifest".equals(codeString))
2538          return DOCUMENTMANIFEST;
2539        if ("DocumentReference".equals(codeString))
2540          return DOCUMENTREFERENCE;
2541        if ("Encounter".equals(codeString))
2542          return ENCOUNTER;
2543        if ("EnrollmentResponse".equals(codeString))
2544          return ENROLLMENTRESPONSE;
2545        if ("EpisodeOfCare".equals(codeString))
2546          return EPISODEOFCARE;
2547        if ("ExplanationOfBenefit".equals(codeString))
2548          return EXPLANATIONOFBENEFIT;
2549        if ("FamilyMemberHistory".equals(codeString))
2550          return FAMILYMEMBERHISTORY;
2551        if ("GuidanceResponse".equals(codeString))
2552          return GUIDANCERESPONSE;
2553        if ("ImagingStudy".equals(codeString))
2554          return IMAGINGSTUDY;
2555        if ("Immunization".equals(codeString))
2556          return IMMUNIZATION;
2557        if ("MeasureReport".equals(codeString))
2558          return MEASUREREPORT;
2559        if ("Media".equals(codeString))
2560          return MEDIA;
2561        if ("MedicationAdministration".equals(codeString))
2562          return MEDICATIONADMINISTRATION;
2563        if ("MedicationDispense".equals(codeString))
2564          return MEDICATIONDISPENSE;
2565        if ("MedicationStatement".equals(codeString))
2566          return MEDICATIONSTATEMENT;
2567        if ("Observation".equals(codeString))
2568          return OBSERVATION;
2569        if ("PaymentNotice".equals(codeString))
2570          return PAYMENTNOTICE;
2571        if ("PaymentReconciliation".equals(codeString))
2572          return PAYMENTRECONCILIATION;
2573        if ("Procedure".equals(codeString))
2574          return PROCEDURE;
2575        if ("ProcessResponse".equals(codeString))
2576          return PROCESSRESPONSE;
2577        if ("QuestionnaireResponse".equals(codeString))
2578          return QUESTIONNAIRERESPONSE;
2579        if ("RiskAssessment".equals(codeString))
2580          return RISKASSESSMENT;
2581        if ("SupplyDelivery".equals(codeString))
2582          return SUPPLYDELIVERY;
2583        if ("Task".equals(codeString))
2584          return TASK;
2585        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2586        }
2587        public String toCode() {
2588          switch (this) {
2589            case CHARGEITEM: return "ChargeItem";
2590            case CLAIMRESPONSE: return "ClaimResponse";
2591            case CLINICALIMPRESSION: return "ClinicalImpression";
2592            case COMMUNICATION: return "Communication";
2593            case COMPOSITION: return "Composition";
2594            case CONDITION: return "Condition";
2595            case CONSENT: return "Consent";
2596            case COVERAGE: return "Coverage";
2597            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2598            case DIAGNOSTICREPORT: return "DiagnosticReport";
2599            case DOCUMENTMANIFEST: return "DocumentManifest";
2600            case DOCUMENTREFERENCE: return "DocumentReference";
2601            case ENCOUNTER: return "Encounter";
2602            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2603            case EPISODEOFCARE: return "EpisodeOfCare";
2604            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2605            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2606            case GUIDANCERESPONSE: return "GuidanceResponse";
2607            case IMAGINGSTUDY: return "ImagingStudy";
2608            case IMMUNIZATION: return "Immunization";
2609            case MEASUREREPORT: return "MeasureReport";
2610            case MEDIA: return "Media";
2611            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2612            case MEDICATIONDISPENSE: return "MedicationDispense";
2613            case MEDICATIONSTATEMENT: return "MedicationStatement";
2614            case OBSERVATION: return "Observation";
2615            case PAYMENTNOTICE: return "PaymentNotice";
2616            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2617            case PROCEDURE: return "Procedure";
2618            case PROCESSRESPONSE: return "ProcessResponse";
2619            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2620            case RISKASSESSMENT: return "RiskAssessment";
2621            case SUPPLYDELIVERY: return "SupplyDelivery";
2622            case TASK: return "Task";
2623            default: return "?";
2624          }
2625        }
2626        public String getSystem() {
2627          switch (this) {
2628            case CHARGEITEM: return "http://hl7.org/fhir/event-resource-types";
2629            case CLAIMRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2630            case CLINICALIMPRESSION: return "http://hl7.org/fhir/event-resource-types";
2631            case COMMUNICATION: return "http://hl7.org/fhir/event-resource-types";
2632            case COMPOSITION: return "http://hl7.org/fhir/event-resource-types";
2633            case CONDITION: return "http://hl7.org/fhir/event-resource-types";
2634            case CONSENT: return "http://hl7.org/fhir/event-resource-types";
2635            case COVERAGE: return "http://hl7.org/fhir/event-resource-types";
2636            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2637            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/event-resource-types";
2638            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/event-resource-types";
2639            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/event-resource-types";
2640            case ENCOUNTER: return "http://hl7.org/fhir/event-resource-types";
2641            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2642            case EPISODEOFCARE: return "http://hl7.org/fhir/event-resource-types";
2643            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/event-resource-types";
2644            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/event-resource-types";
2645            case GUIDANCERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2646            case IMAGINGSTUDY: return "http://hl7.org/fhir/event-resource-types";
2647            case IMMUNIZATION: return "http://hl7.org/fhir/event-resource-types";
2648            case MEASUREREPORT: return "http://hl7.org/fhir/event-resource-types";
2649            case MEDIA: return "http://hl7.org/fhir/event-resource-types";
2650            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/event-resource-types";
2651            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/event-resource-types";
2652            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/event-resource-types";
2653            case OBSERVATION: return "http://hl7.org/fhir/event-resource-types";
2654            case PAYMENTNOTICE: return "http://hl7.org/fhir/event-resource-types";
2655            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/event-resource-types";
2656            case PROCEDURE: return "http://hl7.org/fhir/event-resource-types";
2657            case PROCESSRESPONSE: return "http://hl7.org/fhir/event-resource-types";
2658            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/event-resource-types";
2659            case RISKASSESSMENT: return "http://hl7.org/fhir/event-resource-types";
2660            case SUPPLYDELIVERY: return "http://hl7.org/fhir/event-resource-types";
2661            case TASK: return "http://hl7.org/fhir/event-resource-types";
2662            default: return "?";
2663          }
2664        }
2665        public String getDefinition() {
2666          switch (this) {
2667            case CHARGEITEM: return "Item containing charge code(s) associated with the provision of healthcare provider products.";
2668            case CLAIMRESPONSE: return "Remittance resource.";
2669            case CLINICALIMPRESSION: return "A clinical assessment performed when planning treatments and management strategies for a patient.";
2670            case COMMUNICATION: return "A record of information transmitted from a sender to a receiver.";
2671            case COMPOSITION: return "A set of resources composed into a single coherent clinical statement with clinical attestation.";
2672            case CONDITION: return "Detailed information about conditions, problems or diagnoses.";
2673            case CONSENT: return "A healthcare consumer's policy choices to permits or denies recipients or roles to perform actions for specific purposes and periods of time.";
2674            case COVERAGE: return "Insurance or medical plan or a payment agreement.";
2675            case DEVICEUSESTATEMENT: return "Record of use of a device.";
2676            case DIAGNOSTICREPORT: return "A Diagnostic report - a combination of request information, atomic results, images, interpretation, as well as formatted reports.";
2677            case DOCUMENTMANIFEST: return "A list that defines a set of documents.";
2678            case DOCUMENTREFERENCE: return "A reference to a document.";
2679            case ENCOUNTER: return "An interaction during which services are provided to the patient.";
2680            case ENROLLMENTRESPONSE: return "EnrollmentResponse resource.";
2681            case EPISODEOFCARE: return "An association of a Patient with an Organization and  Healthcare Provider(s) for a period of time that the Organization assumes some level of responsibility.";
2682            case EXPLANATIONOFBENEFIT: return "Explanation of Benefit resource.";
2683            case FAMILYMEMBERHISTORY: return "Information about patient's relatives, relevant for patient.";
2684            case GUIDANCERESPONSE: return "The formal response to a guidance request.";
2685            case IMAGINGSTUDY: return "A set of images produced in single study (one or more series of references images).";
2686            case IMMUNIZATION: return "Immunization event information.";
2687            case MEASUREREPORT: return "Results of a measure evaluation.";
2688            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.";
2689            case MEDICATIONADMINISTRATION: return "Administration of medication to a patient.";
2690            case MEDICATIONDISPENSE: return "Dispensing a medication to a named patient.";
2691            case MEDICATIONSTATEMENT: return "Record of medication being taken by a patient.";
2692            case OBSERVATION: return "Measurements and simple assertions.";
2693            case PAYMENTNOTICE: return "PaymentNotice request.";
2694            case PAYMENTRECONCILIATION: return "PaymentReconciliation resource.";
2695            case PROCEDURE: return "An action that is being or was performed on a patient.";
2696            case PROCESSRESPONSE: return "ProcessResponse resource.";
2697            case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers.";
2698            case RISKASSESSMENT: return "Potential outcomes for a subject with likelihood.";
2699            case SUPPLYDELIVERY: return "Delivery of bulk Supplies.";
2700            case TASK: return "A task to be performed.";
2701            default: return "?";
2702          }
2703        }
2704        public String getDisplay() {
2705          switch (this) {
2706            case CHARGEITEM: return "ChargeItem";
2707            case CLAIMRESPONSE: return "ClaimResponse";
2708            case CLINICALIMPRESSION: return "ClinicalImpression";
2709            case COMMUNICATION: return "Communication";
2710            case COMPOSITION: return "Composition";
2711            case CONDITION: return "Condition";
2712            case CONSENT: return "Consent";
2713            case COVERAGE: return "Coverage";
2714            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
2715            case DIAGNOSTICREPORT: return "DiagnosticReport";
2716            case DOCUMENTMANIFEST: return "DocumentManifest";
2717            case DOCUMENTREFERENCE: return "DocumentReference";
2718            case ENCOUNTER: return "Encounter";
2719            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
2720            case EPISODEOFCARE: return "EpisodeOfCare";
2721            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
2722            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
2723            case GUIDANCERESPONSE: return "GuidanceResponse";
2724            case IMAGINGSTUDY: return "ImagingStudy";
2725            case IMMUNIZATION: return "Immunization";
2726            case MEASUREREPORT: return "MeasureReport";
2727            case MEDIA: return "Media";
2728            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
2729            case MEDICATIONDISPENSE: return "MedicationDispense";
2730            case MEDICATIONSTATEMENT: return "MedicationStatement";
2731            case OBSERVATION: return "Observation";
2732            case PAYMENTNOTICE: return "PaymentNotice";
2733            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
2734            case PROCEDURE: return "Procedure";
2735            case PROCESSRESPONSE: return "ProcessResponse";
2736            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
2737            case RISKASSESSMENT: return "RiskAssessment";
2738            case SUPPLYDELIVERY: return "SupplyDelivery";
2739            case TASK: return "Task";
2740            default: return "?";
2741          }
2742        }
2743    }
2744
2745  public static class EventResourceTypeEnumFactory implements EnumFactory<EventResourceType> {
2746    public EventResourceType fromCode(String codeString) throws IllegalArgumentException {
2747      if (codeString == null || "".equals(codeString))
2748            if (codeString == null || "".equals(codeString))
2749                return null;
2750        if ("ChargeItem".equals(codeString))
2751          return EventResourceType.CHARGEITEM;
2752        if ("ClaimResponse".equals(codeString))
2753          return EventResourceType.CLAIMRESPONSE;
2754        if ("ClinicalImpression".equals(codeString))
2755          return EventResourceType.CLINICALIMPRESSION;
2756        if ("Communication".equals(codeString))
2757          return EventResourceType.COMMUNICATION;
2758        if ("Composition".equals(codeString))
2759          return EventResourceType.COMPOSITION;
2760        if ("Condition".equals(codeString))
2761          return EventResourceType.CONDITION;
2762        if ("Consent".equals(codeString))
2763          return EventResourceType.CONSENT;
2764        if ("Coverage".equals(codeString))
2765          return EventResourceType.COVERAGE;
2766        if ("DeviceUseStatement".equals(codeString))
2767          return EventResourceType.DEVICEUSESTATEMENT;
2768        if ("DiagnosticReport".equals(codeString))
2769          return EventResourceType.DIAGNOSTICREPORT;
2770        if ("DocumentManifest".equals(codeString))
2771          return EventResourceType.DOCUMENTMANIFEST;
2772        if ("DocumentReference".equals(codeString))
2773          return EventResourceType.DOCUMENTREFERENCE;
2774        if ("Encounter".equals(codeString))
2775          return EventResourceType.ENCOUNTER;
2776        if ("EnrollmentResponse".equals(codeString))
2777          return EventResourceType.ENROLLMENTRESPONSE;
2778        if ("EpisodeOfCare".equals(codeString))
2779          return EventResourceType.EPISODEOFCARE;
2780        if ("ExplanationOfBenefit".equals(codeString))
2781          return EventResourceType.EXPLANATIONOFBENEFIT;
2782        if ("FamilyMemberHistory".equals(codeString))
2783          return EventResourceType.FAMILYMEMBERHISTORY;
2784        if ("GuidanceResponse".equals(codeString))
2785          return EventResourceType.GUIDANCERESPONSE;
2786        if ("ImagingStudy".equals(codeString))
2787          return EventResourceType.IMAGINGSTUDY;
2788        if ("Immunization".equals(codeString))
2789          return EventResourceType.IMMUNIZATION;
2790        if ("MeasureReport".equals(codeString))
2791          return EventResourceType.MEASUREREPORT;
2792        if ("Media".equals(codeString))
2793          return EventResourceType.MEDIA;
2794        if ("MedicationAdministration".equals(codeString))
2795          return EventResourceType.MEDICATIONADMINISTRATION;
2796        if ("MedicationDispense".equals(codeString))
2797          return EventResourceType.MEDICATIONDISPENSE;
2798        if ("MedicationStatement".equals(codeString))
2799          return EventResourceType.MEDICATIONSTATEMENT;
2800        if ("Observation".equals(codeString))
2801          return EventResourceType.OBSERVATION;
2802        if ("PaymentNotice".equals(codeString))
2803          return EventResourceType.PAYMENTNOTICE;
2804        if ("PaymentReconciliation".equals(codeString))
2805          return EventResourceType.PAYMENTRECONCILIATION;
2806        if ("Procedure".equals(codeString))
2807          return EventResourceType.PROCEDURE;
2808        if ("ProcessResponse".equals(codeString))
2809          return EventResourceType.PROCESSRESPONSE;
2810        if ("QuestionnaireResponse".equals(codeString))
2811          return EventResourceType.QUESTIONNAIRERESPONSE;
2812        if ("RiskAssessment".equals(codeString))
2813          return EventResourceType.RISKASSESSMENT;
2814        if ("SupplyDelivery".equals(codeString))
2815          return EventResourceType.SUPPLYDELIVERY;
2816        if ("Task".equals(codeString))
2817          return EventResourceType.TASK;
2818        throw new IllegalArgumentException("Unknown EventResourceType code '"+codeString+"'");
2819        }
2820        public Enumeration<EventResourceType> fromType(Base code) throws FHIRException {
2821          if (code == null)
2822            return null;
2823          if (code.isEmpty())
2824            return new Enumeration<EventResourceType>(this);
2825          String codeString = ((PrimitiveType) code).asStringValue();
2826          if (codeString == null || "".equals(codeString))
2827            return null;
2828        if ("ChargeItem".equals(codeString))
2829          return new Enumeration<EventResourceType>(this, EventResourceType.CHARGEITEM);
2830        if ("ClaimResponse".equals(codeString))
2831          return new Enumeration<EventResourceType>(this, EventResourceType.CLAIMRESPONSE);
2832        if ("ClinicalImpression".equals(codeString))
2833          return new Enumeration<EventResourceType>(this, EventResourceType.CLINICALIMPRESSION);
2834        if ("Communication".equals(codeString))
2835          return new Enumeration<EventResourceType>(this, EventResourceType.COMMUNICATION);
2836        if ("Composition".equals(codeString))
2837          return new Enumeration<EventResourceType>(this, EventResourceType.COMPOSITION);
2838        if ("Condition".equals(codeString))
2839          return new Enumeration<EventResourceType>(this, EventResourceType.CONDITION);
2840        if ("Consent".equals(codeString))
2841          return new Enumeration<EventResourceType>(this, EventResourceType.CONSENT);
2842        if ("Coverage".equals(codeString))
2843          return new Enumeration<EventResourceType>(this, EventResourceType.COVERAGE);
2844        if ("DeviceUseStatement".equals(codeString))
2845          return new Enumeration<EventResourceType>(this, EventResourceType.DEVICEUSESTATEMENT);
2846        if ("DiagnosticReport".equals(codeString))
2847          return new Enumeration<EventResourceType>(this, EventResourceType.DIAGNOSTICREPORT);
2848        if ("DocumentManifest".equals(codeString))
2849          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTMANIFEST);
2850        if ("DocumentReference".equals(codeString))
2851          return new Enumeration<EventResourceType>(this, EventResourceType.DOCUMENTREFERENCE);
2852        if ("Encounter".equals(codeString))
2853          return new Enumeration<EventResourceType>(this, EventResourceType.ENCOUNTER);
2854        if ("EnrollmentResponse".equals(codeString))
2855          return new Enumeration<EventResourceType>(this, EventResourceType.ENROLLMENTRESPONSE);
2856        if ("EpisodeOfCare".equals(codeString))
2857          return new Enumeration<EventResourceType>(this, EventResourceType.EPISODEOFCARE);
2858        if ("ExplanationOfBenefit".equals(codeString))
2859          return new Enumeration<EventResourceType>(this, EventResourceType.EXPLANATIONOFBENEFIT);
2860        if ("FamilyMemberHistory".equals(codeString))
2861          return new Enumeration<EventResourceType>(this, EventResourceType.FAMILYMEMBERHISTORY);
2862        if ("GuidanceResponse".equals(codeString))
2863          return new Enumeration<EventResourceType>(this, EventResourceType.GUIDANCERESPONSE);
2864        if ("ImagingStudy".equals(codeString))
2865          return new Enumeration<EventResourceType>(this, EventResourceType.IMAGINGSTUDY);
2866        if ("Immunization".equals(codeString))
2867          return new Enumeration<EventResourceType>(this, EventResourceType.IMMUNIZATION);
2868        if ("MeasureReport".equals(codeString))
2869          return new Enumeration<EventResourceType>(this, EventResourceType.MEASUREREPORT);
2870        if ("Media".equals(codeString))
2871          return new Enumeration<EventResourceType>(this, EventResourceType.MEDIA);
2872        if ("MedicationAdministration".equals(codeString))
2873          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONADMINISTRATION);
2874        if ("MedicationDispense".equals(codeString))
2875          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONDISPENSE);
2876        if ("MedicationStatement".equals(codeString))
2877          return new Enumeration<EventResourceType>(this, EventResourceType.MEDICATIONSTATEMENT);
2878        if ("Observation".equals(codeString))
2879          return new Enumeration<EventResourceType>(this, EventResourceType.OBSERVATION);
2880        if ("PaymentNotice".equals(codeString))
2881          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTNOTICE);
2882        if ("PaymentReconciliation".equals(codeString))
2883          return new Enumeration<EventResourceType>(this, EventResourceType.PAYMENTRECONCILIATION);
2884        if ("Procedure".equals(codeString))
2885          return new Enumeration<EventResourceType>(this, EventResourceType.PROCEDURE);
2886        if ("ProcessResponse".equals(codeString))
2887          return new Enumeration<EventResourceType>(this, EventResourceType.PROCESSRESPONSE);
2888        if ("QuestionnaireResponse".equals(codeString))
2889          return new Enumeration<EventResourceType>(this, EventResourceType.QUESTIONNAIRERESPONSE);
2890        if ("RiskAssessment".equals(codeString))
2891          return new Enumeration<EventResourceType>(this, EventResourceType.RISKASSESSMENT);
2892        if ("SupplyDelivery".equals(codeString))
2893          return new Enumeration<EventResourceType>(this, EventResourceType.SUPPLYDELIVERY);
2894        if ("Task".equals(codeString))
2895          return new Enumeration<EventResourceType>(this, EventResourceType.TASK);
2896        throw new FHIRException("Unknown EventResourceType code '"+codeString+"'");
2897        }
2898    public String toCode(EventResourceType code) {
2899      if (code == EventResourceType.CHARGEITEM)
2900        return "ChargeItem";
2901      if (code == EventResourceType.CLAIMRESPONSE)
2902        return "ClaimResponse";
2903      if (code == EventResourceType.CLINICALIMPRESSION)
2904        return "ClinicalImpression";
2905      if (code == EventResourceType.COMMUNICATION)
2906        return "Communication";
2907      if (code == EventResourceType.COMPOSITION)
2908        return "Composition";
2909      if (code == EventResourceType.CONDITION)
2910        return "Condition";
2911      if (code == EventResourceType.CONSENT)
2912        return "Consent";
2913      if (code == EventResourceType.COVERAGE)
2914        return "Coverage";
2915      if (code == EventResourceType.DEVICEUSESTATEMENT)
2916        return "DeviceUseStatement";
2917      if (code == EventResourceType.DIAGNOSTICREPORT)
2918        return "DiagnosticReport";
2919      if (code == EventResourceType.DOCUMENTMANIFEST)
2920        return "DocumentManifest";
2921      if (code == EventResourceType.DOCUMENTREFERENCE)
2922        return "DocumentReference";
2923      if (code == EventResourceType.ENCOUNTER)
2924        return "Encounter";
2925      if (code == EventResourceType.ENROLLMENTRESPONSE)
2926        return "EnrollmentResponse";
2927      if (code == EventResourceType.EPISODEOFCARE)
2928        return "EpisodeOfCare";
2929      if (code == EventResourceType.EXPLANATIONOFBENEFIT)
2930        return "ExplanationOfBenefit";
2931      if (code == EventResourceType.FAMILYMEMBERHISTORY)
2932        return "FamilyMemberHistory";
2933      if (code == EventResourceType.GUIDANCERESPONSE)
2934        return "GuidanceResponse";
2935      if (code == EventResourceType.IMAGINGSTUDY)
2936        return "ImagingStudy";
2937      if (code == EventResourceType.IMMUNIZATION)
2938        return "Immunization";
2939      if (code == EventResourceType.MEASUREREPORT)
2940        return "MeasureReport";
2941      if (code == EventResourceType.MEDIA)
2942        return "Media";
2943      if (code == EventResourceType.MEDICATIONADMINISTRATION)
2944        return "MedicationAdministration";
2945      if (code == EventResourceType.MEDICATIONDISPENSE)
2946        return "MedicationDispense";
2947      if (code == EventResourceType.MEDICATIONSTATEMENT)
2948        return "MedicationStatement";
2949      if (code == EventResourceType.OBSERVATION)
2950        return "Observation";
2951      if (code == EventResourceType.PAYMENTNOTICE)
2952        return "PaymentNotice";
2953      if (code == EventResourceType.PAYMENTRECONCILIATION)
2954        return "PaymentReconciliation";
2955      if (code == EventResourceType.PROCEDURE)
2956        return "Procedure";
2957      if (code == EventResourceType.PROCESSRESPONSE)
2958        return "ProcessResponse";
2959      if (code == EventResourceType.QUESTIONNAIRERESPONSE)
2960        return "QuestionnaireResponse";
2961      if (code == EventResourceType.RISKASSESSMENT)
2962        return "RiskAssessment";
2963      if (code == EventResourceType.SUPPLYDELIVERY)
2964        return "SupplyDelivery";
2965      if (code == EventResourceType.TASK)
2966        return "Task";
2967      return "?";
2968      }
2969    public String toSystem(EventResourceType code) {
2970      return code.getSystem();
2971      }
2972    }
2973
2974    public enum FHIRAllTypes {
2975        /**
2976         * 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.
2977         */
2978        ADDRESS, 
2979        /**
2980         * A duration of time during which an organism (or a process) has existed.
2981         */
2982        AGE, 
2983        /**
2984         * A  text note which also  contains information about who made the statement and when.
2985         */
2986        ANNOTATION, 
2987        /**
2988         * For referring to data content defined in other formats.
2989         */
2990        ATTACHMENT, 
2991        /**
2992         * Base definition for all elements that are defined inside a resource - but not those in a data type.
2993         */
2994        BACKBONEELEMENT, 
2995        /**
2996         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
2997         */
2998        CODEABLECONCEPT, 
2999        /**
3000         * A reference to a code defined by a terminology system.
3001         */
3002        CODING, 
3003        /**
3004         * Specifies contact information for a person or organization.
3005         */
3006        CONTACTDETAIL, 
3007        /**
3008         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
3009         */
3010        CONTACTPOINT, 
3011        /**
3012         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
3013         */
3014        CONTRIBUTOR, 
3015        /**
3016         * 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.
3017         */
3018        COUNT, 
3019        /**
3020         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
3021         */
3022        DATAREQUIREMENT, 
3023        /**
3024         * A length - a value with a unit that is a physical distance.
3025         */
3026        DISTANCE, 
3027        /**
3028         * Indicates how the medication is/was taken or should be taken by the patient.
3029         */
3030        DOSAGE, 
3031        /**
3032         * A length of time.
3033         */
3034        DURATION, 
3035        /**
3036         * Base definition for all elements in a resource.
3037         */
3038        ELEMENT, 
3039        /**
3040         * Captures constraints on each element within the resource, profile, or extension.
3041         */
3042        ELEMENTDEFINITION, 
3043        /**
3044         * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.
3045         */
3046        EXPRESSION, 
3047        /**
3048         * Optional Extension Element - found in all resources.
3049         */
3050        EXTENSION, 
3051        /**
3052         * A human's name with the ability to identify parts and usage.
3053         */
3054        HUMANNAME, 
3055        /**
3056         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
3057         */
3058        IDENTIFIER, 
3059        /**
3060         * 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.
3061         */
3062        MARKETINGSTATUS, 
3063        /**
3064         * 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.
3065         */
3066        META, 
3067        /**
3068         * An amount of economic utility in some recognized currency.
3069         */
3070        MONEY, 
3071        /**
3072         * null
3073         */
3074        MONEYQUANTITY, 
3075        /**
3076         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
3077         */
3078        NARRATIVE, 
3079        /**
3080         * 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.
3081         */
3082        PARAMETERDEFINITION, 
3083        /**
3084         * A time period defined by a start and end date and optionally time.
3085         */
3086        PERIOD, 
3087        /**
3088         * A populatioof people with some set of grouping criteria.
3089         */
3090        POPULATION, 
3091        /**
3092         * 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.
3093         */
3094        PRODCHARACTERISTIC, 
3095        /**
3096         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
3097         */
3098        PRODUCTSHELFLIFE, 
3099        /**
3100         * 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.
3101         */
3102        QUANTITY, 
3103        /**
3104         * A set of ordered Quantities defined by a low and high limit.
3105         */
3106        RANGE, 
3107        /**
3108         * A relationship of two Quantity values - expressed as a numerator and a denominator.
3109         */
3110        RATIO, 
3111        /**
3112         * A reference from one resource to another.
3113         */
3114        REFERENCE, 
3115        /**
3116         * Related artifacts such as additional documentation, justification, or bibliographic references.
3117         */
3118        RELATEDARTIFACT, 
3119        /**
3120         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
3121         */
3122        SAMPLEDDATA, 
3123        /**
3124         * 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.
3125         */
3126        SIGNATURE, 
3127        /**
3128         * null
3129         */
3130        SIMPLEQUANTITY, 
3131        /**
3132         * 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.
3133         */
3134        SUBSTANCEAMOUNT, 
3135        /**
3136         * 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.
3137         */
3138        TIMING, 
3139        /**
3140         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
3141         */
3142        TRIGGERDEFINITION, 
3143        /**
3144         * 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).
3145         */
3146        USAGECONTEXT, 
3147        /**
3148         * A stream of bytes
3149         */
3150        BASE64BINARY, 
3151        /**
3152         * Value of "true" or "false"
3153         */
3154        BOOLEAN, 
3155        /**
3156         * A URI that is a reference to a canonical URL on a FHIR resource
3157         */
3158        CANONICAL, 
3159        /**
3160         * 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
3161         */
3162        CODE, 
3163        /**
3164         * 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.
3165         */
3166        DATE, 
3167        /**
3168         * 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.
3169         */
3170        DATETIME, 
3171        /**
3172         * A rational number with implicit precision
3173         */
3174        DECIMAL, 
3175        /**
3176         * 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.
3177         */
3178        ID, 
3179        /**
3180         * An instant in time - known at least to the second
3181         */
3182        INSTANT, 
3183        /**
3184         * A whole number
3185         */
3186        INTEGER, 
3187        /**
3188         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
3189         */
3190        MARKDOWN, 
3191        /**
3192         * An OID represented as a URI
3193         */
3194        OID, 
3195        /**
3196         * An integer with a value that is positive (e.g. >0)
3197         */
3198        POSITIVEINT, 
3199        /**
3200         * A sequence of Unicode characters
3201         */
3202        STRING, 
3203        /**
3204         * A time during the day, with no date specified
3205         */
3206        TIME, 
3207        /**
3208         * An integer with a value that is not negative (e.g. >= 0)
3209         */
3210        UNSIGNEDINT, 
3211        /**
3212         * String of characters used to identify a name or a resource
3213         */
3214        URI, 
3215        /**
3216         * A URI that is a literal reference
3217         */
3218        URL, 
3219        /**
3220         * A UUID, represented as a URI
3221         */
3222        UUID, 
3223        /**
3224         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
3225         */
3226        XHTML, 
3227        /**
3228         * 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.
3229         */
3230        ACCOUNT, 
3231        /**
3232         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
3233         */
3234        ACTIVITYDEFINITION, 
3235        /**
3236         * 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.
3237         */
3238        ADVERSEEVENT, 
3239        /**
3240         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
3241         */
3242        ALLERGYINTOLERANCE, 
3243        /**
3244         * 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).
3245         */
3246        APPOINTMENT, 
3247        /**
3248         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
3249         */
3250        APPOINTMENTRESPONSE, 
3251        /**
3252         * 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.
3253         */
3254        AUDITEVENT, 
3255        /**
3256         * 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.
3257         */
3258        BASIC, 
3259        /**
3260         * A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.
3261         */
3262        BINARY, 
3263        /**
3264         * A material substance originating from a biological entity intended to be transplanted or infused
3265into another (possibly the same) biological entity.
3266         */
3267        BIOLOGICALLYDERIVEDPRODUCT, 
3268        /**
3269         * 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.
3270         */
3271        BODYSTRUCTURE, 
3272        /**
3273         * A container for a collection of resources.
3274         */
3275        BUNDLE, 
3276        /**
3277         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
3278         */
3279        CAPABILITYSTATEMENT, 
3280        /**
3281         * 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.
3282         */
3283        CAREPLAN, 
3284        /**
3285         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
3286         */
3287        CARETEAM, 
3288        /**
3289         * Catalog entries are wrappers that contextualize items included in a catalog.
3290         */
3291        CATALOGENTRY, 
3292        /**
3293         * 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.
3294         */
3295        CHARGEITEM, 
3296        /**
3297         * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.
3298         */
3299        CHARGEITEMDEFINITION, 
3300        /**
3301         * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.
3302         */
3303        CLAIM, 
3304        /**
3305         * This resource provides the adjudication details from the processing of a Claim resource.
3306         */
3307        CLAIMRESPONSE, 
3308        /**
3309         * 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.
3310         */
3311        CLINICALIMPRESSION, 
3312        /**
3313         * 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.
3314         */
3315        CODESYSTEM, 
3316        /**
3317         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.
3318         */
3319        COMMUNICATION, 
3320        /**
3321         * 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.
3322         */
3323        COMMUNICATIONREQUEST, 
3324        /**
3325         * A compartment definition that defines how resources are accessed on a server.
3326         */
3327        COMPARTMENTDEFINITION, 
3328        /**
3329         * 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.).
3330         */
3331        COMPOSITION, 
3332        /**
3333         * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.
3334         */
3335        CONCEPTMAP, 
3336        /**
3337         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
3338         */
3339        CONDITION, 
3340        /**
3341         * 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.
3342         */
3343        CONSENT, 
3344        /**
3345         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
3346         */
3347        CONTRACT, 
3348        /**
3349         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
3350         */
3351        COVERAGE, 
3352        /**
3353         * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
3354         */
3355        COVERAGEELIGIBILITYREQUEST, 
3356        /**
3357         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
3358         */
3359        COVERAGEELIGIBILITYRESPONSE, 
3360        /**
3361         * 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.
3362         */
3363        DETECTEDISSUE, 
3364        /**
3365         * 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.
3366         */
3367        DEVICE, 
3368        /**
3369         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
3370         */
3371        DEVICEDEFINITION, 
3372        /**
3373         * Describes a measurement, calculation or setting capability of a medical device.
3374         */
3375        DEVICEMETRIC, 
3376        /**
3377         * 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.
3378         */
3379        DEVICEREQUEST, 
3380        /**
3381         * 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.
3382         */
3383        DEVICEUSESTATEMENT, 
3384        /**
3385         * 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.
3386         */
3387        DIAGNOSTICREPORT, 
3388        /**
3389         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
3390         */
3391        DOCUMENTMANIFEST, 
3392        /**
3393         * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.
3394         */
3395        DOCUMENTREFERENCE, 
3396        /**
3397         * A resource that includes narrative, extensions, and contained resources.
3398         */
3399        DOMAINRESOURCE, 
3400        /**
3401         * The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.
3402         */
3403        EFFECTEVIDENCESYNTHESIS, 
3404        /**
3405         * 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.
3406         */
3407        ENCOUNTER, 
3408        /**
3409         * 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.
3410         */
3411        ENDPOINT, 
3412        /**
3413         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
3414         */
3415        ENROLLMENTREQUEST, 
3416        /**
3417         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
3418         */
3419        ENROLLMENTRESPONSE, 
3420        /**
3421         * 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.
3422         */
3423        EPISODEOFCARE, 
3424        /**
3425         * The EventDefinition resource provides a reusable description of when a particular event can occur.
3426         */
3427        EVENTDEFINITION, 
3428        /**
3429         * The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
3430         */
3431        EVIDENCE, 
3432        /**
3433         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
3434         */
3435        EVIDENCEVARIABLE, 
3436        /**
3437         * Example of workflow instance.
3438         */
3439        EXAMPLESCENARIO, 
3440        /**
3441         * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided.
3442         */
3443        EXPLANATIONOFBENEFIT, 
3444        /**
3445         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
3446         */
3447        FAMILYMEMBERHISTORY, 
3448        /**
3449         * Prospective warnings of potential issues when providing care to the patient.
3450         */
3451        FLAG, 
3452        /**
3453         * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.
3454         */
3455        GOAL, 
3456        /**
3457         * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set.
3458         */
3459        GRAPHDEFINITION, 
3460        /**
3461         * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization.
3462         */
3463        GROUP, 
3464        /**
3465         * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken.
3466         */
3467        GUIDANCERESPONSE, 
3468        /**
3469         * The details of a healthcare service available at a location.
3470         */
3471        HEALTHCARESERVICE, 
3472        /**
3473         * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context.  A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.
3474         */
3475        IMAGINGSTUDY, 
3476        /**
3477         * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.
3478         */
3479        IMMUNIZATION, 
3480        /**
3481         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
3482         */
3483        IMMUNIZATIONEVALUATION, 
3484        /**
3485         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
3486         */
3487        IMMUNIZATIONRECOMMENDATION, 
3488        /**
3489         * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
3490         */
3491        IMPLEMENTATIONGUIDE, 
3492        /**
3493         * Details of a Health Insurance product/plan provided by an organization.
3494         */
3495        INSURANCEPLAN, 
3496        /**
3497         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
3498         */
3499        INVOICE, 
3500        /**
3501         * 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.
3502         */
3503        LIBRARY, 
3504        /**
3505         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
3506         */
3507        LINKAGE, 
3508        /**
3509         * A list is a curated collection of resources.
3510         */
3511        LIST, 
3512        /**
3513         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
3514         */
3515        LOCATION, 
3516        /**
3517         * The Measure resource provides the definition of a quality measure.
3518         */
3519        MEASURE, 
3520        /**
3521         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
3522         */
3523        MEASUREREPORT, 
3524        /**
3525         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
3526         */
3527        MEDIA, 
3528        /**
3529         * 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.
3530         */
3531        MEDICATION, 
3532        /**
3533         * 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.
3534         */
3535        MEDICATIONADMINISTRATION, 
3536        /**
3537         * 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.
3538         */
3539        MEDICATIONDISPENSE, 
3540        /**
3541         * Information about a medication that is used to support knowledge.
3542         */
3543        MEDICATIONKNOWLEDGE, 
3544        /**
3545         * 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.
3546         */
3547        MEDICATIONREQUEST, 
3548        /**
3549         * 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. 
3550
3551The 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.
3552         */
3553        MEDICATIONSTATEMENT, 
3554        /**
3555         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
3556         */
3557        MEDICINALPRODUCT, 
3558        /**
3559         * The regulatory authorization of a medicinal product.
3560         */
3561        MEDICINALPRODUCTAUTHORIZATION, 
3562        /**
3563         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
3564         */
3565        MEDICINALPRODUCTCONTRAINDICATION, 
3566        /**
3567         * Indication for the Medicinal Product.
3568         */
3569        MEDICINALPRODUCTINDICATION, 
3570        /**
3571         * An ingredient of a manufactured item or pharmaceutical product.
3572         */
3573        MEDICINALPRODUCTINGREDIENT, 
3574        /**
3575         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
3576         */
3577        MEDICINALPRODUCTINTERACTION, 
3578        /**
3579         * The manufactured item as contained in the packaged medicinal product.
3580         */
3581        MEDICINALPRODUCTMANUFACTURED, 
3582        /**
3583         * A medicinal product in a container or package.
3584         */
3585        MEDICINALPRODUCTPACKAGED, 
3586        /**
3587         * A pharmaceutical product described in terms of its composition and dose form.
3588         */
3589        MEDICINALPRODUCTPHARMACEUTICAL, 
3590        /**
3591         * Describe the undesirable effects of the medicinal product.
3592         */
3593        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
3594        /**
3595         * 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.
3596         */
3597        MESSAGEDEFINITION, 
3598        /**
3599         * 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.
3600         */
3601        MESSAGEHEADER, 
3602        /**
3603         * Raw data describing a biological sequence.
3604         */
3605        MOLECULARSEQUENCE, 
3606        /**
3607         * 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.
3608         */
3609        NAMINGSYSTEM, 
3610        /**
3611         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
3612         */
3613        NUTRITIONORDER, 
3614        /**
3615         * Measurements and simple assertions made about a patient, device or other subject.
3616         */
3617        OBSERVATION, 
3618        /**
3619         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
3620         */
3621        OBSERVATIONDEFINITION, 
3622        /**
3623         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
3624         */
3625        OPERATIONDEFINITION, 
3626        /**
3627         * A collection of error, warning, or information messages that result from a system action.
3628         */
3629        OPERATIONOUTCOME, 
3630        /**
3631         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.
3632         */
3633        ORGANIZATION, 
3634        /**
3635         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
3636         */
3637        ORGANIZATIONAFFILIATION, 
3638        /**
3639         * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.
3640         */
3641        PARAMETERS, 
3642        /**
3643         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
3644         */
3645        PATIENT, 
3646        /**
3647         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
3648         */
3649        PAYMENTNOTICE, 
3650        /**
3651         * This resource provides the details including amount of a payment and allocates the payment items being paid.
3652         */
3653        PAYMENTRECONCILIATION, 
3654        /**
3655         * Demographics and administrative information about a person independent of a specific health-related context.
3656         */
3657        PERSON, 
3658        /**
3659         * 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.
3660         */
3661        PLANDEFINITION, 
3662        /**
3663         * A person who is directly or indirectly involved in the provisioning of healthcare.
3664         */
3665        PRACTITIONER, 
3666        /**
3667         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
3668         */
3669        PRACTITIONERROLE, 
3670        /**
3671         * An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.
3672         */
3673        PROCEDURE, 
3674        /**
3675         * 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.
3676         */
3677        PROVENANCE, 
3678        /**
3679         * 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.
3680         */
3681        QUESTIONNAIRE, 
3682        /**
3683         * 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.
3684         */
3685        QUESTIONNAIRERESPONSE, 
3686        /**
3687         * 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.
3688         */
3689        RELATEDPERSON, 
3690        /**
3691         * 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".
3692         */
3693        REQUESTGROUP, 
3694        /**
3695         * The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
3696         */
3697        RESEARCHDEFINITION, 
3698        /**
3699         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
3700         */
3701        RESEARCHELEMENTDEFINITION, 
3702        /**
3703         * 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.
3704         */
3705        RESEARCHSTUDY, 
3706        /**
3707         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
3708         */
3709        RESEARCHSUBJECT, 
3710        /**
3711         * This is the base resource type for everything.
3712         */
3713        RESOURCE, 
3714        /**
3715         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
3716         */
3717        RISKASSESSMENT, 
3718        /**
3719         * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.
3720         */
3721        RISKEVIDENCESYNTHESIS, 
3722        /**
3723         * A container for slots of time that may be available for booking appointments.
3724         */
3725        SCHEDULE, 
3726        /**
3727         * A search parameter that defines a named search item that can be used to search/filter on a resource.
3728         */
3729        SEARCHPARAMETER, 
3730        /**
3731         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
3732         */
3733        SERVICEREQUEST, 
3734        /**
3735         * A slot of time on a schedule that may be available for booking appointments.
3736         */
3737        SLOT, 
3738        /**
3739         * A sample to be used for analysis.
3740         */
3741        SPECIMEN, 
3742        /**
3743         * A kind of specimen with associated set of requirements.
3744         */
3745        SPECIMENDEFINITION, 
3746        /**
3747         * 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.
3748         */
3749        STRUCTUREDEFINITION, 
3750        /**
3751         * A Map of relationships between 2 structures that can be used to transform data.
3752         */
3753        STRUCTUREMAP, 
3754        /**
3755         * 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.
3756         */
3757        SUBSCRIPTION, 
3758        /**
3759         * A homogeneous material with a definite composition.
3760         */
3761        SUBSTANCE, 
3762        /**
3763         * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.
3764         */
3765        SUBSTANCENUCLEICACID, 
3766        /**
3767         * Todo.
3768         */
3769        SUBSTANCEPOLYMER, 
3770        /**
3771         * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.
3772         */
3773        SUBSTANCEPROTEIN, 
3774        /**
3775         * Todo.
3776         */
3777        SUBSTANCEREFERENCEINFORMATION, 
3778        /**
3779         * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.
3780         */
3781        SUBSTANCESOURCEMATERIAL, 
3782        /**
3783         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
3784         */
3785        SUBSTANCESPECIFICATION, 
3786        /**
3787         * Record of delivery of what is supplied.
3788         */
3789        SUPPLYDELIVERY, 
3790        /**
3791         * A record of a request for a medication, substance or device used in the healthcare setting.
3792         */
3793        SUPPLYREQUEST, 
3794        /**
3795         * A task to be performed.
3796         */
3797        TASK, 
3798        /**
3799         * 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.
3800         */
3801        TERMINOLOGYCAPABILITIES, 
3802        /**
3803         * A summary of information based on the results of executing a TestScript.
3804         */
3805        TESTREPORT, 
3806        /**
3807         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
3808         */
3809        TESTSCRIPT, 
3810        /**
3811         * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).
3812         */
3813        VALUESET, 
3814        /**
3815         * Describes validation requirements, source(s), status and dates for one or more elements.
3816         */
3817        VERIFICATIONRESULT, 
3818        /**
3819         * An authorization for the provision of glasses and/or contact lenses to a patient.
3820         */
3821        VISIONPRESCRIPTION, 
3822        /**
3823         * A place holder that means any kind of data type
3824         */
3825        TYPE, 
3826        /**
3827         * A place holder that means any kind of resource
3828         */
3829        ANY, 
3830        /**
3831         * added to help the parsers
3832         */
3833        NULL;
3834        public static FHIRAllTypes fromCode(String codeString) throws FHIRException {
3835            if (codeString == null || "".equals(codeString))
3836                return null;
3837        if ("Address".equals(codeString))
3838          return ADDRESS;
3839        if ("Age".equals(codeString))
3840          return AGE;
3841        if ("Annotation".equals(codeString))
3842          return ANNOTATION;
3843        if ("Attachment".equals(codeString))
3844          return ATTACHMENT;
3845        if ("BackboneElement".equals(codeString))
3846          return BACKBONEELEMENT;
3847        if ("CodeableConcept".equals(codeString))
3848          return CODEABLECONCEPT;
3849        if ("Coding".equals(codeString))
3850          return CODING;
3851        if ("ContactDetail".equals(codeString))
3852          return CONTACTDETAIL;
3853        if ("ContactPoint".equals(codeString))
3854          return CONTACTPOINT;
3855        if ("Contributor".equals(codeString))
3856          return CONTRIBUTOR;
3857        if ("Count".equals(codeString))
3858          return COUNT;
3859        if ("DataRequirement".equals(codeString))
3860          return DATAREQUIREMENT;
3861        if ("Distance".equals(codeString))
3862          return DISTANCE;
3863        if ("Dosage".equals(codeString))
3864          return DOSAGE;
3865        if ("Duration".equals(codeString))
3866          return DURATION;
3867        if ("Element".equals(codeString))
3868          return ELEMENT;
3869        if ("ElementDefinition".equals(codeString))
3870          return ELEMENTDEFINITION;
3871        if ("Expression".equals(codeString))
3872          return EXPRESSION;
3873        if ("Extension".equals(codeString))
3874          return EXTENSION;
3875        if ("HumanName".equals(codeString))
3876          return HUMANNAME;
3877        if ("Identifier".equals(codeString))
3878          return IDENTIFIER;
3879        if ("MarketingStatus".equals(codeString))
3880          return MARKETINGSTATUS;
3881        if ("Meta".equals(codeString))
3882          return META;
3883        if ("Money".equals(codeString))
3884          return MONEY;
3885        if ("MoneyQuantity".equals(codeString))
3886          return MONEYQUANTITY;
3887        if ("Narrative".equals(codeString))
3888          return NARRATIVE;
3889        if ("ParameterDefinition".equals(codeString))
3890          return PARAMETERDEFINITION;
3891        if ("Period".equals(codeString))
3892          return PERIOD;
3893        if ("Population".equals(codeString))
3894          return POPULATION;
3895        if ("ProdCharacteristic".equals(codeString))
3896          return PRODCHARACTERISTIC;
3897        if ("ProductShelfLife".equals(codeString))
3898          return PRODUCTSHELFLIFE;
3899        if ("Quantity".equals(codeString))
3900          return QUANTITY;
3901        if ("Range".equals(codeString))
3902          return RANGE;
3903        if ("Ratio".equals(codeString))
3904          return RATIO;
3905        if ("Reference".equals(codeString))
3906          return REFERENCE;
3907        if ("RelatedArtifact".equals(codeString))
3908          return RELATEDARTIFACT;
3909        if ("SampledData".equals(codeString))
3910          return SAMPLEDDATA;
3911        if ("Signature".equals(codeString))
3912          return SIGNATURE;
3913        if ("SimpleQuantity".equals(codeString))
3914          return SIMPLEQUANTITY;
3915        if ("SubstanceAmount".equals(codeString))
3916          return SUBSTANCEAMOUNT;
3917        if ("Timing".equals(codeString))
3918          return TIMING;
3919        if ("TriggerDefinition".equals(codeString))
3920          return TRIGGERDEFINITION;
3921        if ("UsageContext".equals(codeString))
3922          return USAGECONTEXT;
3923        if ("base64Binary".equals(codeString))
3924          return BASE64BINARY;
3925        if ("boolean".equals(codeString))
3926          return BOOLEAN;
3927        if ("canonical".equals(codeString))
3928          return CANONICAL;
3929        if ("code".equals(codeString))
3930          return CODE;
3931        if ("date".equals(codeString))
3932          return DATE;
3933        if ("dateTime".equals(codeString))
3934          return DATETIME;
3935        if ("decimal".equals(codeString))
3936          return DECIMAL;
3937        if ("id".equals(codeString))
3938          return ID;
3939        if ("instant".equals(codeString))
3940          return INSTANT;
3941        if ("integer".equals(codeString))
3942          return INTEGER;
3943        if ("markdown".equals(codeString))
3944          return MARKDOWN;
3945        if ("oid".equals(codeString))
3946          return OID;
3947        if ("positiveInt".equals(codeString))
3948          return POSITIVEINT;
3949        if ("string".equals(codeString))
3950          return STRING;
3951        if ("time".equals(codeString))
3952          return TIME;
3953        if ("unsignedInt".equals(codeString))
3954          return UNSIGNEDINT;
3955        if ("uri".equals(codeString))
3956          return URI;
3957        if ("url".equals(codeString))
3958          return URL;
3959        if ("uuid".equals(codeString))
3960          return UUID;
3961        if ("xhtml".equals(codeString))
3962          return XHTML;
3963        if ("Account".equals(codeString))
3964          return ACCOUNT;
3965        if ("ActivityDefinition".equals(codeString))
3966          return ACTIVITYDEFINITION;
3967        if ("AdverseEvent".equals(codeString))
3968          return ADVERSEEVENT;
3969        if ("AllergyIntolerance".equals(codeString))
3970          return ALLERGYINTOLERANCE;
3971        if ("Appointment".equals(codeString))
3972          return APPOINTMENT;
3973        if ("AppointmentResponse".equals(codeString))
3974          return APPOINTMENTRESPONSE;
3975        if ("AuditEvent".equals(codeString))
3976          return AUDITEVENT;
3977        if ("Basic".equals(codeString))
3978          return BASIC;
3979        if ("Binary".equals(codeString))
3980          return BINARY;
3981        if ("BiologicallyDerivedProduct".equals(codeString))
3982          return BIOLOGICALLYDERIVEDPRODUCT;
3983        if ("BodyStructure".equals(codeString))
3984          return BODYSTRUCTURE;
3985        if ("Bundle".equals(codeString))
3986          return BUNDLE;
3987        if ("CapabilityStatement".equals(codeString))
3988          return CAPABILITYSTATEMENT;
3989        if ("CarePlan".equals(codeString))
3990          return CAREPLAN;
3991        if ("CareTeam".equals(codeString))
3992          return CARETEAM;
3993        if ("CatalogEntry".equals(codeString))
3994          return CATALOGENTRY;
3995        if ("ChargeItem".equals(codeString))
3996          return CHARGEITEM;
3997        if ("ChargeItemDefinition".equals(codeString))
3998          return CHARGEITEMDEFINITION;
3999        if ("Claim".equals(codeString))
4000          return CLAIM;
4001        if ("ClaimResponse".equals(codeString))
4002          return CLAIMRESPONSE;
4003        if ("ClinicalImpression".equals(codeString))
4004          return CLINICALIMPRESSION;
4005        if ("CodeSystem".equals(codeString))
4006          return CODESYSTEM;
4007        if ("Communication".equals(codeString))
4008          return COMMUNICATION;
4009        if ("CommunicationRequest".equals(codeString))
4010          return COMMUNICATIONREQUEST;
4011        if ("CompartmentDefinition".equals(codeString))
4012          return COMPARTMENTDEFINITION;
4013        if ("Composition".equals(codeString))
4014          return COMPOSITION;
4015        if ("ConceptMap".equals(codeString))
4016          return CONCEPTMAP;
4017        if ("Condition".equals(codeString))
4018          return CONDITION;
4019        if ("Consent".equals(codeString))
4020          return CONSENT;
4021        if ("Contract".equals(codeString))
4022          return CONTRACT;
4023        if ("Coverage".equals(codeString))
4024          return COVERAGE;
4025        if ("CoverageEligibilityRequest".equals(codeString))
4026          return COVERAGEELIGIBILITYREQUEST;
4027        if ("CoverageEligibilityResponse".equals(codeString))
4028          return COVERAGEELIGIBILITYRESPONSE;
4029        if ("DetectedIssue".equals(codeString))
4030          return DETECTEDISSUE;
4031        if ("Device".equals(codeString))
4032          return DEVICE;
4033        if ("DeviceDefinition".equals(codeString))
4034          return DEVICEDEFINITION;
4035        if ("DeviceMetric".equals(codeString))
4036          return DEVICEMETRIC;
4037        if ("DeviceRequest".equals(codeString))
4038          return DEVICEREQUEST;
4039        if ("DeviceUseStatement".equals(codeString))
4040          return DEVICEUSESTATEMENT;
4041        if ("DiagnosticReport".equals(codeString))
4042          return DIAGNOSTICREPORT;
4043        if ("DocumentManifest".equals(codeString))
4044          return DOCUMENTMANIFEST;
4045        if ("DocumentReference".equals(codeString))
4046          return DOCUMENTREFERENCE;
4047        if ("DomainResource".equals(codeString))
4048          return DOMAINRESOURCE;
4049        if ("EffectEvidenceSynthesis".equals(codeString))
4050          return EFFECTEVIDENCESYNTHESIS;
4051        if ("Encounter".equals(codeString))
4052          return ENCOUNTER;
4053        if ("Endpoint".equals(codeString))
4054          return ENDPOINT;
4055        if ("EnrollmentRequest".equals(codeString))
4056          return ENROLLMENTREQUEST;
4057        if ("EnrollmentResponse".equals(codeString))
4058          return ENROLLMENTRESPONSE;
4059        if ("EpisodeOfCare".equals(codeString))
4060          return EPISODEOFCARE;
4061        if ("EventDefinition".equals(codeString))
4062          return EVENTDEFINITION;
4063        if ("Evidence".equals(codeString))
4064          return EVIDENCE;
4065        if ("EvidenceVariable".equals(codeString))
4066          return EVIDENCEVARIABLE;
4067        if ("ExampleScenario".equals(codeString))
4068          return EXAMPLESCENARIO;
4069        if ("ExplanationOfBenefit".equals(codeString))
4070          return EXPLANATIONOFBENEFIT;
4071        if ("FamilyMemberHistory".equals(codeString))
4072          return FAMILYMEMBERHISTORY;
4073        if ("Flag".equals(codeString))
4074          return FLAG;
4075        if ("Goal".equals(codeString))
4076          return GOAL;
4077        if ("GraphDefinition".equals(codeString))
4078          return GRAPHDEFINITION;
4079        if ("Group".equals(codeString))
4080          return GROUP;
4081        if ("GuidanceResponse".equals(codeString))
4082          return GUIDANCERESPONSE;
4083        if ("HealthcareService".equals(codeString))
4084          return HEALTHCARESERVICE;
4085        if ("ImagingStudy".equals(codeString))
4086          return IMAGINGSTUDY;
4087        if ("Immunization".equals(codeString))
4088          return IMMUNIZATION;
4089        if ("ImmunizationEvaluation".equals(codeString))
4090          return IMMUNIZATIONEVALUATION;
4091        if ("ImmunizationRecommendation".equals(codeString))
4092          return IMMUNIZATIONRECOMMENDATION;
4093        if ("ImplementationGuide".equals(codeString))
4094          return IMPLEMENTATIONGUIDE;
4095        if ("InsurancePlan".equals(codeString))
4096          return INSURANCEPLAN;
4097        if ("Invoice".equals(codeString))
4098          return INVOICE;
4099        if ("Library".equals(codeString))
4100          return LIBRARY;
4101        if ("Linkage".equals(codeString))
4102          return LINKAGE;
4103        if ("List".equals(codeString))
4104          return LIST;
4105        if ("Location".equals(codeString))
4106          return LOCATION;
4107        if ("Measure".equals(codeString))
4108          return MEASURE;
4109        if ("MeasureReport".equals(codeString))
4110          return MEASUREREPORT;
4111        if ("Media".equals(codeString))
4112          return MEDIA;
4113        if ("Medication".equals(codeString))
4114          return MEDICATION;
4115        if ("MedicationAdministration".equals(codeString))
4116          return MEDICATIONADMINISTRATION;
4117        if ("MedicationDispense".equals(codeString))
4118          return MEDICATIONDISPENSE;
4119        if ("MedicationKnowledge".equals(codeString))
4120          return MEDICATIONKNOWLEDGE;
4121        if ("MedicationRequest".equals(codeString))
4122          return MEDICATIONREQUEST;
4123        if ("MedicationStatement".equals(codeString))
4124          return MEDICATIONSTATEMENT;
4125        if ("MedicinalProduct".equals(codeString))
4126          return MEDICINALPRODUCT;
4127        if ("MedicinalProductAuthorization".equals(codeString))
4128          return MEDICINALPRODUCTAUTHORIZATION;
4129        if ("MedicinalProductContraindication".equals(codeString))
4130          return MEDICINALPRODUCTCONTRAINDICATION;
4131        if ("MedicinalProductIndication".equals(codeString))
4132          return MEDICINALPRODUCTINDICATION;
4133        if ("MedicinalProductIngredient".equals(codeString))
4134          return MEDICINALPRODUCTINGREDIENT;
4135        if ("MedicinalProductInteraction".equals(codeString))
4136          return MEDICINALPRODUCTINTERACTION;
4137        if ("MedicinalProductManufactured".equals(codeString))
4138          return MEDICINALPRODUCTMANUFACTURED;
4139        if ("MedicinalProductPackaged".equals(codeString))
4140          return MEDICINALPRODUCTPACKAGED;
4141        if ("MedicinalProductPharmaceutical".equals(codeString))
4142          return MEDICINALPRODUCTPHARMACEUTICAL;
4143        if ("MedicinalProductUndesirableEffect".equals(codeString))
4144          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
4145        if ("MessageDefinition".equals(codeString))
4146          return MESSAGEDEFINITION;
4147        if ("MessageHeader".equals(codeString))
4148          return MESSAGEHEADER;
4149        if ("MolecularSequence".equals(codeString))
4150          return MOLECULARSEQUENCE;
4151        if ("NamingSystem".equals(codeString))
4152          return NAMINGSYSTEM;
4153        if ("NutritionOrder".equals(codeString))
4154          return NUTRITIONORDER;
4155        if ("Observation".equals(codeString))
4156          return OBSERVATION;
4157        if ("ObservationDefinition".equals(codeString))
4158          return OBSERVATIONDEFINITION;
4159        if ("OperationDefinition".equals(codeString))
4160          return OPERATIONDEFINITION;
4161        if ("OperationOutcome".equals(codeString))
4162          return OPERATIONOUTCOME;
4163        if ("Organization".equals(codeString))
4164          return ORGANIZATION;
4165        if ("OrganizationAffiliation".equals(codeString))
4166          return ORGANIZATIONAFFILIATION;
4167        if ("Parameters".equals(codeString))
4168          return PARAMETERS;
4169        if ("Patient".equals(codeString))
4170          return PATIENT;
4171        if ("PaymentNotice".equals(codeString))
4172          return PAYMENTNOTICE;
4173        if ("PaymentReconciliation".equals(codeString))
4174          return PAYMENTRECONCILIATION;
4175        if ("Person".equals(codeString))
4176          return PERSON;
4177        if ("PlanDefinition".equals(codeString))
4178          return PLANDEFINITION;
4179        if ("Practitioner".equals(codeString))
4180          return PRACTITIONER;
4181        if ("PractitionerRole".equals(codeString))
4182          return PRACTITIONERROLE;
4183        if ("Procedure".equals(codeString))
4184          return PROCEDURE;
4185        if ("Provenance".equals(codeString))
4186          return PROVENANCE;
4187        if ("Questionnaire".equals(codeString))
4188          return QUESTIONNAIRE;
4189        if ("QuestionnaireResponse".equals(codeString))
4190          return QUESTIONNAIRERESPONSE;
4191        if ("RelatedPerson".equals(codeString))
4192          return RELATEDPERSON;
4193        if ("RequestGroup".equals(codeString))
4194          return REQUESTGROUP;
4195        if ("ResearchDefinition".equals(codeString))
4196          return RESEARCHDEFINITION;
4197        if ("ResearchElementDefinition".equals(codeString))
4198          return RESEARCHELEMENTDEFINITION;
4199        if ("ResearchStudy".equals(codeString))
4200          return RESEARCHSTUDY;
4201        if ("ResearchSubject".equals(codeString))
4202          return RESEARCHSUBJECT;
4203        if ("Resource".equals(codeString))
4204          return RESOURCE;
4205        if ("RiskAssessment".equals(codeString))
4206          return RISKASSESSMENT;
4207        if ("RiskEvidenceSynthesis".equals(codeString))
4208          return RISKEVIDENCESYNTHESIS;
4209        if ("Schedule".equals(codeString))
4210          return SCHEDULE;
4211        if ("SearchParameter".equals(codeString))
4212          return SEARCHPARAMETER;
4213        if ("ServiceRequest".equals(codeString))
4214          return SERVICEREQUEST;
4215        if ("Slot".equals(codeString))
4216          return SLOT;
4217        if ("Specimen".equals(codeString))
4218          return SPECIMEN;
4219        if ("SpecimenDefinition".equals(codeString))
4220          return SPECIMENDEFINITION;
4221        if ("StructureDefinition".equals(codeString))
4222          return STRUCTUREDEFINITION;
4223        if ("StructureMap".equals(codeString))
4224          return STRUCTUREMAP;
4225        if ("Subscription".equals(codeString))
4226          return SUBSCRIPTION;
4227        if ("Substance".equals(codeString))
4228          return SUBSTANCE;
4229        if ("SubstanceNucleicAcid".equals(codeString))
4230          return SUBSTANCENUCLEICACID;
4231        if ("SubstancePolymer".equals(codeString))
4232          return SUBSTANCEPOLYMER;
4233        if ("SubstanceProtein".equals(codeString))
4234          return SUBSTANCEPROTEIN;
4235        if ("SubstanceReferenceInformation".equals(codeString))
4236          return SUBSTANCEREFERENCEINFORMATION;
4237        if ("SubstanceSourceMaterial".equals(codeString))
4238          return SUBSTANCESOURCEMATERIAL;
4239        if ("SubstanceSpecification".equals(codeString))
4240          return SUBSTANCESPECIFICATION;
4241        if ("SupplyDelivery".equals(codeString))
4242          return SUPPLYDELIVERY;
4243        if ("SupplyRequest".equals(codeString))
4244          return SUPPLYREQUEST;
4245        if ("Task".equals(codeString))
4246          return TASK;
4247        if ("TerminologyCapabilities".equals(codeString))
4248          return TERMINOLOGYCAPABILITIES;
4249        if ("TestReport".equals(codeString))
4250          return TESTREPORT;
4251        if ("TestScript".equals(codeString))
4252          return TESTSCRIPT;
4253        if ("ValueSet".equals(codeString))
4254          return VALUESET;
4255        if ("VerificationResult".equals(codeString))
4256          return VERIFICATIONRESULT;
4257        if ("VisionPrescription".equals(codeString))
4258          return VISIONPRESCRIPTION;
4259        if ("Type".equals(codeString))
4260          return TYPE;
4261        if ("Any".equals(codeString))
4262          return ANY;
4263        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
4264        }
4265        public String toCode() {
4266          switch (this) {
4267            case ADDRESS: return "Address";
4268            case AGE: return "Age";
4269            case ANNOTATION: return "Annotation";
4270            case ATTACHMENT: return "Attachment";
4271            case BACKBONEELEMENT: return "BackboneElement";
4272            case CODEABLECONCEPT: return "CodeableConcept";
4273            case CODING: return "Coding";
4274            case CONTACTDETAIL: return "ContactDetail";
4275            case CONTACTPOINT: return "ContactPoint";
4276            case CONTRIBUTOR: return "Contributor";
4277            case COUNT: return "Count";
4278            case DATAREQUIREMENT: return "DataRequirement";
4279            case DISTANCE: return "Distance";
4280            case DOSAGE: return "Dosage";
4281            case DURATION: return "Duration";
4282            case ELEMENT: return "Element";
4283            case ELEMENTDEFINITION: return "ElementDefinition";
4284            case EXPRESSION: return "Expression";
4285            case EXTENSION: return "Extension";
4286            case HUMANNAME: return "HumanName";
4287            case IDENTIFIER: return "Identifier";
4288            case MARKETINGSTATUS: return "MarketingStatus";
4289            case META: return "Meta";
4290            case MONEY: return "Money";
4291            case MONEYQUANTITY: return "MoneyQuantity";
4292            case NARRATIVE: return "Narrative";
4293            case PARAMETERDEFINITION: return "ParameterDefinition";
4294            case PERIOD: return "Period";
4295            case POPULATION: return "Population";
4296            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4297            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4298            case QUANTITY: return "Quantity";
4299            case RANGE: return "Range";
4300            case RATIO: return "Ratio";
4301            case REFERENCE: return "Reference";
4302            case RELATEDARTIFACT: return "RelatedArtifact";
4303            case SAMPLEDDATA: return "SampledData";
4304            case SIGNATURE: return "Signature";
4305            case SIMPLEQUANTITY: return "SimpleQuantity";
4306            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4307            case TIMING: return "Timing";
4308            case TRIGGERDEFINITION: return "TriggerDefinition";
4309            case USAGECONTEXT: return "UsageContext";
4310            case BASE64BINARY: return "base64Binary";
4311            case BOOLEAN: return "boolean";
4312            case CANONICAL: return "canonical";
4313            case CODE: return "code";
4314            case DATE: return "date";
4315            case DATETIME: return "dateTime";
4316            case DECIMAL: return "decimal";
4317            case ID: return "id";
4318            case INSTANT: return "instant";
4319            case INTEGER: return "integer";
4320            case MARKDOWN: return "markdown";
4321            case OID: return "oid";
4322            case POSITIVEINT: return "positiveInt";
4323            case STRING: return "string";
4324            case TIME: return "time";
4325            case UNSIGNEDINT: return "unsignedInt";
4326            case URI: return "uri";
4327            case URL: return "url";
4328            case UUID: return "uuid";
4329            case XHTML: return "xhtml";
4330            case ACCOUNT: return "Account";
4331            case ACTIVITYDEFINITION: return "ActivityDefinition";
4332            case ADVERSEEVENT: return "AdverseEvent";
4333            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4334            case APPOINTMENT: return "Appointment";
4335            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4336            case AUDITEVENT: return "AuditEvent";
4337            case BASIC: return "Basic";
4338            case BINARY: return "Binary";
4339            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4340            case BODYSTRUCTURE: return "BodyStructure";
4341            case BUNDLE: return "Bundle";
4342            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4343            case CAREPLAN: return "CarePlan";
4344            case CARETEAM: return "CareTeam";
4345            case CATALOGENTRY: return "CatalogEntry";
4346            case CHARGEITEM: return "ChargeItem";
4347            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
4348            case CLAIM: return "Claim";
4349            case CLAIMRESPONSE: return "ClaimResponse";
4350            case CLINICALIMPRESSION: return "ClinicalImpression";
4351            case CODESYSTEM: return "CodeSystem";
4352            case COMMUNICATION: return "Communication";
4353            case COMMUNICATIONREQUEST: return "CommunicationRequest";
4354            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
4355            case COMPOSITION: return "Composition";
4356            case CONCEPTMAP: return "ConceptMap";
4357            case CONDITION: return "Condition";
4358            case CONSENT: return "Consent";
4359            case CONTRACT: return "Contract";
4360            case COVERAGE: return "Coverage";
4361            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
4362            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
4363            case DETECTEDISSUE: return "DetectedIssue";
4364            case DEVICE: return "Device";
4365            case DEVICEDEFINITION: return "DeviceDefinition";
4366            case DEVICEMETRIC: return "DeviceMetric";
4367            case DEVICEREQUEST: return "DeviceRequest";
4368            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
4369            case DIAGNOSTICREPORT: return "DiagnosticReport";
4370            case DOCUMENTMANIFEST: return "DocumentManifest";
4371            case DOCUMENTREFERENCE: return "DocumentReference";
4372            case DOMAINRESOURCE: return "DomainResource";
4373            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
4374            case ENCOUNTER: return "Encounter";
4375            case ENDPOINT: return "Endpoint";
4376            case ENROLLMENTREQUEST: return "EnrollmentRequest";
4377            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
4378            case EPISODEOFCARE: return "EpisodeOfCare";
4379            case EVENTDEFINITION: return "EventDefinition";
4380            case EVIDENCE: return "Evidence";
4381            case EVIDENCEVARIABLE: return "EvidenceVariable";
4382            case EXAMPLESCENARIO: return "ExampleScenario";
4383            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
4384            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
4385            case FLAG: return "Flag";
4386            case GOAL: return "Goal";
4387            case GRAPHDEFINITION: return "GraphDefinition";
4388            case GROUP: return "Group";
4389            case GUIDANCERESPONSE: return "GuidanceResponse";
4390            case HEALTHCARESERVICE: return "HealthcareService";
4391            case IMAGINGSTUDY: return "ImagingStudy";
4392            case IMMUNIZATION: return "Immunization";
4393            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
4394            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
4395            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
4396            case INSURANCEPLAN: return "InsurancePlan";
4397            case INVOICE: return "Invoice";
4398            case LIBRARY: return "Library";
4399            case LINKAGE: return "Linkage";
4400            case LIST: return "List";
4401            case LOCATION: return "Location";
4402            case MEASURE: return "Measure";
4403            case MEASUREREPORT: return "MeasureReport";
4404            case MEDIA: return "Media";
4405            case MEDICATION: return "Medication";
4406            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
4407            case MEDICATIONDISPENSE: return "MedicationDispense";
4408            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
4409            case MEDICATIONREQUEST: return "MedicationRequest";
4410            case MEDICATIONSTATEMENT: return "MedicationStatement";
4411            case MEDICINALPRODUCT: return "MedicinalProduct";
4412            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
4413            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
4414            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
4415            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
4416            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
4417            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
4418            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
4419            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
4420            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
4421            case MESSAGEDEFINITION: return "MessageDefinition";
4422            case MESSAGEHEADER: return "MessageHeader";
4423            case MOLECULARSEQUENCE: return "MolecularSequence";
4424            case NAMINGSYSTEM: return "NamingSystem";
4425            case NUTRITIONORDER: return "NutritionOrder";
4426            case OBSERVATION: return "Observation";
4427            case OBSERVATIONDEFINITION: return "ObservationDefinition";
4428            case OPERATIONDEFINITION: return "OperationDefinition";
4429            case OPERATIONOUTCOME: return "OperationOutcome";
4430            case ORGANIZATION: return "Organization";
4431            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
4432            case PARAMETERS: return "Parameters";
4433            case PATIENT: return "Patient";
4434            case PAYMENTNOTICE: return "PaymentNotice";
4435            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
4436            case PERSON: return "Person";
4437            case PLANDEFINITION: return "PlanDefinition";
4438            case PRACTITIONER: return "Practitioner";
4439            case PRACTITIONERROLE: return "PractitionerRole";
4440            case PROCEDURE: return "Procedure";
4441            case PROVENANCE: return "Provenance";
4442            case QUESTIONNAIRE: return "Questionnaire";
4443            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
4444            case RELATEDPERSON: return "RelatedPerson";
4445            case REQUESTGROUP: return "RequestGroup";
4446            case RESEARCHDEFINITION: return "ResearchDefinition";
4447            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
4448            case RESEARCHSTUDY: return "ResearchStudy";
4449            case RESEARCHSUBJECT: return "ResearchSubject";
4450            case RESOURCE: return "Resource";
4451            case RISKASSESSMENT: return "RiskAssessment";
4452            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
4453            case SCHEDULE: return "Schedule";
4454            case SEARCHPARAMETER: return "SearchParameter";
4455            case SERVICEREQUEST: return "ServiceRequest";
4456            case SLOT: return "Slot";
4457            case SPECIMEN: return "Specimen";
4458            case SPECIMENDEFINITION: return "SpecimenDefinition";
4459            case STRUCTUREDEFINITION: return "StructureDefinition";
4460            case STRUCTUREMAP: return "StructureMap";
4461            case SUBSCRIPTION: return "Subscription";
4462            case SUBSTANCE: return "Substance";
4463            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
4464            case SUBSTANCEPOLYMER: return "SubstancePolymer";
4465            case SUBSTANCEPROTEIN: return "SubstanceProtein";
4466            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
4467            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
4468            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
4469            case SUPPLYDELIVERY: return "SupplyDelivery";
4470            case SUPPLYREQUEST: return "SupplyRequest";
4471            case TASK: return "Task";
4472            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
4473            case TESTREPORT: return "TestReport";
4474            case TESTSCRIPT: return "TestScript";
4475            case VALUESET: return "ValueSet";
4476            case VERIFICATIONRESULT: return "VerificationResult";
4477            case VISIONPRESCRIPTION: return "VisionPrescription";
4478            case TYPE: return "Type";
4479            case ANY: return "Any";
4480            default: return "?";
4481          }
4482        }
4483        public String getSystem() {
4484          switch (this) {
4485            case ADDRESS: return "http://hl7.org/fhir/data-types";
4486            case AGE: return "http://hl7.org/fhir/data-types";
4487            case ANNOTATION: return "http://hl7.org/fhir/data-types";
4488            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
4489            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
4490            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
4491            case CODING: return "http://hl7.org/fhir/data-types";
4492            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
4493            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
4494            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
4495            case COUNT: return "http://hl7.org/fhir/data-types";
4496            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
4497            case DISTANCE: return "http://hl7.org/fhir/data-types";
4498            case DOSAGE: return "http://hl7.org/fhir/data-types";
4499            case DURATION: return "http://hl7.org/fhir/data-types";
4500            case ELEMENT: return "http://hl7.org/fhir/data-types";
4501            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
4502            case EXPRESSION: return "http://hl7.org/fhir/data-types";
4503            case EXTENSION: return "http://hl7.org/fhir/data-types";
4504            case HUMANNAME: return "http://hl7.org/fhir/data-types";
4505            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
4506            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
4507            case META: return "http://hl7.org/fhir/data-types";
4508            case MONEY: return "http://hl7.org/fhir/data-types";
4509            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
4510            case NARRATIVE: return "http://hl7.org/fhir/data-types";
4511            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
4512            case PERIOD: return "http://hl7.org/fhir/data-types";
4513            case POPULATION: return "http://hl7.org/fhir/data-types";
4514            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
4515            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
4516            case QUANTITY: return "http://hl7.org/fhir/data-types";
4517            case RANGE: return "http://hl7.org/fhir/data-types";
4518            case RATIO: return "http://hl7.org/fhir/data-types";
4519            case REFERENCE: return "http://hl7.org/fhir/data-types";
4520            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
4521            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
4522            case SIGNATURE: return "http://hl7.org/fhir/data-types";
4523            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
4524            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
4525            case TIMING: return "http://hl7.org/fhir/data-types";
4526            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
4527            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
4528            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
4529            case BOOLEAN: return "http://hl7.org/fhir/data-types";
4530            case CANONICAL: return "http://hl7.org/fhir/data-types";
4531            case CODE: return "http://hl7.org/fhir/data-types";
4532            case DATE: return "http://hl7.org/fhir/data-types";
4533            case DATETIME: return "http://hl7.org/fhir/data-types";
4534            case DECIMAL: return "http://hl7.org/fhir/data-types";
4535            case ID: return "http://hl7.org/fhir/data-types";
4536            case INSTANT: return "http://hl7.org/fhir/data-types";
4537            case INTEGER: return "http://hl7.org/fhir/data-types";
4538            case MARKDOWN: return "http://hl7.org/fhir/data-types";
4539            case OID: return "http://hl7.org/fhir/data-types";
4540            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
4541            case STRING: return "http://hl7.org/fhir/data-types";
4542            case TIME: return "http://hl7.org/fhir/data-types";
4543            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
4544            case URI: return "http://hl7.org/fhir/data-types";
4545            case URL: return "http://hl7.org/fhir/data-types";
4546            case UUID: return "http://hl7.org/fhir/data-types";
4547            case XHTML: return "http://hl7.org/fhir/data-types";
4548            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
4549            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
4550            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
4551            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
4552            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
4553            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4554            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
4555            case BASIC: return "http://hl7.org/fhir/resource-types";
4556            case BINARY: return "http://hl7.org/fhir/resource-types";
4557            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
4558            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
4559            case BUNDLE: return "http://hl7.org/fhir/resource-types";
4560            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
4561            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
4562            case CARETEAM: return "http://hl7.org/fhir/resource-types";
4563            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
4564            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
4565            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
4566            case CLAIM: return "http://hl7.org/fhir/resource-types";
4567            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
4568            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
4569            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
4570            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
4571            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4572            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4573            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
4574            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
4575            case CONDITION: return "http://hl7.org/fhir/resource-types";
4576            case CONSENT: return "http://hl7.org/fhir/resource-types";
4577            case CONTRACT: return "http://hl7.org/fhir/resource-types";
4578            case COVERAGE: return "http://hl7.org/fhir/resource-types";
4579            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
4580            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
4581            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
4582            case DEVICE: return "http://hl7.org/fhir/resource-types";
4583            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
4584            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
4585            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4586            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
4587            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
4588            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
4589            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
4590            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
4591            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
4592            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
4593            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
4594            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
4595            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
4596            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
4597            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4598            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
4599            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
4600            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
4601            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
4602            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
4603            case FLAG: return "http://hl7.org/fhir/resource-types";
4604            case GOAL: return "http://hl7.org/fhir/resource-types";
4605            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
4606            case GROUP: return "http://hl7.org/fhir/resource-types";
4607            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
4608            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
4609            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
4610            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
4611            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
4612            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
4613            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
4614            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
4615            case INVOICE: return "http://hl7.org/fhir/resource-types";
4616            case LIBRARY: return "http://hl7.org/fhir/resource-types";
4617            case LINKAGE: return "http://hl7.org/fhir/resource-types";
4618            case LIST: return "http://hl7.org/fhir/resource-types";
4619            case LOCATION: return "http://hl7.org/fhir/resource-types";
4620            case MEASURE: return "http://hl7.org/fhir/resource-types";
4621            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
4622            case MEDIA: return "http://hl7.org/fhir/resource-types";
4623            case MEDICATION: return "http://hl7.org/fhir/resource-types";
4624            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
4625            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
4626            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
4627            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
4628            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
4629            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
4630            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
4631            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
4632            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
4633            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
4634            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
4635            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
4636            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
4637            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
4638            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
4639            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
4640            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
4641            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
4642            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
4643            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
4644            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
4645            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4646            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
4647            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
4648            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
4649            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
4650            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
4651            case PATIENT: return "http://hl7.org/fhir/resource-types";
4652            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
4653            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
4654            case PERSON: return "http://hl7.org/fhir/resource-types";
4655            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
4656            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
4657            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
4658            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
4659            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
4660            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
4661            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
4662            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
4663            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
4664            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
4665            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
4666            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
4667            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
4668            case RESOURCE: return "http://hl7.org/fhir/resource-types";
4669            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
4670            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
4671            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
4672            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
4673            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
4674            case SLOT: return "http://hl7.org/fhir/resource-types";
4675            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
4676            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
4677            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
4678            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
4679            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
4680            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
4681            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
4682            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
4683            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
4684            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
4685            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
4686            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
4687            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
4688            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
4689            case TASK: return "http://hl7.org/fhir/resource-types";
4690            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
4691            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
4692            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
4693            case VALUESET: return "http://hl7.org/fhir/resource-types";
4694            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
4695            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
4696            case TYPE: return "http://hl7.org/fhir/abstract-types";
4697            case ANY: return "http://hl7.org/fhir/abstract-types";
4698            default: return "?";
4699          }
4700        }
4701        public String getDefinition() {
4702          switch (this) {
4703            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.";
4704            case AGE: return "A duration of time during which an organism (or a process) has existed.";
4705            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
4706            case ATTACHMENT: return "For referring to data content defined in other formats.";
4707            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
4708            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
4709            case CODING: return "A reference to a code defined by a terminology system.";
4710            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
4711            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
4712            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
4713            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.";
4714            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.";
4715            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
4716            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
4717            case DURATION: return "A length of time.";
4718            case ELEMENT: return "Base definition for all elements in a resource.";
4719            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
4720            case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
4721            case EXTENSION: return "Optional Extension Element - found in all resources.";
4722            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
4723            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
4724            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.";
4725            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.";
4726            case MONEY: return "An amount of economic utility in some recognized currency.";
4727            case MONEYQUANTITY: return "";
4728            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
4729            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.";
4730            case PERIOD: return "A time period defined by a start and end date and optionally time.";
4731            case POPULATION: return "A populatioof people with some set of grouping criteria.";
4732            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.";
4733            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
4734            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.";
4735            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
4736            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
4737            case REFERENCE: return "A reference from one resource to another.";
4738            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
4739            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.";
4740            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.";
4741            case SIMPLEQUANTITY: return "";
4742            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.";
4743            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.";
4744            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.";
4745            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).";
4746            case BASE64BINARY: return "A stream of bytes";
4747            case BOOLEAN: return "Value of \"true\" or \"false\"";
4748            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
4749            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";
4750            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.";
4751            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.";
4752            case DECIMAL: return "A rational number with implicit precision";
4753            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.";
4754            case INSTANT: return "An instant in time - known at least to the second";
4755            case INTEGER: return "A whole number";
4756            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
4757            case OID: return "An OID represented as a URI";
4758            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
4759            case STRING: return "A sequence of Unicode characters";
4760            case TIME: return "A time during the day, with no date specified";
4761            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
4762            case URI: return "String of characters used to identify a name or a resource";
4763            case URL: return "A URI that is a literal reference";
4764            case UUID: return "A UUID, represented as a URI";
4765            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
4766            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.";
4767            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.";
4768            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.";
4769            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
4770            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).";
4771            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
4772            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.";
4773            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.";
4774            case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
4775            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
4776            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.";
4777            case BUNDLE: return "A container for a collection of resources.";
4778            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
4779            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.";
4780            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.";
4781            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
4782            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.";
4783            case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
4784            case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
4785            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
4786            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.";
4787            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.";
4788            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
4789            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.";
4790            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
4791            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.).";
4792            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
4793            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
4794            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.";
4795            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
4796            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
4797            case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
4798            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
4799            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.";
4800            case DEVICE: return "A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.";
4801            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
4802            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
4803            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.";
4804            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.";
4805            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.";
4806            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
4807            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
4808            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
4809            case EFFECTEVIDENCESYNTHESIS: return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
4810            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.";
4811            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.";
4812            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
4813            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
4814            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.";
4815            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
4816            case EVIDENCE: return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
4817            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
4818            case EXAMPLESCENARIO: return "Example of workflow instance.";
4819            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.";
4820            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
4821            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
4822            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.";
4823            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.";
4824            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.";
4825            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.";
4826            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
4827            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.";
4828            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.";
4829            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.";
4830            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
4831            case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
4832            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
4833            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
4834            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.";
4835            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
4836            case LIST: return "A list is a curated collection of resources.";
4837            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.";
4838            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
4839            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.";
4840            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.";
4841            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.";
4842            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.";
4843            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.";
4844            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
4845            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.";
4846            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
4847            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
4848            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
4849            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
4850            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
4851            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
4852            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
4853            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
4854            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
4855            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
4856            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
4857            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.";
4858            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.";
4859            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
4860            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.";
4861            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
4862            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
4863            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
4864            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
4865            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
4866            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
4867            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
4868            case PARAMETERS: return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
4869            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
4870            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
4871            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
4872            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
4873            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.";
4874            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
4875            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
4876            case PROCEDURE: return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
4877            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.";
4878            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.";
4879            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.";
4880            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.";
4881            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\".";
4882            case RESEARCHDEFINITION: return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
4883            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
4884            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.";
4885            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
4886            case RESOURCE: return "This is the base resource type for everything.";
4887            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
4888            case RISKEVIDENCESYNTHESIS: return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
4889            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
4890            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
4891            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
4892            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
4893            case SPECIMEN: return "A sample to be used for analysis.";
4894            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
4895            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.";
4896            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
4897            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.";
4898            case SUBSTANCE: return "A homogeneous material with a definite composition.";
4899            case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.";
4900            case SUBSTANCEPOLYMER: return "Todo.";
4901            case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
4902            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
4903            case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
4904            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
4905            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
4906            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
4907            case TASK: return "A task to be performed.";
4908            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.";
4909            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
4910            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
4911            case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
4912            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
4913            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
4914            case TYPE: return "A place holder that means any kind of data type";
4915            case ANY: return "A place holder that means any kind of resource";
4916            default: return "?";
4917          }
4918        }
4919        public String getDisplay() {
4920          switch (this) {
4921            case ADDRESS: return "Address";
4922            case AGE: return "Age";
4923            case ANNOTATION: return "Annotation";
4924            case ATTACHMENT: return "Attachment";
4925            case BACKBONEELEMENT: return "BackboneElement";
4926            case CODEABLECONCEPT: return "CodeableConcept";
4927            case CODING: return "Coding";
4928            case CONTACTDETAIL: return "ContactDetail";
4929            case CONTACTPOINT: return "ContactPoint";
4930            case CONTRIBUTOR: return "Contributor";
4931            case COUNT: return "Count";
4932            case DATAREQUIREMENT: return "DataRequirement";
4933            case DISTANCE: return "Distance";
4934            case DOSAGE: return "Dosage";
4935            case DURATION: return "Duration";
4936            case ELEMENT: return "Element";
4937            case ELEMENTDEFINITION: return "ElementDefinition";
4938            case EXPRESSION: return "Expression";
4939            case EXTENSION: return "Extension";
4940            case HUMANNAME: return "HumanName";
4941            case IDENTIFIER: return "Identifier";
4942            case MARKETINGSTATUS: return "MarketingStatus";
4943            case META: return "Meta";
4944            case MONEY: return "Money";
4945            case MONEYQUANTITY: return "MoneyQuantity";
4946            case NARRATIVE: return "Narrative";
4947            case PARAMETERDEFINITION: return "ParameterDefinition";
4948            case PERIOD: return "Period";
4949            case POPULATION: return "Population";
4950            case PRODCHARACTERISTIC: return "ProdCharacteristic";
4951            case PRODUCTSHELFLIFE: return "ProductShelfLife";
4952            case QUANTITY: return "Quantity";
4953            case RANGE: return "Range";
4954            case RATIO: return "Ratio";
4955            case REFERENCE: return "Reference";
4956            case RELATEDARTIFACT: return "RelatedArtifact";
4957            case SAMPLEDDATA: return "SampledData";
4958            case SIGNATURE: return "Signature";
4959            case SIMPLEQUANTITY: return "SimpleQuantity";
4960            case SUBSTANCEAMOUNT: return "SubstanceAmount";
4961            case TIMING: return "Timing";
4962            case TRIGGERDEFINITION: return "TriggerDefinition";
4963            case USAGECONTEXT: return "UsageContext";
4964            case BASE64BINARY: return "base64Binary";
4965            case BOOLEAN: return "boolean";
4966            case CANONICAL: return "canonical";
4967            case CODE: return "code";
4968            case DATE: return "date";
4969            case DATETIME: return "dateTime";
4970            case DECIMAL: return "decimal";
4971            case ID: return "id";
4972            case INSTANT: return "instant";
4973            case INTEGER: return "integer";
4974            case MARKDOWN: return "markdown";
4975            case OID: return "oid";
4976            case POSITIVEINT: return "positiveInt";
4977            case STRING: return "string";
4978            case TIME: return "time";
4979            case UNSIGNEDINT: return "unsignedInt";
4980            case URI: return "uri";
4981            case URL: return "url";
4982            case UUID: return "uuid";
4983            case XHTML: return "XHTML";
4984            case ACCOUNT: return "Account";
4985            case ACTIVITYDEFINITION: return "ActivityDefinition";
4986            case ADVERSEEVENT: return "AdverseEvent";
4987            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
4988            case APPOINTMENT: return "Appointment";
4989            case APPOINTMENTRESPONSE: return "AppointmentResponse";
4990            case AUDITEVENT: return "AuditEvent";
4991            case BASIC: return "Basic";
4992            case BINARY: return "Binary";
4993            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
4994            case BODYSTRUCTURE: return "BodyStructure";
4995            case BUNDLE: return "Bundle";
4996            case CAPABILITYSTATEMENT: return "CapabilityStatement";
4997            case CAREPLAN: return "CarePlan";
4998            case CARETEAM: return "CareTeam";
4999            case CATALOGENTRY: return "CatalogEntry";
5000            case CHARGEITEM: return "ChargeItem";
5001            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
5002            case CLAIM: return "Claim";
5003            case CLAIMRESPONSE: return "ClaimResponse";
5004            case CLINICALIMPRESSION: return "ClinicalImpression";
5005            case CODESYSTEM: return "CodeSystem";
5006            case COMMUNICATION: return "Communication";
5007            case COMMUNICATIONREQUEST: return "CommunicationRequest";
5008            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
5009            case COMPOSITION: return "Composition";
5010            case CONCEPTMAP: return "ConceptMap";
5011            case CONDITION: return "Condition";
5012            case CONSENT: return "Consent";
5013            case CONTRACT: return "Contract";
5014            case COVERAGE: return "Coverage";
5015            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
5016            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
5017            case DETECTEDISSUE: return "DetectedIssue";
5018            case DEVICE: return "Device";
5019            case DEVICEDEFINITION: return "DeviceDefinition";
5020            case DEVICEMETRIC: return "DeviceMetric";
5021            case DEVICEREQUEST: return "DeviceRequest";
5022            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
5023            case DIAGNOSTICREPORT: return "DiagnosticReport";
5024            case DOCUMENTMANIFEST: return "DocumentManifest";
5025            case DOCUMENTREFERENCE: return "DocumentReference";
5026            case DOMAINRESOURCE: return "DomainResource";
5027            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
5028            case ENCOUNTER: return "Encounter";
5029            case ENDPOINT: return "Endpoint";
5030            case ENROLLMENTREQUEST: return "EnrollmentRequest";
5031            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
5032            case EPISODEOFCARE: return "EpisodeOfCare";
5033            case EVENTDEFINITION: return "EventDefinition";
5034            case EVIDENCE: return "Evidence";
5035            case EVIDENCEVARIABLE: return "EvidenceVariable";
5036            case EXAMPLESCENARIO: return "ExampleScenario";
5037            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
5038            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
5039            case FLAG: return "Flag";
5040            case GOAL: return "Goal";
5041            case GRAPHDEFINITION: return "GraphDefinition";
5042            case GROUP: return "Group";
5043            case GUIDANCERESPONSE: return "GuidanceResponse";
5044            case HEALTHCARESERVICE: return "HealthcareService";
5045            case IMAGINGSTUDY: return "ImagingStudy";
5046            case IMMUNIZATION: return "Immunization";
5047            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
5048            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
5049            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
5050            case INSURANCEPLAN: return "InsurancePlan";
5051            case INVOICE: return "Invoice";
5052            case LIBRARY: return "Library";
5053            case LINKAGE: return "Linkage";
5054            case LIST: return "List";
5055            case LOCATION: return "Location";
5056            case MEASURE: return "Measure";
5057            case MEASUREREPORT: return "MeasureReport";
5058            case MEDIA: return "Media";
5059            case MEDICATION: return "Medication";
5060            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
5061            case MEDICATIONDISPENSE: return "MedicationDispense";
5062            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
5063            case MEDICATIONREQUEST: return "MedicationRequest";
5064            case MEDICATIONSTATEMENT: return "MedicationStatement";
5065            case MEDICINALPRODUCT: return "MedicinalProduct";
5066            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
5067            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
5068            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
5069            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
5070            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
5071            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
5072            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
5073            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
5074            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
5075            case MESSAGEDEFINITION: return "MessageDefinition";
5076            case MESSAGEHEADER: return "MessageHeader";
5077            case MOLECULARSEQUENCE: return "MolecularSequence";
5078            case NAMINGSYSTEM: return "NamingSystem";
5079            case NUTRITIONORDER: return "NutritionOrder";
5080            case OBSERVATION: return "Observation";
5081            case OBSERVATIONDEFINITION: return "ObservationDefinition";
5082            case OPERATIONDEFINITION: return "OperationDefinition";
5083            case OPERATIONOUTCOME: return "OperationOutcome";
5084            case ORGANIZATION: return "Organization";
5085            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
5086            case PARAMETERS: return "Parameters";
5087            case PATIENT: return "Patient";
5088            case PAYMENTNOTICE: return "PaymentNotice";
5089            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
5090            case PERSON: return "Person";
5091            case PLANDEFINITION: return "PlanDefinition";
5092            case PRACTITIONER: return "Practitioner";
5093            case PRACTITIONERROLE: return "PractitionerRole";
5094            case PROCEDURE: return "Procedure";
5095            case PROVENANCE: return "Provenance";
5096            case QUESTIONNAIRE: return "Questionnaire";
5097            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
5098            case RELATEDPERSON: return "RelatedPerson";
5099            case REQUESTGROUP: return "RequestGroup";
5100            case RESEARCHDEFINITION: return "ResearchDefinition";
5101            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
5102            case RESEARCHSTUDY: return "ResearchStudy";
5103            case RESEARCHSUBJECT: return "ResearchSubject";
5104            case RESOURCE: return "Resource";
5105            case RISKASSESSMENT: return "RiskAssessment";
5106            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
5107            case SCHEDULE: return "Schedule";
5108            case SEARCHPARAMETER: return "SearchParameter";
5109            case SERVICEREQUEST: return "ServiceRequest";
5110            case SLOT: return "Slot";
5111            case SPECIMEN: return "Specimen";
5112            case SPECIMENDEFINITION: return "SpecimenDefinition";
5113            case STRUCTUREDEFINITION: return "StructureDefinition";
5114            case STRUCTUREMAP: return "StructureMap";
5115            case SUBSCRIPTION: return "Subscription";
5116            case SUBSTANCE: return "Substance";
5117            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
5118            case SUBSTANCEPOLYMER: return "SubstancePolymer";
5119            case SUBSTANCEPROTEIN: return "SubstanceProtein";
5120            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
5121            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
5122            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
5123            case SUPPLYDELIVERY: return "SupplyDelivery";
5124            case SUPPLYREQUEST: return "SupplyRequest";
5125            case TASK: return "Task";
5126            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
5127            case TESTREPORT: return "TestReport";
5128            case TESTSCRIPT: return "TestScript";
5129            case VALUESET: return "ValueSet";
5130            case VERIFICATIONRESULT: return "VerificationResult";
5131            case VISIONPRESCRIPTION: return "VisionPrescription";
5132            case TYPE: return "Type";
5133            case ANY: return "Any";
5134            default: return "?";
5135          }
5136        }
5137    }
5138
5139  public static class FHIRAllTypesEnumFactory implements EnumFactory<FHIRAllTypes> {
5140    public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException {
5141      if (codeString == null || "".equals(codeString))
5142            if (codeString == null || "".equals(codeString))
5143                return null;
5144        if ("Address".equals(codeString))
5145          return FHIRAllTypes.ADDRESS;
5146        if ("Age".equals(codeString))
5147          return FHIRAllTypes.AGE;
5148        if ("Annotation".equals(codeString))
5149          return FHIRAllTypes.ANNOTATION;
5150        if ("Attachment".equals(codeString))
5151          return FHIRAllTypes.ATTACHMENT;
5152        if ("BackboneElement".equals(codeString))
5153          return FHIRAllTypes.BACKBONEELEMENT;
5154        if ("CodeableConcept".equals(codeString))
5155          return FHIRAllTypes.CODEABLECONCEPT;
5156        if ("Coding".equals(codeString))
5157          return FHIRAllTypes.CODING;
5158        if ("ContactDetail".equals(codeString))
5159          return FHIRAllTypes.CONTACTDETAIL;
5160        if ("ContactPoint".equals(codeString))
5161          return FHIRAllTypes.CONTACTPOINT;
5162        if ("Contributor".equals(codeString))
5163          return FHIRAllTypes.CONTRIBUTOR;
5164        if ("Count".equals(codeString))
5165          return FHIRAllTypes.COUNT;
5166        if ("DataRequirement".equals(codeString))
5167          return FHIRAllTypes.DATAREQUIREMENT;
5168        if ("Distance".equals(codeString))
5169          return FHIRAllTypes.DISTANCE;
5170        if ("Dosage".equals(codeString))
5171          return FHIRAllTypes.DOSAGE;
5172        if ("Duration".equals(codeString))
5173          return FHIRAllTypes.DURATION;
5174        if ("Element".equals(codeString))
5175          return FHIRAllTypes.ELEMENT;
5176        if ("ElementDefinition".equals(codeString))
5177          return FHIRAllTypes.ELEMENTDEFINITION;
5178        if ("Expression".equals(codeString))
5179          return FHIRAllTypes.EXPRESSION;
5180        if ("Extension".equals(codeString))
5181          return FHIRAllTypes.EXTENSION;
5182        if ("HumanName".equals(codeString))
5183          return FHIRAllTypes.HUMANNAME;
5184        if ("Identifier".equals(codeString))
5185          return FHIRAllTypes.IDENTIFIER;
5186        if ("MarketingStatus".equals(codeString))
5187          return FHIRAllTypes.MARKETINGSTATUS;
5188        if ("Meta".equals(codeString))
5189          return FHIRAllTypes.META;
5190        if ("Money".equals(codeString))
5191          return FHIRAllTypes.MONEY;
5192        if ("MoneyQuantity".equals(codeString))
5193          return FHIRAllTypes.MONEYQUANTITY;
5194        if ("Narrative".equals(codeString))
5195          return FHIRAllTypes.NARRATIVE;
5196        if ("ParameterDefinition".equals(codeString))
5197          return FHIRAllTypes.PARAMETERDEFINITION;
5198        if ("Period".equals(codeString))
5199          return FHIRAllTypes.PERIOD;
5200        if ("Population".equals(codeString))
5201          return FHIRAllTypes.POPULATION;
5202        if ("ProdCharacteristic".equals(codeString))
5203          return FHIRAllTypes.PRODCHARACTERISTIC;
5204        if ("ProductShelfLife".equals(codeString))
5205          return FHIRAllTypes.PRODUCTSHELFLIFE;
5206        if ("Quantity".equals(codeString))
5207          return FHIRAllTypes.QUANTITY;
5208        if ("Range".equals(codeString))
5209          return FHIRAllTypes.RANGE;
5210        if ("Ratio".equals(codeString))
5211          return FHIRAllTypes.RATIO;
5212        if ("Reference".equals(codeString))
5213          return FHIRAllTypes.REFERENCE;
5214        if ("RelatedArtifact".equals(codeString))
5215          return FHIRAllTypes.RELATEDARTIFACT;
5216        if ("SampledData".equals(codeString))
5217          return FHIRAllTypes.SAMPLEDDATA;
5218        if ("Signature".equals(codeString))
5219          return FHIRAllTypes.SIGNATURE;
5220        if ("SimpleQuantity".equals(codeString))
5221          return FHIRAllTypes.SIMPLEQUANTITY;
5222        if ("SubstanceAmount".equals(codeString))
5223          return FHIRAllTypes.SUBSTANCEAMOUNT;
5224        if ("Timing".equals(codeString))
5225          return FHIRAllTypes.TIMING;
5226        if ("TriggerDefinition".equals(codeString))
5227          return FHIRAllTypes.TRIGGERDEFINITION;
5228        if ("UsageContext".equals(codeString))
5229          return FHIRAllTypes.USAGECONTEXT;
5230        if ("base64Binary".equals(codeString))
5231          return FHIRAllTypes.BASE64BINARY;
5232        if ("boolean".equals(codeString))
5233          return FHIRAllTypes.BOOLEAN;
5234        if ("canonical".equals(codeString))
5235          return FHIRAllTypes.CANONICAL;
5236        if ("code".equals(codeString))
5237          return FHIRAllTypes.CODE;
5238        if ("date".equals(codeString))
5239          return FHIRAllTypes.DATE;
5240        if ("dateTime".equals(codeString))
5241          return FHIRAllTypes.DATETIME;
5242        if ("decimal".equals(codeString))
5243          return FHIRAllTypes.DECIMAL;
5244        if ("id".equals(codeString))
5245          return FHIRAllTypes.ID;
5246        if ("instant".equals(codeString))
5247          return FHIRAllTypes.INSTANT;
5248        if ("integer".equals(codeString))
5249          return FHIRAllTypes.INTEGER;
5250        if ("markdown".equals(codeString))
5251          return FHIRAllTypes.MARKDOWN;
5252        if ("oid".equals(codeString))
5253          return FHIRAllTypes.OID;
5254        if ("positiveInt".equals(codeString))
5255          return FHIRAllTypes.POSITIVEINT;
5256        if ("string".equals(codeString))
5257          return FHIRAllTypes.STRING;
5258        if ("time".equals(codeString))
5259          return FHIRAllTypes.TIME;
5260        if ("unsignedInt".equals(codeString))
5261          return FHIRAllTypes.UNSIGNEDINT;
5262        if ("uri".equals(codeString))
5263          return FHIRAllTypes.URI;
5264        if ("url".equals(codeString))
5265          return FHIRAllTypes.URL;
5266        if ("uuid".equals(codeString))
5267          return FHIRAllTypes.UUID;
5268        if ("xhtml".equals(codeString))
5269          return FHIRAllTypes.XHTML;
5270        if ("Account".equals(codeString))
5271          return FHIRAllTypes.ACCOUNT;
5272        if ("ActivityDefinition".equals(codeString))
5273          return FHIRAllTypes.ACTIVITYDEFINITION;
5274        if ("AdverseEvent".equals(codeString))
5275          return FHIRAllTypes.ADVERSEEVENT;
5276        if ("AllergyIntolerance".equals(codeString))
5277          return FHIRAllTypes.ALLERGYINTOLERANCE;
5278        if ("Appointment".equals(codeString))
5279          return FHIRAllTypes.APPOINTMENT;
5280        if ("AppointmentResponse".equals(codeString))
5281          return FHIRAllTypes.APPOINTMENTRESPONSE;
5282        if ("AuditEvent".equals(codeString))
5283          return FHIRAllTypes.AUDITEVENT;
5284        if ("Basic".equals(codeString))
5285          return FHIRAllTypes.BASIC;
5286        if ("Binary".equals(codeString))
5287          return FHIRAllTypes.BINARY;
5288        if ("BiologicallyDerivedProduct".equals(codeString))
5289          return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT;
5290        if ("BodyStructure".equals(codeString))
5291          return FHIRAllTypes.BODYSTRUCTURE;
5292        if ("Bundle".equals(codeString))
5293          return FHIRAllTypes.BUNDLE;
5294        if ("CapabilityStatement".equals(codeString))
5295          return FHIRAllTypes.CAPABILITYSTATEMENT;
5296        if ("CarePlan".equals(codeString))
5297          return FHIRAllTypes.CAREPLAN;
5298        if ("CareTeam".equals(codeString))
5299          return FHIRAllTypes.CARETEAM;
5300        if ("CatalogEntry".equals(codeString))
5301          return FHIRAllTypes.CATALOGENTRY;
5302        if ("ChargeItem".equals(codeString))
5303          return FHIRAllTypes.CHARGEITEM;
5304        if ("ChargeItemDefinition".equals(codeString))
5305          return FHIRAllTypes.CHARGEITEMDEFINITION;
5306        if ("Claim".equals(codeString))
5307          return FHIRAllTypes.CLAIM;
5308        if ("ClaimResponse".equals(codeString))
5309          return FHIRAllTypes.CLAIMRESPONSE;
5310        if ("ClinicalImpression".equals(codeString))
5311          return FHIRAllTypes.CLINICALIMPRESSION;
5312        if ("CodeSystem".equals(codeString))
5313          return FHIRAllTypes.CODESYSTEM;
5314        if ("Communication".equals(codeString))
5315          return FHIRAllTypes.COMMUNICATION;
5316        if ("CommunicationRequest".equals(codeString))
5317          return FHIRAllTypes.COMMUNICATIONREQUEST;
5318        if ("CompartmentDefinition".equals(codeString))
5319          return FHIRAllTypes.COMPARTMENTDEFINITION;
5320        if ("Composition".equals(codeString))
5321          return FHIRAllTypes.COMPOSITION;
5322        if ("ConceptMap".equals(codeString))
5323          return FHIRAllTypes.CONCEPTMAP;
5324        if ("Condition".equals(codeString))
5325          return FHIRAllTypes.CONDITION;
5326        if ("Consent".equals(codeString))
5327          return FHIRAllTypes.CONSENT;
5328        if ("Contract".equals(codeString))
5329          return FHIRAllTypes.CONTRACT;
5330        if ("Coverage".equals(codeString))
5331          return FHIRAllTypes.COVERAGE;
5332        if ("CoverageEligibilityRequest".equals(codeString))
5333          return FHIRAllTypes.COVERAGEELIGIBILITYREQUEST;
5334        if ("CoverageEligibilityResponse".equals(codeString))
5335          return FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE;
5336        if ("DetectedIssue".equals(codeString))
5337          return FHIRAllTypes.DETECTEDISSUE;
5338        if ("Device".equals(codeString))
5339          return FHIRAllTypes.DEVICE;
5340        if ("DeviceDefinition".equals(codeString))
5341          return FHIRAllTypes.DEVICEDEFINITION;
5342        if ("DeviceMetric".equals(codeString))
5343          return FHIRAllTypes.DEVICEMETRIC;
5344        if ("DeviceRequest".equals(codeString))
5345          return FHIRAllTypes.DEVICEREQUEST;
5346        if ("DeviceUseStatement".equals(codeString))
5347          return FHIRAllTypes.DEVICEUSESTATEMENT;
5348        if ("DiagnosticReport".equals(codeString))
5349          return FHIRAllTypes.DIAGNOSTICREPORT;
5350        if ("DocumentManifest".equals(codeString))
5351          return FHIRAllTypes.DOCUMENTMANIFEST;
5352        if ("DocumentReference".equals(codeString))
5353          return FHIRAllTypes.DOCUMENTREFERENCE;
5354        if ("DomainResource".equals(codeString))
5355          return FHIRAllTypes.DOMAINRESOURCE;
5356        if ("EffectEvidenceSynthesis".equals(codeString))
5357          return FHIRAllTypes.EFFECTEVIDENCESYNTHESIS;
5358        if ("Encounter".equals(codeString))
5359          return FHIRAllTypes.ENCOUNTER;
5360        if ("Endpoint".equals(codeString))
5361          return FHIRAllTypes.ENDPOINT;
5362        if ("EnrollmentRequest".equals(codeString))
5363          return FHIRAllTypes.ENROLLMENTREQUEST;
5364        if ("EnrollmentResponse".equals(codeString))
5365          return FHIRAllTypes.ENROLLMENTRESPONSE;
5366        if ("EpisodeOfCare".equals(codeString))
5367          return FHIRAllTypes.EPISODEOFCARE;
5368        if ("EventDefinition".equals(codeString))
5369          return FHIRAllTypes.EVENTDEFINITION;
5370        if ("Evidence".equals(codeString))
5371          return FHIRAllTypes.EVIDENCE;
5372        if ("EvidenceVariable".equals(codeString))
5373          return FHIRAllTypes.EVIDENCEVARIABLE;
5374        if ("ExampleScenario".equals(codeString))
5375          return FHIRAllTypes.EXAMPLESCENARIO;
5376        if ("ExplanationOfBenefit".equals(codeString))
5377          return FHIRAllTypes.EXPLANATIONOFBENEFIT;
5378        if ("FamilyMemberHistory".equals(codeString))
5379          return FHIRAllTypes.FAMILYMEMBERHISTORY;
5380        if ("Flag".equals(codeString))
5381          return FHIRAllTypes.FLAG;
5382        if ("Goal".equals(codeString))
5383          return FHIRAllTypes.GOAL;
5384        if ("GraphDefinition".equals(codeString))
5385          return FHIRAllTypes.GRAPHDEFINITION;
5386        if ("Group".equals(codeString))
5387          return FHIRAllTypes.GROUP;
5388        if ("GuidanceResponse".equals(codeString))
5389          return FHIRAllTypes.GUIDANCERESPONSE;
5390        if ("HealthcareService".equals(codeString))
5391          return FHIRAllTypes.HEALTHCARESERVICE;
5392        if ("ImagingStudy".equals(codeString))
5393          return FHIRAllTypes.IMAGINGSTUDY;
5394        if ("Immunization".equals(codeString))
5395          return FHIRAllTypes.IMMUNIZATION;
5396        if ("ImmunizationEvaluation".equals(codeString))
5397          return FHIRAllTypes.IMMUNIZATIONEVALUATION;
5398        if ("ImmunizationRecommendation".equals(codeString))
5399          return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION;
5400        if ("ImplementationGuide".equals(codeString))
5401          return FHIRAllTypes.IMPLEMENTATIONGUIDE;
5402        if ("InsurancePlan".equals(codeString))
5403          return FHIRAllTypes.INSURANCEPLAN;
5404        if ("Invoice".equals(codeString))
5405          return FHIRAllTypes.INVOICE;
5406        if ("Library".equals(codeString))
5407          return FHIRAllTypes.LIBRARY;
5408        if ("Linkage".equals(codeString))
5409          return FHIRAllTypes.LINKAGE;
5410        if ("List".equals(codeString))
5411          return FHIRAllTypes.LIST;
5412        if ("Location".equals(codeString))
5413          return FHIRAllTypes.LOCATION;
5414        if ("Measure".equals(codeString))
5415          return FHIRAllTypes.MEASURE;
5416        if ("MeasureReport".equals(codeString))
5417          return FHIRAllTypes.MEASUREREPORT;
5418        if ("Media".equals(codeString))
5419          return FHIRAllTypes.MEDIA;
5420        if ("Medication".equals(codeString))
5421          return FHIRAllTypes.MEDICATION;
5422        if ("MedicationAdministration".equals(codeString))
5423          return FHIRAllTypes.MEDICATIONADMINISTRATION;
5424        if ("MedicationDispense".equals(codeString))
5425          return FHIRAllTypes.MEDICATIONDISPENSE;
5426        if ("MedicationKnowledge".equals(codeString))
5427          return FHIRAllTypes.MEDICATIONKNOWLEDGE;
5428        if ("MedicationRequest".equals(codeString))
5429          return FHIRAllTypes.MEDICATIONREQUEST;
5430        if ("MedicationStatement".equals(codeString))
5431          return FHIRAllTypes.MEDICATIONSTATEMENT;
5432        if ("MedicinalProduct".equals(codeString))
5433          return FHIRAllTypes.MEDICINALPRODUCT;
5434        if ("MedicinalProductAuthorization".equals(codeString))
5435          return FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION;
5436        if ("MedicinalProductContraindication".equals(codeString))
5437          return FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION;
5438        if ("MedicinalProductIndication".equals(codeString))
5439          return FHIRAllTypes.MEDICINALPRODUCTINDICATION;
5440        if ("MedicinalProductIngredient".equals(codeString))
5441          return FHIRAllTypes.MEDICINALPRODUCTINGREDIENT;
5442        if ("MedicinalProductInteraction".equals(codeString))
5443          return FHIRAllTypes.MEDICINALPRODUCTINTERACTION;
5444        if ("MedicinalProductManufactured".equals(codeString))
5445          return FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED;
5446        if ("MedicinalProductPackaged".equals(codeString))
5447          return FHIRAllTypes.MEDICINALPRODUCTPACKAGED;
5448        if ("MedicinalProductPharmaceutical".equals(codeString))
5449          return FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL;
5450        if ("MedicinalProductUndesirableEffect".equals(codeString))
5451          return FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT;
5452        if ("MessageDefinition".equals(codeString))
5453          return FHIRAllTypes.MESSAGEDEFINITION;
5454        if ("MessageHeader".equals(codeString))
5455          return FHIRAllTypes.MESSAGEHEADER;
5456        if ("MolecularSequence".equals(codeString))
5457          return FHIRAllTypes.MOLECULARSEQUENCE;
5458        if ("NamingSystem".equals(codeString))
5459          return FHIRAllTypes.NAMINGSYSTEM;
5460        if ("NutritionOrder".equals(codeString))
5461          return FHIRAllTypes.NUTRITIONORDER;
5462        if ("Observation".equals(codeString))
5463          return FHIRAllTypes.OBSERVATION;
5464        if ("ObservationDefinition".equals(codeString))
5465          return FHIRAllTypes.OBSERVATIONDEFINITION;
5466        if ("OperationDefinition".equals(codeString))
5467          return FHIRAllTypes.OPERATIONDEFINITION;
5468        if ("OperationOutcome".equals(codeString))
5469          return FHIRAllTypes.OPERATIONOUTCOME;
5470        if ("Organization".equals(codeString))
5471          return FHIRAllTypes.ORGANIZATION;
5472        if ("OrganizationAffiliation".equals(codeString))
5473          return FHIRAllTypes.ORGANIZATIONAFFILIATION;
5474        if ("Parameters".equals(codeString))
5475          return FHIRAllTypes.PARAMETERS;
5476        if ("Patient".equals(codeString))
5477          return FHIRAllTypes.PATIENT;
5478        if ("PaymentNotice".equals(codeString))
5479          return FHIRAllTypes.PAYMENTNOTICE;
5480        if ("PaymentReconciliation".equals(codeString))
5481          return FHIRAllTypes.PAYMENTRECONCILIATION;
5482        if ("Person".equals(codeString))
5483          return FHIRAllTypes.PERSON;
5484        if ("PlanDefinition".equals(codeString))
5485          return FHIRAllTypes.PLANDEFINITION;
5486        if ("Practitioner".equals(codeString))
5487          return FHIRAllTypes.PRACTITIONER;
5488        if ("PractitionerRole".equals(codeString))
5489          return FHIRAllTypes.PRACTITIONERROLE;
5490        if ("Procedure".equals(codeString))
5491          return FHIRAllTypes.PROCEDURE;
5492        if ("Provenance".equals(codeString))
5493          return FHIRAllTypes.PROVENANCE;
5494        if ("Questionnaire".equals(codeString))
5495          return FHIRAllTypes.QUESTIONNAIRE;
5496        if ("QuestionnaireResponse".equals(codeString))
5497          return FHIRAllTypes.QUESTIONNAIRERESPONSE;
5498        if ("RelatedPerson".equals(codeString))
5499          return FHIRAllTypes.RELATEDPERSON;
5500        if ("RequestGroup".equals(codeString))
5501          return FHIRAllTypes.REQUESTGROUP;
5502        if ("ResearchDefinition".equals(codeString))
5503          return FHIRAllTypes.RESEARCHDEFINITION;
5504        if ("ResearchElementDefinition".equals(codeString))
5505          return FHIRAllTypes.RESEARCHELEMENTDEFINITION;
5506        if ("ResearchStudy".equals(codeString))
5507          return FHIRAllTypes.RESEARCHSTUDY;
5508        if ("ResearchSubject".equals(codeString))
5509          return FHIRAllTypes.RESEARCHSUBJECT;
5510        if ("Resource".equals(codeString))
5511          return FHIRAllTypes.RESOURCE;
5512        if ("RiskAssessment".equals(codeString))
5513          return FHIRAllTypes.RISKASSESSMENT;
5514        if ("RiskEvidenceSynthesis".equals(codeString))
5515          return FHIRAllTypes.RISKEVIDENCESYNTHESIS;
5516        if ("Schedule".equals(codeString))
5517          return FHIRAllTypes.SCHEDULE;
5518        if ("SearchParameter".equals(codeString))
5519          return FHIRAllTypes.SEARCHPARAMETER;
5520        if ("ServiceRequest".equals(codeString))
5521          return FHIRAllTypes.SERVICEREQUEST;
5522        if ("Slot".equals(codeString))
5523          return FHIRAllTypes.SLOT;
5524        if ("Specimen".equals(codeString))
5525          return FHIRAllTypes.SPECIMEN;
5526        if ("SpecimenDefinition".equals(codeString))
5527          return FHIRAllTypes.SPECIMENDEFINITION;
5528        if ("StructureDefinition".equals(codeString))
5529          return FHIRAllTypes.STRUCTUREDEFINITION;
5530        if ("StructureMap".equals(codeString))
5531          return FHIRAllTypes.STRUCTUREMAP;
5532        if ("Subscription".equals(codeString))
5533          return FHIRAllTypes.SUBSCRIPTION;
5534        if ("Substance".equals(codeString))
5535          return FHIRAllTypes.SUBSTANCE;
5536        if ("SubstanceNucleicAcid".equals(codeString))
5537          return FHIRAllTypes.SUBSTANCENUCLEICACID;
5538        if ("SubstancePolymer".equals(codeString))
5539          return FHIRAllTypes.SUBSTANCEPOLYMER;
5540        if ("SubstanceProtein".equals(codeString))
5541          return FHIRAllTypes.SUBSTANCEPROTEIN;
5542        if ("SubstanceReferenceInformation".equals(codeString))
5543          return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION;
5544        if ("SubstanceSourceMaterial".equals(codeString))
5545          return FHIRAllTypes.SUBSTANCESOURCEMATERIAL;
5546        if ("SubstanceSpecification".equals(codeString))
5547          return FHIRAllTypes.SUBSTANCESPECIFICATION;
5548        if ("SupplyDelivery".equals(codeString))
5549          return FHIRAllTypes.SUPPLYDELIVERY;
5550        if ("SupplyRequest".equals(codeString))
5551          return FHIRAllTypes.SUPPLYREQUEST;
5552        if ("Task".equals(codeString))
5553          return FHIRAllTypes.TASK;
5554        if ("TerminologyCapabilities".equals(codeString))
5555          return FHIRAllTypes.TERMINOLOGYCAPABILITIES;
5556        if ("TestReport".equals(codeString))
5557          return FHIRAllTypes.TESTREPORT;
5558        if ("TestScript".equals(codeString))
5559          return FHIRAllTypes.TESTSCRIPT;
5560        if ("ValueSet".equals(codeString))
5561          return FHIRAllTypes.VALUESET;
5562        if ("VerificationResult".equals(codeString))
5563          return FHIRAllTypes.VERIFICATIONRESULT;
5564        if ("VisionPrescription".equals(codeString))
5565          return FHIRAllTypes.VISIONPRESCRIPTION;
5566        if ("Type".equals(codeString))
5567          return FHIRAllTypes.TYPE;
5568        if ("Any".equals(codeString))
5569          return FHIRAllTypes.ANY;
5570        throw new IllegalArgumentException("Unknown FHIRAllTypes code '"+codeString+"'");
5571        }
5572        public Enumeration<FHIRAllTypes> fromType(Base code) throws FHIRException {
5573          if (code == null)
5574            return null;
5575          if (code.isEmpty())
5576            return new Enumeration<FHIRAllTypes>(this);
5577          String codeString = ((PrimitiveType) code).asStringValue();
5578          if (codeString == null || "".equals(codeString))
5579            return null;
5580        if ("Address".equals(codeString))
5581          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADDRESS);
5582        if ("Age".equals(codeString))
5583          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AGE);
5584        if ("Annotation".equals(codeString))
5585          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANNOTATION);
5586        if ("Attachment".equals(codeString))
5587          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ATTACHMENT);
5588        if ("BackboneElement".equals(codeString))
5589          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BACKBONEELEMENT);
5590        if ("CodeableConcept".equals(codeString))
5591          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODEABLECONCEPT);
5592        if ("Coding".equals(codeString))
5593          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODING);
5594        if ("ContactDetail".equals(codeString))
5595          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTDETAIL);
5596        if ("ContactPoint".equals(codeString))
5597          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTACTPOINT);
5598        if ("Contributor".equals(codeString))
5599          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRIBUTOR);
5600        if ("Count".equals(codeString))
5601          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COUNT);
5602        if ("DataRequirement".equals(codeString))
5603          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATAREQUIREMENT);
5604        if ("Distance".equals(codeString))
5605          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DISTANCE);
5606        if ("Dosage".equals(codeString))
5607          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOSAGE);
5608        if ("Duration".equals(codeString))
5609          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DURATION);
5610        if ("Element".equals(codeString))
5611          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENT);
5612        if ("ElementDefinition".equals(codeString))
5613          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ELEMENTDEFINITION);
5614        if ("Expression".equals(codeString))
5615          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPRESSION);
5616        if ("Extension".equals(codeString))
5617          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXTENSION);
5618        if ("HumanName".equals(codeString))
5619          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HUMANNAME);
5620        if ("Identifier".equals(codeString))
5621          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IDENTIFIER);
5622        if ("MarketingStatus".equals(codeString))
5623          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKETINGSTATUS);
5624        if ("Meta".equals(codeString))
5625          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.META);
5626        if ("Money".equals(codeString))
5627          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEY);
5628        if ("MoneyQuantity".equals(codeString))
5629          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MONEYQUANTITY);
5630        if ("Narrative".equals(codeString))
5631          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NARRATIVE);
5632        if ("ParameterDefinition".equals(codeString))
5633          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERDEFINITION);
5634        if ("Period".equals(codeString))
5635          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERIOD);
5636        if ("Population".equals(codeString))
5637          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POPULATION);
5638        if ("ProdCharacteristic".equals(codeString))
5639          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODCHARACTERISTIC);
5640        if ("ProductShelfLife".equals(codeString))
5641          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRODUCTSHELFLIFE);
5642        if ("Quantity".equals(codeString))
5643          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUANTITY);
5644        if ("Range".equals(codeString))
5645          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RANGE);
5646        if ("Ratio".equals(codeString))
5647          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RATIO);
5648        if ("Reference".equals(codeString))
5649          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REFERENCE);
5650        if ("RelatedArtifact".equals(codeString))
5651          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDARTIFACT);
5652        if ("SampledData".equals(codeString))
5653          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SAMPLEDDATA);
5654        if ("Signature".equals(codeString))
5655          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIGNATURE);
5656        if ("SimpleQuantity".equals(codeString))
5657          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SIMPLEQUANTITY);
5658        if ("SubstanceAmount".equals(codeString))
5659          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEAMOUNT);
5660        if ("Timing".equals(codeString))
5661          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIMING);
5662        if ("TriggerDefinition".equals(codeString))
5663          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TRIGGERDEFINITION);
5664        if ("UsageContext".equals(codeString))
5665          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.USAGECONTEXT);
5666        if ("base64Binary".equals(codeString))
5667          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASE64BINARY);
5668        if ("boolean".equals(codeString))
5669          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BOOLEAN);
5670        if ("canonical".equals(codeString))
5671          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CANONICAL);
5672        if ("code".equals(codeString))
5673          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODE);
5674        if ("date".equals(codeString))
5675          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATE);
5676        if ("dateTime".equals(codeString))
5677          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DATETIME);
5678        if ("decimal".equals(codeString))
5679          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DECIMAL);
5680        if ("id".equals(codeString))
5681          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ID);
5682        if ("instant".equals(codeString))
5683          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSTANT);
5684        if ("integer".equals(codeString))
5685          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INTEGER);
5686        if ("markdown".equals(codeString))
5687          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MARKDOWN);
5688        if ("oid".equals(codeString))
5689          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OID);
5690        if ("positiveInt".equals(codeString))
5691          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.POSITIVEINT);
5692        if ("string".equals(codeString))
5693          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRING);
5694        if ("time".equals(codeString))
5695          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TIME);
5696        if ("unsignedInt".equals(codeString))
5697          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UNSIGNEDINT);
5698        if ("uri".equals(codeString))
5699          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URI);
5700        if ("url".equals(codeString))
5701          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.URL);
5702        if ("uuid".equals(codeString))
5703          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.UUID);
5704        if ("xhtml".equals(codeString))
5705          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.XHTML);
5706        if ("Account".equals(codeString))
5707          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACCOUNT);
5708        if ("ActivityDefinition".equals(codeString))
5709          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ACTIVITYDEFINITION);
5710        if ("AdverseEvent".equals(codeString))
5711          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ADVERSEEVENT);
5712        if ("AllergyIntolerance".equals(codeString))
5713          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ALLERGYINTOLERANCE);
5714        if ("Appointment".equals(codeString))
5715          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENT);
5716        if ("AppointmentResponse".equals(codeString))
5717          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.APPOINTMENTRESPONSE);
5718        if ("AuditEvent".equals(codeString))
5719          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.AUDITEVENT);
5720        if ("Basic".equals(codeString))
5721          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BASIC);
5722        if ("Binary".equals(codeString))
5723          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BINARY);
5724        if ("BiologicallyDerivedProduct".equals(codeString))
5725          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT);
5726        if ("BodyStructure".equals(codeString))
5727          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BODYSTRUCTURE);
5728        if ("Bundle".equals(codeString))
5729          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.BUNDLE);
5730        if ("CapabilityStatement".equals(codeString))
5731          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAPABILITYSTATEMENT);
5732        if ("CarePlan".equals(codeString))
5733          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CAREPLAN);
5734        if ("CareTeam".equals(codeString))
5735          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CARETEAM);
5736        if ("CatalogEntry".equals(codeString))
5737          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CATALOGENTRY);
5738        if ("ChargeItem".equals(codeString))
5739          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEM);
5740        if ("ChargeItemDefinition".equals(codeString))
5741          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CHARGEITEMDEFINITION);
5742        if ("Claim".equals(codeString))
5743          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIM);
5744        if ("ClaimResponse".equals(codeString))
5745          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLAIMRESPONSE);
5746        if ("ClinicalImpression".equals(codeString))
5747          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CLINICALIMPRESSION);
5748        if ("CodeSystem".equals(codeString))
5749          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CODESYSTEM);
5750        if ("Communication".equals(codeString))
5751          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATION);
5752        if ("CommunicationRequest".equals(codeString))
5753          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMMUNICATIONREQUEST);
5754        if ("CompartmentDefinition".equals(codeString))
5755          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPARTMENTDEFINITION);
5756        if ("Composition".equals(codeString))
5757          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COMPOSITION);
5758        if ("ConceptMap".equals(codeString))
5759          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONCEPTMAP);
5760        if ("Condition".equals(codeString))
5761          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONDITION);
5762        if ("Consent".equals(codeString))
5763          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONSENT);
5764        if ("Contract".equals(codeString))
5765          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.CONTRACT);
5766        if ("Coverage".equals(codeString))
5767          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGE);
5768        if ("CoverageEligibilityRequest".equals(codeString))
5769          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYREQUEST);
5770        if ("CoverageEligibilityResponse".equals(codeString))
5771          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE);
5772        if ("DetectedIssue".equals(codeString))
5773          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DETECTEDISSUE);
5774        if ("Device".equals(codeString))
5775          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICE);
5776        if ("DeviceDefinition".equals(codeString))
5777          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEDEFINITION);
5778        if ("DeviceMetric".equals(codeString))
5779          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEMETRIC);
5780        if ("DeviceRequest".equals(codeString))
5781          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEREQUEST);
5782        if ("DeviceUseStatement".equals(codeString))
5783          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DEVICEUSESTATEMENT);
5784        if ("DiagnosticReport".equals(codeString))
5785          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DIAGNOSTICREPORT);
5786        if ("DocumentManifest".equals(codeString))
5787          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTMANIFEST);
5788        if ("DocumentReference".equals(codeString))
5789          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOCUMENTREFERENCE);
5790        if ("DomainResource".equals(codeString))
5791          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.DOMAINRESOURCE);
5792        if ("EffectEvidenceSynthesis".equals(codeString))
5793          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EFFECTEVIDENCESYNTHESIS);
5794        if ("Encounter".equals(codeString))
5795          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENCOUNTER);
5796        if ("Endpoint".equals(codeString))
5797          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENDPOINT);
5798        if ("EnrollmentRequest".equals(codeString))
5799          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTREQUEST);
5800        if ("EnrollmentResponse".equals(codeString))
5801          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ENROLLMENTRESPONSE);
5802        if ("EpisodeOfCare".equals(codeString))
5803          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EPISODEOFCARE);
5804        if ("EventDefinition".equals(codeString))
5805          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVENTDEFINITION);
5806        if ("Evidence".equals(codeString))
5807          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCE);
5808        if ("EvidenceVariable".equals(codeString))
5809          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EVIDENCEVARIABLE);
5810        if ("ExampleScenario".equals(codeString))
5811          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXAMPLESCENARIO);
5812        if ("ExplanationOfBenefit".equals(codeString))
5813          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.EXPLANATIONOFBENEFIT);
5814        if ("FamilyMemberHistory".equals(codeString))
5815          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FAMILYMEMBERHISTORY);
5816        if ("Flag".equals(codeString))
5817          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.FLAG);
5818        if ("Goal".equals(codeString))
5819          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GOAL);
5820        if ("GraphDefinition".equals(codeString))
5821          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GRAPHDEFINITION);
5822        if ("Group".equals(codeString))
5823          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GROUP);
5824        if ("GuidanceResponse".equals(codeString))
5825          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.GUIDANCERESPONSE);
5826        if ("HealthcareService".equals(codeString))
5827          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.HEALTHCARESERVICE);
5828        if ("ImagingStudy".equals(codeString))
5829          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMAGINGSTUDY);
5830        if ("Immunization".equals(codeString))
5831          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATION);
5832        if ("ImmunizationEvaluation".equals(codeString))
5833          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONEVALUATION);
5834        if ("ImmunizationRecommendation".equals(codeString))
5835          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION);
5836        if ("ImplementationGuide".equals(codeString))
5837          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.IMPLEMENTATIONGUIDE);
5838        if ("InsurancePlan".equals(codeString))
5839          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INSURANCEPLAN);
5840        if ("Invoice".equals(codeString))
5841          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.INVOICE);
5842        if ("Library".equals(codeString))
5843          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIBRARY);
5844        if ("Linkage".equals(codeString))
5845          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LINKAGE);
5846        if ("List".equals(codeString))
5847          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LIST);
5848        if ("Location".equals(codeString))
5849          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.LOCATION);
5850        if ("Measure".equals(codeString))
5851          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASURE);
5852        if ("MeasureReport".equals(codeString))
5853          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEASUREREPORT);
5854        if ("Media".equals(codeString))
5855          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDIA);
5856        if ("Medication".equals(codeString))
5857          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATION);
5858        if ("MedicationAdministration".equals(codeString))
5859          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONADMINISTRATION);
5860        if ("MedicationDispense".equals(codeString))
5861          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONDISPENSE);
5862        if ("MedicationKnowledge".equals(codeString))
5863          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONKNOWLEDGE);
5864        if ("MedicationRequest".equals(codeString))
5865          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONREQUEST);
5866        if ("MedicationStatement".equals(codeString))
5867          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICATIONSTATEMENT);
5868        if ("MedicinalProduct".equals(codeString))
5869          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCT);
5870        if ("MedicinalProductAuthorization".equals(codeString))
5871          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION);
5872        if ("MedicinalProductContraindication".equals(codeString))
5873          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION);
5874        if ("MedicinalProductIndication".equals(codeString))
5875          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINDICATION);
5876        if ("MedicinalProductIngredient".equals(codeString))
5877          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINGREDIENT);
5878        if ("MedicinalProductInteraction".equals(codeString))
5879          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTINTERACTION);
5880        if ("MedicinalProductManufactured".equals(codeString))
5881          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED);
5882        if ("MedicinalProductPackaged".equals(codeString))
5883          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPACKAGED);
5884        if ("MedicinalProductPharmaceutical".equals(codeString))
5885          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL);
5886        if ("MedicinalProductUndesirableEffect".equals(codeString))
5887          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT);
5888        if ("MessageDefinition".equals(codeString))
5889          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEDEFINITION);
5890        if ("MessageHeader".equals(codeString))
5891          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MESSAGEHEADER);
5892        if ("MolecularSequence".equals(codeString))
5893          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.MOLECULARSEQUENCE);
5894        if ("NamingSystem".equals(codeString))
5895          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NAMINGSYSTEM);
5896        if ("NutritionOrder".equals(codeString))
5897          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.NUTRITIONORDER);
5898        if ("Observation".equals(codeString))
5899          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATION);
5900        if ("ObservationDefinition".equals(codeString))
5901          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OBSERVATIONDEFINITION);
5902        if ("OperationDefinition".equals(codeString))
5903          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONDEFINITION);
5904        if ("OperationOutcome".equals(codeString))
5905          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.OPERATIONOUTCOME);
5906        if ("Organization".equals(codeString))
5907          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATION);
5908        if ("OrganizationAffiliation".equals(codeString))
5909          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ORGANIZATIONAFFILIATION);
5910        if ("Parameters".equals(codeString))
5911          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PARAMETERS);
5912        if ("Patient".equals(codeString))
5913          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PATIENT);
5914        if ("PaymentNotice".equals(codeString))
5915          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTNOTICE);
5916        if ("PaymentReconciliation".equals(codeString))
5917          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PAYMENTRECONCILIATION);
5918        if ("Person".equals(codeString))
5919          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PERSON);
5920        if ("PlanDefinition".equals(codeString))
5921          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PLANDEFINITION);
5922        if ("Practitioner".equals(codeString))
5923          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONER);
5924        if ("PractitionerRole".equals(codeString))
5925          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PRACTITIONERROLE);
5926        if ("Procedure".equals(codeString))
5927          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROCEDURE);
5928        if ("Provenance".equals(codeString))
5929          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.PROVENANCE);
5930        if ("Questionnaire".equals(codeString))
5931          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRE);
5932        if ("QuestionnaireResponse".equals(codeString))
5933          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.QUESTIONNAIRERESPONSE);
5934        if ("RelatedPerson".equals(codeString))
5935          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RELATEDPERSON);
5936        if ("RequestGroup".equals(codeString))
5937          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.REQUESTGROUP);
5938        if ("ResearchDefinition".equals(codeString))
5939          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHDEFINITION);
5940        if ("ResearchElementDefinition".equals(codeString))
5941          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHELEMENTDEFINITION);
5942        if ("ResearchStudy".equals(codeString))
5943          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSTUDY);
5944        if ("ResearchSubject".equals(codeString))
5945          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESEARCHSUBJECT);
5946        if ("Resource".equals(codeString))
5947          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RESOURCE);
5948        if ("RiskAssessment".equals(codeString))
5949          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKASSESSMENT);
5950        if ("RiskEvidenceSynthesis".equals(codeString))
5951          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.RISKEVIDENCESYNTHESIS);
5952        if ("Schedule".equals(codeString))
5953          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SCHEDULE);
5954        if ("SearchParameter".equals(codeString))
5955          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SEARCHPARAMETER);
5956        if ("ServiceRequest".equals(codeString))
5957          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SERVICEREQUEST);
5958        if ("Slot".equals(codeString))
5959          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SLOT);
5960        if ("Specimen".equals(codeString))
5961          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMEN);
5962        if ("SpecimenDefinition".equals(codeString))
5963          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SPECIMENDEFINITION);
5964        if ("StructureDefinition".equals(codeString))
5965          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREDEFINITION);
5966        if ("StructureMap".equals(codeString))
5967          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.STRUCTUREMAP);
5968        if ("Subscription".equals(codeString))
5969          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSCRIPTION);
5970        if ("Substance".equals(codeString))
5971          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCE);
5972        if ("SubstanceNucleicAcid".equals(codeString))
5973          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCENUCLEICACID);
5974        if ("SubstancePolymer".equals(codeString))
5975          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPOLYMER);
5976        if ("SubstanceProtein".equals(codeString))
5977          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEPROTEIN);
5978        if ("SubstanceReferenceInformation".equals(codeString))
5979          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION);
5980        if ("SubstanceSourceMaterial".equals(codeString))
5981          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESOURCEMATERIAL);
5982        if ("SubstanceSpecification".equals(codeString))
5983          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUBSTANCESPECIFICATION);
5984        if ("SupplyDelivery".equals(codeString))
5985          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYDELIVERY);
5986        if ("SupplyRequest".equals(codeString))
5987          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.SUPPLYREQUEST);
5988        if ("Task".equals(codeString))
5989          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TASK);
5990        if ("TerminologyCapabilities".equals(codeString))
5991          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES);
5992        if ("TestReport".equals(codeString))
5993          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTREPORT);
5994        if ("TestScript".equals(codeString))
5995          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TESTSCRIPT);
5996        if ("ValueSet".equals(codeString))
5997          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VALUESET);
5998        if ("VerificationResult".equals(codeString))
5999          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VERIFICATIONRESULT);
6000        if ("VisionPrescription".equals(codeString))
6001          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.VISIONPRESCRIPTION);
6002        if ("Type".equals(codeString))
6003          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.TYPE);
6004        if ("Any".equals(codeString))
6005          return new Enumeration<FHIRAllTypes>(this, FHIRAllTypes.ANY);
6006        throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'");
6007        }
6008    public String toCode(FHIRAllTypes code) {
6009      if (code == FHIRAllTypes.ADDRESS)
6010        return "Address";
6011      if (code == FHIRAllTypes.AGE)
6012        return "Age";
6013      if (code == FHIRAllTypes.ANNOTATION)
6014        return "Annotation";
6015      if (code == FHIRAllTypes.ATTACHMENT)
6016        return "Attachment";
6017      if (code == FHIRAllTypes.BACKBONEELEMENT)
6018        return "BackboneElement";
6019      if (code == FHIRAllTypes.CODEABLECONCEPT)
6020        return "CodeableConcept";
6021      if (code == FHIRAllTypes.CODING)
6022        return "Coding";
6023      if (code == FHIRAllTypes.CONTACTDETAIL)
6024        return "ContactDetail";
6025      if (code == FHIRAllTypes.CONTACTPOINT)
6026        return "ContactPoint";
6027      if (code == FHIRAllTypes.CONTRIBUTOR)
6028        return "Contributor";
6029      if (code == FHIRAllTypes.COUNT)
6030        return "Count";
6031      if (code == FHIRAllTypes.DATAREQUIREMENT)
6032        return "DataRequirement";
6033      if (code == FHIRAllTypes.DISTANCE)
6034        return "Distance";
6035      if (code == FHIRAllTypes.DOSAGE)
6036        return "Dosage";
6037      if (code == FHIRAllTypes.DURATION)
6038        return "Duration";
6039      if (code == FHIRAllTypes.ELEMENT)
6040        return "Element";
6041      if (code == FHIRAllTypes.ELEMENTDEFINITION)
6042        return "ElementDefinition";
6043      if (code == FHIRAllTypes.EXPRESSION)
6044        return "Expression";
6045      if (code == FHIRAllTypes.EXTENSION)
6046        return "Extension";
6047      if (code == FHIRAllTypes.HUMANNAME)
6048        return "HumanName";
6049      if (code == FHIRAllTypes.IDENTIFIER)
6050        return "Identifier";
6051      if (code == FHIRAllTypes.MARKETINGSTATUS)
6052        return "MarketingStatus";
6053      if (code == FHIRAllTypes.META)
6054        return "Meta";
6055      if (code == FHIRAllTypes.MONEY)
6056        return "Money";
6057      if (code == FHIRAllTypes.MONEYQUANTITY)
6058        return "MoneyQuantity";
6059      if (code == FHIRAllTypes.NARRATIVE)
6060        return "Narrative";
6061      if (code == FHIRAllTypes.PARAMETERDEFINITION)
6062        return "ParameterDefinition";
6063      if (code == FHIRAllTypes.PERIOD)
6064        return "Period";
6065      if (code == FHIRAllTypes.POPULATION)
6066        return "Population";
6067      if (code == FHIRAllTypes.PRODCHARACTERISTIC)
6068        return "ProdCharacteristic";
6069      if (code == FHIRAllTypes.PRODUCTSHELFLIFE)
6070        return "ProductShelfLife";
6071      if (code == FHIRAllTypes.QUANTITY)
6072        return "Quantity";
6073      if (code == FHIRAllTypes.RANGE)
6074        return "Range";
6075      if (code == FHIRAllTypes.RATIO)
6076        return "Ratio";
6077      if (code == FHIRAllTypes.REFERENCE)
6078        return "Reference";
6079      if (code == FHIRAllTypes.RELATEDARTIFACT)
6080        return "RelatedArtifact";
6081      if (code == FHIRAllTypes.SAMPLEDDATA)
6082        return "SampledData";
6083      if (code == FHIRAllTypes.SIGNATURE)
6084        return "Signature";
6085      if (code == FHIRAllTypes.SIMPLEQUANTITY)
6086        return "SimpleQuantity";
6087      if (code == FHIRAllTypes.SUBSTANCEAMOUNT)
6088        return "SubstanceAmount";
6089      if (code == FHIRAllTypes.TIMING)
6090        return "Timing";
6091      if (code == FHIRAllTypes.TRIGGERDEFINITION)
6092        return "TriggerDefinition";
6093      if (code == FHIRAllTypes.USAGECONTEXT)
6094        return "UsageContext";
6095      if (code == FHIRAllTypes.BASE64BINARY)
6096        return "base64Binary";
6097      if (code == FHIRAllTypes.BOOLEAN)
6098        return "boolean";
6099      if (code == FHIRAllTypes.CANONICAL)
6100        return "canonical";
6101      if (code == FHIRAllTypes.CODE)
6102        return "code";
6103      if (code == FHIRAllTypes.DATE)
6104        return "date";
6105      if (code == FHIRAllTypes.DATETIME)
6106        return "dateTime";
6107      if (code == FHIRAllTypes.DECIMAL)
6108        return "decimal";
6109      if (code == FHIRAllTypes.ID)
6110        return "id";
6111      if (code == FHIRAllTypes.INSTANT)
6112        return "instant";
6113      if (code == FHIRAllTypes.INTEGER)
6114        return "integer";
6115      if (code == FHIRAllTypes.MARKDOWN)
6116        return "markdown";
6117      if (code == FHIRAllTypes.OID)
6118        return "oid";
6119      if (code == FHIRAllTypes.POSITIVEINT)
6120        return "positiveInt";
6121      if (code == FHIRAllTypes.STRING)
6122        return "string";
6123      if (code == FHIRAllTypes.TIME)
6124        return "time";
6125      if (code == FHIRAllTypes.UNSIGNEDINT)
6126        return "unsignedInt";
6127      if (code == FHIRAllTypes.URI)
6128        return "uri";
6129      if (code == FHIRAllTypes.URL)
6130        return "url";
6131      if (code == FHIRAllTypes.UUID)
6132        return "uuid";
6133      if (code == FHIRAllTypes.XHTML)
6134        return "xhtml";
6135      if (code == FHIRAllTypes.ACCOUNT)
6136        return "Account";
6137      if (code == FHIRAllTypes.ACTIVITYDEFINITION)
6138        return "ActivityDefinition";
6139      if (code == FHIRAllTypes.ADVERSEEVENT)
6140        return "AdverseEvent";
6141      if (code == FHIRAllTypes.ALLERGYINTOLERANCE)
6142        return "AllergyIntolerance";
6143      if (code == FHIRAllTypes.APPOINTMENT)
6144        return "Appointment";
6145      if (code == FHIRAllTypes.APPOINTMENTRESPONSE)
6146        return "AppointmentResponse";
6147      if (code == FHIRAllTypes.AUDITEVENT)
6148        return "AuditEvent";
6149      if (code == FHIRAllTypes.BASIC)
6150        return "Basic";
6151      if (code == FHIRAllTypes.BINARY)
6152        return "Binary";
6153      if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT)
6154        return "BiologicallyDerivedProduct";
6155      if (code == FHIRAllTypes.BODYSTRUCTURE)
6156        return "BodyStructure";
6157      if (code == FHIRAllTypes.BUNDLE)
6158        return "Bundle";
6159      if (code == FHIRAllTypes.CAPABILITYSTATEMENT)
6160        return "CapabilityStatement";
6161      if (code == FHIRAllTypes.CAREPLAN)
6162        return "CarePlan";
6163      if (code == FHIRAllTypes.CARETEAM)
6164        return "CareTeam";
6165      if (code == FHIRAllTypes.CATALOGENTRY)
6166        return "CatalogEntry";
6167      if (code == FHIRAllTypes.CHARGEITEM)
6168        return "ChargeItem";
6169      if (code == FHIRAllTypes.CHARGEITEMDEFINITION)
6170        return "ChargeItemDefinition";
6171      if (code == FHIRAllTypes.CLAIM)
6172        return "Claim";
6173      if (code == FHIRAllTypes.CLAIMRESPONSE)
6174        return "ClaimResponse";
6175      if (code == FHIRAllTypes.CLINICALIMPRESSION)
6176        return "ClinicalImpression";
6177      if (code == FHIRAllTypes.CODESYSTEM)
6178        return "CodeSystem";
6179      if (code == FHIRAllTypes.COMMUNICATION)
6180        return "Communication";
6181      if (code == FHIRAllTypes.COMMUNICATIONREQUEST)
6182        return "CommunicationRequest";
6183      if (code == FHIRAllTypes.COMPARTMENTDEFINITION)
6184        return "CompartmentDefinition";
6185      if (code == FHIRAllTypes.COMPOSITION)
6186        return "Composition";
6187      if (code == FHIRAllTypes.CONCEPTMAP)
6188        return "ConceptMap";
6189      if (code == FHIRAllTypes.CONDITION)
6190        return "Condition";
6191      if (code == FHIRAllTypes.CONSENT)
6192        return "Consent";
6193      if (code == FHIRAllTypes.CONTRACT)
6194        return "Contract";
6195      if (code == FHIRAllTypes.COVERAGE)
6196        return "Coverage";
6197      if (code == FHIRAllTypes.COVERAGEELIGIBILITYREQUEST)
6198        return "CoverageEligibilityRequest";
6199      if (code == FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE)
6200        return "CoverageEligibilityResponse";
6201      if (code == FHIRAllTypes.DETECTEDISSUE)
6202        return "DetectedIssue";
6203      if (code == FHIRAllTypes.DEVICE)
6204        return "Device";
6205      if (code == FHIRAllTypes.DEVICEDEFINITION)
6206        return "DeviceDefinition";
6207      if (code == FHIRAllTypes.DEVICEMETRIC)
6208        return "DeviceMetric";
6209      if (code == FHIRAllTypes.DEVICEREQUEST)
6210        return "DeviceRequest";
6211      if (code == FHIRAllTypes.DEVICEUSESTATEMENT)
6212        return "DeviceUseStatement";
6213      if (code == FHIRAllTypes.DIAGNOSTICREPORT)
6214        return "DiagnosticReport";
6215      if (code == FHIRAllTypes.DOCUMENTMANIFEST)
6216        return "DocumentManifest";
6217      if (code == FHIRAllTypes.DOCUMENTREFERENCE)
6218        return "DocumentReference";
6219      if (code == FHIRAllTypes.DOMAINRESOURCE)
6220        return "DomainResource";
6221      if (code == FHIRAllTypes.EFFECTEVIDENCESYNTHESIS)
6222        return "EffectEvidenceSynthesis";
6223      if (code == FHIRAllTypes.ENCOUNTER)
6224        return "Encounter";
6225      if (code == FHIRAllTypes.ENDPOINT)
6226        return "Endpoint";
6227      if (code == FHIRAllTypes.ENROLLMENTREQUEST)
6228        return "EnrollmentRequest";
6229      if (code == FHIRAllTypes.ENROLLMENTRESPONSE)
6230        return "EnrollmentResponse";
6231      if (code == FHIRAllTypes.EPISODEOFCARE)
6232        return "EpisodeOfCare";
6233      if (code == FHIRAllTypes.EVENTDEFINITION)
6234        return "EventDefinition";
6235      if (code == FHIRAllTypes.EVIDENCE)
6236        return "Evidence";
6237      if (code == FHIRAllTypes.EVIDENCEVARIABLE)
6238        return "EvidenceVariable";
6239      if (code == FHIRAllTypes.EXAMPLESCENARIO)
6240        return "ExampleScenario";
6241      if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT)
6242        return "ExplanationOfBenefit";
6243      if (code == FHIRAllTypes.FAMILYMEMBERHISTORY)
6244        return "FamilyMemberHistory";
6245      if (code == FHIRAllTypes.FLAG)
6246        return "Flag";
6247      if (code == FHIRAllTypes.GOAL)
6248        return "Goal";
6249      if (code == FHIRAllTypes.GRAPHDEFINITION)
6250        return "GraphDefinition";
6251      if (code == FHIRAllTypes.GROUP)
6252        return "Group";
6253      if (code == FHIRAllTypes.GUIDANCERESPONSE)
6254        return "GuidanceResponse";
6255      if (code == FHIRAllTypes.HEALTHCARESERVICE)
6256        return "HealthcareService";
6257      if (code == FHIRAllTypes.IMAGINGSTUDY)
6258        return "ImagingStudy";
6259      if (code == FHIRAllTypes.IMMUNIZATION)
6260        return "Immunization";
6261      if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION)
6262        return "ImmunizationEvaluation";
6263      if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION)
6264        return "ImmunizationRecommendation";
6265      if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE)
6266        return "ImplementationGuide";
6267      if (code == FHIRAllTypes.INSURANCEPLAN)
6268        return "InsurancePlan";
6269      if (code == FHIRAllTypes.INVOICE)
6270        return "Invoice";
6271      if (code == FHIRAllTypes.LIBRARY)
6272        return "Library";
6273      if (code == FHIRAllTypes.LINKAGE)
6274        return "Linkage";
6275      if (code == FHIRAllTypes.LIST)
6276        return "List";
6277      if (code == FHIRAllTypes.LOCATION)
6278        return "Location";
6279      if (code == FHIRAllTypes.MEASURE)
6280        return "Measure";
6281      if (code == FHIRAllTypes.MEASUREREPORT)
6282        return "MeasureReport";
6283      if (code == FHIRAllTypes.MEDIA)
6284        return "Media";
6285      if (code == FHIRAllTypes.MEDICATION)
6286        return "Medication";
6287      if (code == FHIRAllTypes.MEDICATIONADMINISTRATION)
6288        return "MedicationAdministration";
6289      if (code == FHIRAllTypes.MEDICATIONDISPENSE)
6290        return "MedicationDispense";
6291      if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE)
6292        return "MedicationKnowledge";
6293      if (code == FHIRAllTypes.MEDICATIONREQUEST)
6294        return "MedicationRequest";
6295      if (code == FHIRAllTypes.MEDICATIONSTATEMENT)
6296        return "MedicationStatement";
6297      if (code == FHIRAllTypes.MEDICINALPRODUCT)
6298        return "MedicinalProduct";
6299      if (code == FHIRAllTypes.MEDICINALPRODUCTAUTHORIZATION)
6300        return "MedicinalProductAuthorization";
6301      if (code == FHIRAllTypes.MEDICINALPRODUCTCONTRAINDICATION)
6302        return "MedicinalProductContraindication";
6303      if (code == FHIRAllTypes.MEDICINALPRODUCTINDICATION)
6304        return "MedicinalProductIndication";
6305      if (code == FHIRAllTypes.MEDICINALPRODUCTINGREDIENT)
6306        return "MedicinalProductIngredient";
6307      if (code == FHIRAllTypes.MEDICINALPRODUCTINTERACTION)
6308        return "MedicinalProductInteraction";
6309      if (code == FHIRAllTypes.MEDICINALPRODUCTMANUFACTURED)
6310        return "MedicinalProductManufactured";
6311      if (code == FHIRAllTypes.MEDICINALPRODUCTPACKAGED)
6312        return "MedicinalProductPackaged";
6313      if (code == FHIRAllTypes.MEDICINALPRODUCTPHARMACEUTICAL)
6314        return "MedicinalProductPharmaceutical";
6315      if (code == FHIRAllTypes.MEDICINALPRODUCTUNDESIRABLEEFFECT)
6316        return "MedicinalProductUndesirableEffect";
6317      if (code == FHIRAllTypes.MESSAGEDEFINITION)
6318        return "MessageDefinition";
6319      if (code == FHIRAllTypes.MESSAGEHEADER)
6320        return "MessageHeader";
6321      if (code == FHIRAllTypes.MOLECULARSEQUENCE)
6322        return "MolecularSequence";
6323      if (code == FHIRAllTypes.NAMINGSYSTEM)
6324        return "NamingSystem";
6325      if (code == FHIRAllTypes.NUTRITIONORDER)
6326        return "NutritionOrder";
6327      if (code == FHIRAllTypes.OBSERVATION)
6328        return "Observation";
6329      if (code == FHIRAllTypes.OBSERVATIONDEFINITION)
6330        return "ObservationDefinition";
6331      if (code == FHIRAllTypes.OPERATIONDEFINITION)
6332        return "OperationDefinition";
6333      if (code == FHIRAllTypes.OPERATIONOUTCOME)
6334        return "OperationOutcome";
6335      if (code == FHIRAllTypes.ORGANIZATION)
6336        return "Organization";
6337      if (code == FHIRAllTypes.ORGANIZATIONAFFILIATION)
6338        return "OrganizationAffiliation";
6339      if (code == FHIRAllTypes.PARAMETERS)
6340        return "Parameters";
6341      if (code == FHIRAllTypes.PATIENT)
6342        return "Patient";
6343      if (code == FHIRAllTypes.PAYMENTNOTICE)
6344        return "PaymentNotice";
6345      if (code == FHIRAllTypes.PAYMENTRECONCILIATION)
6346        return "PaymentReconciliation";
6347      if (code == FHIRAllTypes.PERSON)
6348        return "Person";
6349      if (code == FHIRAllTypes.PLANDEFINITION)
6350        return "PlanDefinition";
6351      if (code == FHIRAllTypes.PRACTITIONER)
6352        return "Practitioner";
6353      if (code == FHIRAllTypes.PRACTITIONERROLE)
6354        return "PractitionerRole";
6355      if (code == FHIRAllTypes.PROCEDURE)
6356        return "Procedure";
6357      if (code == FHIRAllTypes.PROVENANCE)
6358        return "Provenance";
6359      if (code == FHIRAllTypes.QUESTIONNAIRE)
6360        return "Questionnaire";
6361      if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE)
6362        return "QuestionnaireResponse";
6363      if (code == FHIRAllTypes.RELATEDPERSON)
6364        return "RelatedPerson";
6365      if (code == FHIRAllTypes.REQUESTGROUP)
6366        return "RequestGroup";
6367      if (code == FHIRAllTypes.RESEARCHDEFINITION)
6368        return "ResearchDefinition";
6369      if (code == FHIRAllTypes.RESEARCHELEMENTDEFINITION)
6370        return "ResearchElementDefinition";
6371      if (code == FHIRAllTypes.RESEARCHSTUDY)
6372        return "ResearchStudy";
6373      if (code == FHIRAllTypes.RESEARCHSUBJECT)
6374        return "ResearchSubject";
6375      if (code == FHIRAllTypes.RESOURCE)
6376        return "Resource";
6377      if (code == FHIRAllTypes.RISKASSESSMENT)
6378        return "RiskAssessment";
6379      if (code == FHIRAllTypes.RISKEVIDENCESYNTHESIS)
6380        return "RiskEvidenceSynthesis";
6381      if (code == FHIRAllTypes.SCHEDULE)
6382        return "Schedule";
6383      if (code == FHIRAllTypes.SEARCHPARAMETER)
6384        return "SearchParameter";
6385      if (code == FHIRAllTypes.SERVICEREQUEST)
6386        return "ServiceRequest";
6387      if (code == FHIRAllTypes.SLOT)
6388        return "Slot";
6389      if (code == FHIRAllTypes.SPECIMEN)
6390        return "Specimen";
6391      if (code == FHIRAllTypes.SPECIMENDEFINITION)
6392        return "SpecimenDefinition";
6393      if (code == FHIRAllTypes.STRUCTUREDEFINITION)
6394        return "StructureDefinition";
6395      if (code == FHIRAllTypes.STRUCTUREMAP)
6396        return "StructureMap";
6397      if (code == FHIRAllTypes.SUBSCRIPTION)
6398        return "Subscription";
6399      if (code == FHIRAllTypes.SUBSTANCE)
6400        return "Substance";
6401      if (code == FHIRAllTypes.SUBSTANCENUCLEICACID)
6402        return "SubstanceNucleicAcid";
6403      if (code == FHIRAllTypes.SUBSTANCEPOLYMER)
6404        return "SubstancePolymer";
6405      if (code == FHIRAllTypes.SUBSTANCEPROTEIN)
6406        return "SubstanceProtein";
6407      if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION)
6408        return "SubstanceReferenceInformation";
6409      if (code == FHIRAllTypes.SUBSTANCESOURCEMATERIAL)
6410        return "SubstanceSourceMaterial";
6411      if (code == FHIRAllTypes.SUBSTANCESPECIFICATION)
6412        return "SubstanceSpecification";
6413      if (code == FHIRAllTypes.SUPPLYDELIVERY)
6414        return "SupplyDelivery";
6415      if (code == FHIRAllTypes.SUPPLYREQUEST)
6416        return "SupplyRequest";
6417      if (code == FHIRAllTypes.TASK)
6418        return "Task";
6419      if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES)
6420        return "TerminologyCapabilities";
6421      if (code == FHIRAllTypes.TESTREPORT)
6422        return "TestReport";
6423      if (code == FHIRAllTypes.TESTSCRIPT)
6424        return "TestScript";
6425      if (code == FHIRAllTypes.VALUESET)
6426        return "ValueSet";
6427      if (code == FHIRAllTypes.VERIFICATIONRESULT)
6428        return "VerificationResult";
6429      if (code == FHIRAllTypes.VISIONPRESCRIPTION)
6430        return "VisionPrescription";
6431      if (code == FHIRAllTypes.TYPE)
6432        return "Type";
6433      if (code == FHIRAllTypes.ANY)
6434        return "Any";
6435      return "?";
6436      }
6437    public String toSystem(FHIRAllTypes code) {
6438      return code.getSystem();
6439      }
6440    }
6441
6442    public enum FHIRDefinedType {
6443        /**
6444         * 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.
6445         */
6446        ADDRESS, 
6447        /**
6448         * A duration of time during which an organism (or a process) has existed.
6449         */
6450        AGE, 
6451        /**
6452         * A  text note which also  contains information about who made the statement and when.
6453         */
6454        ANNOTATION, 
6455        /**
6456         * For referring to data content defined in other formats.
6457         */
6458        ATTACHMENT, 
6459        /**
6460         * Base definition for all elements that are defined inside a resource - but not those in a data type.
6461         */
6462        BACKBONEELEMENT, 
6463        /**
6464         * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.
6465         */
6466        CODEABLECONCEPT, 
6467        /**
6468         * A reference to a code defined by a terminology system.
6469         */
6470        CODING, 
6471        /**
6472         * Specifies contact information for a person or organization.
6473         */
6474        CONTACTDETAIL, 
6475        /**
6476         * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.
6477         */
6478        CONTACTPOINT, 
6479        /**
6480         * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.
6481         */
6482        CONTRIBUTOR, 
6483        /**
6484         * 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.
6485         */
6486        COUNT, 
6487        /**
6488         * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data.
6489         */
6490        DATAREQUIREMENT, 
6491        /**
6492         * A length - a value with a unit that is a physical distance.
6493         */
6494        DISTANCE, 
6495        /**
6496         * Indicates how the medication is/was taken or should be taken by the patient.
6497         */
6498        DOSAGE, 
6499        /**
6500         * A length of time.
6501         */
6502        DURATION, 
6503        /**
6504         * Base definition for all elements in a resource.
6505         */
6506        ELEMENT, 
6507        /**
6508         * Captures constraints on each element within the resource, profile, or extension.
6509         */
6510        ELEMENTDEFINITION, 
6511        /**
6512         * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.
6513         */
6514        EXPRESSION, 
6515        /**
6516         * Optional Extension Element - found in all resources.
6517         */
6518        EXTENSION, 
6519        /**
6520         * A human's name with the ability to identify parts and usage.
6521         */
6522        HUMANNAME, 
6523        /**
6524         * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.
6525         */
6526        IDENTIFIER, 
6527        /**
6528         * 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.
6529         */
6530        MARKETINGSTATUS, 
6531        /**
6532         * 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.
6533         */
6534        META, 
6535        /**
6536         * An amount of economic utility in some recognized currency.
6537         */
6538        MONEY, 
6539        /**
6540         * null
6541         */
6542        MONEYQUANTITY, 
6543        /**
6544         * A human-readable summary of the resource conveying the essential clinical and business information for the resource.
6545         */
6546        NARRATIVE, 
6547        /**
6548         * 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.
6549         */
6550        PARAMETERDEFINITION, 
6551        /**
6552         * A time period defined by a start and end date and optionally time.
6553         */
6554        PERIOD, 
6555        /**
6556         * A populatioof people with some set of grouping criteria.
6557         */
6558        POPULATION, 
6559        /**
6560         * 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.
6561         */
6562        PRODCHARACTERISTIC, 
6563        /**
6564         * The shelf-life and storage information for a medicinal product item or container can be described using this class.
6565         */
6566        PRODUCTSHELFLIFE, 
6567        /**
6568         * 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.
6569         */
6570        QUANTITY, 
6571        /**
6572         * A set of ordered Quantities defined by a low and high limit.
6573         */
6574        RANGE, 
6575        /**
6576         * A relationship of two Quantity values - expressed as a numerator and a denominator.
6577         */
6578        RATIO, 
6579        /**
6580         * A reference from one resource to another.
6581         */
6582        REFERENCE, 
6583        /**
6584         * Related artifacts such as additional documentation, justification, or bibliographic references.
6585         */
6586        RELATEDARTIFACT, 
6587        /**
6588         * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data.
6589         */
6590        SAMPLEDDATA, 
6591        /**
6592         * 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.
6593         */
6594        SIGNATURE, 
6595        /**
6596         * null
6597         */
6598        SIMPLEQUANTITY, 
6599        /**
6600         * 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.
6601         */
6602        SUBSTANCEAMOUNT, 
6603        /**
6604         * 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.
6605         */
6606        TIMING, 
6607        /**
6608         * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element.
6609         */
6610        TRIGGERDEFINITION, 
6611        /**
6612         * 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).
6613         */
6614        USAGECONTEXT, 
6615        /**
6616         * A stream of bytes
6617         */
6618        BASE64BINARY, 
6619        /**
6620         * Value of "true" or "false"
6621         */
6622        BOOLEAN, 
6623        /**
6624         * A URI that is a reference to a canonical URL on a FHIR resource
6625         */
6626        CANONICAL, 
6627        /**
6628         * 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
6629         */
6630        CODE, 
6631        /**
6632         * 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.
6633         */
6634        DATE, 
6635        /**
6636         * 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.
6637         */
6638        DATETIME, 
6639        /**
6640         * A rational number with implicit precision
6641         */
6642        DECIMAL, 
6643        /**
6644         * 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.
6645         */
6646        ID, 
6647        /**
6648         * An instant in time - known at least to the second
6649         */
6650        INSTANT, 
6651        /**
6652         * A whole number
6653         */
6654        INTEGER, 
6655        /**
6656         * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine
6657         */
6658        MARKDOWN, 
6659        /**
6660         * An OID represented as a URI
6661         */
6662        OID, 
6663        /**
6664         * An integer with a value that is positive (e.g. >0)
6665         */
6666        POSITIVEINT, 
6667        /**
6668         * A sequence of Unicode characters
6669         */
6670        STRING, 
6671        /**
6672         * A time during the day, with no date specified
6673         */
6674        TIME, 
6675        /**
6676         * An integer with a value that is not negative (e.g. >= 0)
6677         */
6678        UNSIGNEDINT, 
6679        /**
6680         * String of characters used to identify a name or a resource
6681         */
6682        URI, 
6683        /**
6684         * A URI that is a literal reference
6685         */
6686        URL, 
6687        /**
6688         * A UUID, represented as a URI
6689         */
6690        UUID, 
6691        /**
6692         * XHTML format, as defined by W3C, but restricted usage (mainly, no active content)
6693         */
6694        XHTML, 
6695        /**
6696         * 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.
6697         */
6698        ACCOUNT, 
6699        /**
6700         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
6701         */
6702        ACTIVITYDEFINITION, 
6703        /**
6704         * 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.
6705         */
6706        ADVERSEEVENT, 
6707        /**
6708         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
6709         */
6710        ALLERGYINTOLERANCE, 
6711        /**
6712         * 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).
6713         */
6714        APPOINTMENT, 
6715        /**
6716         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
6717         */
6718        APPOINTMENTRESPONSE, 
6719        /**
6720         * 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.
6721         */
6722        AUDITEVENT, 
6723        /**
6724         * 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.
6725         */
6726        BASIC, 
6727        /**
6728         * A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.
6729         */
6730        BINARY, 
6731        /**
6732         * A material substance originating from a biological entity intended to be transplanted or infused
6733into another (possibly the same) biological entity.
6734         */
6735        BIOLOGICALLYDERIVEDPRODUCT, 
6736        /**
6737         * 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.
6738         */
6739        BODYSTRUCTURE, 
6740        /**
6741         * A container for a collection of resources.
6742         */
6743        BUNDLE, 
6744        /**
6745         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
6746         */
6747        CAPABILITYSTATEMENT, 
6748        /**
6749         * 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.
6750         */
6751        CAREPLAN, 
6752        /**
6753         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
6754         */
6755        CARETEAM, 
6756        /**
6757         * Catalog entries are wrappers that contextualize items included in a catalog.
6758         */
6759        CATALOGENTRY, 
6760        /**
6761         * 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.
6762         */
6763        CHARGEITEM, 
6764        /**
6765         * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.
6766         */
6767        CHARGEITEMDEFINITION, 
6768        /**
6769         * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.
6770         */
6771        CLAIM, 
6772        /**
6773         * This resource provides the adjudication details from the processing of a Claim resource.
6774         */
6775        CLAIMRESPONSE, 
6776        /**
6777         * 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.
6778         */
6779        CLINICALIMPRESSION, 
6780        /**
6781         * 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.
6782         */
6783        CODESYSTEM, 
6784        /**
6785         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.
6786         */
6787        COMMUNICATION, 
6788        /**
6789         * 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.
6790         */
6791        COMMUNICATIONREQUEST, 
6792        /**
6793         * A compartment definition that defines how resources are accessed on a server.
6794         */
6795        COMPARTMENTDEFINITION, 
6796        /**
6797         * 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.).
6798         */
6799        COMPOSITION, 
6800        /**
6801         * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.
6802         */
6803        CONCEPTMAP, 
6804        /**
6805         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
6806         */
6807        CONDITION, 
6808        /**
6809         * 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.
6810         */
6811        CONSENT, 
6812        /**
6813         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
6814         */
6815        CONTRACT, 
6816        /**
6817         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
6818         */
6819        COVERAGE, 
6820        /**
6821         * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
6822         */
6823        COVERAGEELIGIBILITYREQUEST, 
6824        /**
6825         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
6826         */
6827        COVERAGEELIGIBILITYRESPONSE, 
6828        /**
6829         * 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.
6830         */
6831        DETECTEDISSUE, 
6832        /**
6833         * 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.
6834         */
6835        DEVICE, 
6836        /**
6837         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
6838         */
6839        DEVICEDEFINITION, 
6840        /**
6841         * Describes a measurement, calculation or setting capability of a medical device.
6842         */
6843        DEVICEMETRIC, 
6844        /**
6845         * 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.
6846         */
6847        DEVICEREQUEST, 
6848        /**
6849         * 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.
6850         */
6851        DEVICEUSESTATEMENT, 
6852        /**
6853         * 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.
6854         */
6855        DIAGNOSTICREPORT, 
6856        /**
6857         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
6858         */
6859        DOCUMENTMANIFEST, 
6860        /**
6861         * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.
6862         */
6863        DOCUMENTREFERENCE, 
6864        /**
6865         * A resource that includes narrative, extensions, and contained resources.
6866         */
6867        DOMAINRESOURCE, 
6868        /**
6869         * The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.
6870         */
6871        EFFECTEVIDENCESYNTHESIS, 
6872        /**
6873         * 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.
6874         */
6875        ENCOUNTER, 
6876        /**
6877         * 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.
6878         */
6879        ENDPOINT, 
6880        /**
6881         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
6882         */
6883        ENROLLMENTREQUEST, 
6884        /**
6885         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
6886         */
6887        ENROLLMENTRESPONSE, 
6888        /**
6889         * 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.
6890         */
6891        EPISODEOFCARE, 
6892        /**
6893         * The EventDefinition resource provides a reusable description of when a particular event can occur.
6894         */
6895        EVENTDEFINITION, 
6896        /**
6897         * The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
6898         */
6899        EVIDENCE, 
6900        /**
6901         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
6902         */
6903        EVIDENCEVARIABLE, 
6904        /**
6905         * Example of workflow instance.
6906         */
6907        EXAMPLESCENARIO, 
6908        /**
6909         * 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.
6910         */
6911        EXPLANATIONOFBENEFIT, 
6912        /**
6913         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
6914         */
6915        FAMILYMEMBERHISTORY, 
6916        /**
6917         * Prospective warnings of potential issues when providing care to the patient.
6918         */
6919        FLAG, 
6920        /**
6921         * 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.
6922         */
6923        GOAL, 
6924        /**
6925         * 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.
6926         */
6927        GRAPHDEFINITION, 
6928        /**
6929         * 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.
6930         */
6931        GROUP, 
6932        /**
6933         * 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.
6934         */
6935        GUIDANCERESPONSE, 
6936        /**
6937         * The details of a healthcare service available at a location.
6938         */
6939        HEALTHCARESERVICE, 
6940        /**
6941         * 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.
6942         */
6943        IMAGINGSTUDY, 
6944        /**
6945         * 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.
6946         */
6947        IMMUNIZATION, 
6948        /**
6949         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
6950         */
6951        IMMUNIZATIONEVALUATION, 
6952        /**
6953         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
6954         */
6955        IMMUNIZATIONRECOMMENDATION, 
6956        /**
6957         * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
6958         */
6959        IMPLEMENTATIONGUIDE, 
6960        /**
6961         * Details of a Health Insurance product/plan provided by an organization.
6962         */
6963        INSURANCEPLAN, 
6964        /**
6965         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
6966         */
6967        INVOICE, 
6968        /**
6969         * 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.
6970         */
6971        LIBRARY, 
6972        /**
6973         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
6974         */
6975        LINKAGE, 
6976        /**
6977         * A list is a curated collection of resources.
6978         */
6979        LIST, 
6980        /**
6981         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
6982         */
6983        LOCATION, 
6984        /**
6985         * The Measure resource provides the definition of a quality measure.
6986         */
6987        MEASURE, 
6988        /**
6989         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
6990         */
6991        MEASUREREPORT, 
6992        /**
6993         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
6994         */
6995        MEDIA, 
6996        /**
6997         * 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.
6998         */
6999        MEDICATION, 
7000        /**
7001         * 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.
7002         */
7003        MEDICATIONADMINISTRATION, 
7004        /**
7005         * 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.
7006         */
7007        MEDICATIONDISPENSE, 
7008        /**
7009         * Information about a medication that is used to support knowledge.
7010         */
7011        MEDICATIONKNOWLEDGE, 
7012        /**
7013         * 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.
7014         */
7015        MEDICATIONREQUEST, 
7016        /**
7017         * 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. 
7018
7019The 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.
7020         */
7021        MEDICATIONSTATEMENT, 
7022        /**
7023         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
7024         */
7025        MEDICINALPRODUCT, 
7026        /**
7027         * The regulatory authorization of a medicinal product.
7028         */
7029        MEDICINALPRODUCTAUTHORIZATION, 
7030        /**
7031         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
7032         */
7033        MEDICINALPRODUCTCONTRAINDICATION, 
7034        /**
7035         * Indication for the Medicinal Product.
7036         */
7037        MEDICINALPRODUCTINDICATION, 
7038        /**
7039         * An ingredient of a manufactured item or pharmaceutical product.
7040         */
7041        MEDICINALPRODUCTINGREDIENT, 
7042        /**
7043         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
7044         */
7045        MEDICINALPRODUCTINTERACTION, 
7046        /**
7047         * The manufactured item as contained in the packaged medicinal product.
7048         */
7049        MEDICINALPRODUCTMANUFACTURED, 
7050        /**
7051         * A medicinal product in a container or package.
7052         */
7053        MEDICINALPRODUCTPACKAGED, 
7054        /**
7055         * A pharmaceutical product described in terms of its composition and dose form.
7056         */
7057        MEDICINALPRODUCTPHARMACEUTICAL, 
7058        /**
7059         * Describe the undesirable effects of the medicinal product.
7060         */
7061        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
7062        /**
7063         * 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.
7064         */
7065        MESSAGEDEFINITION, 
7066        /**
7067         * 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.
7068         */
7069        MESSAGEHEADER, 
7070        /**
7071         * Raw data describing a biological sequence.
7072         */
7073        MOLECULARSEQUENCE, 
7074        /**
7075         * 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.
7076         */
7077        NAMINGSYSTEM, 
7078        /**
7079         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
7080         */
7081        NUTRITIONORDER, 
7082        /**
7083         * Measurements and simple assertions made about a patient, device or other subject.
7084         */
7085        OBSERVATION, 
7086        /**
7087         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
7088         */
7089        OBSERVATIONDEFINITION, 
7090        /**
7091         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
7092         */
7093        OPERATIONDEFINITION, 
7094        /**
7095         * A collection of error, warning, or information messages that result from a system action.
7096         */
7097        OPERATIONOUTCOME, 
7098        /**
7099         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.
7100         */
7101        ORGANIZATION, 
7102        /**
7103         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
7104         */
7105        ORGANIZATIONAFFILIATION, 
7106        /**
7107         * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.
7108         */
7109        PARAMETERS, 
7110        /**
7111         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
7112         */
7113        PATIENT, 
7114        /**
7115         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
7116         */
7117        PAYMENTNOTICE, 
7118        /**
7119         * This resource provides the details including amount of a payment and allocates the payment items being paid.
7120         */
7121        PAYMENTRECONCILIATION, 
7122        /**
7123         * Demographics and administrative information about a person independent of a specific health-related context.
7124         */
7125        PERSON, 
7126        /**
7127         * 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.
7128         */
7129        PLANDEFINITION, 
7130        /**
7131         * A person who is directly or indirectly involved in the provisioning of healthcare.
7132         */
7133        PRACTITIONER, 
7134        /**
7135         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
7136         */
7137        PRACTITIONERROLE, 
7138        /**
7139         * An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.
7140         */
7141        PROCEDURE, 
7142        /**
7143         * 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.
7144         */
7145        PROVENANCE, 
7146        /**
7147         * 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.
7148         */
7149        QUESTIONNAIRE, 
7150        /**
7151         * 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.
7152         */
7153        QUESTIONNAIRERESPONSE, 
7154        /**
7155         * 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.
7156         */
7157        RELATEDPERSON, 
7158        /**
7159         * 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".
7160         */
7161        REQUESTGROUP, 
7162        /**
7163         * The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
7164         */
7165        RESEARCHDEFINITION, 
7166        /**
7167         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
7168         */
7169        RESEARCHELEMENTDEFINITION, 
7170        /**
7171         * 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.
7172         */
7173        RESEARCHSTUDY, 
7174        /**
7175         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
7176         */
7177        RESEARCHSUBJECT, 
7178        /**
7179         * This is the base resource type for everything.
7180         */
7181        RESOURCE, 
7182        /**
7183         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
7184         */
7185        RISKASSESSMENT, 
7186        /**
7187         * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.
7188         */
7189        RISKEVIDENCESYNTHESIS, 
7190        /**
7191         * A container for slots of time that may be available for booking appointments.
7192         */
7193        SCHEDULE, 
7194        /**
7195         * A search parameter that defines a named search item that can be used to search/filter on a resource.
7196         */
7197        SEARCHPARAMETER, 
7198        /**
7199         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
7200         */
7201        SERVICEREQUEST, 
7202        /**
7203         * A slot of time on a schedule that may be available for booking appointments.
7204         */
7205        SLOT, 
7206        /**
7207         * A sample to be used for analysis.
7208         */
7209        SPECIMEN, 
7210        /**
7211         * A kind of specimen with associated set of requirements.
7212         */
7213        SPECIMENDEFINITION, 
7214        /**
7215         * 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.
7216         */
7217        STRUCTUREDEFINITION, 
7218        /**
7219         * A Map of relationships between 2 structures that can be used to transform data.
7220         */
7221        STRUCTUREMAP, 
7222        /**
7223         * 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.
7224         */
7225        SUBSCRIPTION, 
7226        /**
7227         * A homogeneous material with a definite composition.
7228         */
7229        SUBSTANCE, 
7230        /**
7231         * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.
7232         */
7233        SUBSTANCENUCLEICACID, 
7234        /**
7235         * Todo.
7236         */
7237        SUBSTANCEPOLYMER, 
7238        /**
7239         * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.
7240         */
7241        SUBSTANCEPROTEIN, 
7242        /**
7243         * Todo.
7244         */
7245        SUBSTANCEREFERENCEINFORMATION, 
7246        /**
7247         * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.
7248         */
7249        SUBSTANCESOURCEMATERIAL, 
7250        /**
7251         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
7252         */
7253        SUBSTANCESPECIFICATION, 
7254        /**
7255         * Record of delivery of what is supplied.
7256         */
7257        SUPPLYDELIVERY, 
7258        /**
7259         * A record of a request for a medication, substance or device used in the healthcare setting.
7260         */
7261        SUPPLYREQUEST, 
7262        /**
7263         * A task to be performed.
7264         */
7265        TASK, 
7266        /**
7267         * 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.
7268         */
7269        TERMINOLOGYCAPABILITIES, 
7270        /**
7271         * A summary of information based on the results of executing a TestScript.
7272         */
7273        TESTREPORT, 
7274        /**
7275         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
7276         */
7277        TESTSCRIPT, 
7278        /**
7279         * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).
7280         */
7281        VALUESET, 
7282        /**
7283         * Describes validation requirements, source(s), status and dates for one or more elements.
7284         */
7285        VERIFICATIONRESULT, 
7286        /**
7287         * An authorization for the provision of glasses and/or contact lenses to a patient.
7288         */
7289        VISIONPRESCRIPTION, 
7290        /**
7291         * added to help the parsers
7292         */
7293        NULL;
7294        public static FHIRDefinedType fromCode(String codeString) throws FHIRException {
7295            if (codeString == null || "".equals(codeString))
7296                return null;
7297        if ("Address".equals(codeString))
7298          return ADDRESS;
7299        if ("Age".equals(codeString))
7300          return AGE;
7301        if ("Annotation".equals(codeString))
7302          return ANNOTATION;
7303        if ("Attachment".equals(codeString))
7304          return ATTACHMENT;
7305        if ("BackboneElement".equals(codeString))
7306          return BACKBONEELEMENT;
7307        if ("CodeableConcept".equals(codeString))
7308          return CODEABLECONCEPT;
7309        if ("Coding".equals(codeString))
7310          return CODING;
7311        if ("ContactDetail".equals(codeString))
7312          return CONTACTDETAIL;
7313        if ("ContactPoint".equals(codeString))
7314          return CONTACTPOINT;
7315        if ("Contributor".equals(codeString))
7316          return CONTRIBUTOR;
7317        if ("Count".equals(codeString))
7318          return COUNT;
7319        if ("DataRequirement".equals(codeString))
7320          return DATAREQUIREMENT;
7321        if ("Distance".equals(codeString))
7322          return DISTANCE;
7323        if ("Dosage".equals(codeString))
7324          return DOSAGE;
7325        if ("Duration".equals(codeString))
7326          return DURATION;
7327        if ("Element".equals(codeString))
7328          return ELEMENT;
7329        if ("ElementDefinition".equals(codeString))
7330          return ELEMENTDEFINITION;
7331        if ("Expression".equals(codeString))
7332          return EXPRESSION;
7333        if ("Extension".equals(codeString))
7334          return EXTENSION;
7335        if ("HumanName".equals(codeString))
7336          return HUMANNAME;
7337        if ("Identifier".equals(codeString))
7338          return IDENTIFIER;
7339        if ("MarketingStatus".equals(codeString))
7340          return MARKETINGSTATUS;
7341        if ("Meta".equals(codeString))
7342          return META;
7343        if ("Money".equals(codeString))
7344          return MONEY;
7345        if ("MoneyQuantity".equals(codeString))
7346          return MONEYQUANTITY;
7347        if ("Narrative".equals(codeString))
7348          return NARRATIVE;
7349        if ("ParameterDefinition".equals(codeString))
7350          return PARAMETERDEFINITION;
7351        if ("Period".equals(codeString))
7352          return PERIOD;
7353        if ("Population".equals(codeString))
7354          return POPULATION;
7355        if ("ProdCharacteristic".equals(codeString))
7356          return PRODCHARACTERISTIC;
7357        if ("ProductShelfLife".equals(codeString))
7358          return PRODUCTSHELFLIFE;
7359        if ("Quantity".equals(codeString))
7360          return QUANTITY;
7361        if ("Range".equals(codeString))
7362          return RANGE;
7363        if ("Ratio".equals(codeString))
7364          return RATIO;
7365        if ("Reference".equals(codeString))
7366          return REFERENCE;
7367        if ("RelatedArtifact".equals(codeString))
7368          return RELATEDARTIFACT;
7369        if ("SampledData".equals(codeString))
7370          return SAMPLEDDATA;
7371        if ("Signature".equals(codeString))
7372          return SIGNATURE;
7373        if ("SimpleQuantity".equals(codeString))
7374          return SIMPLEQUANTITY;
7375        if ("SubstanceAmount".equals(codeString))
7376          return SUBSTANCEAMOUNT;
7377        if ("Timing".equals(codeString))
7378          return TIMING;
7379        if ("TriggerDefinition".equals(codeString))
7380          return TRIGGERDEFINITION;
7381        if ("UsageContext".equals(codeString))
7382          return USAGECONTEXT;
7383        if ("base64Binary".equals(codeString))
7384          return BASE64BINARY;
7385        if ("boolean".equals(codeString))
7386          return BOOLEAN;
7387        if ("canonical".equals(codeString))
7388          return CANONICAL;
7389        if ("code".equals(codeString))
7390          return CODE;
7391        if ("date".equals(codeString))
7392          return DATE;
7393        if ("dateTime".equals(codeString))
7394          return DATETIME;
7395        if ("decimal".equals(codeString))
7396          return DECIMAL;
7397        if ("id".equals(codeString))
7398          return ID;
7399        if ("instant".equals(codeString))
7400          return INSTANT;
7401        if ("integer".equals(codeString))
7402          return INTEGER;
7403        if ("markdown".equals(codeString))
7404          return MARKDOWN;
7405        if ("oid".equals(codeString))
7406          return OID;
7407        if ("positiveInt".equals(codeString))
7408          return POSITIVEINT;
7409        if ("string".equals(codeString))
7410          return STRING;
7411        if ("time".equals(codeString))
7412          return TIME;
7413        if ("unsignedInt".equals(codeString))
7414          return UNSIGNEDINT;
7415        if ("uri".equals(codeString))
7416          return URI;
7417        if ("url".equals(codeString))
7418          return URL;
7419        if ("uuid".equals(codeString))
7420          return UUID;
7421        if ("xhtml".equals(codeString))
7422          return XHTML;
7423        if ("Account".equals(codeString))
7424          return ACCOUNT;
7425        if ("ActivityDefinition".equals(codeString))
7426          return ACTIVITYDEFINITION;
7427        if ("AdverseEvent".equals(codeString))
7428          return ADVERSEEVENT;
7429        if ("AllergyIntolerance".equals(codeString))
7430          return ALLERGYINTOLERANCE;
7431        if ("Appointment".equals(codeString))
7432          return APPOINTMENT;
7433        if ("AppointmentResponse".equals(codeString))
7434          return APPOINTMENTRESPONSE;
7435        if ("AuditEvent".equals(codeString))
7436          return AUDITEVENT;
7437        if ("Basic".equals(codeString))
7438          return BASIC;
7439        if ("Binary".equals(codeString))
7440          return BINARY;
7441        if ("BiologicallyDerivedProduct".equals(codeString))
7442          return BIOLOGICALLYDERIVEDPRODUCT;
7443        if ("BodyStructure".equals(codeString))
7444          return BODYSTRUCTURE;
7445        if ("Bundle".equals(codeString))
7446          return BUNDLE;
7447        if ("CapabilityStatement".equals(codeString))
7448          return CAPABILITYSTATEMENT;
7449        if ("CarePlan".equals(codeString))
7450          return CAREPLAN;
7451        if ("CareTeam".equals(codeString))
7452          return CARETEAM;
7453        if ("CatalogEntry".equals(codeString))
7454          return CATALOGENTRY;
7455        if ("ChargeItem".equals(codeString))
7456          return CHARGEITEM;
7457        if ("ChargeItemDefinition".equals(codeString))
7458          return CHARGEITEMDEFINITION;
7459        if ("Claim".equals(codeString))
7460          return CLAIM;
7461        if ("ClaimResponse".equals(codeString))
7462          return CLAIMRESPONSE;
7463        if ("ClinicalImpression".equals(codeString))
7464          return CLINICALIMPRESSION;
7465        if ("CodeSystem".equals(codeString))
7466          return CODESYSTEM;
7467        if ("Communication".equals(codeString))
7468          return COMMUNICATION;
7469        if ("CommunicationRequest".equals(codeString))
7470          return COMMUNICATIONREQUEST;
7471        if ("CompartmentDefinition".equals(codeString))
7472          return COMPARTMENTDEFINITION;
7473        if ("Composition".equals(codeString))
7474          return COMPOSITION;
7475        if ("ConceptMap".equals(codeString))
7476          return CONCEPTMAP;
7477        if ("Condition".equals(codeString))
7478          return CONDITION;
7479        if ("Consent".equals(codeString))
7480          return CONSENT;
7481        if ("Contract".equals(codeString))
7482          return CONTRACT;
7483        if ("Coverage".equals(codeString))
7484          return COVERAGE;
7485        if ("CoverageEligibilityRequest".equals(codeString))
7486          return COVERAGEELIGIBILITYREQUEST;
7487        if ("CoverageEligibilityResponse".equals(codeString))
7488          return COVERAGEELIGIBILITYRESPONSE;
7489        if ("DetectedIssue".equals(codeString))
7490          return DETECTEDISSUE;
7491        if ("Device".equals(codeString))
7492          return DEVICE;
7493        if ("DeviceDefinition".equals(codeString))
7494          return DEVICEDEFINITION;
7495        if ("DeviceMetric".equals(codeString))
7496          return DEVICEMETRIC;
7497        if ("DeviceRequest".equals(codeString))
7498          return DEVICEREQUEST;
7499        if ("DeviceUseStatement".equals(codeString))
7500          return DEVICEUSESTATEMENT;
7501        if ("DiagnosticReport".equals(codeString))
7502          return DIAGNOSTICREPORT;
7503        if ("DocumentManifest".equals(codeString))
7504          return DOCUMENTMANIFEST;
7505        if ("DocumentReference".equals(codeString))
7506          return DOCUMENTREFERENCE;
7507        if ("DomainResource".equals(codeString))
7508          return DOMAINRESOURCE;
7509        if ("EffectEvidenceSynthesis".equals(codeString))
7510          return EFFECTEVIDENCESYNTHESIS;
7511        if ("Encounter".equals(codeString))
7512          return ENCOUNTER;
7513        if ("Endpoint".equals(codeString))
7514          return ENDPOINT;
7515        if ("EnrollmentRequest".equals(codeString))
7516          return ENROLLMENTREQUEST;
7517        if ("EnrollmentResponse".equals(codeString))
7518          return ENROLLMENTRESPONSE;
7519        if ("EpisodeOfCare".equals(codeString))
7520          return EPISODEOFCARE;
7521        if ("EventDefinition".equals(codeString))
7522          return EVENTDEFINITION;
7523        if ("Evidence".equals(codeString))
7524          return EVIDENCE;
7525        if ("EvidenceVariable".equals(codeString))
7526          return EVIDENCEVARIABLE;
7527        if ("ExampleScenario".equals(codeString))
7528          return EXAMPLESCENARIO;
7529        if ("ExplanationOfBenefit".equals(codeString))
7530          return EXPLANATIONOFBENEFIT;
7531        if ("FamilyMemberHistory".equals(codeString))
7532          return FAMILYMEMBERHISTORY;
7533        if ("Flag".equals(codeString))
7534          return FLAG;
7535        if ("Goal".equals(codeString))
7536          return GOAL;
7537        if ("GraphDefinition".equals(codeString))
7538          return GRAPHDEFINITION;
7539        if ("Group".equals(codeString))
7540          return GROUP;
7541        if ("GuidanceResponse".equals(codeString))
7542          return GUIDANCERESPONSE;
7543        if ("HealthcareService".equals(codeString))
7544          return HEALTHCARESERVICE;
7545        if ("ImagingStudy".equals(codeString))
7546          return IMAGINGSTUDY;
7547        if ("Immunization".equals(codeString))
7548          return IMMUNIZATION;
7549        if ("ImmunizationEvaluation".equals(codeString))
7550          return IMMUNIZATIONEVALUATION;
7551        if ("ImmunizationRecommendation".equals(codeString))
7552          return IMMUNIZATIONRECOMMENDATION;
7553        if ("ImplementationGuide".equals(codeString))
7554          return IMPLEMENTATIONGUIDE;
7555        if ("InsurancePlan".equals(codeString))
7556          return INSURANCEPLAN;
7557        if ("Invoice".equals(codeString))
7558          return INVOICE;
7559        if ("Library".equals(codeString))
7560          return LIBRARY;
7561        if ("Linkage".equals(codeString))
7562          return LINKAGE;
7563        if ("List".equals(codeString))
7564          return LIST;
7565        if ("Location".equals(codeString))
7566          return LOCATION;
7567        if ("Measure".equals(codeString))
7568          return MEASURE;
7569        if ("MeasureReport".equals(codeString))
7570          return MEASUREREPORT;
7571        if ("Media".equals(codeString))
7572          return MEDIA;
7573        if ("Medication".equals(codeString))
7574          return MEDICATION;
7575        if ("MedicationAdministration".equals(codeString))
7576          return MEDICATIONADMINISTRATION;
7577        if ("MedicationDispense".equals(codeString))
7578          return MEDICATIONDISPENSE;
7579        if ("MedicationKnowledge".equals(codeString))
7580          return MEDICATIONKNOWLEDGE;
7581        if ("MedicationRequest".equals(codeString))
7582          return MEDICATIONREQUEST;
7583        if ("MedicationStatement".equals(codeString))
7584          return MEDICATIONSTATEMENT;
7585        if ("MedicinalProduct".equals(codeString))
7586          return MEDICINALPRODUCT;
7587        if ("MedicinalProductAuthorization".equals(codeString))
7588          return MEDICINALPRODUCTAUTHORIZATION;
7589        if ("MedicinalProductContraindication".equals(codeString))
7590          return MEDICINALPRODUCTCONTRAINDICATION;
7591        if ("MedicinalProductIndication".equals(codeString))
7592          return MEDICINALPRODUCTINDICATION;
7593        if ("MedicinalProductIngredient".equals(codeString))
7594          return MEDICINALPRODUCTINGREDIENT;
7595        if ("MedicinalProductInteraction".equals(codeString))
7596          return MEDICINALPRODUCTINTERACTION;
7597        if ("MedicinalProductManufactured".equals(codeString))
7598          return MEDICINALPRODUCTMANUFACTURED;
7599        if ("MedicinalProductPackaged".equals(codeString))
7600          return MEDICINALPRODUCTPACKAGED;
7601        if ("MedicinalProductPharmaceutical".equals(codeString))
7602          return MEDICINALPRODUCTPHARMACEUTICAL;
7603        if ("MedicinalProductUndesirableEffect".equals(codeString))
7604          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
7605        if ("MessageDefinition".equals(codeString))
7606          return MESSAGEDEFINITION;
7607        if ("MessageHeader".equals(codeString))
7608          return MESSAGEHEADER;
7609        if ("MolecularSequence".equals(codeString))
7610          return MOLECULARSEQUENCE;
7611        if ("NamingSystem".equals(codeString))
7612          return NAMINGSYSTEM;
7613        if ("NutritionOrder".equals(codeString))
7614          return NUTRITIONORDER;
7615        if ("Observation".equals(codeString))
7616          return OBSERVATION;
7617        if ("ObservationDefinition".equals(codeString))
7618          return OBSERVATIONDEFINITION;
7619        if ("OperationDefinition".equals(codeString))
7620          return OPERATIONDEFINITION;
7621        if ("OperationOutcome".equals(codeString))
7622          return OPERATIONOUTCOME;
7623        if ("Organization".equals(codeString))
7624          return ORGANIZATION;
7625        if ("OrganizationAffiliation".equals(codeString))
7626          return ORGANIZATIONAFFILIATION;
7627        if ("Parameters".equals(codeString))
7628          return PARAMETERS;
7629        if ("Patient".equals(codeString))
7630          return PATIENT;
7631        if ("PaymentNotice".equals(codeString))
7632          return PAYMENTNOTICE;
7633        if ("PaymentReconciliation".equals(codeString))
7634          return PAYMENTRECONCILIATION;
7635        if ("Person".equals(codeString))
7636          return PERSON;
7637        if ("PlanDefinition".equals(codeString))
7638          return PLANDEFINITION;
7639        if ("Practitioner".equals(codeString))
7640          return PRACTITIONER;
7641        if ("PractitionerRole".equals(codeString))
7642          return PRACTITIONERROLE;
7643        if ("Procedure".equals(codeString))
7644          return PROCEDURE;
7645        if ("Provenance".equals(codeString))
7646          return PROVENANCE;
7647        if ("Questionnaire".equals(codeString))
7648          return QUESTIONNAIRE;
7649        if ("QuestionnaireResponse".equals(codeString))
7650          return QUESTIONNAIRERESPONSE;
7651        if ("RelatedPerson".equals(codeString))
7652          return RELATEDPERSON;
7653        if ("RequestGroup".equals(codeString))
7654          return REQUESTGROUP;
7655        if ("ResearchDefinition".equals(codeString))
7656          return RESEARCHDEFINITION;
7657        if ("ResearchElementDefinition".equals(codeString))
7658          return RESEARCHELEMENTDEFINITION;
7659        if ("ResearchStudy".equals(codeString))
7660          return RESEARCHSTUDY;
7661        if ("ResearchSubject".equals(codeString))
7662          return RESEARCHSUBJECT;
7663        if ("Resource".equals(codeString))
7664          return RESOURCE;
7665        if ("RiskAssessment".equals(codeString))
7666          return RISKASSESSMENT;
7667        if ("RiskEvidenceSynthesis".equals(codeString))
7668          return RISKEVIDENCESYNTHESIS;
7669        if ("Schedule".equals(codeString))
7670          return SCHEDULE;
7671        if ("SearchParameter".equals(codeString))
7672          return SEARCHPARAMETER;
7673        if ("ServiceRequest".equals(codeString))
7674          return SERVICEREQUEST;
7675        if ("Slot".equals(codeString))
7676          return SLOT;
7677        if ("Specimen".equals(codeString))
7678          return SPECIMEN;
7679        if ("SpecimenDefinition".equals(codeString))
7680          return SPECIMENDEFINITION;
7681        if ("StructureDefinition".equals(codeString))
7682          return STRUCTUREDEFINITION;
7683        if ("StructureMap".equals(codeString))
7684          return STRUCTUREMAP;
7685        if ("Subscription".equals(codeString))
7686          return SUBSCRIPTION;
7687        if ("Substance".equals(codeString))
7688          return SUBSTANCE;
7689        if ("SubstanceNucleicAcid".equals(codeString))
7690          return SUBSTANCENUCLEICACID;
7691        if ("SubstancePolymer".equals(codeString))
7692          return SUBSTANCEPOLYMER;
7693        if ("SubstanceProtein".equals(codeString))
7694          return SUBSTANCEPROTEIN;
7695        if ("SubstanceReferenceInformation".equals(codeString))
7696          return SUBSTANCEREFERENCEINFORMATION;
7697        if ("SubstanceSourceMaterial".equals(codeString))
7698          return SUBSTANCESOURCEMATERIAL;
7699        if ("SubstanceSpecification".equals(codeString))
7700          return SUBSTANCESPECIFICATION;
7701        if ("SupplyDelivery".equals(codeString))
7702          return SUPPLYDELIVERY;
7703        if ("SupplyRequest".equals(codeString))
7704          return SUPPLYREQUEST;
7705        if ("Task".equals(codeString))
7706          return TASK;
7707        if ("TerminologyCapabilities".equals(codeString))
7708          return TERMINOLOGYCAPABILITIES;
7709        if ("TestReport".equals(codeString))
7710          return TESTREPORT;
7711        if ("TestScript".equals(codeString))
7712          return TESTSCRIPT;
7713        if ("ValueSet".equals(codeString))
7714          return VALUESET;
7715        if ("VerificationResult".equals(codeString))
7716          return VERIFICATIONRESULT;
7717        if ("VisionPrescription".equals(codeString))
7718          return VISIONPRESCRIPTION;
7719        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
7720        }
7721        public String toCode() {
7722          switch (this) {
7723            case ADDRESS: return "Address";
7724            case AGE: return "Age";
7725            case ANNOTATION: return "Annotation";
7726            case ATTACHMENT: return "Attachment";
7727            case BACKBONEELEMENT: return "BackboneElement";
7728            case CODEABLECONCEPT: return "CodeableConcept";
7729            case CODING: return "Coding";
7730            case CONTACTDETAIL: return "ContactDetail";
7731            case CONTACTPOINT: return "ContactPoint";
7732            case CONTRIBUTOR: return "Contributor";
7733            case COUNT: return "Count";
7734            case DATAREQUIREMENT: return "DataRequirement";
7735            case DISTANCE: return "Distance";
7736            case DOSAGE: return "Dosage";
7737            case DURATION: return "Duration";
7738            case ELEMENT: return "Element";
7739            case ELEMENTDEFINITION: return "ElementDefinition";
7740            case EXPRESSION: return "Expression";
7741            case EXTENSION: return "Extension";
7742            case HUMANNAME: return "HumanName";
7743            case IDENTIFIER: return "Identifier";
7744            case MARKETINGSTATUS: return "MarketingStatus";
7745            case META: return "Meta";
7746            case MONEY: return "Money";
7747            case MONEYQUANTITY: return "MoneyQuantity";
7748            case NARRATIVE: return "Narrative";
7749            case PARAMETERDEFINITION: return "ParameterDefinition";
7750            case PERIOD: return "Period";
7751            case POPULATION: return "Population";
7752            case PRODCHARACTERISTIC: return "ProdCharacteristic";
7753            case PRODUCTSHELFLIFE: return "ProductShelfLife";
7754            case QUANTITY: return "Quantity";
7755            case RANGE: return "Range";
7756            case RATIO: return "Ratio";
7757            case REFERENCE: return "Reference";
7758            case RELATEDARTIFACT: return "RelatedArtifact";
7759            case SAMPLEDDATA: return "SampledData";
7760            case SIGNATURE: return "Signature";
7761            case SIMPLEQUANTITY: return "SimpleQuantity";
7762            case SUBSTANCEAMOUNT: return "SubstanceAmount";
7763            case TIMING: return "Timing";
7764            case TRIGGERDEFINITION: return "TriggerDefinition";
7765            case USAGECONTEXT: return "UsageContext";
7766            case BASE64BINARY: return "base64Binary";
7767            case BOOLEAN: return "boolean";
7768            case CANONICAL: return "canonical";
7769            case CODE: return "code";
7770            case DATE: return "date";
7771            case DATETIME: return "dateTime";
7772            case DECIMAL: return "decimal";
7773            case ID: return "id";
7774            case INSTANT: return "instant";
7775            case INTEGER: return "integer";
7776            case MARKDOWN: return "markdown";
7777            case OID: return "oid";
7778            case POSITIVEINT: return "positiveInt";
7779            case STRING: return "string";
7780            case TIME: return "time";
7781            case UNSIGNEDINT: return "unsignedInt";
7782            case URI: return "uri";
7783            case URL: return "url";
7784            case UUID: return "uuid";
7785            case XHTML: return "xhtml";
7786            case ACCOUNT: return "Account";
7787            case ACTIVITYDEFINITION: return "ActivityDefinition";
7788            case ADVERSEEVENT: return "AdverseEvent";
7789            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
7790            case APPOINTMENT: return "Appointment";
7791            case APPOINTMENTRESPONSE: return "AppointmentResponse";
7792            case AUDITEVENT: return "AuditEvent";
7793            case BASIC: return "Basic";
7794            case BINARY: return "Binary";
7795            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
7796            case BODYSTRUCTURE: return "BodyStructure";
7797            case BUNDLE: return "Bundle";
7798            case CAPABILITYSTATEMENT: return "CapabilityStatement";
7799            case CAREPLAN: return "CarePlan";
7800            case CARETEAM: return "CareTeam";
7801            case CATALOGENTRY: return "CatalogEntry";
7802            case CHARGEITEM: return "ChargeItem";
7803            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
7804            case CLAIM: return "Claim";
7805            case CLAIMRESPONSE: return "ClaimResponse";
7806            case CLINICALIMPRESSION: return "ClinicalImpression";
7807            case CODESYSTEM: return "CodeSystem";
7808            case COMMUNICATION: return "Communication";
7809            case COMMUNICATIONREQUEST: return "CommunicationRequest";
7810            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
7811            case COMPOSITION: return "Composition";
7812            case CONCEPTMAP: return "ConceptMap";
7813            case CONDITION: return "Condition";
7814            case CONSENT: return "Consent";
7815            case CONTRACT: return "Contract";
7816            case COVERAGE: return "Coverage";
7817            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
7818            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
7819            case DETECTEDISSUE: return "DetectedIssue";
7820            case DEVICE: return "Device";
7821            case DEVICEDEFINITION: return "DeviceDefinition";
7822            case DEVICEMETRIC: return "DeviceMetric";
7823            case DEVICEREQUEST: return "DeviceRequest";
7824            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
7825            case DIAGNOSTICREPORT: return "DiagnosticReport";
7826            case DOCUMENTMANIFEST: return "DocumentManifest";
7827            case DOCUMENTREFERENCE: return "DocumentReference";
7828            case DOMAINRESOURCE: return "DomainResource";
7829            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
7830            case ENCOUNTER: return "Encounter";
7831            case ENDPOINT: return "Endpoint";
7832            case ENROLLMENTREQUEST: return "EnrollmentRequest";
7833            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
7834            case EPISODEOFCARE: return "EpisodeOfCare";
7835            case EVENTDEFINITION: return "EventDefinition";
7836            case EVIDENCE: return "Evidence";
7837            case EVIDENCEVARIABLE: return "EvidenceVariable";
7838            case EXAMPLESCENARIO: return "ExampleScenario";
7839            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
7840            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
7841            case FLAG: return "Flag";
7842            case GOAL: return "Goal";
7843            case GRAPHDEFINITION: return "GraphDefinition";
7844            case GROUP: return "Group";
7845            case GUIDANCERESPONSE: return "GuidanceResponse";
7846            case HEALTHCARESERVICE: return "HealthcareService";
7847            case IMAGINGSTUDY: return "ImagingStudy";
7848            case IMMUNIZATION: return "Immunization";
7849            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
7850            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
7851            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
7852            case INSURANCEPLAN: return "InsurancePlan";
7853            case INVOICE: return "Invoice";
7854            case LIBRARY: return "Library";
7855            case LINKAGE: return "Linkage";
7856            case LIST: return "List";
7857            case LOCATION: return "Location";
7858            case MEASURE: return "Measure";
7859            case MEASUREREPORT: return "MeasureReport";
7860            case MEDIA: return "Media";
7861            case MEDICATION: return "Medication";
7862            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
7863            case MEDICATIONDISPENSE: return "MedicationDispense";
7864            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
7865            case MEDICATIONREQUEST: return "MedicationRequest";
7866            case MEDICATIONSTATEMENT: return "MedicationStatement";
7867            case MEDICINALPRODUCT: return "MedicinalProduct";
7868            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
7869            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
7870            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
7871            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
7872            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
7873            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
7874            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
7875            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
7876            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
7877            case MESSAGEDEFINITION: return "MessageDefinition";
7878            case MESSAGEHEADER: return "MessageHeader";
7879            case MOLECULARSEQUENCE: return "MolecularSequence";
7880            case NAMINGSYSTEM: return "NamingSystem";
7881            case NUTRITIONORDER: return "NutritionOrder";
7882            case OBSERVATION: return "Observation";
7883            case OBSERVATIONDEFINITION: return "ObservationDefinition";
7884            case OPERATIONDEFINITION: return "OperationDefinition";
7885            case OPERATIONOUTCOME: return "OperationOutcome";
7886            case ORGANIZATION: return "Organization";
7887            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
7888            case PARAMETERS: return "Parameters";
7889            case PATIENT: return "Patient";
7890            case PAYMENTNOTICE: return "PaymentNotice";
7891            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
7892            case PERSON: return "Person";
7893            case PLANDEFINITION: return "PlanDefinition";
7894            case PRACTITIONER: return "Practitioner";
7895            case PRACTITIONERROLE: return "PractitionerRole";
7896            case PROCEDURE: return "Procedure";
7897            case PROVENANCE: return "Provenance";
7898            case QUESTIONNAIRE: return "Questionnaire";
7899            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
7900            case RELATEDPERSON: return "RelatedPerson";
7901            case REQUESTGROUP: return "RequestGroup";
7902            case RESEARCHDEFINITION: return "ResearchDefinition";
7903            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
7904            case RESEARCHSTUDY: return "ResearchStudy";
7905            case RESEARCHSUBJECT: return "ResearchSubject";
7906            case RESOURCE: return "Resource";
7907            case RISKASSESSMENT: return "RiskAssessment";
7908            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
7909            case SCHEDULE: return "Schedule";
7910            case SEARCHPARAMETER: return "SearchParameter";
7911            case SERVICEREQUEST: return "ServiceRequest";
7912            case SLOT: return "Slot";
7913            case SPECIMEN: return "Specimen";
7914            case SPECIMENDEFINITION: return "SpecimenDefinition";
7915            case STRUCTUREDEFINITION: return "StructureDefinition";
7916            case STRUCTUREMAP: return "StructureMap";
7917            case SUBSCRIPTION: return "Subscription";
7918            case SUBSTANCE: return "Substance";
7919            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
7920            case SUBSTANCEPOLYMER: return "SubstancePolymer";
7921            case SUBSTANCEPROTEIN: return "SubstanceProtein";
7922            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
7923            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
7924            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
7925            case SUPPLYDELIVERY: return "SupplyDelivery";
7926            case SUPPLYREQUEST: return "SupplyRequest";
7927            case TASK: return "Task";
7928            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
7929            case TESTREPORT: return "TestReport";
7930            case TESTSCRIPT: return "TestScript";
7931            case VALUESET: return "ValueSet";
7932            case VERIFICATIONRESULT: return "VerificationResult";
7933            case VISIONPRESCRIPTION: return "VisionPrescription";
7934            default: return "?";
7935          }
7936        }
7937        public String getSystem() {
7938          switch (this) {
7939            case ADDRESS: return "http://hl7.org/fhir/data-types";
7940            case AGE: return "http://hl7.org/fhir/data-types";
7941            case ANNOTATION: return "http://hl7.org/fhir/data-types";
7942            case ATTACHMENT: return "http://hl7.org/fhir/data-types";
7943            case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types";
7944            case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types";
7945            case CODING: return "http://hl7.org/fhir/data-types";
7946            case CONTACTDETAIL: return "http://hl7.org/fhir/data-types";
7947            case CONTACTPOINT: return "http://hl7.org/fhir/data-types";
7948            case CONTRIBUTOR: return "http://hl7.org/fhir/data-types";
7949            case COUNT: return "http://hl7.org/fhir/data-types";
7950            case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types";
7951            case DISTANCE: return "http://hl7.org/fhir/data-types";
7952            case DOSAGE: return "http://hl7.org/fhir/data-types";
7953            case DURATION: return "http://hl7.org/fhir/data-types";
7954            case ELEMENT: return "http://hl7.org/fhir/data-types";
7955            case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types";
7956            case EXPRESSION: return "http://hl7.org/fhir/data-types";
7957            case EXTENSION: return "http://hl7.org/fhir/data-types";
7958            case HUMANNAME: return "http://hl7.org/fhir/data-types";
7959            case IDENTIFIER: return "http://hl7.org/fhir/data-types";
7960            case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types";
7961            case META: return "http://hl7.org/fhir/data-types";
7962            case MONEY: return "http://hl7.org/fhir/data-types";
7963            case MONEYQUANTITY: return "http://hl7.org/fhir/data-types";
7964            case NARRATIVE: return "http://hl7.org/fhir/data-types";
7965            case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types";
7966            case PERIOD: return "http://hl7.org/fhir/data-types";
7967            case POPULATION: return "http://hl7.org/fhir/data-types";
7968            case PRODCHARACTERISTIC: return "http://hl7.org/fhir/data-types";
7969            case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types";
7970            case QUANTITY: return "http://hl7.org/fhir/data-types";
7971            case RANGE: return "http://hl7.org/fhir/data-types";
7972            case RATIO: return "http://hl7.org/fhir/data-types";
7973            case REFERENCE: return "http://hl7.org/fhir/data-types";
7974            case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types";
7975            case SAMPLEDDATA: return "http://hl7.org/fhir/data-types";
7976            case SIGNATURE: return "http://hl7.org/fhir/data-types";
7977            case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types";
7978            case SUBSTANCEAMOUNT: return "http://hl7.org/fhir/data-types";
7979            case TIMING: return "http://hl7.org/fhir/data-types";
7980            case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types";
7981            case USAGECONTEXT: return "http://hl7.org/fhir/data-types";
7982            case BASE64BINARY: return "http://hl7.org/fhir/data-types";
7983            case BOOLEAN: return "http://hl7.org/fhir/data-types";
7984            case CANONICAL: return "http://hl7.org/fhir/data-types";
7985            case CODE: return "http://hl7.org/fhir/data-types";
7986            case DATE: return "http://hl7.org/fhir/data-types";
7987            case DATETIME: return "http://hl7.org/fhir/data-types";
7988            case DECIMAL: return "http://hl7.org/fhir/data-types";
7989            case ID: return "http://hl7.org/fhir/data-types";
7990            case INSTANT: return "http://hl7.org/fhir/data-types";
7991            case INTEGER: return "http://hl7.org/fhir/data-types";
7992            case MARKDOWN: return "http://hl7.org/fhir/data-types";
7993            case OID: return "http://hl7.org/fhir/data-types";
7994            case POSITIVEINT: return "http://hl7.org/fhir/data-types";
7995            case STRING: return "http://hl7.org/fhir/data-types";
7996            case TIME: return "http://hl7.org/fhir/data-types";
7997            case UNSIGNEDINT: return "http://hl7.org/fhir/data-types";
7998            case URI: return "http://hl7.org/fhir/data-types";
7999            case URL: return "http://hl7.org/fhir/data-types";
8000            case UUID: return "http://hl7.org/fhir/data-types";
8001            case XHTML: return "http://hl7.org/fhir/data-types";
8002            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
8003            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
8004            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
8005            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
8006            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
8007            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
8008            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
8009            case BASIC: return "http://hl7.org/fhir/resource-types";
8010            case BINARY: return "http://hl7.org/fhir/resource-types";
8011            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
8012            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
8013            case BUNDLE: return "http://hl7.org/fhir/resource-types";
8014            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
8015            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
8016            case CARETEAM: return "http://hl7.org/fhir/resource-types";
8017            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
8018            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
8019            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
8020            case CLAIM: return "http://hl7.org/fhir/resource-types";
8021            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
8022            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
8023            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
8024            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
8025            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
8026            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8027            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
8028            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
8029            case CONDITION: return "http://hl7.org/fhir/resource-types";
8030            case CONSENT: return "http://hl7.org/fhir/resource-types";
8031            case CONTRACT: return "http://hl7.org/fhir/resource-types";
8032            case COVERAGE: return "http://hl7.org/fhir/resource-types";
8033            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
8034            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
8035            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
8036            case DEVICE: return "http://hl7.org/fhir/resource-types";
8037            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
8038            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
8039            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
8040            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
8041            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
8042            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
8043            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
8044            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
8045            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
8046            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
8047            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
8048            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
8049            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
8050            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
8051            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8052            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
8053            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
8054            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
8055            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
8056            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
8057            case FLAG: return "http://hl7.org/fhir/resource-types";
8058            case GOAL: return "http://hl7.org/fhir/resource-types";
8059            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
8060            case GROUP: return "http://hl7.org/fhir/resource-types";
8061            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
8062            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
8063            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
8064            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
8065            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
8066            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
8067            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
8068            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
8069            case INVOICE: return "http://hl7.org/fhir/resource-types";
8070            case LIBRARY: return "http://hl7.org/fhir/resource-types";
8071            case LINKAGE: return "http://hl7.org/fhir/resource-types";
8072            case LIST: return "http://hl7.org/fhir/resource-types";
8073            case LOCATION: return "http://hl7.org/fhir/resource-types";
8074            case MEASURE: return "http://hl7.org/fhir/resource-types";
8075            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
8076            case MEDIA: return "http://hl7.org/fhir/resource-types";
8077            case MEDICATION: return "http://hl7.org/fhir/resource-types";
8078            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
8079            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
8080            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
8081            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
8082            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
8083            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
8084            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
8085            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
8086            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
8087            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
8088            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
8089            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
8090            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
8091            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
8092            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
8093            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
8094            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
8095            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
8096            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
8097            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
8098            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
8099            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8100            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
8101            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
8102            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
8103            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
8104            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
8105            case PATIENT: return "http://hl7.org/fhir/resource-types";
8106            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
8107            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
8108            case PERSON: return "http://hl7.org/fhir/resource-types";
8109            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
8110            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
8111            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
8112            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
8113            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
8114            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
8115            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
8116            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
8117            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
8118            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
8119            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
8120            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
8121            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
8122            case RESOURCE: return "http://hl7.org/fhir/resource-types";
8123            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
8124            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
8125            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
8126            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
8127            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
8128            case SLOT: return "http://hl7.org/fhir/resource-types";
8129            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
8130            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
8131            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
8132            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
8133            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
8134            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
8135            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
8136            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
8137            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
8138            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
8139            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
8140            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
8141            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
8142            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
8143            case TASK: return "http://hl7.org/fhir/resource-types";
8144            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
8145            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
8146            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
8147            case VALUESET: return "http://hl7.org/fhir/resource-types";
8148            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
8149            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
8150            default: return "?";
8151          }
8152        }
8153        public String getDefinition() {
8154          switch (this) {
8155            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.";
8156            case AGE: return "A duration of time during which an organism (or a process) has existed.";
8157            case ANNOTATION: return "A  text note which also  contains information about who made the statement and when.";
8158            case ATTACHMENT: return "For referring to data content defined in other formats.";
8159            case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type.";
8160            case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text.";
8161            case CODING: return "A reference to a code defined by a terminology system.";
8162            case CONTACTDETAIL: return "Specifies contact information for a person or organization.";
8163            case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc.";
8164            case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers.";
8165            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.";
8166            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.";
8167            case DISTANCE: return "A length - a value with a unit that is a physical distance.";
8168            case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient.";
8169            case DURATION: return "A length of time.";
8170            case ELEMENT: return "Base definition for all elements in a resource.";
8171            case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension.";
8172            case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used.";
8173            case EXTENSION: return "Optional Extension Element - found in all resources.";
8174            case HUMANNAME: return "A human's name with the ability to identify parts and usage.";
8175            case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers.";
8176            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.";
8177            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.";
8178            case MONEY: return "An amount of economic utility in some recognized currency.";
8179            case MONEYQUANTITY: return "";
8180            case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource.";
8181            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.";
8182            case PERIOD: return "A time period defined by a start and end date and optionally time.";
8183            case POPULATION: return "A populatioof people with some set of grouping criteria.";
8184            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.";
8185            case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class.";
8186            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.";
8187            case RANGE: return "A set of ordered Quantities defined by a low and high limit.";
8188            case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator.";
8189            case REFERENCE: return "A reference from one resource to another.";
8190            case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references.";
8191            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.";
8192            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.";
8193            case SIMPLEQUANTITY: return "";
8194            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.";
8195            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.";
8196            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.";
8197            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).";
8198            case BASE64BINARY: return "A stream of bytes";
8199            case BOOLEAN: return "Value of \"true\" or \"false\"";
8200            case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource";
8201            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";
8202            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.";
8203            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.";
8204            case DECIMAL: return "A rational number with implicit precision";
8205            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.";
8206            case INSTANT: return "An instant in time - known at least to the second";
8207            case INTEGER: return "A whole number";
8208            case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine";
8209            case OID: return "An OID represented as a URI";
8210            case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)";
8211            case STRING: return "A sequence of Unicode characters";
8212            case TIME: return "A time during the day, with no date specified";
8213            case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)";
8214            case URI: return "String of characters used to identify a name or a resource";
8215            case URL: return "A URI that is a literal reference";
8216            case UUID: return "A UUID, represented as a URI";
8217            case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)";
8218            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.";
8219            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.";
8220            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.";
8221            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
8222            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).";
8223            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
8224            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.";
8225            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.";
8226            case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
8227            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
8228            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.";
8229            case BUNDLE: return "A container for a collection of resources.";
8230            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
8231            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.";
8232            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.";
8233            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
8234            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.";
8235            case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
8236            case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
8237            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
8238            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.";
8239            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.";
8240            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
8241            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.";
8242            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
8243            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.).";
8244            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
8245            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
8246            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.";
8247            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
8248            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
8249            case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
8250            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
8251            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.";
8252            case DEVICE: return "A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.";
8253            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
8254            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
8255            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.";
8256            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.";
8257            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.";
8258            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
8259            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
8260            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
8261            case EFFECTEVIDENCESYNTHESIS: return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
8262            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.";
8263            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.";
8264            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
8265            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
8266            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.";
8267            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
8268            case EVIDENCE: return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
8269            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
8270            case EXAMPLESCENARIO: return "Example of workflow instance.";
8271            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.";
8272            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
8273            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
8274            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.";
8275            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.";
8276            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.";
8277            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.";
8278            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
8279            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.";
8280            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.";
8281            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.";
8282            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
8283            case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
8284            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
8285            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
8286            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.";
8287            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
8288            case LIST: return "A list is a curated collection of resources.";
8289            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.";
8290            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
8291            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.";
8292            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.";
8293            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.";
8294            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.";
8295            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.";
8296            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
8297            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.";
8298            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
8299            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
8300            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
8301            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
8302            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
8303            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
8304            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
8305            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
8306            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
8307            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
8308            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
8309            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.";
8310            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.";
8311            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
8312            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.";
8313            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
8314            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
8315            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
8316            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
8317            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
8318            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
8319            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
8320            case PARAMETERS: return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
8321            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
8322            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
8323            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
8324            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
8325            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.";
8326            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
8327            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
8328            case PROCEDURE: return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
8329            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.";
8330            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.";
8331            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.";
8332            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.";
8333            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\".";
8334            case RESEARCHDEFINITION: return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
8335            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
8336            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.";
8337            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
8338            case RESOURCE: return "This is the base resource type for everything.";
8339            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
8340            case RISKEVIDENCESYNTHESIS: return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
8341            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
8342            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
8343            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
8344            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
8345            case SPECIMEN: return "A sample to be used for analysis.";
8346            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
8347            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.";
8348            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
8349            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.";
8350            case SUBSTANCE: return "A homogeneous material with a definite composition.";
8351            case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.";
8352            case SUBSTANCEPOLYMER: return "Todo.";
8353            case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
8354            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
8355            case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
8356            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
8357            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
8358            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
8359            case TASK: return "A task to be performed.";
8360            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.";
8361            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
8362            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
8363            case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
8364            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
8365            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
8366            default: return "?";
8367          }
8368        }
8369        public String getDisplay() {
8370          switch (this) {
8371            case ADDRESS: return "Address";
8372            case AGE: return "Age";
8373            case ANNOTATION: return "Annotation";
8374            case ATTACHMENT: return "Attachment";
8375            case BACKBONEELEMENT: return "BackboneElement";
8376            case CODEABLECONCEPT: return "CodeableConcept";
8377            case CODING: return "Coding";
8378            case CONTACTDETAIL: return "ContactDetail";
8379            case CONTACTPOINT: return "ContactPoint";
8380            case CONTRIBUTOR: return "Contributor";
8381            case COUNT: return "Count";
8382            case DATAREQUIREMENT: return "DataRequirement";
8383            case DISTANCE: return "Distance";
8384            case DOSAGE: return "Dosage";
8385            case DURATION: return "Duration";
8386            case ELEMENT: return "Element";
8387            case ELEMENTDEFINITION: return "ElementDefinition";
8388            case EXPRESSION: return "Expression";
8389            case EXTENSION: return "Extension";
8390            case HUMANNAME: return "HumanName";
8391            case IDENTIFIER: return "Identifier";
8392            case MARKETINGSTATUS: return "MarketingStatus";
8393            case META: return "Meta";
8394            case MONEY: return "Money";
8395            case MONEYQUANTITY: return "MoneyQuantity";
8396            case NARRATIVE: return "Narrative";
8397            case PARAMETERDEFINITION: return "ParameterDefinition";
8398            case PERIOD: return "Period";
8399            case POPULATION: return "Population";
8400            case PRODCHARACTERISTIC: return "ProdCharacteristic";
8401            case PRODUCTSHELFLIFE: return "ProductShelfLife";
8402            case QUANTITY: return "Quantity";
8403            case RANGE: return "Range";
8404            case RATIO: return "Ratio";
8405            case REFERENCE: return "Reference";
8406            case RELATEDARTIFACT: return "RelatedArtifact";
8407            case SAMPLEDDATA: return "SampledData";
8408            case SIGNATURE: return "Signature";
8409            case SIMPLEQUANTITY: return "SimpleQuantity";
8410            case SUBSTANCEAMOUNT: return "SubstanceAmount";
8411            case TIMING: return "Timing";
8412            case TRIGGERDEFINITION: return "TriggerDefinition";
8413            case USAGECONTEXT: return "UsageContext";
8414            case BASE64BINARY: return "base64Binary";
8415            case BOOLEAN: return "boolean";
8416            case CANONICAL: return "canonical";
8417            case CODE: return "code";
8418            case DATE: return "date";
8419            case DATETIME: return "dateTime";
8420            case DECIMAL: return "decimal";
8421            case ID: return "id";
8422            case INSTANT: return "instant";
8423            case INTEGER: return "integer";
8424            case MARKDOWN: return "markdown";
8425            case OID: return "oid";
8426            case POSITIVEINT: return "positiveInt";
8427            case STRING: return "string";
8428            case TIME: return "time";
8429            case UNSIGNEDINT: return "unsignedInt";
8430            case URI: return "uri";
8431            case URL: return "url";
8432            case UUID: return "uuid";
8433            case XHTML: return "XHTML";
8434            case ACCOUNT: return "Account";
8435            case ACTIVITYDEFINITION: return "ActivityDefinition";
8436            case ADVERSEEVENT: return "AdverseEvent";
8437            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
8438            case APPOINTMENT: return "Appointment";
8439            case APPOINTMENTRESPONSE: return "AppointmentResponse";
8440            case AUDITEVENT: return "AuditEvent";
8441            case BASIC: return "Basic";
8442            case BINARY: return "Binary";
8443            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
8444            case BODYSTRUCTURE: return "BodyStructure";
8445            case BUNDLE: return "Bundle";
8446            case CAPABILITYSTATEMENT: return "CapabilityStatement";
8447            case CAREPLAN: return "CarePlan";
8448            case CARETEAM: return "CareTeam";
8449            case CATALOGENTRY: return "CatalogEntry";
8450            case CHARGEITEM: return "ChargeItem";
8451            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
8452            case CLAIM: return "Claim";
8453            case CLAIMRESPONSE: return "ClaimResponse";
8454            case CLINICALIMPRESSION: return "ClinicalImpression";
8455            case CODESYSTEM: return "CodeSystem";
8456            case COMMUNICATION: return "Communication";
8457            case COMMUNICATIONREQUEST: return "CommunicationRequest";
8458            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
8459            case COMPOSITION: return "Composition";
8460            case CONCEPTMAP: return "ConceptMap";
8461            case CONDITION: return "Condition";
8462            case CONSENT: return "Consent";
8463            case CONTRACT: return "Contract";
8464            case COVERAGE: return "Coverage";
8465            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
8466            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
8467            case DETECTEDISSUE: return "DetectedIssue";
8468            case DEVICE: return "Device";
8469            case DEVICEDEFINITION: return "DeviceDefinition";
8470            case DEVICEMETRIC: return "DeviceMetric";
8471            case DEVICEREQUEST: return "DeviceRequest";
8472            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
8473            case DIAGNOSTICREPORT: return "DiagnosticReport";
8474            case DOCUMENTMANIFEST: return "DocumentManifest";
8475            case DOCUMENTREFERENCE: return "DocumentReference";
8476            case DOMAINRESOURCE: return "DomainResource";
8477            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
8478            case ENCOUNTER: return "Encounter";
8479            case ENDPOINT: return "Endpoint";
8480            case ENROLLMENTREQUEST: return "EnrollmentRequest";
8481            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
8482            case EPISODEOFCARE: return "EpisodeOfCare";
8483            case EVENTDEFINITION: return "EventDefinition";
8484            case EVIDENCE: return "Evidence";
8485            case EVIDENCEVARIABLE: return "EvidenceVariable";
8486            case EXAMPLESCENARIO: return "ExampleScenario";
8487            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
8488            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
8489            case FLAG: return "Flag";
8490            case GOAL: return "Goal";
8491            case GRAPHDEFINITION: return "GraphDefinition";
8492            case GROUP: return "Group";
8493            case GUIDANCERESPONSE: return "GuidanceResponse";
8494            case HEALTHCARESERVICE: return "HealthcareService";
8495            case IMAGINGSTUDY: return "ImagingStudy";
8496            case IMMUNIZATION: return "Immunization";
8497            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
8498            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
8499            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
8500            case INSURANCEPLAN: return "InsurancePlan";
8501            case INVOICE: return "Invoice";
8502            case LIBRARY: return "Library";
8503            case LINKAGE: return "Linkage";
8504            case LIST: return "List";
8505            case LOCATION: return "Location";
8506            case MEASURE: return "Measure";
8507            case MEASUREREPORT: return "MeasureReport";
8508            case MEDIA: return "Media";
8509            case MEDICATION: return "Medication";
8510            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
8511            case MEDICATIONDISPENSE: return "MedicationDispense";
8512            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
8513            case MEDICATIONREQUEST: return "MedicationRequest";
8514            case MEDICATIONSTATEMENT: return "MedicationStatement";
8515            case MEDICINALPRODUCT: return "MedicinalProduct";
8516            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
8517            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
8518            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
8519            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
8520            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
8521            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
8522            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
8523            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
8524            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
8525            case MESSAGEDEFINITION: return "MessageDefinition";
8526            case MESSAGEHEADER: return "MessageHeader";
8527            case MOLECULARSEQUENCE: return "MolecularSequence";
8528            case NAMINGSYSTEM: return "NamingSystem";
8529            case NUTRITIONORDER: return "NutritionOrder";
8530            case OBSERVATION: return "Observation";
8531            case OBSERVATIONDEFINITION: return "ObservationDefinition";
8532            case OPERATIONDEFINITION: return "OperationDefinition";
8533            case OPERATIONOUTCOME: return "OperationOutcome";
8534            case ORGANIZATION: return "Organization";
8535            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
8536            case PARAMETERS: return "Parameters";
8537            case PATIENT: return "Patient";
8538            case PAYMENTNOTICE: return "PaymentNotice";
8539            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
8540            case PERSON: return "Person";
8541            case PLANDEFINITION: return "PlanDefinition";
8542            case PRACTITIONER: return "Practitioner";
8543            case PRACTITIONERROLE: return "PractitionerRole";
8544            case PROCEDURE: return "Procedure";
8545            case PROVENANCE: return "Provenance";
8546            case QUESTIONNAIRE: return "Questionnaire";
8547            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
8548            case RELATEDPERSON: return "RelatedPerson";
8549            case REQUESTGROUP: return "RequestGroup";
8550            case RESEARCHDEFINITION: return "ResearchDefinition";
8551            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
8552            case RESEARCHSTUDY: return "ResearchStudy";
8553            case RESEARCHSUBJECT: return "ResearchSubject";
8554            case RESOURCE: return "Resource";
8555            case RISKASSESSMENT: return "RiskAssessment";
8556            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
8557            case SCHEDULE: return "Schedule";
8558            case SEARCHPARAMETER: return "SearchParameter";
8559            case SERVICEREQUEST: return "ServiceRequest";
8560            case SLOT: return "Slot";
8561            case SPECIMEN: return "Specimen";
8562            case SPECIMENDEFINITION: return "SpecimenDefinition";
8563            case STRUCTUREDEFINITION: return "StructureDefinition";
8564            case STRUCTUREMAP: return "StructureMap";
8565            case SUBSCRIPTION: return "Subscription";
8566            case SUBSTANCE: return "Substance";
8567            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
8568            case SUBSTANCEPOLYMER: return "SubstancePolymer";
8569            case SUBSTANCEPROTEIN: return "SubstanceProtein";
8570            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
8571            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
8572            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
8573            case SUPPLYDELIVERY: return "SupplyDelivery";
8574            case SUPPLYREQUEST: return "SupplyRequest";
8575            case TASK: return "Task";
8576            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
8577            case TESTREPORT: return "TestReport";
8578            case TESTSCRIPT: return "TestScript";
8579            case VALUESET: return "ValueSet";
8580            case VERIFICATIONRESULT: return "VerificationResult";
8581            case VISIONPRESCRIPTION: return "VisionPrescription";
8582            default: return "?";
8583          }
8584        }
8585    }
8586
8587  public static class FHIRDefinedTypeEnumFactory implements EnumFactory<FHIRDefinedType> {
8588    public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException {
8589      if (codeString == null || "".equals(codeString))
8590            if (codeString == null || "".equals(codeString))
8591                return null;
8592        if ("Address".equals(codeString))
8593          return FHIRDefinedType.ADDRESS;
8594        if ("Age".equals(codeString))
8595          return FHIRDefinedType.AGE;
8596        if ("Annotation".equals(codeString))
8597          return FHIRDefinedType.ANNOTATION;
8598        if ("Attachment".equals(codeString))
8599          return FHIRDefinedType.ATTACHMENT;
8600        if ("BackboneElement".equals(codeString))
8601          return FHIRDefinedType.BACKBONEELEMENT;
8602        if ("CodeableConcept".equals(codeString))
8603          return FHIRDefinedType.CODEABLECONCEPT;
8604        if ("Coding".equals(codeString))
8605          return FHIRDefinedType.CODING;
8606        if ("ContactDetail".equals(codeString))
8607          return FHIRDefinedType.CONTACTDETAIL;
8608        if ("ContactPoint".equals(codeString))
8609          return FHIRDefinedType.CONTACTPOINT;
8610        if ("Contributor".equals(codeString))
8611          return FHIRDefinedType.CONTRIBUTOR;
8612        if ("Count".equals(codeString))
8613          return FHIRDefinedType.COUNT;
8614        if ("DataRequirement".equals(codeString))
8615          return FHIRDefinedType.DATAREQUIREMENT;
8616        if ("Distance".equals(codeString))
8617          return FHIRDefinedType.DISTANCE;
8618        if ("Dosage".equals(codeString))
8619          return FHIRDefinedType.DOSAGE;
8620        if ("Duration".equals(codeString))
8621          return FHIRDefinedType.DURATION;
8622        if ("Element".equals(codeString))
8623          return FHIRDefinedType.ELEMENT;
8624        if ("ElementDefinition".equals(codeString))
8625          return FHIRDefinedType.ELEMENTDEFINITION;
8626        if ("Expression".equals(codeString))
8627          return FHIRDefinedType.EXPRESSION;
8628        if ("Extension".equals(codeString))
8629          return FHIRDefinedType.EXTENSION;
8630        if ("HumanName".equals(codeString))
8631          return FHIRDefinedType.HUMANNAME;
8632        if ("Identifier".equals(codeString))
8633          return FHIRDefinedType.IDENTIFIER;
8634        if ("MarketingStatus".equals(codeString))
8635          return FHIRDefinedType.MARKETINGSTATUS;
8636        if ("Meta".equals(codeString))
8637          return FHIRDefinedType.META;
8638        if ("Money".equals(codeString))
8639          return FHIRDefinedType.MONEY;
8640        if ("MoneyQuantity".equals(codeString))
8641          return FHIRDefinedType.MONEYQUANTITY;
8642        if ("Narrative".equals(codeString))
8643          return FHIRDefinedType.NARRATIVE;
8644        if ("ParameterDefinition".equals(codeString))
8645          return FHIRDefinedType.PARAMETERDEFINITION;
8646        if ("Period".equals(codeString))
8647          return FHIRDefinedType.PERIOD;
8648        if ("Population".equals(codeString))
8649          return FHIRDefinedType.POPULATION;
8650        if ("ProdCharacteristic".equals(codeString))
8651          return FHIRDefinedType.PRODCHARACTERISTIC;
8652        if ("ProductShelfLife".equals(codeString))
8653          return FHIRDefinedType.PRODUCTSHELFLIFE;
8654        if ("Quantity".equals(codeString))
8655          return FHIRDefinedType.QUANTITY;
8656        if ("Range".equals(codeString))
8657          return FHIRDefinedType.RANGE;
8658        if ("Ratio".equals(codeString))
8659          return FHIRDefinedType.RATIO;
8660        if ("Reference".equals(codeString))
8661          return FHIRDefinedType.REFERENCE;
8662        if ("RelatedArtifact".equals(codeString))
8663          return FHIRDefinedType.RELATEDARTIFACT;
8664        if ("SampledData".equals(codeString))
8665          return FHIRDefinedType.SAMPLEDDATA;
8666        if ("Signature".equals(codeString))
8667          return FHIRDefinedType.SIGNATURE;
8668        if ("SimpleQuantity".equals(codeString))
8669          return FHIRDefinedType.SIMPLEQUANTITY;
8670        if ("SubstanceAmount".equals(codeString))
8671          return FHIRDefinedType.SUBSTANCEAMOUNT;
8672        if ("Timing".equals(codeString))
8673          return FHIRDefinedType.TIMING;
8674        if ("TriggerDefinition".equals(codeString))
8675          return FHIRDefinedType.TRIGGERDEFINITION;
8676        if ("UsageContext".equals(codeString))
8677          return FHIRDefinedType.USAGECONTEXT;
8678        if ("base64Binary".equals(codeString))
8679          return FHIRDefinedType.BASE64BINARY;
8680        if ("boolean".equals(codeString))
8681          return FHIRDefinedType.BOOLEAN;
8682        if ("canonical".equals(codeString))
8683          return FHIRDefinedType.CANONICAL;
8684        if ("code".equals(codeString))
8685          return FHIRDefinedType.CODE;
8686        if ("date".equals(codeString))
8687          return FHIRDefinedType.DATE;
8688        if ("dateTime".equals(codeString))
8689          return FHIRDefinedType.DATETIME;
8690        if ("decimal".equals(codeString))
8691          return FHIRDefinedType.DECIMAL;
8692        if ("id".equals(codeString))
8693          return FHIRDefinedType.ID;
8694        if ("instant".equals(codeString))
8695          return FHIRDefinedType.INSTANT;
8696        if ("integer".equals(codeString))
8697          return FHIRDefinedType.INTEGER;
8698        if ("markdown".equals(codeString))
8699          return FHIRDefinedType.MARKDOWN;
8700        if ("oid".equals(codeString))
8701          return FHIRDefinedType.OID;
8702        if ("positiveInt".equals(codeString))
8703          return FHIRDefinedType.POSITIVEINT;
8704        if ("string".equals(codeString))
8705          return FHIRDefinedType.STRING;
8706        if ("time".equals(codeString))
8707          return FHIRDefinedType.TIME;
8708        if ("unsignedInt".equals(codeString))
8709          return FHIRDefinedType.UNSIGNEDINT;
8710        if ("uri".equals(codeString))
8711          return FHIRDefinedType.URI;
8712        if ("url".equals(codeString))
8713          return FHIRDefinedType.URL;
8714        if ("uuid".equals(codeString))
8715          return FHIRDefinedType.UUID;
8716        if ("xhtml".equals(codeString))
8717          return FHIRDefinedType.XHTML;
8718        if ("Account".equals(codeString))
8719          return FHIRDefinedType.ACCOUNT;
8720        if ("ActivityDefinition".equals(codeString))
8721          return FHIRDefinedType.ACTIVITYDEFINITION;
8722        if ("AdverseEvent".equals(codeString))
8723          return FHIRDefinedType.ADVERSEEVENT;
8724        if ("AllergyIntolerance".equals(codeString))
8725          return FHIRDefinedType.ALLERGYINTOLERANCE;
8726        if ("Appointment".equals(codeString))
8727          return FHIRDefinedType.APPOINTMENT;
8728        if ("AppointmentResponse".equals(codeString))
8729          return FHIRDefinedType.APPOINTMENTRESPONSE;
8730        if ("AuditEvent".equals(codeString))
8731          return FHIRDefinedType.AUDITEVENT;
8732        if ("Basic".equals(codeString))
8733          return FHIRDefinedType.BASIC;
8734        if ("Binary".equals(codeString))
8735          return FHIRDefinedType.BINARY;
8736        if ("BiologicallyDerivedProduct".equals(codeString))
8737          return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT;
8738        if ("BodyStructure".equals(codeString))
8739          return FHIRDefinedType.BODYSTRUCTURE;
8740        if ("Bundle".equals(codeString))
8741          return FHIRDefinedType.BUNDLE;
8742        if ("CapabilityStatement".equals(codeString))
8743          return FHIRDefinedType.CAPABILITYSTATEMENT;
8744        if ("CarePlan".equals(codeString))
8745          return FHIRDefinedType.CAREPLAN;
8746        if ("CareTeam".equals(codeString))
8747          return FHIRDefinedType.CARETEAM;
8748        if ("CatalogEntry".equals(codeString))
8749          return FHIRDefinedType.CATALOGENTRY;
8750        if ("ChargeItem".equals(codeString))
8751          return FHIRDefinedType.CHARGEITEM;
8752        if ("ChargeItemDefinition".equals(codeString))
8753          return FHIRDefinedType.CHARGEITEMDEFINITION;
8754        if ("Claim".equals(codeString))
8755          return FHIRDefinedType.CLAIM;
8756        if ("ClaimResponse".equals(codeString))
8757          return FHIRDefinedType.CLAIMRESPONSE;
8758        if ("ClinicalImpression".equals(codeString))
8759          return FHIRDefinedType.CLINICALIMPRESSION;
8760        if ("CodeSystem".equals(codeString))
8761          return FHIRDefinedType.CODESYSTEM;
8762        if ("Communication".equals(codeString))
8763          return FHIRDefinedType.COMMUNICATION;
8764        if ("CommunicationRequest".equals(codeString))
8765          return FHIRDefinedType.COMMUNICATIONREQUEST;
8766        if ("CompartmentDefinition".equals(codeString))
8767          return FHIRDefinedType.COMPARTMENTDEFINITION;
8768        if ("Composition".equals(codeString))
8769          return FHIRDefinedType.COMPOSITION;
8770        if ("ConceptMap".equals(codeString))
8771          return FHIRDefinedType.CONCEPTMAP;
8772        if ("Condition".equals(codeString))
8773          return FHIRDefinedType.CONDITION;
8774        if ("Consent".equals(codeString))
8775          return FHIRDefinedType.CONSENT;
8776        if ("Contract".equals(codeString))
8777          return FHIRDefinedType.CONTRACT;
8778        if ("Coverage".equals(codeString))
8779          return FHIRDefinedType.COVERAGE;
8780        if ("CoverageEligibilityRequest".equals(codeString))
8781          return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST;
8782        if ("CoverageEligibilityResponse".equals(codeString))
8783          return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE;
8784        if ("DetectedIssue".equals(codeString))
8785          return FHIRDefinedType.DETECTEDISSUE;
8786        if ("Device".equals(codeString))
8787          return FHIRDefinedType.DEVICE;
8788        if ("DeviceDefinition".equals(codeString))
8789          return FHIRDefinedType.DEVICEDEFINITION;
8790        if ("DeviceMetric".equals(codeString))
8791          return FHIRDefinedType.DEVICEMETRIC;
8792        if ("DeviceRequest".equals(codeString))
8793          return FHIRDefinedType.DEVICEREQUEST;
8794        if ("DeviceUseStatement".equals(codeString))
8795          return FHIRDefinedType.DEVICEUSESTATEMENT;
8796        if ("DiagnosticReport".equals(codeString))
8797          return FHIRDefinedType.DIAGNOSTICREPORT;
8798        if ("DocumentManifest".equals(codeString))
8799          return FHIRDefinedType.DOCUMENTMANIFEST;
8800        if ("DocumentReference".equals(codeString))
8801          return FHIRDefinedType.DOCUMENTREFERENCE;
8802        if ("DomainResource".equals(codeString))
8803          return FHIRDefinedType.DOMAINRESOURCE;
8804        if ("EffectEvidenceSynthesis".equals(codeString))
8805          return FHIRDefinedType.EFFECTEVIDENCESYNTHESIS;
8806        if ("Encounter".equals(codeString))
8807          return FHIRDefinedType.ENCOUNTER;
8808        if ("Endpoint".equals(codeString))
8809          return FHIRDefinedType.ENDPOINT;
8810        if ("EnrollmentRequest".equals(codeString))
8811          return FHIRDefinedType.ENROLLMENTREQUEST;
8812        if ("EnrollmentResponse".equals(codeString))
8813          return FHIRDefinedType.ENROLLMENTRESPONSE;
8814        if ("EpisodeOfCare".equals(codeString))
8815          return FHIRDefinedType.EPISODEOFCARE;
8816        if ("EventDefinition".equals(codeString))
8817          return FHIRDefinedType.EVENTDEFINITION;
8818        if ("Evidence".equals(codeString))
8819          return FHIRDefinedType.EVIDENCE;
8820        if ("EvidenceVariable".equals(codeString))
8821          return FHIRDefinedType.EVIDENCEVARIABLE;
8822        if ("ExampleScenario".equals(codeString))
8823          return FHIRDefinedType.EXAMPLESCENARIO;
8824        if ("ExplanationOfBenefit".equals(codeString))
8825          return FHIRDefinedType.EXPLANATIONOFBENEFIT;
8826        if ("FamilyMemberHistory".equals(codeString))
8827          return FHIRDefinedType.FAMILYMEMBERHISTORY;
8828        if ("Flag".equals(codeString))
8829          return FHIRDefinedType.FLAG;
8830        if ("Goal".equals(codeString))
8831          return FHIRDefinedType.GOAL;
8832        if ("GraphDefinition".equals(codeString))
8833          return FHIRDefinedType.GRAPHDEFINITION;
8834        if ("Group".equals(codeString))
8835          return FHIRDefinedType.GROUP;
8836        if ("GuidanceResponse".equals(codeString))
8837          return FHIRDefinedType.GUIDANCERESPONSE;
8838        if ("HealthcareService".equals(codeString))
8839          return FHIRDefinedType.HEALTHCARESERVICE;
8840        if ("ImagingStudy".equals(codeString))
8841          return FHIRDefinedType.IMAGINGSTUDY;
8842        if ("Immunization".equals(codeString))
8843          return FHIRDefinedType.IMMUNIZATION;
8844        if ("ImmunizationEvaluation".equals(codeString))
8845          return FHIRDefinedType.IMMUNIZATIONEVALUATION;
8846        if ("ImmunizationRecommendation".equals(codeString))
8847          return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION;
8848        if ("ImplementationGuide".equals(codeString))
8849          return FHIRDefinedType.IMPLEMENTATIONGUIDE;
8850        if ("InsurancePlan".equals(codeString))
8851          return FHIRDefinedType.INSURANCEPLAN;
8852        if ("Invoice".equals(codeString))
8853          return FHIRDefinedType.INVOICE;
8854        if ("Library".equals(codeString))
8855          return FHIRDefinedType.LIBRARY;
8856        if ("Linkage".equals(codeString))
8857          return FHIRDefinedType.LINKAGE;
8858        if ("List".equals(codeString))
8859          return FHIRDefinedType.LIST;
8860        if ("Location".equals(codeString))
8861          return FHIRDefinedType.LOCATION;
8862        if ("Measure".equals(codeString))
8863          return FHIRDefinedType.MEASURE;
8864        if ("MeasureReport".equals(codeString))
8865          return FHIRDefinedType.MEASUREREPORT;
8866        if ("Media".equals(codeString))
8867          return FHIRDefinedType.MEDIA;
8868        if ("Medication".equals(codeString))
8869          return FHIRDefinedType.MEDICATION;
8870        if ("MedicationAdministration".equals(codeString))
8871          return FHIRDefinedType.MEDICATIONADMINISTRATION;
8872        if ("MedicationDispense".equals(codeString))
8873          return FHIRDefinedType.MEDICATIONDISPENSE;
8874        if ("MedicationKnowledge".equals(codeString))
8875          return FHIRDefinedType.MEDICATIONKNOWLEDGE;
8876        if ("MedicationRequest".equals(codeString))
8877          return FHIRDefinedType.MEDICATIONREQUEST;
8878        if ("MedicationStatement".equals(codeString))
8879          return FHIRDefinedType.MEDICATIONSTATEMENT;
8880        if ("MedicinalProduct".equals(codeString))
8881          return FHIRDefinedType.MEDICINALPRODUCT;
8882        if ("MedicinalProductAuthorization".equals(codeString))
8883          return FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION;
8884        if ("MedicinalProductContraindication".equals(codeString))
8885          return FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION;
8886        if ("MedicinalProductIndication".equals(codeString))
8887          return FHIRDefinedType.MEDICINALPRODUCTINDICATION;
8888        if ("MedicinalProductIngredient".equals(codeString))
8889          return FHIRDefinedType.MEDICINALPRODUCTINGREDIENT;
8890        if ("MedicinalProductInteraction".equals(codeString))
8891          return FHIRDefinedType.MEDICINALPRODUCTINTERACTION;
8892        if ("MedicinalProductManufactured".equals(codeString))
8893          return FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED;
8894        if ("MedicinalProductPackaged".equals(codeString))
8895          return FHIRDefinedType.MEDICINALPRODUCTPACKAGED;
8896        if ("MedicinalProductPharmaceutical".equals(codeString))
8897          return FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL;
8898        if ("MedicinalProductUndesirableEffect".equals(codeString))
8899          return FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
8900        if ("MessageDefinition".equals(codeString))
8901          return FHIRDefinedType.MESSAGEDEFINITION;
8902        if ("MessageHeader".equals(codeString))
8903          return FHIRDefinedType.MESSAGEHEADER;
8904        if ("MolecularSequence".equals(codeString))
8905          return FHIRDefinedType.MOLECULARSEQUENCE;
8906        if ("NamingSystem".equals(codeString))
8907          return FHIRDefinedType.NAMINGSYSTEM;
8908        if ("NutritionOrder".equals(codeString))
8909          return FHIRDefinedType.NUTRITIONORDER;
8910        if ("Observation".equals(codeString))
8911          return FHIRDefinedType.OBSERVATION;
8912        if ("ObservationDefinition".equals(codeString))
8913          return FHIRDefinedType.OBSERVATIONDEFINITION;
8914        if ("OperationDefinition".equals(codeString))
8915          return FHIRDefinedType.OPERATIONDEFINITION;
8916        if ("OperationOutcome".equals(codeString))
8917          return FHIRDefinedType.OPERATIONOUTCOME;
8918        if ("Organization".equals(codeString))
8919          return FHIRDefinedType.ORGANIZATION;
8920        if ("OrganizationAffiliation".equals(codeString))
8921          return FHIRDefinedType.ORGANIZATIONAFFILIATION;
8922        if ("Parameters".equals(codeString))
8923          return FHIRDefinedType.PARAMETERS;
8924        if ("Patient".equals(codeString))
8925          return FHIRDefinedType.PATIENT;
8926        if ("PaymentNotice".equals(codeString))
8927          return FHIRDefinedType.PAYMENTNOTICE;
8928        if ("PaymentReconciliation".equals(codeString))
8929          return FHIRDefinedType.PAYMENTRECONCILIATION;
8930        if ("Person".equals(codeString))
8931          return FHIRDefinedType.PERSON;
8932        if ("PlanDefinition".equals(codeString))
8933          return FHIRDefinedType.PLANDEFINITION;
8934        if ("Practitioner".equals(codeString))
8935          return FHIRDefinedType.PRACTITIONER;
8936        if ("PractitionerRole".equals(codeString))
8937          return FHIRDefinedType.PRACTITIONERROLE;
8938        if ("Procedure".equals(codeString))
8939          return FHIRDefinedType.PROCEDURE;
8940        if ("Provenance".equals(codeString))
8941          return FHIRDefinedType.PROVENANCE;
8942        if ("Questionnaire".equals(codeString))
8943          return FHIRDefinedType.QUESTIONNAIRE;
8944        if ("QuestionnaireResponse".equals(codeString))
8945          return FHIRDefinedType.QUESTIONNAIRERESPONSE;
8946        if ("RelatedPerson".equals(codeString))
8947          return FHIRDefinedType.RELATEDPERSON;
8948        if ("RequestGroup".equals(codeString))
8949          return FHIRDefinedType.REQUESTGROUP;
8950        if ("ResearchDefinition".equals(codeString))
8951          return FHIRDefinedType.RESEARCHDEFINITION;
8952        if ("ResearchElementDefinition".equals(codeString))
8953          return FHIRDefinedType.RESEARCHELEMENTDEFINITION;
8954        if ("ResearchStudy".equals(codeString))
8955          return FHIRDefinedType.RESEARCHSTUDY;
8956        if ("ResearchSubject".equals(codeString))
8957          return FHIRDefinedType.RESEARCHSUBJECT;
8958        if ("Resource".equals(codeString))
8959          return FHIRDefinedType.RESOURCE;
8960        if ("RiskAssessment".equals(codeString))
8961          return FHIRDefinedType.RISKASSESSMENT;
8962        if ("RiskEvidenceSynthesis".equals(codeString))
8963          return FHIRDefinedType.RISKEVIDENCESYNTHESIS;
8964        if ("Schedule".equals(codeString))
8965          return FHIRDefinedType.SCHEDULE;
8966        if ("SearchParameter".equals(codeString))
8967          return FHIRDefinedType.SEARCHPARAMETER;
8968        if ("ServiceRequest".equals(codeString))
8969          return FHIRDefinedType.SERVICEREQUEST;
8970        if ("Slot".equals(codeString))
8971          return FHIRDefinedType.SLOT;
8972        if ("Specimen".equals(codeString))
8973          return FHIRDefinedType.SPECIMEN;
8974        if ("SpecimenDefinition".equals(codeString))
8975          return FHIRDefinedType.SPECIMENDEFINITION;
8976        if ("StructureDefinition".equals(codeString))
8977          return FHIRDefinedType.STRUCTUREDEFINITION;
8978        if ("StructureMap".equals(codeString))
8979          return FHIRDefinedType.STRUCTUREMAP;
8980        if ("Subscription".equals(codeString))
8981          return FHIRDefinedType.SUBSCRIPTION;
8982        if ("Substance".equals(codeString))
8983          return FHIRDefinedType.SUBSTANCE;
8984        if ("SubstanceNucleicAcid".equals(codeString))
8985          return FHIRDefinedType.SUBSTANCENUCLEICACID;
8986        if ("SubstancePolymer".equals(codeString))
8987          return FHIRDefinedType.SUBSTANCEPOLYMER;
8988        if ("SubstanceProtein".equals(codeString))
8989          return FHIRDefinedType.SUBSTANCEPROTEIN;
8990        if ("SubstanceReferenceInformation".equals(codeString))
8991          return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION;
8992        if ("SubstanceSourceMaterial".equals(codeString))
8993          return FHIRDefinedType.SUBSTANCESOURCEMATERIAL;
8994        if ("SubstanceSpecification".equals(codeString))
8995          return FHIRDefinedType.SUBSTANCESPECIFICATION;
8996        if ("SupplyDelivery".equals(codeString))
8997          return FHIRDefinedType.SUPPLYDELIVERY;
8998        if ("SupplyRequest".equals(codeString))
8999          return FHIRDefinedType.SUPPLYREQUEST;
9000        if ("Task".equals(codeString))
9001          return FHIRDefinedType.TASK;
9002        if ("TerminologyCapabilities".equals(codeString))
9003          return FHIRDefinedType.TERMINOLOGYCAPABILITIES;
9004        if ("TestReport".equals(codeString))
9005          return FHIRDefinedType.TESTREPORT;
9006        if ("TestScript".equals(codeString))
9007          return FHIRDefinedType.TESTSCRIPT;
9008        if ("ValueSet".equals(codeString))
9009          return FHIRDefinedType.VALUESET;
9010        if ("VerificationResult".equals(codeString))
9011          return FHIRDefinedType.VERIFICATIONRESULT;
9012        if ("VisionPrescription".equals(codeString))
9013          return FHIRDefinedType.VISIONPRESCRIPTION;
9014        throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'");
9015        }
9016        public Enumeration<FHIRDefinedType> fromType(Base code) throws FHIRException {
9017          if (code == null)
9018            return null;
9019          if (code.isEmpty())
9020            return new Enumeration<FHIRDefinedType>(this);
9021          String codeString = ((PrimitiveType) code).asStringValue();
9022          if (codeString == null || "".equals(codeString))
9023            return null;
9024        if ("Address".equals(codeString))
9025          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADDRESS);
9026        if ("Age".equals(codeString))
9027          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AGE);
9028        if ("Annotation".equals(codeString))
9029          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ANNOTATION);
9030        if ("Attachment".equals(codeString))
9031          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ATTACHMENT);
9032        if ("BackboneElement".equals(codeString))
9033          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BACKBONEELEMENT);
9034        if ("CodeableConcept".equals(codeString))
9035          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODEABLECONCEPT);
9036        if ("Coding".equals(codeString))
9037          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODING);
9038        if ("ContactDetail".equals(codeString))
9039          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTDETAIL);
9040        if ("ContactPoint".equals(codeString))
9041          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTACTPOINT);
9042        if ("Contributor".equals(codeString))
9043          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRIBUTOR);
9044        if ("Count".equals(codeString))
9045          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COUNT);
9046        if ("DataRequirement".equals(codeString))
9047          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATAREQUIREMENT);
9048        if ("Distance".equals(codeString))
9049          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DISTANCE);
9050        if ("Dosage".equals(codeString))
9051          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOSAGE);
9052        if ("Duration".equals(codeString))
9053          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DURATION);
9054        if ("Element".equals(codeString))
9055          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENT);
9056        if ("ElementDefinition".equals(codeString))
9057          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ELEMENTDEFINITION);
9058        if ("Expression".equals(codeString))
9059          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPRESSION);
9060        if ("Extension".equals(codeString))
9061          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXTENSION);
9062        if ("HumanName".equals(codeString))
9063          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HUMANNAME);
9064        if ("Identifier".equals(codeString))
9065          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IDENTIFIER);
9066        if ("MarketingStatus".equals(codeString))
9067          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKETINGSTATUS);
9068        if ("Meta".equals(codeString))
9069          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.META);
9070        if ("Money".equals(codeString))
9071          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEY);
9072        if ("MoneyQuantity".equals(codeString))
9073          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MONEYQUANTITY);
9074        if ("Narrative".equals(codeString))
9075          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NARRATIVE);
9076        if ("ParameterDefinition".equals(codeString))
9077          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERDEFINITION);
9078        if ("Period".equals(codeString))
9079          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERIOD);
9080        if ("Population".equals(codeString))
9081          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POPULATION);
9082        if ("ProdCharacteristic".equals(codeString))
9083          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODCHARACTERISTIC);
9084        if ("ProductShelfLife".equals(codeString))
9085          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRODUCTSHELFLIFE);
9086        if ("Quantity".equals(codeString))
9087          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUANTITY);
9088        if ("Range".equals(codeString))
9089          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RANGE);
9090        if ("Ratio".equals(codeString))
9091          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RATIO);
9092        if ("Reference".equals(codeString))
9093          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REFERENCE);
9094        if ("RelatedArtifact".equals(codeString))
9095          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDARTIFACT);
9096        if ("SampledData".equals(codeString))
9097          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SAMPLEDDATA);
9098        if ("Signature".equals(codeString))
9099          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIGNATURE);
9100        if ("SimpleQuantity".equals(codeString))
9101          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SIMPLEQUANTITY);
9102        if ("SubstanceAmount".equals(codeString))
9103          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEAMOUNT);
9104        if ("Timing".equals(codeString))
9105          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIMING);
9106        if ("TriggerDefinition".equals(codeString))
9107          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TRIGGERDEFINITION);
9108        if ("UsageContext".equals(codeString))
9109          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.USAGECONTEXT);
9110        if ("base64Binary".equals(codeString))
9111          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASE64BINARY);
9112        if ("boolean".equals(codeString))
9113          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BOOLEAN);
9114        if ("canonical".equals(codeString))
9115          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CANONICAL);
9116        if ("code".equals(codeString))
9117          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODE);
9118        if ("date".equals(codeString))
9119          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATE);
9120        if ("dateTime".equals(codeString))
9121          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DATETIME);
9122        if ("decimal".equals(codeString))
9123          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DECIMAL);
9124        if ("id".equals(codeString))
9125          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ID);
9126        if ("instant".equals(codeString))
9127          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSTANT);
9128        if ("integer".equals(codeString))
9129          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INTEGER);
9130        if ("markdown".equals(codeString))
9131          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MARKDOWN);
9132        if ("oid".equals(codeString))
9133          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OID);
9134        if ("positiveInt".equals(codeString))
9135          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.POSITIVEINT);
9136        if ("string".equals(codeString))
9137          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRING);
9138        if ("time".equals(codeString))
9139          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TIME);
9140        if ("unsignedInt".equals(codeString))
9141          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UNSIGNEDINT);
9142        if ("uri".equals(codeString))
9143          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URI);
9144        if ("url".equals(codeString))
9145          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.URL);
9146        if ("uuid".equals(codeString))
9147          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.UUID);
9148        if ("xhtml".equals(codeString))
9149          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.XHTML);
9150        if ("Account".equals(codeString))
9151          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACCOUNT);
9152        if ("ActivityDefinition".equals(codeString))
9153          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ACTIVITYDEFINITION);
9154        if ("AdverseEvent".equals(codeString))
9155          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ADVERSEEVENT);
9156        if ("AllergyIntolerance".equals(codeString))
9157          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ALLERGYINTOLERANCE);
9158        if ("Appointment".equals(codeString))
9159          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENT);
9160        if ("AppointmentResponse".equals(codeString))
9161          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.APPOINTMENTRESPONSE);
9162        if ("AuditEvent".equals(codeString))
9163          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.AUDITEVENT);
9164        if ("Basic".equals(codeString))
9165          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BASIC);
9166        if ("Binary".equals(codeString))
9167          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BINARY);
9168        if ("BiologicallyDerivedProduct".equals(codeString))
9169          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT);
9170        if ("BodyStructure".equals(codeString))
9171          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BODYSTRUCTURE);
9172        if ("Bundle".equals(codeString))
9173          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.BUNDLE);
9174        if ("CapabilityStatement".equals(codeString))
9175          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAPABILITYSTATEMENT);
9176        if ("CarePlan".equals(codeString))
9177          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CAREPLAN);
9178        if ("CareTeam".equals(codeString))
9179          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CARETEAM);
9180        if ("CatalogEntry".equals(codeString))
9181          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CATALOGENTRY);
9182        if ("ChargeItem".equals(codeString))
9183          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEM);
9184        if ("ChargeItemDefinition".equals(codeString))
9185          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CHARGEITEMDEFINITION);
9186        if ("Claim".equals(codeString))
9187          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIM);
9188        if ("ClaimResponse".equals(codeString))
9189          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLAIMRESPONSE);
9190        if ("ClinicalImpression".equals(codeString))
9191          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CLINICALIMPRESSION);
9192        if ("CodeSystem".equals(codeString))
9193          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CODESYSTEM);
9194        if ("Communication".equals(codeString))
9195          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATION);
9196        if ("CommunicationRequest".equals(codeString))
9197          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMMUNICATIONREQUEST);
9198        if ("CompartmentDefinition".equals(codeString))
9199          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPARTMENTDEFINITION);
9200        if ("Composition".equals(codeString))
9201          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COMPOSITION);
9202        if ("ConceptMap".equals(codeString))
9203          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONCEPTMAP);
9204        if ("Condition".equals(codeString))
9205          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONDITION);
9206        if ("Consent".equals(codeString))
9207          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONSENT);
9208        if ("Contract".equals(codeString))
9209          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.CONTRACT);
9210        if ("Coverage".equals(codeString))
9211          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGE);
9212        if ("CoverageEligibilityRequest".equals(codeString))
9213          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST);
9214        if ("CoverageEligibilityResponse".equals(codeString))
9215          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE);
9216        if ("DetectedIssue".equals(codeString))
9217          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DETECTEDISSUE);
9218        if ("Device".equals(codeString))
9219          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICE);
9220        if ("DeviceDefinition".equals(codeString))
9221          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEDEFINITION);
9222        if ("DeviceMetric".equals(codeString))
9223          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEMETRIC);
9224        if ("DeviceRequest".equals(codeString))
9225          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEREQUEST);
9226        if ("DeviceUseStatement".equals(codeString))
9227          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DEVICEUSESTATEMENT);
9228        if ("DiagnosticReport".equals(codeString))
9229          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DIAGNOSTICREPORT);
9230        if ("DocumentManifest".equals(codeString))
9231          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTMANIFEST);
9232        if ("DocumentReference".equals(codeString))
9233          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOCUMENTREFERENCE);
9234        if ("DomainResource".equals(codeString))
9235          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.DOMAINRESOURCE);
9236        if ("EffectEvidenceSynthesis".equals(codeString))
9237          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EFFECTEVIDENCESYNTHESIS);
9238        if ("Encounter".equals(codeString))
9239          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENCOUNTER);
9240        if ("Endpoint".equals(codeString))
9241          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENDPOINT);
9242        if ("EnrollmentRequest".equals(codeString))
9243          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTREQUEST);
9244        if ("EnrollmentResponse".equals(codeString))
9245          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ENROLLMENTRESPONSE);
9246        if ("EpisodeOfCare".equals(codeString))
9247          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EPISODEOFCARE);
9248        if ("EventDefinition".equals(codeString))
9249          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVENTDEFINITION);
9250        if ("Evidence".equals(codeString))
9251          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCE);
9252        if ("EvidenceVariable".equals(codeString))
9253          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EVIDENCEVARIABLE);
9254        if ("ExampleScenario".equals(codeString))
9255          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXAMPLESCENARIO);
9256        if ("ExplanationOfBenefit".equals(codeString))
9257          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.EXPLANATIONOFBENEFIT);
9258        if ("FamilyMemberHistory".equals(codeString))
9259          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FAMILYMEMBERHISTORY);
9260        if ("Flag".equals(codeString))
9261          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.FLAG);
9262        if ("Goal".equals(codeString))
9263          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GOAL);
9264        if ("GraphDefinition".equals(codeString))
9265          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GRAPHDEFINITION);
9266        if ("Group".equals(codeString))
9267          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GROUP);
9268        if ("GuidanceResponse".equals(codeString))
9269          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.GUIDANCERESPONSE);
9270        if ("HealthcareService".equals(codeString))
9271          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.HEALTHCARESERVICE);
9272        if ("ImagingStudy".equals(codeString))
9273          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMAGINGSTUDY);
9274        if ("Immunization".equals(codeString))
9275          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATION);
9276        if ("ImmunizationEvaluation".equals(codeString))
9277          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONEVALUATION);
9278        if ("ImmunizationRecommendation".equals(codeString))
9279          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION);
9280        if ("ImplementationGuide".equals(codeString))
9281          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.IMPLEMENTATIONGUIDE);
9282        if ("InsurancePlan".equals(codeString))
9283          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INSURANCEPLAN);
9284        if ("Invoice".equals(codeString))
9285          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.INVOICE);
9286        if ("Library".equals(codeString))
9287          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIBRARY);
9288        if ("Linkage".equals(codeString))
9289          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LINKAGE);
9290        if ("List".equals(codeString))
9291          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LIST);
9292        if ("Location".equals(codeString))
9293          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.LOCATION);
9294        if ("Measure".equals(codeString))
9295          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASURE);
9296        if ("MeasureReport".equals(codeString))
9297          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEASUREREPORT);
9298        if ("Media".equals(codeString))
9299          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDIA);
9300        if ("Medication".equals(codeString))
9301          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATION);
9302        if ("MedicationAdministration".equals(codeString))
9303          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONADMINISTRATION);
9304        if ("MedicationDispense".equals(codeString))
9305          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONDISPENSE);
9306        if ("MedicationKnowledge".equals(codeString))
9307          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONKNOWLEDGE);
9308        if ("MedicationRequest".equals(codeString))
9309          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONREQUEST);
9310        if ("MedicationStatement".equals(codeString))
9311          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICATIONSTATEMENT);
9312        if ("MedicinalProduct".equals(codeString))
9313          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCT);
9314        if ("MedicinalProductAuthorization".equals(codeString))
9315          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION);
9316        if ("MedicinalProductContraindication".equals(codeString))
9317          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION);
9318        if ("MedicinalProductIndication".equals(codeString))
9319          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINDICATION);
9320        if ("MedicinalProductIngredient".equals(codeString))
9321          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINGREDIENT);
9322        if ("MedicinalProductInteraction".equals(codeString))
9323          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTINTERACTION);
9324        if ("MedicinalProductManufactured".equals(codeString))
9325          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED);
9326        if ("MedicinalProductPackaged".equals(codeString))
9327          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPACKAGED);
9328        if ("MedicinalProductPharmaceutical".equals(codeString))
9329          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL);
9330        if ("MedicinalProductUndesirableEffect".equals(codeString))
9331          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
9332        if ("MessageDefinition".equals(codeString))
9333          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEDEFINITION);
9334        if ("MessageHeader".equals(codeString))
9335          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MESSAGEHEADER);
9336        if ("MolecularSequence".equals(codeString))
9337          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.MOLECULARSEQUENCE);
9338        if ("NamingSystem".equals(codeString))
9339          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NAMINGSYSTEM);
9340        if ("NutritionOrder".equals(codeString))
9341          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.NUTRITIONORDER);
9342        if ("Observation".equals(codeString))
9343          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATION);
9344        if ("ObservationDefinition".equals(codeString))
9345          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OBSERVATIONDEFINITION);
9346        if ("OperationDefinition".equals(codeString))
9347          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONDEFINITION);
9348        if ("OperationOutcome".equals(codeString))
9349          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.OPERATIONOUTCOME);
9350        if ("Organization".equals(codeString))
9351          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATION);
9352        if ("OrganizationAffiliation".equals(codeString))
9353          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.ORGANIZATIONAFFILIATION);
9354        if ("Parameters".equals(codeString))
9355          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PARAMETERS);
9356        if ("Patient".equals(codeString))
9357          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PATIENT);
9358        if ("PaymentNotice".equals(codeString))
9359          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTNOTICE);
9360        if ("PaymentReconciliation".equals(codeString))
9361          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PAYMENTRECONCILIATION);
9362        if ("Person".equals(codeString))
9363          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PERSON);
9364        if ("PlanDefinition".equals(codeString))
9365          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PLANDEFINITION);
9366        if ("Practitioner".equals(codeString))
9367          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONER);
9368        if ("PractitionerRole".equals(codeString))
9369          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PRACTITIONERROLE);
9370        if ("Procedure".equals(codeString))
9371          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROCEDURE);
9372        if ("Provenance".equals(codeString))
9373          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.PROVENANCE);
9374        if ("Questionnaire".equals(codeString))
9375          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRE);
9376        if ("QuestionnaireResponse".equals(codeString))
9377          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.QUESTIONNAIRERESPONSE);
9378        if ("RelatedPerson".equals(codeString))
9379          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RELATEDPERSON);
9380        if ("RequestGroup".equals(codeString))
9381          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.REQUESTGROUP);
9382        if ("ResearchDefinition".equals(codeString))
9383          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHDEFINITION);
9384        if ("ResearchElementDefinition".equals(codeString))
9385          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHELEMENTDEFINITION);
9386        if ("ResearchStudy".equals(codeString))
9387          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSTUDY);
9388        if ("ResearchSubject".equals(codeString))
9389          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESEARCHSUBJECT);
9390        if ("Resource".equals(codeString))
9391          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RESOURCE);
9392        if ("RiskAssessment".equals(codeString))
9393          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKASSESSMENT);
9394        if ("RiskEvidenceSynthesis".equals(codeString))
9395          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.RISKEVIDENCESYNTHESIS);
9396        if ("Schedule".equals(codeString))
9397          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SCHEDULE);
9398        if ("SearchParameter".equals(codeString))
9399          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SEARCHPARAMETER);
9400        if ("ServiceRequest".equals(codeString))
9401          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SERVICEREQUEST);
9402        if ("Slot".equals(codeString))
9403          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SLOT);
9404        if ("Specimen".equals(codeString))
9405          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMEN);
9406        if ("SpecimenDefinition".equals(codeString))
9407          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SPECIMENDEFINITION);
9408        if ("StructureDefinition".equals(codeString))
9409          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREDEFINITION);
9410        if ("StructureMap".equals(codeString))
9411          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.STRUCTUREMAP);
9412        if ("Subscription".equals(codeString))
9413          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSCRIPTION);
9414        if ("Substance".equals(codeString))
9415          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCE);
9416        if ("SubstanceNucleicAcid".equals(codeString))
9417          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCENUCLEICACID);
9418        if ("SubstancePolymer".equals(codeString))
9419          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPOLYMER);
9420        if ("SubstanceProtein".equals(codeString))
9421          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEPROTEIN);
9422        if ("SubstanceReferenceInformation".equals(codeString))
9423          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION);
9424        if ("SubstanceSourceMaterial".equals(codeString))
9425          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESOURCEMATERIAL);
9426        if ("SubstanceSpecification".equals(codeString))
9427          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUBSTANCESPECIFICATION);
9428        if ("SupplyDelivery".equals(codeString))
9429          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYDELIVERY);
9430        if ("SupplyRequest".equals(codeString))
9431          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.SUPPLYREQUEST);
9432        if ("Task".equals(codeString))
9433          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TASK);
9434        if ("TerminologyCapabilities".equals(codeString))
9435          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES);
9436        if ("TestReport".equals(codeString))
9437          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTREPORT);
9438        if ("TestScript".equals(codeString))
9439          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.TESTSCRIPT);
9440        if ("ValueSet".equals(codeString))
9441          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VALUESET);
9442        if ("VerificationResult".equals(codeString))
9443          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VERIFICATIONRESULT);
9444        if ("VisionPrescription".equals(codeString))
9445          return new Enumeration<FHIRDefinedType>(this, FHIRDefinedType.VISIONPRESCRIPTION);
9446        throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'");
9447        }
9448    public String toCode(FHIRDefinedType code) {
9449      if (code == FHIRDefinedType.ADDRESS)
9450        return "Address";
9451      if (code == FHIRDefinedType.AGE)
9452        return "Age";
9453      if (code == FHIRDefinedType.ANNOTATION)
9454        return "Annotation";
9455      if (code == FHIRDefinedType.ATTACHMENT)
9456        return "Attachment";
9457      if (code == FHIRDefinedType.BACKBONEELEMENT)
9458        return "BackboneElement";
9459      if (code == FHIRDefinedType.CODEABLECONCEPT)
9460        return "CodeableConcept";
9461      if (code == FHIRDefinedType.CODING)
9462        return "Coding";
9463      if (code == FHIRDefinedType.CONTACTDETAIL)
9464        return "ContactDetail";
9465      if (code == FHIRDefinedType.CONTACTPOINT)
9466        return "ContactPoint";
9467      if (code == FHIRDefinedType.CONTRIBUTOR)
9468        return "Contributor";
9469      if (code == FHIRDefinedType.COUNT)
9470        return "Count";
9471      if (code == FHIRDefinedType.DATAREQUIREMENT)
9472        return "DataRequirement";
9473      if (code == FHIRDefinedType.DISTANCE)
9474        return "Distance";
9475      if (code == FHIRDefinedType.DOSAGE)
9476        return "Dosage";
9477      if (code == FHIRDefinedType.DURATION)
9478        return "Duration";
9479      if (code == FHIRDefinedType.ELEMENT)
9480        return "Element";
9481      if (code == FHIRDefinedType.ELEMENTDEFINITION)
9482        return "ElementDefinition";
9483      if (code == FHIRDefinedType.EXPRESSION)
9484        return "Expression";
9485      if (code == FHIRDefinedType.EXTENSION)
9486        return "Extension";
9487      if (code == FHIRDefinedType.HUMANNAME)
9488        return "HumanName";
9489      if (code == FHIRDefinedType.IDENTIFIER)
9490        return "Identifier";
9491      if (code == FHIRDefinedType.MARKETINGSTATUS)
9492        return "MarketingStatus";
9493      if (code == FHIRDefinedType.META)
9494        return "Meta";
9495      if (code == FHIRDefinedType.MONEY)
9496        return "Money";
9497      if (code == FHIRDefinedType.MONEYQUANTITY)
9498        return "MoneyQuantity";
9499      if (code == FHIRDefinedType.NARRATIVE)
9500        return "Narrative";
9501      if (code == FHIRDefinedType.PARAMETERDEFINITION)
9502        return "ParameterDefinition";
9503      if (code == FHIRDefinedType.PERIOD)
9504        return "Period";
9505      if (code == FHIRDefinedType.POPULATION)
9506        return "Population";
9507      if (code == FHIRDefinedType.PRODCHARACTERISTIC)
9508        return "ProdCharacteristic";
9509      if (code == FHIRDefinedType.PRODUCTSHELFLIFE)
9510        return "ProductShelfLife";
9511      if (code == FHIRDefinedType.QUANTITY)
9512        return "Quantity";
9513      if (code == FHIRDefinedType.RANGE)
9514        return "Range";
9515      if (code == FHIRDefinedType.RATIO)
9516        return "Ratio";
9517      if (code == FHIRDefinedType.REFERENCE)
9518        return "Reference";
9519      if (code == FHIRDefinedType.RELATEDARTIFACT)
9520        return "RelatedArtifact";
9521      if (code == FHIRDefinedType.SAMPLEDDATA)
9522        return "SampledData";
9523      if (code == FHIRDefinedType.SIGNATURE)
9524        return "Signature";
9525      if (code == FHIRDefinedType.SIMPLEQUANTITY)
9526        return "SimpleQuantity";
9527      if (code == FHIRDefinedType.SUBSTANCEAMOUNT)
9528        return "SubstanceAmount";
9529      if (code == FHIRDefinedType.TIMING)
9530        return "Timing";
9531      if (code == FHIRDefinedType.TRIGGERDEFINITION)
9532        return "TriggerDefinition";
9533      if (code == FHIRDefinedType.USAGECONTEXT)
9534        return "UsageContext";
9535      if (code == FHIRDefinedType.BASE64BINARY)
9536        return "base64Binary";
9537      if (code == FHIRDefinedType.BOOLEAN)
9538        return "boolean";
9539      if (code == FHIRDefinedType.CANONICAL)
9540        return "canonical";
9541      if (code == FHIRDefinedType.CODE)
9542        return "code";
9543      if (code == FHIRDefinedType.DATE)
9544        return "date";
9545      if (code == FHIRDefinedType.DATETIME)
9546        return "dateTime";
9547      if (code == FHIRDefinedType.DECIMAL)
9548        return "decimal";
9549      if (code == FHIRDefinedType.ID)
9550        return "id";
9551      if (code == FHIRDefinedType.INSTANT)
9552        return "instant";
9553      if (code == FHIRDefinedType.INTEGER)
9554        return "integer";
9555      if (code == FHIRDefinedType.MARKDOWN)
9556        return "markdown";
9557      if (code == FHIRDefinedType.OID)
9558        return "oid";
9559      if (code == FHIRDefinedType.POSITIVEINT)
9560        return "positiveInt";
9561      if (code == FHIRDefinedType.STRING)
9562        return "string";
9563      if (code == FHIRDefinedType.TIME)
9564        return "time";
9565      if (code == FHIRDefinedType.UNSIGNEDINT)
9566        return "unsignedInt";
9567      if (code == FHIRDefinedType.URI)
9568        return "uri";
9569      if (code == FHIRDefinedType.URL)
9570        return "url";
9571      if (code == FHIRDefinedType.UUID)
9572        return "uuid";
9573      if (code == FHIRDefinedType.XHTML)
9574        return "xhtml";
9575      if (code == FHIRDefinedType.ACCOUNT)
9576        return "Account";
9577      if (code == FHIRDefinedType.ACTIVITYDEFINITION)
9578        return "ActivityDefinition";
9579      if (code == FHIRDefinedType.ADVERSEEVENT)
9580        return "AdverseEvent";
9581      if (code == FHIRDefinedType.ALLERGYINTOLERANCE)
9582        return "AllergyIntolerance";
9583      if (code == FHIRDefinedType.APPOINTMENT)
9584        return "Appointment";
9585      if (code == FHIRDefinedType.APPOINTMENTRESPONSE)
9586        return "AppointmentResponse";
9587      if (code == FHIRDefinedType.AUDITEVENT)
9588        return "AuditEvent";
9589      if (code == FHIRDefinedType.BASIC)
9590        return "Basic";
9591      if (code == FHIRDefinedType.BINARY)
9592        return "Binary";
9593      if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT)
9594        return "BiologicallyDerivedProduct";
9595      if (code == FHIRDefinedType.BODYSTRUCTURE)
9596        return "BodyStructure";
9597      if (code == FHIRDefinedType.BUNDLE)
9598        return "Bundle";
9599      if (code == FHIRDefinedType.CAPABILITYSTATEMENT)
9600        return "CapabilityStatement";
9601      if (code == FHIRDefinedType.CAREPLAN)
9602        return "CarePlan";
9603      if (code == FHIRDefinedType.CARETEAM)
9604        return "CareTeam";
9605      if (code == FHIRDefinedType.CATALOGENTRY)
9606        return "CatalogEntry";
9607      if (code == FHIRDefinedType.CHARGEITEM)
9608        return "ChargeItem";
9609      if (code == FHIRDefinedType.CHARGEITEMDEFINITION)
9610        return "ChargeItemDefinition";
9611      if (code == FHIRDefinedType.CLAIM)
9612        return "Claim";
9613      if (code == FHIRDefinedType.CLAIMRESPONSE)
9614        return "ClaimResponse";
9615      if (code == FHIRDefinedType.CLINICALIMPRESSION)
9616        return "ClinicalImpression";
9617      if (code == FHIRDefinedType.CODESYSTEM)
9618        return "CodeSystem";
9619      if (code == FHIRDefinedType.COMMUNICATION)
9620        return "Communication";
9621      if (code == FHIRDefinedType.COMMUNICATIONREQUEST)
9622        return "CommunicationRequest";
9623      if (code == FHIRDefinedType.COMPARTMENTDEFINITION)
9624        return "CompartmentDefinition";
9625      if (code == FHIRDefinedType.COMPOSITION)
9626        return "Composition";
9627      if (code == FHIRDefinedType.CONCEPTMAP)
9628        return "ConceptMap";
9629      if (code == FHIRDefinedType.CONDITION)
9630        return "Condition";
9631      if (code == FHIRDefinedType.CONSENT)
9632        return "Consent";
9633      if (code == FHIRDefinedType.CONTRACT)
9634        return "Contract";
9635      if (code == FHIRDefinedType.COVERAGE)
9636        return "Coverage";
9637      if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST)
9638        return "CoverageEligibilityRequest";
9639      if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE)
9640        return "CoverageEligibilityResponse";
9641      if (code == FHIRDefinedType.DETECTEDISSUE)
9642        return "DetectedIssue";
9643      if (code == FHIRDefinedType.DEVICE)
9644        return "Device";
9645      if (code == FHIRDefinedType.DEVICEDEFINITION)
9646        return "DeviceDefinition";
9647      if (code == FHIRDefinedType.DEVICEMETRIC)
9648        return "DeviceMetric";
9649      if (code == FHIRDefinedType.DEVICEREQUEST)
9650        return "DeviceRequest";
9651      if (code == FHIRDefinedType.DEVICEUSESTATEMENT)
9652        return "DeviceUseStatement";
9653      if (code == FHIRDefinedType.DIAGNOSTICREPORT)
9654        return "DiagnosticReport";
9655      if (code == FHIRDefinedType.DOCUMENTMANIFEST)
9656        return "DocumentManifest";
9657      if (code == FHIRDefinedType.DOCUMENTREFERENCE)
9658        return "DocumentReference";
9659      if (code == FHIRDefinedType.DOMAINRESOURCE)
9660        return "DomainResource";
9661      if (code == FHIRDefinedType.EFFECTEVIDENCESYNTHESIS)
9662        return "EffectEvidenceSynthesis";
9663      if (code == FHIRDefinedType.ENCOUNTER)
9664        return "Encounter";
9665      if (code == FHIRDefinedType.ENDPOINT)
9666        return "Endpoint";
9667      if (code == FHIRDefinedType.ENROLLMENTREQUEST)
9668        return "EnrollmentRequest";
9669      if (code == FHIRDefinedType.ENROLLMENTRESPONSE)
9670        return "EnrollmentResponse";
9671      if (code == FHIRDefinedType.EPISODEOFCARE)
9672        return "EpisodeOfCare";
9673      if (code == FHIRDefinedType.EVENTDEFINITION)
9674        return "EventDefinition";
9675      if (code == FHIRDefinedType.EVIDENCE)
9676        return "Evidence";
9677      if (code == FHIRDefinedType.EVIDENCEVARIABLE)
9678        return "EvidenceVariable";
9679      if (code == FHIRDefinedType.EXAMPLESCENARIO)
9680        return "ExampleScenario";
9681      if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT)
9682        return "ExplanationOfBenefit";
9683      if (code == FHIRDefinedType.FAMILYMEMBERHISTORY)
9684        return "FamilyMemberHistory";
9685      if (code == FHIRDefinedType.FLAG)
9686        return "Flag";
9687      if (code == FHIRDefinedType.GOAL)
9688        return "Goal";
9689      if (code == FHIRDefinedType.GRAPHDEFINITION)
9690        return "GraphDefinition";
9691      if (code == FHIRDefinedType.GROUP)
9692        return "Group";
9693      if (code == FHIRDefinedType.GUIDANCERESPONSE)
9694        return "GuidanceResponse";
9695      if (code == FHIRDefinedType.HEALTHCARESERVICE)
9696        return "HealthcareService";
9697      if (code == FHIRDefinedType.IMAGINGSTUDY)
9698        return "ImagingStudy";
9699      if (code == FHIRDefinedType.IMMUNIZATION)
9700        return "Immunization";
9701      if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION)
9702        return "ImmunizationEvaluation";
9703      if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION)
9704        return "ImmunizationRecommendation";
9705      if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE)
9706        return "ImplementationGuide";
9707      if (code == FHIRDefinedType.INSURANCEPLAN)
9708        return "InsurancePlan";
9709      if (code == FHIRDefinedType.INVOICE)
9710        return "Invoice";
9711      if (code == FHIRDefinedType.LIBRARY)
9712        return "Library";
9713      if (code == FHIRDefinedType.LINKAGE)
9714        return "Linkage";
9715      if (code == FHIRDefinedType.LIST)
9716        return "List";
9717      if (code == FHIRDefinedType.LOCATION)
9718        return "Location";
9719      if (code == FHIRDefinedType.MEASURE)
9720        return "Measure";
9721      if (code == FHIRDefinedType.MEASUREREPORT)
9722        return "MeasureReport";
9723      if (code == FHIRDefinedType.MEDIA)
9724        return "Media";
9725      if (code == FHIRDefinedType.MEDICATION)
9726        return "Medication";
9727      if (code == FHIRDefinedType.MEDICATIONADMINISTRATION)
9728        return "MedicationAdministration";
9729      if (code == FHIRDefinedType.MEDICATIONDISPENSE)
9730        return "MedicationDispense";
9731      if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE)
9732        return "MedicationKnowledge";
9733      if (code == FHIRDefinedType.MEDICATIONREQUEST)
9734        return "MedicationRequest";
9735      if (code == FHIRDefinedType.MEDICATIONSTATEMENT)
9736        return "MedicationStatement";
9737      if (code == FHIRDefinedType.MEDICINALPRODUCT)
9738        return "MedicinalProduct";
9739      if (code == FHIRDefinedType.MEDICINALPRODUCTAUTHORIZATION)
9740        return "MedicinalProductAuthorization";
9741      if (code == FHIRDefinedType.MEDICINALPRODUCTCONTRAINDICATION)
9742        return "MedicinalProductContraindication";
9743      if (code == FHIRDefinedType.MEDICINALPRODUCTINDICATION)
9744        return "MedicinalProductIndication";
9745      if (code == FHIRDefinedType.MEDICINALPRODUCTINGREDIENT)
9746        return "MedicinalProductIngredient";
9747      if (code == FHIRDefinedType.MEDICINALPRODUCTINTERACTION)
9748        return "MedicinalProductInteraction";
9749      if (code == FHIRDefinedType.MEDICINALPRODUCTMANUFACTURED)
9750        return "MedicinalProductManufactured";
9751      if (code == FHIRDefinedType.MEDICINALPRODUCTPACKAGED)
9752        return "MedicinalProductPackaged";
9753      if (code == FHIRDefinedType.MEDICINALPRODUCTPHARMACEUTICAL)
9754        return "MedicinalProductPharmaceutical";
9755      if (code == FHIRDefinedType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
9756        return "MedicinalProductUndesirableEffect";
9757      if (code == FHIRDefinedType.MESSAGEDEFINITION)
9758        return "MessageDefinition";
9759      if (code == FHIRDefinedType.MESSAGEHEADER)
9760        return "MessageHeader";
9761      if (code == FHIRDefinedType.MOLECULARSEQUENCE)
9762        return "MolecularSequence";
9763      if (code == FHIRDefinedType.NAMINGSYSTEM)
9764        return "NamingSystem";
9765      if (code == FHIRDefinedType.NUTRITIONORDER)
9766        return "NutritionOrder";
9767      if (code == FHIRDefinedType.OBSERVATION)
9768        return "Observation";
9769      if (code == FHIRDefinedType.OBSERVATIONDEFINITION)
9770        return "ObservationDefinition";
9771      if (code == FHIRDefinedType.OPERATIONDEFINITION)
9772        return "OperationDefinition";
9773      if (code == FHIRDefinedType.OPERATIONOUTCOME)
9774        return "OperationOutcome";
9775      if (code == FHIRDefinedType.ORGANIZATION)
9776        return "Organization";
9777      if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION)
9778        return "OrganizationAffiliation";
9779      if (code == FHIRDefinedType.PARAMETERS)
9780        return "Parameters";
9781      if (code == FHIRDefinedType.PATIENT)
9782        return "Patient";
9783      if (code == FHIRDefinedType.PAYMENTNOTICE)
9784        return "PaymentNotice";
9785      if (code == FHIRDefinedType.PAYMENTRECONCILIATION)
9786        return "PaymentReconciliation";
9787      if (code == FHIRDefinedType.PERSON)
9788        return "Person";
9789      if (code == FHIRDefinedType.PLANDEFINITION)
9790        return "PlanDefinition";
9791      if (code == FHIRDefinedType.PRACTITIONER)
9792        return "Practitioner";
9793      if (code == FHIRDefinedType.PRACTITIONERROLE)
9794        return "PractitionerRole";
9795      if (code == FHIRDefinedType.PROCEDURE)
9796        return "Procedure";
9797      if (code == FHIRDefinedType.PROVENANCE)
9798        return "Provenance";
9799      if (code == FHIRDefinedType.QUESTIONNAIRE)
9800        return "Questionnaire";
9801      if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE)
9802        return "QuestionnaireResponse";
9803      if (code == FHIRDefinedType.RELATEDPERSON)
9804        return "RelatedPerson";
9805      if (code == FHIRDefinedType.REQUESTGROUP)
9806        return "RequestGroup";
9807      if (code == FHIRDefinedType.RESEARCHDEFINITION)
9808        return "ResearchDefinition";
9809      if (code == FHIRDefinedType.RESEARCHELEMENTDEFINITION)
9810        return "ResearchElementDefinition";
9811      if (code == FHIRDefinedType.RESEARCHSTUDY)
9812        return "ResearchStudy";
9813      if (code == FHIRDefinedType.RESEARCHSUBJECT)
9814        return "ResearchSubject";
9815      if (code == FHIRDefinedType.RESOURCE)
9816        return "Resource";
9817      if (code == FHIRDefinedType.RISKASSESSMENT)
9818        return "RiskAssessment";
9819      if (code == FHIRDefinedType.RISKEVIDENCESYNTHESIS)
9820        return "RiskEvidenceSynthesis";
9821      if (code == FHIRDefinedType.SCHEDULE)
9822        return "Schedule";
9823      if (code == FHIRDefinedType.SEARCHPARAMETER)
9824        return "SearchParameter";
9825      if (code == FHIRDefinedType.SERVICEREQUEST)
9826        return "ServiceRequest";
9827      if (code == FHIRDefinedType.SLOT)
9828        return "Slot";
9829      if (code == FHIRDefinedType.SPECIMEN)
9830        return "Specimen";
9831      if (code == FHIRDefinedType.SPECIMENDEFINITION)
9832        return "SpecimenDefinition";
9833      if (code == FHIRDefinedType.STRUCTUREDEFINITION)
9834        return "StructureDefinition";
9835      if (code == FHIRDefinedType.STRUCTUREMAP)
9836        return "StructureMap";
9837      if (code == FHIRDefinedType.SUBSCRIPTION)
9838        return "Subscription";
9839      if (code == FHIRDefinedType.SUBSTANCE)
9840        return "Substance";
9841      if (code == FHIRDefinedType.SUBSTANCENUCLEICACID)
9842        return "SubstanceNucleicAcid";
9843      if (code == FHIRDefinedType.SUBSTANCEPOLYMER)
9844        return "SubstancePolymer";
9845      if (code == FHIRDefinedType.SUBSTANCEPROTEIN)
9846        return "SubstanceProtein";
9847      if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION)
9848        return "SubstanceReferenceInformation";
9849      if (code == FHIRDefinedType.SUBSTANCESOURCEMATERIAL)
9850        return "SubstanceSourceMaterial";
9851      if (code == FHIRDefinedType.SUBSTANCESPECIFICATION)
9852        return "SubstanceSpecification";
9853      if (code == FHIRDefinedType.SUPPLYDELIVERY)
9854        return "SupplyDelivery";
9855      if (code == FHIRDefinedType.SUPPLYREQUEST)
9856        return "SupplyRequest";
9857      if (code == FHIRDefinedType.TASK)
9858        return "Task";
9859      if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES)
9860        return "TerminologyCapabilities";
9861      if (code == FHIRDefinedType.TESTREPORT)
9862        return "TestReport";
9863      if (code == FHIRDefinedType.TESTSCRIPT)
9864        return "TestScript";
9865      if (code == FHIRDefinedType.VALUESET)
9866        return "ValueSet";
9867      if (code == FHIRDefinedType.VERIFICATIONRESULT)
9868        return "VerificationResult";
9869      if (code == FHIRDefinedType.VISIONPRESCRIPTION)
9870        return "VisionPrescription";
9871      return "?";
9872      }
9873    public String toSystem(FHIRDefinedType code) {
9874      return code.getSystem();
9875      }
9876    }
9877
9878    public enum FHIRVersion {
9879        /**
9880         * Oldest archived version of FHIR.
9881         */
9882        _0_01, 
9883        /**
9884         * 1st Draft for Comment (Sept 2012 Ballot).
9885         */
9886        _0_05, 
9887        /**
9888         * 2nd Draft for Comment (January 2013 Ballot).
9889         */
9890        _0_06, 
9891        /**
9892         * DSTU 1 Ballot version.
9893         */
9894        _0_11, 
9895        /**
9896         * DSTU 1 Official version.
9897         */
9898        _0_0_80, 
9899        /**
9900         * DSTU 1 Official version Technical Errata #1.
9901         */
9902        _0_0_81, 
9903        /**
9904         * DSTU 1 Official version Technical Errata #2.
9905         */
9906        _0_0_82, 
9907        /**
9908         * Draft For Comment (January 2015 Ballot).
9909         */
9910        _0_4_0, 
9911        /**
9912         * DSTU 2 Ballot version (May 2015 Ballot).
9913         */
9914        _0_5_0, 
9915        /**
9916         * DSTU 2 QA Preview + CQIF Ballot (Sep 2015).
9917         */
9918        _1_0_0, 
9919        /**
9920         * DSTU 2 (Official version).
9921         */
9922        _1_0_1, 
9923        /**
9924         * DSTU 2 (Official version) with 1 technical errata.
9925         */
9926        _1_0_2, 
9927        /**
9928         * GAO Ballot + draft changes to main FHIR standard.
9929         */
9930        _1_1_0, 
9931        /**
9932         * CQF on FHIR Ballot + Connectathon 12 (Montreal).
9933         */
9934        _1_4_0, 
9935        /**
9936         * FHIR STU3 Ballot + Connectathon 13 (Baltimore).
9937         */
9938        _1_6_0, 
9939        /**
9940         * FHIR STU3 Candidate + Connectathon 14 (San Antonio).
9941         */
9942        _1_8_0, 
9943        /**
9944         * FHIR Release 3 (STU).
9945         */
9946        _3_0_0, 
9947        /**
9948         * FHIR Release 3 (STU) with 1 technical errata.
9949         */
9950        _3_0_1, 
9951        /**
9952         * FHIR Release 3 (STU) with 2 technical errata.
9953         */
9954        _3_0_2, 
9955        /**
9956         * R4 Ballot #1.
9957         */
9958        _3_3_0, 
9959        /**
9960         * R4 Ballot #2.
9961         */
9962        _3_5_0, 
9963        /**
9964         * FHIR Release 4 (Normative + STU).
9965         */
9966        _4_0_0, 
9967        /**
9968         * added to help the parsers
9969         */
9970        _4_0_1, 
9971        NULL;
9972        public static FHIRVersion fromCode(String codeString) throws FHIRException {
9973            if (codeString == null || "".equals(codeString))
9974                return null;
9975        if ("0.01".equals(codeString))
9976          return _0_01;
9977        if ("0.05".equals(codeString))
9978          return _0_05;
9979        if ("0.06".equals(codeString))
9980          return _0_06;
9981        if ("0.11".equals(codeString))
9982          return _0_11;
9983        if ("0.0.80".equals(codeString))
9984          return _0_0_80;
9985        if ("0.0.81".equals(codeString))
9986          return _0_0_81;
9987        if ("0.0.82".equals(codeString))
9988          return _0_0_82;
9989        if ("0.4.0".equals(codeString))
9990          return _0_4_0;
9991        if ("0.5.0".equals(codeString))
9992          return _0_5_0;
9993        if ("1.0.0".equals(codeString))
9994          return _1_0_0;
9995        if ("1.0.1".equals(codeString))
9996          return _1_0_1;
9997        if ("1.0.2".equals(codeString))
9998          return _1_0_2;
9999        if ("1.1.0".equals(codeString))
10000          return _1_1_0;
10001        if ("1.4.0".equals(codeString))
10002          return _1_4_0;
10003        if ("1.6.0".equals(codeString))
10004          return _1_6_0;
10005        if ("1.8.0".equals(codeString))
10006          return _1_8_0;
10007        if ("3.0.0".equals(codeString))
10008          return _3_0_0;
10009        if ("3.0.1".equals(codeString))
10010          return _3_0_1;
10011        if ("3.0.2".equals(codeString))
10012          return _3_0_2;
10013        if ("3.3.0".equals(codeString))
10014          return _3_3_0;
10015        if ("3.5.0".equals(codeString))
10016          return _3_5_0;
10017        if ("4.0.0".equals(codeString))
10018          return _4_0_0;
10019        if ("4.0.1".equals(codeString))
10020          return _4_0_1;
10021        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
10022        }
10023        @Override
10024        public String toString() {
10025          return toCode();
10026        }
10027        public String toCode() {
10028          switch (this) {
10029            case _0_01: return "0.01";
10030            case _0_05: return "0.05";
10031            case _0_06: return "0.06";
10032            case _0_11: return "0.11";
10033            case _0_0_80: return "0.0.80";
10034            case _0_0_81: return "0.0.81";
10035            case _0_0_82: return "0.0.82";
10036            case _0_4_0: return "0.4.0";
10037            case _0_5_0: return "0.5.0";
10038            case _1_0_0: return "1.0.0";
10039            case _1_0_1: return "1.0.1";
10040            case _1_0_2: return "1.0.2";
10041            case _1_1_0: return "1.1.0";
10042            case _1_4_0: return "1.4.0";
10043            case _1_6_0: return "1.6.0";
10044            case _1_8_0: return "1.8.0";
10045            case _3_0_0: return "3.0.0";
10046            case _3_0_1: return "3.0.1";
10047            case _3_0_2: return "3.0.2";
10048            case _3_3_0: return "3.3.0";
10049            case _3_5_0: return "3.5.0";
10050            case _4_0_0: return "4.0.0";
10051            case _4_0_1: return "4.0.1";
10052            default: return "?";
10053          }
10054        }
10055        public String getSystem() {
10056          switch (this) {
10057            case _0_01: return "http://hl7.org/fhir/FHIR-version";
10058            case _0_05: return "http://hl7.org/fhir/FHIR-version";
10059            case _0_06: return "http://hl7.org/fhir/FHIR-version";
10060            case _0_11: return "http://hl7.org/fhir/FHIR-version";
10061            case _0_0_80: return "http://hl7.org/fhir/FHIR-version";
10062            case _0_0_81: return "http://hl7.org/fhir/FHIR-version";
10063            case _0_0_82: return "http://hl7.org/fhir/FHIR-version";
10064            case _0_4_0: return "http://hl7.org/fhir/FHIR-version";
10065            case _0_5_0: return "http://hl7.org/fhir/FHIR-version";
10066            case _1_0_0: return "http://hl7.org/fhir/FHIR-version";
10067            case _1_0_1: return "http://hl7.org/fhir/FHIR-version";
10068            case _1_0_2: return "http://hl7.org/fhir/FHIR-version";
10069            case _1_1_0: return "http://hl7.org/fhir/FHIR-version";
10070            case _1_4_0: return "http://hl7.org/fhir/FHIR-version";
10071            case _1_6_0: return "http://hl7.org/fhir/FHIR-version";
10072            case _1_8_0: return "http://hl7.org/fhir/FHIR-version";
10073            case _3_0_0: return "http://hl7.org/fhir/FHIR-version";
10074            case _3_0_1: return "http://hl7.org/fhir/FHIR-version";
10075            case _3_0_2: return "http://hl7.org/fhir/FHIR-version";
10076            case _3_3_0: return "http://hl7.org/fhir/FHIR-version";
10077            case _3_5_0: return "http://hl7.org/fhir/FHIR-version";
10078            case _4_0_0: return "http://hl7.org/fhir/FHIR-version";
10079            case _4_0_1: return "http://hl7.org/fhir/FHIR-version";
10080            default: return "?";
10081          }
10082        }
10083        public String getDefinition() {
10084          switch (this) {
10085            case _0_01: return "Oldest archived version of FHIR.";
10086            case _0_05: return "1st Draft for Comment (Sept 2012 Ballot).";
10087            case _0_06: return "2nd Draft for Comment (January 2013 Ballot).";
10088            case _0_11: return "DSTU 1 Ballot version.";
10089            case _0_0_80: return "DSTU 1 Official version.";
10090            case _0_0_81: return "DSTU 1 Official version Technical Errata #1.";
10091            case _0_0_82: return "DSTU 1 Official version Technical Errata #2.";
10092            case _0_4_0: return "Draft For Comment (January 2015 Ballot).";
10093            case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot).";
10094            case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015).";
10095            case _1_0_1: return "DSTU 2 (Official version).";
10096            case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata.";
10097            case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard.";
10098            case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal).";
10099            case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore).";
10100            case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio).";
10101            case _3_0_0: return "FHIR Release 3 (STU).";
10102            case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata.";
10103            case _3_0_2: return "FHIR Release 3 (STU) with 2 technical errata.";
10104            case _3_3_0: return "R4 Ballot #1.";
10105            case _3_5_0: return "R4 Ballot #2.";
10106            case _4_0_0: return "FHIR Release 4 (Normative + STU).";
10107            case _4_0_1: return "FHIR Release 4 Technical Correction #1.";
10108            default: return "?";
10109          }
10110        }
10111        public String getDisplay() {
10112          switch (this) {
10113            case _0_01: return "0.01";
10114            case _0_05: return "0.05";
10115            case _0_06: return "0.06";
10116            case _0_11: return "0.11";
10117            case _0_0_80: return "0.0.80";
10118            case _0_0_81: return "0.0.81";
10119            case _0_0_82: return "0.0.82";
10120            case _0_4_0: return "0.4.0";
10121            case _0_5_0: return "0.5.0";
10122            case _1_0_0: return "1.0.0";
10123            case _1_0_1: return "1.0.1";
10124            case _1_0_2: return "1.0.2";
10125            case _1_1_0: return "1.1.0";
10126            case _1_4_0: return "1.4.0";
10127            case _1_6_0: return "1.6.0";
10128            case _1_8_0: return "1.8.0";
10129            case _3_0_0: return "3.0.0";
10130            case _3_0_1: return "3.0.1";
10131            case _3_0_2: return "3.0.2";
10132            case _3_3_0: return "3.3.0";
10133            case _3_5_0: return "3.5.0";
10134            case _4_0_0: return "4.0.0";
10135            case _4_0_1: return "4.0.1";
10136            default: return "?";
10137          }
10138        }
10139        public String toCode(int len) {
10140          return toCode().substring(0, len);
10141        }
10142        public static boolean isR4Plus(String version) {
10143          return false;
10144        }
10145    }
10146
10147  public static class FHIRVersionEnumFactory implements EnumFactory<FHIRVersion> {
10148    public FHIRVersion fromCode(String codeString) throws IllegalArgumentException {
10149      if (codeString == null || "".equals(codeString))
10150            if (codeString == null || "".equals(codeString))
10151                return null;
10152        if ("0.01".equals(codeString))
10153          return FHIRVersion._0_01;
10154        if ("0.05".equals(codeString))
10155          return FHIRVersion._0_05;
10156        if ("0.06".equals(codeString))
10157          return FHIRVersion._0_06;
10158        if ("0.11".equals(codeString))
10159          return FHIRVersion._0_11;
10160        if ("0.0.80".equals(codeString))
10161          return FHIRVersion._0_0_80;
10162        if ("0.0.81".equals(codeString))
10163          return FHIRVersion._0_0_81;
10164        if ("0.0.82".equals(codeString))
10165          return FHIRVersion._0_0_82;
10166        if ("0.4.0".equals(codeString))
10167          return FHIRVersion._0_4_0;
10168        if ("0.5.0".equals(codeString))
10169          return FHIRVersion._0_5_0;
10170        if ("1.0.0".equals(codeString))
10171          return FHIRVersion._1_0_0;
10172        if ("1.0.1".equals(codeString))
10173          return FHIRVersion._1_0_1;
10174        if ("1.0.2".equals(codeString))
10175          return FHIRVersion._1_0_2;
10176        if ("1.1.0".equals(codeString))
10177          return FHIRVersion._1_1_0;
10178        if ("1.4.0".equals(codeString))
10179          return FHIRVersion._1_4_0;
10180        if ("1.6.0".equals(codeString))
10181          return FHIRVersion._1_6_0;
10182        if ("1.8.0".equals(codeString))
10183          return FHIRVersion._1_8_0;
10184        if ("3.0.0".equals(codeString))
10185          return FHIRVersion._3_0_0;
10186        if ("3.0.1".equals(codeString))
10187          return FHIRVersion._3_0_1;
10188        if ("3.0.2".equals(codeString))
10189          return FHIRVersion._3_0_2;
10190        if ("3.3.0".equals(codeString))
10191          return FHIRVersion._3_3_0;
10192        if ("3.5.0".equals(codeString))
10193          return FHIRVersion._3_5_0;
10194        if ("4.0.0".equals(codeString))
10195          return FHIRVersion._4_0_0;
10196        if ("4.0.1".equals(codeString))
10197          return FHIRVersion._4_0_1;
10198        throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'");
10199        }
10200        public Enumeration<FHIRVersion> fromType(Base code) throws FHIRException {
10201          if (code == null)
10202            return null;
10203          if (code.isEmpty())
10204            return new Enumeration<FHIRVersion>(this);
10205          String codeString = ((PrimitiveType) code).asStringValue();
10206          if (codeString == null || "".equals(codeString))
10207            return null;
10208        if ("0.01".equals(codeString))
10209          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_01);
10210        if ("0.05".equals(codeString))
10211          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_05);
10212        if ("0.06".equals(codeString))
10213          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_06);
10214        if ("0.11".equals(codeString))
10215          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_11);
10216        if ("0.0.80".equals(codeString))
10217          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_80);
10218        if ("0.0.81".equals(codeString))
10219          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_81);
10220        if ("0.0.82".equals(codeString))
10221          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_0_82);
10222        if ("0.4.0".equals(codeString))
10223          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_4_0);
10224        if ("0.5.0".equals(codeString))
10225          return new Enumeration<FHIRVersion>(this, FHIRVersion._0_5_0);
10226        if ("1.0.0".equals(codeString))
10227          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_0);
10228        if ("1.0.1".equals(codeString))
10229          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_1);
10230        if ("1.0.2".equals(codeString))
10231          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_0_2);
10232        if ("1.1.0".equals(codeString))
10233          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_1_0);
10234        if ("1.4.0".equals(codeString))
10235          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_4_0);
10236        if ("1.6.0".equals(codeString))
10237          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_6_0);
10238        if ("1.8.0".equals(codeString))
10239          return new Enumeration<FHIRVersion>(this, FHIRVersion._1_8_0);
10240        if ("3.0.0".equals(codeString))
10241          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_0);
10242        if ("3.0.1".equals(codeString))
10243          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_1);
10244        if ("3.0.2".equals(codeString))
10245          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_0_2);
10246        if ("3.3.0".equals(codeString))
10247          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_3_0);
10248        if ("3.5.0".equals(codeString))
10249          return new Enumeration<FHIRVersion>(this, FHIRVersion._3_5_0);
10250        if ("4.0.0".equals(codeString))
10251          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_0);
10252        if ("4.0.1".equals(codeString))
10253          return new Enumeration<FHIRVersion>(this, FHIRVersion._4_0_1);
10254        throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'");
10255        }
10256    public String toCode(FHIRVersion code) {
10257      if (code == FHIRVersion._0_01)
10258        return "0.01";
10259      if (code == FHIRVersion._0_05)
10260        return "0.05";
10261      if (code == FHIRVersion._0_06)
10262        return "0.06";
10263      if (code == FHIRVersion._0_11)
10264        return "0.11";
10265      if (code == FHIRVersion._0_0_80)
10266        return "0.0.80";
10267      if (code == FHIRVersion._0_0_81)
10268        return "0.0.81";
10269      if (code == FHIRVersion._0_0_82)
10270        return "0.0.82";
10271      if (code == FHIRVersion._0_4_0)
10272        return "0.4.0";
10273      if (code == FHIRVersion._0_5_0)
10274        return "0.5.0";
10275      if (code == FHIRVersion._1_0_0)
10276        return "1.0.0";
10277      if (code == FHIRVersion._1_0_1)
10278        return "1.0.1";
10279      if (code == FHIRVersion._1_0_2)
10280        return "1.0.2";
10281      if (code == FHIRVersion._1_1_0)
10282        return "1.1.0";
10283      if (code == FHIRVersion._1_4_0)
10284        return "1.4.0";
10285      if (code == FHIRVersion._1_6_0)
10286        return "1.6.0";
10287      if (code == FHIRVersion._1_8_0)
10288        return "1.8.0";
10289      if (code == FHIRVersion._3_0_0)
10290        return "3.0.0";
10291      if (code == FHIRVersion._3_0_1)
10292        return "3.0.1";
10293      if (code == FHIRVersion._3_0_2)
10294        return "3.0.2";
10295      if (code == FHIRVersion._3_3_0)
10296        return "3.3.0";
10297      if (code == FHIRVersion._3_5_0)
10298        return "3.5.0";
10299      if (code == FHIRVersion._4_0_0)
10300        return "4.0.0";
10301      if (code == FHIRVersion._4_0_1)
10302        return "4.0.1";
10303      return "?";
10304      }
10305    public String toSystem(FHIRVersion code) {
10306      return code.getSystem();
10307      }
10308    }
10309
10310    public enum KnowledgeResourceType {
10311        /**
10312         * The definition of a specific activity to be taken, independent of any particular patient or context.
10313         */
10314        ACTIVITYDEFINITION, 
10315        /**
10316         * A set of codes drawn from one or more code systems.
10317         */
10318        CODESYSTEM, 
10319        /**
10320         * A map from one set of concepts to one or more other concepts.
10321         */
10322        CONCEPTMAP, 
10323        /**
10324         * Represents a library of quality improvement components.
10325         */
10326        LIBRARY, 
10327        /**
10328         * A quality measure definition.
10329         */
10330        MEASURE, 
10331        /**
10332         * The definition of a plan for a series of actions, independent of any specific patient or context.
10333         */
10334        PLANDEFINITION, 
10335        /**
10336         * Structural Definition.
10337         */
10338        STRUCTUREDEFINITION, 
10339        /**
10340         * A Map of relationships between 2 structures that can be used to transform data.
10341         */
10342        STRUCTUREMAP, 
10343        /**
10344         * A set of codes drawn from one or more code systems.
10345         */
10346        VALUESET, 
10347        /**
10348         * added to help the parsers
10349         */
10350        NULL;
10351        public static KnowledgeResourceType fromCode(String codeString) throws FHIRException {
10352            if (codeString == null || "".equals(codeString))
10353                return null;
10354        if ("ActivityDefinition".equals(codeString))
10355          return ACTIVITYDEFINITION;
10356        if ("CodeSystem".equals(codeString))
10357          return CODESYSTEM;
10358        if ("ConceptMap".equals(codeString))
10359          return CONCEPTMAP;
10360        if ("Library".equals(codeString))
10361          return LIBRARY;
10362        if ("Measure".equals(codeString))
10363          return MEASURE;
10364        if ("PlanDefinition".equals(codeString))
10365          return PLANDEFINITION;
10366        if ("StructureDefinition".equals(codeString))
10367          return STRUCTUREDEFINITION;
10368        if ("StructureMap".equals(codeString))
10369          return STRUCTUREMAP;
10370        if ("ValueSet".equals(codeString))
10371          return VALUESET;
10372        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
10373        }
10374        public String toCode() {
10375          switch (this) {
10376            case ACTIVITYDEFINITION: return "ActivityDefinition";
10377            case CODESYSTEM: return "CodeSystem";
10378            case CONCEPTMAP: return "ConceptMap";
10379            case LIBRARY: return "Library";
10380            case MEASURE: return "Measure";
10381            case PLANDEFINITION: return "PlanDefinition";
10382            case STRUCTUREDEFINITION: return "StructureDefinition";
10383            case STRUCTUREMAP: return "StructureMap";
10384            case VALUESET: return "ValueSet";
10385            default: return "?";
10386          }
10387        }
10388        public String getSystem() {
10389          switch (this) {
10390            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10391            case CODESYSTEM: return "http://hl7.org/fhir/knowledge-resource-types";
10392            case CONCEPTMAP: return "http://hl7.org/fhir/knowledge-resource-types";
10393            case LIBRARY: return "http://hl7.org/fhir/knowledge-resource-types";
10394            case MEASURE: return "http://hl7.org/fhir/knowledge-resource-types";
10395            case PLANDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10396            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/knowledge-resource-types";
10397            case STRUCTUREMAP: return "http://hl7.org/fhir/knowledge-resource-types";
10398            case VALUESET: return "http://hl7.org/fhir/knowledge-resource-types";
10399            default: return "?";
10400          }
10401        }
10402        public String getDefinition() {
10403          switch (this) {
10404            case ACTIVITYDEFINITION: return "The definition of a specific activity to be taken, independent of any particular patient or context.";
10405            case CODESYSTEM: return "A set of codes drawn from one or more code systems.";
10406            case CONCEPTMAP: return "A map from one set of concepts to one or more other concepts.";
10407            case LIBRARY: return "Represents a library of quality improvement components.";
10408            case MEASURE: return "A quality measure definition.";
10409            case PLANDEFINITION: return "The definition of a plan for a series of actions, independent of any specific patient or context.";
10410            case STRUCTUREDEFINITION: return "Structural Definition.";
10411            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
10412            case VALUESET: return "A set of codes drawn from one or more code systems.";
10413            default: return "?";
10414          }
10415        }
10416        public String getDisplay() {
10417          switch (this) {
10418            case ACTIVITYDEFINITION: return "ActivityDefinition";
10419            case CODESYSTEM: return "CodeSystem";
10420            case CONCEPTMAP: return "ConceptMap";
10421            case LIBRARY: return "Library";
10422            case MEASURE: return "Measure";
10423            case PLANDEFINITION: return "PlanDefinition";
10424            case STRUCTUREDEFINITION: return "StructureDefinition";
10425            case STRUCTUREMAP: return "StructureMap";
10426            case VALUESET: return "ValueSet";
10427            default: return "?";
10428          }
10429        }
10430    }
10431
10432  public static class KnowledgeResourceTypeEnumFactory implements EnumFactory<KnowledgeResourceType> {
10433    public KnowledgeResourceType fromCode(String codeString) throws IllegalArgumentException {
10434      if (codeString == null || "".equals(codeString))
10435            if (codeString == null || "".equals(codeString))
10436                return null;
10437        if ("ActivityDefinition".equals(codeString))
10438          return KnowledgeResourceType.ACTIVITYDEFINITION;
10439        if ("CodeSystem".equals(codeString))
10440          return KnowledgeResourceType.CODESYSTEM;
10441        if ("ConceptMap".equals(codeString))
10442          return KnowledgeResourceType.CONCEPTMAP;
10443        if ("Library".equals(codeString))
10444          return KnowledgeResourceType.LIBRARY;
10445        if ("Measure".equals(codeString))
10446          return KnowledgeResourceType.MEASURE;
10447        if ("PlanDefinition".equals(codeString))
10448          return KnowledgeResourceType.PLANDEFINITION;
10449        if ("StructureDefinition".equals(codeString))
10450          return KnowledgeResourceType.STRUCTUREDEFINITION;
10451        if ("StructureMap".equals(codeString))
10452          return KnowledgeResourceType.STRUCTUREMAP;
10453        if ("ValueSet".equals(codeString))
10454          return KnowledgeResourceType.VALUESET;
10455        throw new IllegalArgumentException("Unknown KnowledgeResourceType code '"+codeString+"'");
10456        }
10457        public Enumeration<KnowledgeResourceType> fromType(Base code) throws FHIRException {
10458          if (code == null)
10459            return null;
10460          if (code.isEmpty())
10461            return new Enumeration<KnowledgeResourceType>(this);
10462          String codeString = ((PrimitiveType) code).asStringValue();
10463          if (codeString == null || "".equals(codeString))
10464            return null;
10465        if ("ActivityDefinition".equals(codeString))
10466          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.ACTIVITYDEFINITION);
10467        if ("CodeSystem".equals(codeString))
10468          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CODESYSTEM);
10469        if ("ConceptMap".equals(codeString))
10470          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.CONCEPTMAP);
10471        if ("Library".equals(codeString))
10472          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.LIBRARY);
10473        if ("Measure".equals(codeString))
10474          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.MEASURE);
10475        if ("PlanDefinition".equals(codeString))
10476          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.PLANDEFINITION);
10477        if ("StructureDefinition".equals(codeString))
10478          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREDEFINITION);
10479        if ("StructureMap".equals(codeString))
10480          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.STRUCTUREMAP);
10481        if ("ValueSet".equals(codeString))
10482          return new Enumeration<KnowledgeResourceType>(this, KnowledgeResourceType.VALUESET);
10483        throw new FHIRException("Unknown KnowledgeResourceType code '"+codeString+"'");
10484        }
10485    public String toCode(KnowledgeResourceType code) {
10486      if (code == KnowledgeResourceType.ACTIVITYDEFINITION)
10487        return "ActivityDefinition";
10488      if (code == KnowledgeResourceType.CODESYSTEM)
10489        return "CodeSystem";
10490      if (code == KnowledgeResourceType.CONCEPTMAP)
10491        return "ConceptMap";
10492      if (code == KnowledgeResourceType.LIBRARY)
10493        return "Library";
10494      if (code == KnowledgeResourceType.MEASURE)
10495        return "Measure";
10496      if (code == KnowledgeResourceType.PLANDEFINITION)
10497        return "PlanDefinition";
10498      if (code == KnowledgeResourceType.STRUCTUREDEFINITION)
10499        return "StructureDefinition";
10500      if (code == KnowledgeResourceType.STRUCTUREMAP)
10501        return "StructureMap";
10502      if (code == KnowledgeResourceType.VALUESET)
10503        return "ValueSet";
10504      return "?";
10505      }
10506    public String toSystem(KnowledgeResourceType code) {
10507      return code.getSystem();
10508      }
10509    }
10510
10511    public enum MessageEvent {
10512        /**
10513         * added to help the parsers
10514         */
10515        NULL;
10516        public static MessageEvent fromCode(String codeString) throws FHIRException {
10517            if (codeString == null || "".equals(codeString))
10518                return null;
10519        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10520        }
10521        public String toCode() {
10522          switch (this) {
10523            default: return "?";
10524          }
10525        }
10526        public String getSystem() {
10527          switch (this) {
10528            default: return "?";
10529          }
10530        }
10531        public String getDefinition() {
10532          switch (this) {
10533            default: return "?";
10534          }
10535        }
10536        public String getDisplay() {
10537          switch (this) {
10538            default: return "?";
10539          }
10540        }
10541    }
10542
10543  public static class MessageEventEnumFactory implements EnumFactory<MessageEvent> {
10544    public MessageEvent fromCode(String codeString) throws IllegalArgumentException {
10545      if (codeString == null || "".equals(codeString))
10546            if (codeString == null || "".equals(codeString))
10547                return null;
10548        throw new IllegalArgumentException("Unknown MessageEvent code '"+codeString+"'");
10549        }
10550        public Enumeration<MessageEvent> fromType(Base code) throws FHIRException {
10551          if (code == null)
10552            return null;
10553          if (code.isEmpty())
10554            return new Enumeration<MessageEvent>(this);
10555          String codeString = ((PrimitiveType) code).asStringValue();
10556          if (codeString == null || "".equals(codeString))
10557            return null;
10558        throw new FHIRException("Unknown MessageEvent code '"+codeString+"'");
10559        }
10560    public String toCode(MessageEvent code) {
10561      return "?";
10562      }
10563    public String toSystem(MessageEvent code) {
10564      return code.getSystem();
10565      }
10566    }
10567
10568    public enum NoteType {
10569        /**
10570         * Display the note.
10571         */
10572        DISPLAY, 
10573        /**
10574         * Print the note on the form.
10575         */
10576        PRINT, 
10577        /**
10578         * Print the note for the operator.
10579         */
10580        PRINTOPER, 
10581        /**
10582         * added to help the parsers
10583         */
10584        NULL;
10585        public static NoteType fromCode(String codeString) throws FHIRException {
10586            if (codeString == null || "".equals(codeString))
10587                return null;
10588        if ("display".equals(codeString))
10589          return DISPLAY;
10590        if ("print".equals(codeString))
10591          return PRINT;
10592        if ("printoper".equals(codeString))
10593          return PRINTOPER;
10594        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10595        }
10596        public String toCode() {
10597          switch (this) {
10598            case DISPLAY: return "display";
10599            case PRINT: return "print";
10600            case PRINTOPER: return "printoper";
10601            default: return "?";
10602          }
10603        }
10604        public String getSystem() {
10605          switch (this) {
10606            case DISPLAY: return "http://hl7.org/fhir/note-type";
10607            case PRINT: return "http://hl7.org/fhir/note-type";
10608            case PRINTOPER: return "http://hl7.org/fhir/note-type";
10609            default: return "?";
10610          }
10611        }
10612        public String getDefinition() {
10613          switch (this) {
10614            case DISPLAY: return "Display the note.";
10615            case PRINT: return "Print the note on the form.";
10616            case PRINTOPER: return "Print the note for the operator.";
10617            default: return "?";
10618          }
10619        }
10620        public String getDisplay() {
10621          switch (this) {
10622            case DISPLAY: return "Display";
10623            case PRINT: return "Print (Form)";
10624            case PRINTOPER: return "Print (Operator)";
10625            default: return "?";
10626          }
10627        }
10628    }
10629
10630  public static class NoteTypeEnumFactory implements EnumFactory<NoteType> {
10631    public NoteType fromCode(String codeString) throws IllegalArgumentException {
10632      if (codeString == null || "".equals(codeString))
10633            if (codeString == null || "".equals(codeString))
10634                return null;
10635        if ("display".equals(codeString))
10636          return NoteType.DISPLAY;
10637        if ("print".equals(codeString))
10638          return NoteType.PRINT;
10639        if ("printoper".equals(codeString))
10640          return NoteType.PRINTOPER;
10641        throw new IllegalArgumentException("Unknown NoteType code '"+codeString+"'");
10642        }
10643        public Enumeration<NoteType> fromType(Base code) throws FHIRException {
10644          if (code == null)
10645            return null;
10646          if (code.isEmpty())
10647            return new Enumeration<NoteType>(this);
10648          String codeString = ((PrimitiveType) code).asStringValue();
10649          if (codeString == null || "".equals(codeString))
10650            return null;
10651        if ("display".equals(codeString))
10652          return new Enumeration<NoteType>(this, NoteType.DISPLAY);
10653        if ("print".equals(codeString))
10654          return new Enumeration<NoteType>(this, NoteType.PRINT);
10655        if ("printoper".equals(codeString))
10656          return new Enumeration<NoteType>(this, NoteType.PRINTOPER);
10657        throw new FHIRException("Unknown NoteType code '"+codeString+"'");
10658        }
10659    public String toCode(NoteType code) {
10660      if (code == NoteType.DISPLAY)
10661        return "display";
10662      if (code == NoteType.PRINT)
10663        return "print";
10664      if (code == NoteType.PRINTOPER)
10665        return "printoper";
10666      return "?";
10667      }
10668    public String toSystem(NoteType code) {
10669      return code.getSystem();
10670      }
10671    }
10672
10673    public enum PublicationStatus {
10674        /**
10675         * This resource is still under development and is not yet considered to be ready for normal use.
10676         */
10677        DRAFT, 
10678        /**
10679         * This resource is ready for normal use.
10680         */
10681        ACTIVE, 
10682        /**
10683         * This resource has been withdrawn or superseded and should no longer be used.
10684         */
10685        RETIRED, 
10686        /**
10687         * 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.
10688         */
10689        UNKNOWN, 
10690        /**
10691         * added to help the parsers
10692         */
10693        NULL;
10694        public static PublicationStatus fromCode(String codeString) throws FHIRException {
10695            if (codeString == null || "".equals(codeString))
10696                return null;
10697        if ("draft".equals(codeString))
10698          return DRAFT;
10699        if ("active".equals(codeString))
10700          return ACTIVE;
10701        if ("retired".equals(codeString))
10702          return RETIRED;
10703        if ("unknown".equals(codeString))
10704          return UNKNOWN;
10705        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10706        }
10707        public String toCode() {
10708          switch (this) {
10709            case DRAFT: return "draft";
10710            case ACTIVE: return "active";
10711            case RETIRED: return "retired";
10712            case UNKNOWN: return "unknown";
10713            default: return "?";
10714          }
10715        }
10716        public String getSystem() {
10717          switch (this) {
10718            case DRAFT: return "http://hl7.org/fhir/publication-status";
10719            case ACTIVE: return "http://hl7.org/fhir/publication-status";
10720            case RETIRED: return "http://hl7.org/fhir/publication-status";
10721            case UNKNOWN: return "http://hl7.org/fhir/publication-status";
10722            default: return "?";
10723          }
10724        }
10725        public String getDefinition() {
10726          switch (this) {
10727            case DRAFT: return "This resource is still under development and is not yet considered to be ready for normal use.";
10728            case ACTIVE: return "This resource is ready for normal use.";
10729            case RETIRED: return "This resource has been withdrawn or superseded and should no longer be used.";
10730            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.";
10731            default: return "?";
10732          }
10733        }
10734        public String getDisplay() {
10735          switch (this) {
10736            case DRAFT: return "Draft";
10737            case ACTIVE: return "Active";
10738            case RETIRED: return "Retired";
10739            case UNKNOWN: return "Unknown";
10740            default: return "?";
10741          }
10742        }
10743    }
10744
10745  public static class PublicationStatusEnumFactory implements EnumFactory<PublicationStatus> {
10746    public PublicationStatus fromCode(String codeString) throws IllegalArgumentException {
10747      if (codeString == null || "".equals(codeString))
10748            if (codeString == null || "".equals(codeString))
10749                return null;
10750        if ("draft".equals(codeString))
10751          return PublicationStatus.DRAFT;
10752        if ("active".equals(codeString))
10753          return PublicationStatus.ACTIVE;
10754        if ("retired".equals(codeString))
10755          return PublicationStatus.RETIRED;
10756        if ("unknown".equals(codeString))
10757          return PublicationStatus.UNKNOWN;
10758        throw new IllegalArgumentException("Unknown PublicationStatus code '"+codeString+"'");
10759        }
10760        public Enumeration<PublicationStatus> fromType(Base code) throws FHIRException {
10761          if (code == null)
10762            return null;
10763          if (code.isEmpty())
10764            return new Enumeration<PublicationStatus>(this);
10765          String codeString = ((PrimitiveType) code).asStringValue();
10766          if (codeString == null || "".equals(codeString))
10767            return null;
10768        if ("draft".equals(codeString))
10769          return new Enumeration<PublicationStatus>(this, PublicationStatus.DRAFT);
10770        if ("active".equals(codeString))
10771          return new Enumeration<PublicationStatus>(this, PublicationStatus.ACTIVE);
10772        if ("retired".equals(codeString))
10773          return new Enumeration<PublicationStatus>(this, PublicationStatus.RETIRED);
10774        if ("unknown".equals(codeString))
10775          return new Enumeration<PublicationStatus>(this, PublicationStatus.UNKNOWN);
10776        throw new FHIRException("Unknown PublicationStatus code '"+codeString+"'");
10777        }
10778    public String toCode(PublicationStatus code) {
10779      if (code == PublicationStatus.DRAFT)
10780        return "draft";
10781      if (code == PublicationStatus.ACTIVE)
10782        return "active";
10783      if (code == PublicationStatus.RETIRED)
10784        return "retired";
10785      if (code == PublicationStatus.UNKNOWN)
10786        return "unknown";
10787      return "?";
10788      }
10789    public String toSystem(PublicationStatus code) {
10790      return code.getSystem();
10791      }
10792    }
10793
10794    public enum RemittanceOutcome {
10795        /**
10796         * The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.
10797         */
10798        QUEUED, 
10799        /**
10800         * The processing has completed without errors
10801         */
10802        COMPLETE, 
10803        /**
10804         * One or more errors have been detected in the Claim
10805         */
10806        ERROR, 
10807        /**
10808         * No errors have been detected in the Claim and some of the adjudication has been performed.
10809         */
10810        PARTIAL, 
10811        /**
10812         * added to help the parsers
10813         */
10814        NULL;
10815        public static RemittanceOutcome fromCode(String codeString) throws FHIRException {
10816            if (codeString == null || "".equals(codeString))
10817                return null;
10818        if ("queued".equals(codeString))
10819          return QUEUED;
10820        if ("complete".equals(codeString))
10821          return COMPLETE;
10822        if ("error".equals(codeString))
10823          return ERROR;
10824        if ("partial".equals(codeString))
10825          return PARTIAL;
10826        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10827        }
10828        public String toCode() {
10829          switch (this) {
10830            case QUEUED: return "queued";
10831            case COMPLETE: return "complete";
10832            case ERROR: return "error";
10833            case PARTIAL: return "partial";
10834            default: return "?";
10835          }
10836        }
10837        public String getSystem() {
10838          switch (this) {
10839            case QUEUED: return "http://hl7.org/fhir/remittance-outcome";
10840            case COMPLETE: return "http://hl7.org/fhir/remittance-outcome";
10841            case ERROR: return "http://hl7.org/fhir/remittance-outcome";
10842            case PARTIAL: return "http://hl7.org/fhir/remittance-outcome";
10843            default: return "?";
10844          }
10845        }
10846        public String getDefinition() {
10847          switch (this) {
10848            case QUEUED: return "The Claim/Pre-authorization/Pre-determination has been received but processing has not begun.";
10849            case COMPLETE: return "The processing has completed without errors";
10850            case ERROR: return "One or more errors have been detected in the Claim";
10851            case PARTIAL: return "No errors have been detected in the Claim and some of the adjudication has been performed.";
10852            default: return "?";
10853          }
10854        }
10855        public String getDisplay() {
10856          switch (this) {
10857            case QUEUED: return "Queued";
10858            case COMPLETE: return "Processing Complete";
10859            case ERROR: return "Error";
10860            case PARTIAL: return "Partial Processing";
10861            default: return "?";
10862          }
10863        }
10864    }
10865
10866  public static class RemittanceOutcomeEnumFactory implements EnumFactory<RemittanceOutcome> {
10867    public RemittanceOutcome fromCode(String codeString) throws IllegalArgumentException {
10868      if (codeString == null || "".equals(codeString))
10869            if (codeString == null || "".equals(codeString))
10870                return null;
10871        if ("queued".equals(codeString))
10872          return RemittanceOutcome.QUEUED;
10873        if ("complete".equals(codeString))
10874          return RemittanceOutcome.COMPLETE;
10875        if ("error".equals(codeString))
10876          return RemittanceOutcome.ERROR;
10877        if ("partial".equals(codeString))
10878          return RemittanceOutcome.PARTIAL;
10879        throw new IllegalArgumentException("Unknown RemittanceOutcome code '"+codeString+"'");
10880        }
10881        public Enumeration<RemittanceOutcome> fromType(Base code) throws FHIRException {
10882          if (code == null)
10883            return null;
10884          if (code.isEmpty())
10885            return new Enumeration<RemittanceOutcome>(this);
10886          String codeString = ((PrimitiveType) code).asStringValue();
10887          if (codeString == null || "".equals(codeString))
10888            return null;
10889        if ("queued".equals(codeString))
10890          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.QUEUED);
10891        if ("complete".equals(codeString))
10892          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.COMPLETE);
10893        if ("error".equals(codeString))
10894          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.ERROR);
10895        if ("partial".equals(codeString))
10896          return new Enumeration<RemittanceOutcome>(this, RemittanceOutcome.PARTIAL);
10897        throw new FHIRException("Unknown RemittanceOutcome code '"+codeString+"'");
10898        }
10899    public String toCode(RemittanceOutcome code) {
10900      if (code == RemittanceOutcome.QUEUED)
10901        return "queued";
10902      if (code == RemittanceOutcome.COMPLETE)
10903        return "complete";
10904      if (code == RemittanceOutcome.ERROR)
10905        return "error";
10906      if (code == RemittanceOutcome.PARTIAL)
10907        return "partial";
10908      return "?";
10909      }
10910    public String toSystem(RemittanceOutcome code) {
10911      return code.getSystem();
10912      }
10913    }
10914
10915    public enum RequestResourceType {
10916        /**
10917         * 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).
10918         */
10919        APPOINTMENT, 
10920        /**
10921         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
10922         */
10923        APPOINTMENTRESPONSE, 
10924        /**
10925         * Healthcare plan for patient or group.
10926         */
10927        CAREPLAN, 
10928        /**
10929         * Claim, Pre-determination or Pre-authorization.
10930         */
10931        CLAIM, 
10932        /**
10933         * A request for information to be sent to a receiver.
10934         */
10935        COMMUNICATIONREQUEST, 
10936        /**
10937         * Legal Agreement.
10938         */
10939        CONTRACT, 
10940        /**
10941         * Medical device request.
10942         */
10943        DEVICEREQUEST, 
10944        /**
10945         * Enrollment request.
10946         */
10947        ENROLLMENTREQUEST, 
10948        /**
10949         * Guidance or advice relating to an immunization.
10950         */
10951        IMMUNIZATIONRECOMMENDATION, 
10952        /**
10953         * Ordering of medication for patient or group.
10954         */
10955        MEDICATIONREQUEST, 
10956        /**
10957         * Diet, formula or nutritional supplement request.
10958         */
10959        NUTRITIONORDER, 
10960        /**
10961         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
10962         */
10963        SERVICEREQUEST, 
10964        /**
10965         * Request for a medication, substance or device.
10966         */
10967        SUPPLYREQUEST, 
10968        /**
10969         * A task to be performed.
10970         */
10971        TASK, 
10972        /**
10973         * Prescription for vision correction products for a patient.
10974         */
10975        VISIONPRESCRIPTION, 
10976        /**
10977         * added to help the parsers
10978         */
10979        NULL;
10980        public static RequestResourceType fromCode(String codeString) throws FHIRException {
10981            if (codeString == null || "".equals(codeString))
10982                return null;
10983        if ("Appointment".equals(codeString))
10984          return APPOINTMENT;
10985        if ("AppointmentResponse".equals(codeString))
10986          return APPOINTMENTRESPONSE;
10987        if ("CarePlan".equals(codeString))
10988          return CAREPLAN;
10989        if ("Claim".equals(codeString))
10990          return CLAIM;
10991        if ("CommunicationRequest".equals(codeString))
10992          return COMMUNICATIONREQUEST;
10993        if ("Contract".equals(codeString))
10994          return CONTRACT;
10995        if ("DeviceRequest".equals(codeString))
10996          return DEVICEREQUEST;
10997        if ("EnrollmentRequest".equals(codeString))
10998          return ENROLLMENTREQUEST;
10999        if ("ImmunizationRecommendation".equals(codeString))
11000          return IMMUNIZATIONRECOMMENDATION;
11001        if ("MedicationRequest".equals(codeString))
11002          return MEDICATIONREQUEST;
11003        if ("NutritionOrder".equals(codeString))
11004          return NUTRITIONORDER;
11005        if ("ServiceRequest".equals(codeString))
11006          return SERVICEREQUEST;
11007        if ("SupplyRequest".equals(codeString))
11008          return SUPPLYREQUEST;
11009        if ("Task".equals(codeString))
11010          return TASK;
11011        if ("VisionPrescription".equals(codeString))
11012          return VISIONPRESCRIPTION;
11013        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
11014        }
11015        public String toCode() {
11016          switch (this) {
11017            case APPOINTMENT: return "Appointment";
11018            case APPOINTMENTRESPONSE: return "AppointmentResponse";
11019            case CAREPLAN: return "CarePlan";
11020            case CLAIM: return "Claim";
11021            case COMMUNICATIONREQUEST: return "CommunicationRequest";
11022            case CONTRACT: return "Contract";
11023            case DEVICEREQUEST: return "DeviceRequest";
11024            case ENROLLMENTREQUEST: return "EnrollmentRequest";
11025            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
11026            case MEDICATIONREQUEST: return "MedicationRequest";
11027            case NUTRITIONORDER: return "NutritionOrder";
11028            case SERVICEREQUEST: return "ServiceRequest";
11029            case SUPPLYREQUEST: return "SupplyRequest";
11030            case TASK: return "Task";
11031            case VISIONPRESCRIPTION: return "VisionPrescription";
11032            default: return "?";
11033          }
11034        }
11035        public String getSystem() {
11036          switch (this) {
11037            case APPOINTMENT: return "http://hl7.org/fhir/request-resource-types";
11038            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/request-resource-types";
11039            case CAREPLAN: return "http://hl7.org/fhir/request-resource-types";
11040            case CLAIM: return "http://hl7.org/fhir/request-resource-types";
11041            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
11042            case CONTRACT: return "http://hl7.org/fhir/request-resource-types";
11043            case DEVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
11044            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/request-resource-types";
11045            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/request-resource-types";
11046            case MEDICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types";
11047            case NUTRITIONORDER: return "http://hl7.org/fhir/request-resource-types";
11048            case SERVICEREQUEST: return "http://hl7.org/fhir/request-resource-types";
11049            case SUPPLYREQUEST: return "http://hl7.org/fhir/request-resource-types";
11050            case TASK: return "http://hl7.org/fhir/request-resource-types";
11051            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/request-resource-types";
11052            default: return "?";
11053          }
11054        }
11055        public String getDefinition() {
11056          switch (this) {
11057            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).";
11058            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
11059            case CAREPLAN: return "Healthcare plan for patient or group.";
11060            case CLAIM: return "Claim, Pre-determination or Pre-authorization.";
11061            case COMMUNICATIONREQUEST: return "A request for information to be sent to a receiver.";
11062            case CONTRACT: return "Legal Agreement.";
11063            case DEVICEREQUEST: return "Medical device request.";
11064            case ENROLLMENTREQUEST: return "Enrollment request.";
11065            case IMMUNIZATIONRECOMMENDATION: return "Guidance or advice relating to an immunization.";
11066            case MEDICATIONREQUEST: return "Ordering of medication for patient or group.";
11067            case NUTRITIONORDER: return "Diet, formula or nutritional supplement request.";
11068            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
11069            case SUPPLYREQUEST: return "Request for a medication, substance or device.";
11070            case TASK: return "A task to be performed.";
11071            case VISIONPRESCRIPTION: return "Prescription for vision correction products for a patient.";
11072            default: return "?";
11073          }
11074        }
11075        public String getDisplay() {
11076          switch (this) {
11077            case APPOINTMENT: return "Appointment";
11078            case APPOINTMENTRESPONSE: return "AppointmentResponse";
11079            case CAREPLAN: return "CarePlan";
11080            case CLAIM: return "Claim";
11081            case COMMUNICATIONREQUEST: return "CommunicationRequest";
11082            case CONTRACT: return "Contract";
11083            case DEVICEREQUEST: return "DeviceRequest";
11084            case ENROLLMENTREQUEST: return "EnrollmentRequest";
11085            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
11086            case MEDICATIONREQUEST: return "MedicationRequest";
11087            case NUTRITIONORDER: return "NutritionOrder";
11088            case SERVICEREQUEST: return "ServiceRequest";
11089            case SUPPLYREQUEST: return "SupplyRequest";
11090            case TASK: return "Task";
11091            case VISIONPRESCRIPTION: return "VisionPrescription";
11092            default: return "?";
11093          }
11094        }
11095    }
11096
11097  public static class RequestResourceTypeEnumFactory implements EnumFactory<RequestResourceType> {
11098    public RequestResourceType fromCode(String codeString) throws IllegalArgumentException {
11099      if (codeString == null || "".equals(codeString))
11100            if (codeString == null || "".equals(codeString))
11101                return null;
11102        if ("Appointment".equals(codeString))
11103          return RequestResourceType.APPOINTMENT;
11104        if ("AppointmentResponse".equals(codeString))
11105          return RequestResourceType.APPOINTMENTRESPONSE;
11106        if ("CarePlan".equals(codeString))
11107          return RequestResourceType.CAREPLAN;
11108        if ("Claim".equals(codeString))
11109          return RequestResourceType.CLAIM;
11110        if ("CommunicationRequest".equals(codeString))
11111          return RequestResourceType.COMMUNICATIONREQUEST;
11112        if ("Contract".equals(codeString))
11113          return RequestResourceType.CONTRACT;
11114        if ("DeviceRequest".equals(codeString))
11115          return RequestResourceType.DEVICEREQUEST;
11116        if ("EnrollmentRequest".equals(codeString))
11117          return RequestResourceType.ENROLLMENTREQUEST;
11118        if ("ImmunizationRecommendation".equals(codeString))
11119          return RequestResourceType.IMMUNIZATIONRECOMMENDATION;
11120        if ("MedicationRequest".equals(codeString))
11121          return RequestResourceType.MEDICATIONREQUEST;
11122        if ("NutritionOrder".equals(codeString))
11123          return RequestResourceType.NUTRITIONORDER;
11124        if ("ServiceRequest".equals(codeString))
11125          return RequestResourceType.SERVICEREQUEST;
11126        if ("SupplyRequest".equals(codeString))
11127          return RequestResourceType.SUPPLYREQUEST;
11128        if ("Task".equals(codeString))
11129          return RequestResourceType.TASK;
11130        if ("VisionPrescription".equals(codeString))
11131          return RequestResourceType.VISIONPRESCRIPTION;
11132        throw new IllegalArgumentException("Unknown RequestResourceType code '"+codeString+"'");
11133        }
11134        public Enumeration<RequestResourceType> fromType(Base code) throws FHIRException {
11135          if (code == null)
11136            return null;
11137          if (code.isEmpty())
11138            return new Enumeration<RequestResourceType>(this);
11139          String codeString = ((PrimitiveType) code).asStringValue();
11140          if (codeString == null || "".equals(codeString))
11141            return null;
11142        if ("Appointment".equals(codeString))
11143          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENT);
11144        if ("AppointmentResponse".equals(codeString))
11145          return new Enumeration<RequestResourceType>(this, RequestResourceType.APPOINTMENTRESPONSE);
11146        if ("CarePlan".equals(codeString))
11147          return new Enumeration<RequestResourceType>(this, RequestResourceType.CAREPLAN);
11148        if ("Claim".equals(codeString))
11149          return new Enumeration<RequestResourceType>(this, RequestResourceType.CLAIM);
11150        if ("CommunicationRequest".equals(codeString))
11151          return new Enumeration<RequestResourceType>(this, RequestResourceType.COMMUNICATIONREQUEST);
11152        if ("Contract".equals(codeString))
11153          return new Enumeration<RequestResourceType>(this, RequestResourceType.CONTRACT);
11154        if ("DeviceRequest".equals(codeString))
11155          return new Enumeration<RequestResourceType>(this, RequestResourceType.DEVICEREQUEST);
11156        if ("EnrollmentRequest".equals(codeString))
11157          return new Enumeration<RequestResourceType>(this, RequestResourceType.ENROLLMENTREQUEST);
11158        if ("ImmunizationRecommendation".equals(codeString))
11159          return new Enumeration<RequestResourceType>(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION);
11160        if ("MedicationRequest".equals(codeString))
11161          return new Enumeration<RequestResourceType>(this, RequestResourceType.MEDICATIONREQUEST);
11162        if ("NutritionOrder".equals(codeString))
11163          return new Enumeration<RequestResourceType>(this, RequestResourceType.NUTRITIONORDER);
11164        if ("ServiceRequest".equals(codeString))
11165          return new Enumeration<RequestResourceType>(this, RequestResourceType.SERVICEREQUEST);
11166        if ("SupplyRequest".equals(codeString))
11167          return new Enumeration<RequestResourceType>(this, RequestResourceType.SUPPLYREQUEST);
11168        if ("Task".equals(codeString))
11169          return new Enumeration<RequestResourceType>(this, RequestResourceType.TASK);
11170        if ("VisionPrescription".equals(codeString))
11171          return new Enumeration<RequestResourceType>(this, RequestResourceType.VISIONPRESCRIPTION);
11172        throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'");
11173        }
11174    public String toCode(RequestResourceType code) {
11175      if (code == RequestResourceType.APPOINTMENT)
11176        return "Appointment";
11177      if (code == RequestResourceType.APPOINTMENTRESPONSE)
11178        return "AppointmentResponse";
11179      if (code == RequestResourceType.CAREPLAN)
11180        return "CarePlan";
11181      if (code == RequestResourceType.CLAIM)
11182        return "Claim";
11183      if (code == RequestResourceType.COMMUNICATIONREQUEST)
11184        return "CommunicationRequest";
11185      if (code == RequestResourceType.CONTRACT)
11186        return "Contract";
11187      if (code == RequestResourceType.DEVICEREQUEST)
11188        return "DeviceRequest";
11189      if (code == RequestResourceType.ENROLLMENTREQUEST)
11190        return "EnrollmentRequest";
11191      if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION)
11192        return "ImmunizationRecommendation";
11193      if (code == RequestResourceType.MEDICATIONREQUEST)
11194        return "MedicationRequest";
11195      if (code == RequestResourceType.NUTRITIONORDER)
11196        return "NutritionOrder";
11197      if (code == RequestResourceType.SERVICEREQUEST)
11198        return "ServiceRequest";
11199      if (code == RequestResourceType.SUPPLYREQUEST)
11200        return "SupplyRequest";
11201      if (code == RequestResourceType.TASK)
11202        return "Task";
11203      if (code == RequestResourceType.VISIONPRESCRIPTION)
11204        return "VisionPrescription";
11205      return "?";
11206      }
11207    public String toSystem(RequestResourceType code) {
11208      return code.getSystem();
11209      }
11210    }
11211
11212    public enum ResourceType {
11213        /**
11214         * 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.
11215         */
11216        ACCOUNT, 
11217        /**
11218         * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context.
11219         */
11220        ACTIVITYDEFINITION, 
11221        /**
11222         * 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.
11223         */
11224        ADVERSEEVENT, 
11225        /**
11226         * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.
11227         */
11228        ALLERGYINTOLERANCE, 
11229        /**
11230         * 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).
11231         */
11232        APPOINTMENT, 
11233        /**
11234         * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.
11235         */
11236        APPOINTMENTRESPONSE, 
11237        /**
11238         * 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.
11239         */
11240        AUDITEVENT, 
11241        /**
11242         * 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.
11243         */
11244        BASIC, 
11245        /**
11246         * A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.
11247         */
11248        BINARY, 
11249        /**
11250         * A material substance originating from a biological entity intended to be transplanted or infused
11251into another (possibly the same) biological entity.
11252         */
11253        BIOLOGICALLYDERIVEDPRODUCT, 
11254        /**
11255         * 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.
11256         */
11257        BODYSTRUCTURE, 
11258        /**
11259         * A container for a collection of resources.
11260         */
11261        BUNDLE, 
11262        /**
11263         * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.
11264         */
11265        CAPABILITYSTATEMENT, 
11266        /**
11267         * 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.
11268         */
11269        CAREPLAN, 
11270        /**
11271         * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care for a patient.
11272         */
11273        CARETEAM, 
11274        /**
11275         * Catalog entries are wrappers that contextualize items included in a catalog.
11276         */
11277        CATALOGENTRY, 
11278        /**
11279         * 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.
11280         */
11281        CHARGEITEM, 
11282        /**
11283         * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.
11284         */
11285        CHARGEITEMDEFINITION, 
11286        /**
11287         * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.
11288         */
11289        CLAIM, 
11290        /**
11291         * This resource provides the adjudication details from the processing of a Claim resource.
11292         */
11293        CLAIMRESPONSE, 
11294        /**
11295         * 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.
11296         */
11297        CLINICALIMPRESSION, 
11298        /**
11299         * 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.
11300         */
11301        CODESYSTEM, 
11302        /**
11303         * An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.
11304         */
11305        COMMUNICATION, 
11306        /**
11307         * 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.
11308         */
11309        COMMUNICATIONREQUEST, 
11310        /**
11311         * A compartment definition that defines how resources are accessed on a server.
11312         */
11313        COMPARTMENTDEFINITION, 
11314        /**
11315         * 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.).
11316         */
11317        COMPOSITION, 
11318        /**
11319         * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.
11320         */
11321        CONCEPTMAP, 
11322        /**
11323         * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.
11324         */
11325        CONDITION, 
11326        /**
11327         * 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.
11328         */
11329        CONSENT, 
11330        /**
11331         * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.
11332         */
11333        CONTRACT, 
11334        /**
11335         * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.
11336         */
11337        COVERAGE, 
11338        /**
11339         * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.
11340         */
11341        COVERAGEELIGIBILITYREQUEST, 
11342        /**
11343         * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.
11344         */
11345        COVERAGEELIGIBILITYRESPONSE, 
11346        /**
11347         * 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.
11348         */
11349        DETECTEDISSUE, 
11350        /**
11351         * 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.
11352         */
11353        DEVICE, 
11354        /**
11355         * The characteristics, operational status and capabilities of a medical-related component of a medical device.
11356         */
11357        DEVICEDEFINITION, 
11358        /**
11359         * Describes a measurement, calculation or setting capability of a medical device.
11360         */
11361        DEVICEMETRIC, 
11362        /**
11363         * 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.
11364         */
11365        DEVICEREQUEST, 
11366        /**
11367         * 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.
11368         */
11369        DEVICEUSESTATEMENT, 
11370        /**
11371         * 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.
11372         */
11373        DIAGNOSTICREPORT, 
11374        /**
11375         * A collection of documents compiled for a purpose together with metadata that applies to the collection.
11376         */
11377        DOCUMENTMANIFEST, 
11378        /**
11379         * A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.
11380         */
11381        DOCUMENTREFERENCE, 
11382        /**
11383         * A resource that includes narrative, extensions, and contained resources.
11384         */
11385        DOMAINRESOURCE, 
11386        /**
11387         * The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.
11388         */
11389        EFFECTEVIDENCESYNTHESIS, 
11390        /**
11391         * 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.
11392         */
11393        ENCOUNTER, 
11394        /**
11395         * 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.
11396         */
11397        ENDPOINT, 
11398        /**
11399         * This resource provides the insurance enrollment details to the insurer regarding a specified coverage.
11400         */
11401        ENROLLMENTREQUEST, 
11402        /**
11403         * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.
11404         */
11405        ENROLLMENTRESPONSE, 
11406        /**
11407         * 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.
11408         */
11409        EPISODEOFCARE, 
11410        /**
11411         * The EventDefinition resource provides a reusable description of when a particular event can occur.
11412         */
11413        EVENTDEFINITION, 
11414        /**
11415         * The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
11416         */
11417        EVIDENCE, 
11418        /**
11419         * The EvidenceVariable resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
11420         */
11421        EVIDENCEVARIABLE, 
11422        /**
11423         * Example of workflow instance.
11424         */
11425        EXAMPLESCENARIO, 
11426        /**
11427         * 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.
11428         */
11429        EXPLANATIONOFBENEFIT, 
11430        /**
11431         * Significant health conditions for a person related to the patient relevant in the context of care for the patient.
11432         */
11433        FAMILYMEMBERHISTORY, 
11434        /**
11435         * Prospective warnings of potential issues when providing care to the patient.
11436         */
11437        FLAG, 
11438        /**
11439         * 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.
11440         */
11441        GOAL, 
11442        /**
11443         * 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.
11444         */
11445        GRAPHDEFINITION, 
11446        /**
11447         * 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.
11448         */
11449        GROUP, 
11450        /**
11451         * 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.
11452         */
11453        GUIDANCERESPONSE, 
11454        /**
11455         * The details of a healthcare service available at a location.
11456         */
11457        HEALTHCARESERVICE, 
11458        /**
11459         * 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.
11460         */
11461        IMAGINGSTUDY, 
11462        /**
11463         * 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.
11464         */
11465        IMMUNIZATION, 
11466        /**
11467         * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those  recommendations.
11468         */
11469        IMMUNIZATIONEVALUATION, 
11470        /**
11471         * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.
11472         */
11473        IMMUNIZATIONRECOMMENDATION, 
11474        /**
11475         * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.
11476         */
11477        IMPLEMENTATIONGUIDE, 
11478        /**
11479         * Details of a Health Insurance product/plan provided by an organization.
11480         */
11481        INSURANCEPLAN, 
11482        /**
11483         * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.
11484         */
11485        INVOICE, 
11486        /**
11487         * 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.
11488         */
11489        LIBRARY, 
11490        /**
11491         * Identifies two or more records (resource instances) that refer to the same real-world "occurrence".
11492         */
11493        LINKAGE, 
11494        /**
11495         * A list is a curated collection of resources.
11496         */
11497        LIST, 
11498        /**
11499         * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated.
11500         */
11501        LOCATION, 
11502        /**
11503         * The Measure resource provides the definition of a quality measure.
11504         */
11505        MEASURE, 
11506        /**
11507         * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.
11508         */
11509        MEASUREREPORT, 
11510        /**
11511         * A photo, video, or audio recording acquired or used in healthcare. The actual content may be inline or provided by direct reference.
11512         */
11513        MEDIA, 
11514        /**
11515         * 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.
11516         */
11517        MEDICATION, 
11518        /**
11519         * 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.
11520         */
11521        MEDICATIONADMINISTRATION, 
11522        /**
11523         * 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.
11524         */
11525        MEDICATIONDISPENSE, 
11526        /**
11527         * Information about a medication that is used to support knowledge.
11528         */
11529        MEDICATIONKNOWLEDGE, 
11530        /**
11531         * 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.
11532         */
11533        MEDICATIONREQUEST, 
11534        /**
11535         * 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. 
11536
11537The 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.
11538         */
11539        MEDICATIONSTATEMENT, 
11540        /**
11541         * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).
11542         */
11543        MEDICINALPRODUCT, 
11544        /**
11545         * The regulatory authorization of a medicinal product.
11546         */
11547        MEDICINALPRODUCTAUTHORIZATION, 
11548        /**
11549         * The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.
11550         */
11551        MEDICINALPRODUCTCONTRAINDICATION, 
11552        /**
11553         * Indication for the Medicinal Product.
11554         */
11555        MEDICINALPRODUCTINDICATION, 
11556        /**
11557         * An ingredient of a manufactured item or pharmaceutical product.
11558         */
11559        MEDICINALPRODUCTINGREDIENT, 
11560        /**
11561         * The interactions of the medicinal product with other medicinal products, or other forms of interactions.
11562         */
11563        MEDICINALPRODUCTINTERACTION, 
11564        /**
11565         * The manufactured item as contained in the packaged medicinal product.
11566         */
11567        MEDICINALPRODUCTMANUFACTURED, 
11568        /**
11569         * A medicinal product in a container or package.
11570         */
11571        MEDICINALPRODUCTPACKAGED, 
11572        /**
11573         * A pharmaceutical product described in terms of its composition and dose form.
11574         */
11575        MEDICINALPRODUCTPHARMACEUTICAL, 
11576        /**
11577         * Describe the undesirable effects of the medicinal product.
11578         */
11579        MEDICINALPRODUCTUNDESIRABLEEFFECT, 
11580        /**
11581         * 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.
11582         */
11583        MESSAGEDEFINITION, 
11584        /**
11585         * 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.
11586         */
11587        MESSAGEHEADER, 
11588        /**
11589         * Raw data describing a biological sequence.
11590         */
11591        MOLECULARSEQUENCE, 
11592        /**
11593         * 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.
11594         */
11595        NAMINGSYSTEM, 
11596        /**
11597         * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.
11598         */
11599        NUTRITIONORDER, 
11600        /**
11601         * Measurements and simple assertions made about a patient, device or other subject.
11602         */
11603        OBSERVATION, 
11604        /**
11605         * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.
11606         */
11607        OBSERVATIONDEFINITION, 
11608        /**
11609         * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).
11610         */
11611        OPERATIONDEFINITION, 
11612        /**
11613         * A collection of error, warning, or information messages that result from a system action.
11614         */
11615        OPERATIONOUTCOME, 
11616        /**
11617         * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.
11618         */
11619        ORGANIZATION, 
11620        /**
11621         * Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.
11622         */
11623        ORGANIZATIONAFFILIATION, 
11624        /**
11625         * This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.
11626         */
11627        PARAMETERS, 
11628        /**
11629         * Demographics and other administrative information about an individual or animal receiving care or other health-related services.
11630         */
11631        PATIENT, 
11632        /**
11633         * This resource provides the status of the payment for goods and services rendered, and the request and response resource references.
11634         */
11635        PAYMENTNOTICE, 
11636        /**
11637         * This resource provides the details including amount of a payment and allocates the payment items being paid.
11638         */
11639        PAYMENTRECONCILIATION, 
11640        /**
11641         * Demographics and administrative information about a person independent of a specific health-related context.
11642         */
11643        PERSON, 
11644        /**
11645         * 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.
11646         */
11647        PLANDEFINITION, 
11648        /**
11649         * A person who is directly or indirectly involved in the provisioning of healthcare.
11650         */
11651        PRACTITIONER, 
11652        /**
11653         * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.
11654         */
11655        PRACTITIONERROLE, 
11656        /**
11657         * An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.
11658         */
11659        PROCEDURE, 
11660        /**
11661         * 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.
11662         */
11663        PROVENANCE, 
11664        /**
11665         * 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.
11666         */
11667        QUESTIONNAIRE, 
11668        /**
11669         * 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.
11670         */
11671        QUESTIONNAIRERESPONSE, 
11672        /**
11673         * 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.
11674         */
11675        RELATEDPERSON, 
11676        /**
11677         * 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".
11678         */
11679        REQUESTGROUP, 
11680        /**
11681         * The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.
11682         */
11683        RESEARCHDEFINITION, 
11684        /**
11685         * The ResearchElementDefinition resource describes a "PICO" element that knowledge (evidence, assertion, recommendation) is about.
11686         */
11687        RESEARCHELEMENTDEFINITION, 
11688        /**
11689         * 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.
11690         */
11691        RESEARCHSTUDY, 
11692        /**
11693         * A physical entity which is the primary unit of operational and/or administrative interest in a study.
11694         */
11695        RESEARCHSUBJECT, 
11696        /**
11697         * This is the base resource type for everything.
11698         */
11699        RESOURCE, 
11700        /**
11701         * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.
11702         */
11703        RISKASSESSMENT, 
11704        /**
11705         * The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.
11706         */
11707        RISKEVIDENCESYNTHESIS, 
11708        /**
11709         * A container for slots of time that may be available for booking appointments.
11710         */
11711        SCHEDULE, 
11712        /**
11713         * A search parameter that defines a named search item that can be used to search/filter on a resource.
11714         */
11715        SEARCHPARAMETER, 
11716        /**
11717         * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.
11718         */
11719        SERVICEREQUEST, 
11720        /**
11721         * A slot of time on a schedule that may be available for booking appointments.
11722         */
11723        SLOT, 
11724        /**
11725         * A sample to be used for analysis.
11726         */
11727        SPECIMEN, 
11728        /**
11729         * A kind of specimen with associated set of requirements.
11730         */
11731        SPECIMENDEFINITION, 
11732        /**
11733         * 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.
11734         */
11735        STRUCTUREDEFINITION, 
11736        /**
11737         * A Map of relationships between 2 structures that can be used to transform data.
11738         */
11739        STRUCTUREMAP, 
11740        /**
11741         * 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.
11742         */
11743        SUBSCRIPTION, 
11744        /**
11745         * A homogeneous material with a definite composition.
11746         */
11747        SUBSTANCE, 
11748        /**
11749         * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.
11750         */
11751        SUBSTANCENUCLEICACID, 
11752        /**
11753         * Todo.
11754         */
11755        SUBSTANCEPOLYMER, 
11756        /**
11757         * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.
11758         */
11759        SUBSTANCEPROTEIN, 
11760        /**
11761         * Todo.
11762         */
11763        SUBSTANCEREFERENCEINFORMATION, 
11764        /**
11765         * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.
11766         */
11767        SUBSTANCESOURCEMATERIAL, 
11768        /**
11769         * The detailed description of a substance, typically at a level beyond what is used for prescribing.
11770         */
11771        SUBSTANCESPECIFICATION, 
11772        /**
11773         * Record of delivery of what is supplied.
11774         */
11775        SUPPLYDELIVERY, 
11776        /**
11777         * A record of a request for a medication, substance or device used in the healthcare setting.
11778         */
11779        SUPPLYREQUEST, 
11780        /**
11781         * A task to be performed.
11782         */
11783        TASK, 
11784        /**
11785         * 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.
11786         */
11787        TERMINOLOGYCAPABILITIES, 
11788        /**
11789         * A summary of information based on the results of executing a TestScript.
11790         */
11791        TESTREPORT, 
11792        /**
11793         * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.
11794         */
11795        TESTSCRIPT, 
11796        /**
11797         * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).
11798         */
11799        VALUESET, 
11800        /**
11801         * Describes validation requirements, source(s), status and dates for one or more elements.
11802         */
11803        VERIFICATIONRESULT, 
11804        /**
11805         * An authorization for the provision of glasses and/or contact lenses to a patient.
11806         */
11807        VISIONPRESCRIPTION, 
11808        /**
11809         * added to help the parsers
11810         */
11811        NULL;
11812        public static ResourceType fromCode(String codeString) throws FHIRException {
11813            if (codeString == null || "".equals(codeString))
11814                return null;
11815        if ("Account".equals(codeString))
11816          return ACCOUNT;
11817        if ("ActivityDefinition".equals(codeString))
11818          return ACTIVITYDEFINITION;
11819        if ("AdverseEvent".equals(codeString))
11820          return ADVERSEEVENT;
11821        if ("AllergyIntolerance".equals(codeString))
11822          return ALLERGYINTOLERANCE;
11823        if ("Appointment".equals(codeString))
11824          return APPOINTMENT;
11825        if ("AppointmentResponse".equals(codeString))
11826          return APPOINTMENTRESPONSE;
11827        if ("AuditEvent".equals(codeString))
11828          return AUDITEVENT;
11829        if ("Basic".equals(codeString))
11830          return BASIC;
11831        if ("Binary".equals(codeString))
11832          return BINARY;
11833        if ("BiologicallyDerivedProduct".equals(codeString))
11834          return BIOLOGICALLYDERIVEDPRODUCT;
11835        if ("BodyStructure".equals(codeString))
11836          return BODYSTRUCTURE;
11837        if ("Bundle".equals(codeString))
11838          return BUNDLE;
11839        if ("CapabilityStatement".equals(codeString))
11840          return CAPABILITYSTATEMENT;
11841        if ("CarePlan".equals(codeString))
11842          return CAREPLAN;
11843        if ("CareTeam".equals(codeString))
11844          return CARETEAM;
11845        if ("CatalogEntry".equals(codeString))
11846          return CATALOGENTRY;
11847        if ("ChargeItem".equals(codeString))
11848          return CHARGEITEM;
11849        if ("ChargeItemDefinition".equals(codeString))
11850          return CHARGEITEMDEFINITION;
11851        if ("Claim".equals(codeString))
11852          return CLAIM;
11853        if ("ClaimResponse".equals(codeString))
11854          return CLAIMRESPONSE;
11855        if ("ClinicalImpression".equals(codeString))
11856          return CLINICALIMPRESSION;
11857        if ("CodeSystem".equals(codeString))
11858          return CODESYSTEM;
11859        if ("Communication".equals(codeString))
11860          return COMMUNICATION;
11861        if ("CommunicationRequest".equals(codeString))
11862          return COMMUNICATIONREQUEST;
11863        if ("CompartmentDefinition".equals(codeString))
11864          return COMPARTMENTDEFINITION;
11865        if ("Composition".equals(codeString))
11866          return COMPOSITION;
11867        if ("ConceptMap".equals(codeString))
11868          return CONCEPTMAP;
11869        if ("Condition".equals(codeString))
11870          return CONDITION;
11871        if ("Consent".equals(codeString))
11872          return CONSENT;
11873        if ("Contract".equals(codeString))
11874          return CONTRACT;
11875        if ("Coverage".equals(codeString))
11876          return COVERAGE;
11877        if ("CoverageEligibilityRequest".equals(codeString))
11878          return COVERAGEELIGIBILITYREQUEST;
11879        if ("CoverageEligibilityResponse".equals(codeString))
11880          return COVERAGEELIGIBILITYRESPONSE;
11881        if ("DetectedIssue".equals(codeString))
11882          return DETECTEDISSUE;
11883        if ("Device".equals(codeString))
11884          return DEVICE;
11885        if ("DeviceDefinition".equals(codeString))
11886          return DEVICEDEFINITION;
11887        if ("DeviceMetric".equals(codeString))
11888          return DEVICEMETRIC;
11889        if ("DeviceRequest".equals(codeString))
11890          return DEVICEREQUEST;
11891        if ("DeviceUseStatement".equals(codeString))
11892          return DEVICEUSESTATEMENT;
11893        if ("DiagnosticReport".equals(codeString))
11894          return DIAGNOSTICREPORT;
11895        if ("DocumentManifest".equals(codeString))
11896          return DOCUMENTMANIFEST;
11897        if ("DocumentReference".equals(codeString))
11898          return DOCUMENTREFERENCE;
11899        if ("DomainResource".equals(codeString))
11900          return DOMAINRESOURCE;
11901        if ("EffectEvidenceSynthesis".equals(codeString))
11902          return EFFECTEVIDENCESYNTHESIS;
11903        if ("Encounter".equals(codeString))
11904          return ENCOUNTER;
11905        if ("Endpoint".equals(codeString))
11906          return ENDPOINT;
11907        if ("EnrollmentRequest".equals(codeString))
11908          return ENROLLMENTREQUEST;
11909        if ("EnrollmentResponse".equals(codeString))
11910          return ENROLLMENTRESPONSE;
11911        if ("EpisodeOfCare".equals(codeString))
11912          return EPISODEOFCARE;
11913        if ("EventDefinition".equals(codeString))
11914          return EVENTDEFINITION;
11915        if ("Evidence".equals(codeString))
11916          return EVIDENCE;
11917        if ("EvidenceVariable".equals(codeString))
11918          return EVIDENCEVARIABLE;
11919        if ("ExampleScenario".equals(codeString))
11920          return EXAMPLESCENARIO;
11921        if ("ExplanationOfBenefit".equals(codeString))
11922          return EXPLANATIONOFBENEFIT;
11923        if ("FamilyMemberHistory".equals(codeString))
11924          return FAMILYMEMBERHISTORY;
11925        if ("Flag".equals(codeString))
11926          return FLAG;
11927        if ("Goal".equals(codeString))
11928          return GOAL;
11929        if ("GraphDefinition".equals(codeString))
11930          return GRAPHDEFINITION;
11931        if ("Group".equals(codeString))
11932          return GROUP;
11933        if ("GuidanceResponse".equals(codeString))
11934          return GUIDANCERESPONSE;
11935        if ("HealthcareService".equals(codeString))
11936          return HEALTHCARESERVICE;
11937        if ("ImagingStudy".equals(codeString))
11938          return IMAGINGSTUDY;
11939        if ("Immunization".equals(codeString))
11940          return IMMUNIZATION;
11941        if ("ImmunizationEvaluation".equals(codeString))
11942          return IMMUNIZATIONEVALUATION;
11943        if ("ImmunizationRecommendation".equals(codeString))
11944          return IMMUNIZATIONRECOMMENDATION;
11945        if ("ImplementationGuide".equals(codeString))
11946          return IMPLEMENTATIONGUIDE;
11947        if ("InsurancePlan".equals(codeString))
11948          return INSURANCEPLAN;
11949        if ("Invoice".equals(codeString))
11950          return INVOICE;
11951        if ("Library".equals(codeString))
11952          return LIBRARY;
11953        if ("Linkage".equals(codeString))
11954          return LINKAGE;
11955        if ("List".equals(codeString))
11956          return LIST;
11957        if ("Location".equals(codeString))
11958          return LOCATION;
11959        if ("Measure".equals(codeString))
11960          return MEASURE;
11961        if ("MeasureReport".equals(codeString))
11962          return MEASUREREPORT;
11963        if ("Media".equals(codeString))
11964          return MEDIA;
11965        if ("Medication".equals(codeString))
11966          return MEDICATION;
11967        if ("MedicationAdministration".equals(codeString))
11968          return MEDICATIONADMINISTRATION;
11969        if ("MedicationDispense".equals(codeString))
11970          return MEDICATIONDISPENSE;
11971        if ("MedicationKnowledge".equals(codeString))
11972          return MEDICATIONKNOWLEDGE;
11973        if ("MedicationRequest".equals(codeString))
11974          return MEDICATIONREQUEST;
11975        if ("MedicationStatement".equals(codeString))
11976          return MEDICATIONSTATEMENT;
11977        if ("MedicinalProduct".equals(codeString))
11978          return MEDICINALPRODUCT;
11979        if ("MedicinalProductAuthorization".equals(codeString))
11980          return MEDICINALPRODUCTAUTHORIZATION;
11981        if ("MedicinalProductContraindication".equals(codeString))
11982          return MEDICINALPRODUCTCONTRAINDICATION;
11983        if ("MedicinalProductIndication".equals(codeString))
11984          return MEDICINALPRODUCTINDICATION;
11985        if ("MedicinalProductIngredient".equals(codeString))
11986          return MEDICINALPRODUCTINGREDIENT;
11987        if ("MedicinalProductInteraction".equals(codeString))
11988          return MEDICINALPRODUCTINTERACTION;
11989        if ("MedicinalProductManufactured".equals(codeString))
11990          return MEDICINALPRODUCTMANUFACTURED;
11991        if ("MedicinalProductPackaged".equals(codeString))
11992          return MEDICINALPRODUCTPACKAGED;
11993        if ("MedicinalProductPharmaceutical".equals(codeString))
11994          return MEDICINALPRODUCTPHARMACEUTICAL;
11995        if ("MedicinalProductUndesirableEffect".equals(codeString))
11996          return MEDICINALPRODUCTUNDESIRABLEEFFECT;
11997        if ("MessageDefinition".equals(codeString))
11998          return MESSAGEDEFINITION;
11999        if ("MessageHeader".equals(codeString))
12000          return MESSAGEHEADER;
12001        if ("MolecularSequence".equals(codeString))
12002          return MOLECULARSEQUENCE;
12003        if ("NamingSystem".equals(codeString))
12004          return NAMINGSYSTEM;
12005        if ("NutritionOrder".equals(codeString))
12006          return NUTRITIONORDER;
12007        if ("Observation".equals(codeString))
12008          return OBSERVATION;
12009        if ("ObservationDefinition".equals(codeString))
12010          return OBSERVATIONDEFINITION;
12011        if ("OperationDefinition".equals(codeString))
12012          return OPERATIONDEFINITION;
12013        if ("OperationOutcome".equals(codeString))
12014          return OPERATIONOUTCOME;
12015        if ("Organization".equals(codeString))
12016          return ORGANIZATION;
12017        if ("OrganizationAffiliation".equals(codeString))
12018          return ORGANIZATIONAFFILIATION;
12019        if ("Parameters".equals(codeString))
12020          return PARAMETERS;
12021        if ("Patient".equals(codeString))
12022          return PATIENT;
12023        if ("PaymentNotice".equals(codeString))
12024          return PAYMENTNOTICE;
12025        if ("PaymentReconciliation".equals(codeString))
12026          return PAYMENTRECONCILIATION;
12027        if ("Person".equals(codeString))
12028          return PERSON;
12029        if ("PlanDefinition".equals(codeString))
12030          return PLANDEFINITION;
12031        if ("Practitioner".equals(codeString))
12032          return PRACTITIONER;
12033        if ("PractitionerRole".equals(codeString))
12034          return PRACTITIONERROLE;
12035        if ("Procedure".equals(codeString))
12036          return PROCEDURE;
12037        if ("Provenance".equals(codeString))
12038          return PROVENANCE;
12039        if ("Questionnaire".equals(codeString))
12040          return QUESTIONNAIRE;
12041        if ("QuestionnaireResponse".equals(codeString))
12042          return QUESTIONNAIRERESPONSE;
12043        if ("RelatedPerson".equals(codeString))
12044          return RELATEDPERSON;
12045        if ("RequestGroup".equals(codeString))
12046          return REQUESTGROUP;
12047        if ("ResearchDefinition".equals(codeString))
12048          return RESEARCHDEFINITION;
12049        if ("ResearchElementDefinition".equals(codeString))
12050          return RESEARCHELEMENTDEFINITION;
12051        if ("ResearchStudy".equals(codeString))
12052          return RESEARCHSTUDY;
12053        if ("ResearchSubject".equals(codeString))
12054          return RESEARCHSUBJECT;
12055        if ("Resource".equals(codeString))
12056          return RESOURCE;
12057        if ("RiskAssessment".equals(codeString))
12058          return RISKASSESSMENT;
12059        if ("RiskEvidenceSynthesis".equals(codeString))
12060          return RISKEVIDENCESYNTHESIS;
12061        if ("Schedule".equals(codeString))
12062          return SCHEDULE;
12063        if ("SearchParameter".equals(codeString))
12064          return SEARCHPARAMETER;
12065        if ("ServiceRequest".equals(codeString))
12066          return SERVICEREQUEST;
12067        if ("Slot".equals(codeString))
12068          return SLOT;
12069        if ("Specimen".equals(codeString))
12070          return SPECIMEN;
12071        if ("SpecimenDefinition".equals(codeString))
12072          return SPECIMENDEFINITION;
12073        if ("StructureDefinition".equals(codeString))
12074          return STRUCTUREDEFINITION;
12075        if ("StructureMap".equals(codeString))
12076          return STRUCTUREMAP;
12077        if ("Subscription".equals(codeString))
12078          return SUBSCRIPTION;
12079        if ("Substance".equals(codeString))
12080          return SUBSTANCE;
12081        if ("SubstanceNucleicAcid".equals(codeString))
12082          return SUBSTANCENUCLEICACID;
12083        if ("SubstancePolymer".equals(codeString))
12084          return SUBSTANCEPOLYMER;
12085        if ("SubstanceProtein".equals(codeString))
12086          return SUBSTANCEPROTEIN;
12087        if ("SubstanceReferenceInformation".equals(codeString))
12088          return SUBSTANCEREFERENCEINFORMATION;
12089        if ("SubstanceSourceMaterial".equals(codeString))
12090          return SUBSTANCESOURCEMATERIAL;
12091        if ("SubstanceSpecification".equals(codeString))
12092          return SUBSTANCESPECIFICATION;
12093        if ("SupplyDelivery".equals(codeString))
12094          return SUPPLYDELIVERY;
12095        if ("SupplyRequest".equals(codeString))
12096          return SUPPLYREQUEST;
12097        if ("Task".equals(codeString))
12098          return TASK;
12099        if ("TerminologyCapabilities".equals(codeString))
12100          return TERMINOLOGYCAPABILITIES;
12101        if ("TestReport".equals(codeString))
12102          return TESTREPORT;
12103        if ("TestScript".equals(codeString))
12104          return TESTSCRIPT;
12105        if ("ValueSet".equals(codeString))
12106          return VALUESET;
12107        if ("VerificationResult".equals(codeString))
12108          return VERIFICATIONRESULT;
12109        if ("VisionPrescription".equals(codeString))
12110          return VISIONPRESCRIPTION;
12111        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
12112        }
12113        public String toCode() {
12114          switch (this) {
12115            case ACCOUNT: return "Account";
12116            case ACTIVITYDEFINITION: return "ActivityDefinition";
12117            case ADVERSEEVENT: return "AdverseEvent";
12118            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
12119            case APPOINTMENT: return "Appointment";
12120            case APPOINTMENTRESPONSE: return "AppointmentResponse";
12121            case AUDITEVENT: return "AuditEvent";
12122            case BASIC: return "Basic";
12123            case BINARY: return "Binary";
12124            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
12125            case BODYSTRUCTURE: return "BodyStructure";
12126            case BUNDLE: return "Bundle";
12127            case CAPABILITYSTATEMENT: return "CapabilityStatement";
12128            case CAREPLAN: return "CarePlan";
12129            case CARETEAM: return "CareTeam";
12130            case CATALOGENTRY: return "CatalogEntry";
12131            case CHARGEITEM: return "ChargeItem";
12132            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
12133            case CLAIM: return "Claim";
12134            case CLAIMRESPONSE: return "ClaimResponse";
12135            case CLINICALIMPRESSION: return "ClinicalImpression";
12136            case CODESYSTEM: return "CodeSystem";
12137            case COMMUNICATION: return "Communication";
12138            case COMMUNICATIONREQUEST: return "CommunicationRequest";
12139            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
12140            case COMPOSITION: return "Composition";
12141            case CONCEPTMAP: return "ConceptMap";
12142            case CONDITION: return "Condition";
12143            case CONSENT: return "Consent";
12144            case CONTRACT: return "Contract";
12145            case COVERAGE: return "Coverage";
12146            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
12147            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
12148            case DETECTEDISSUE: return "DetectedIssue";
12149            case DEVICE: return "Device";
12150            case DEVICEDEFINITION: return "DeviceDefinition";
12151            case DEVICEMETRIC: return "DeviceMetric";
12152            case DEVICEREQUEST: return "DeviceRequest";
12153            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
12154            case DIAGNOSTICREPORT: return "DiagnosticReport";
12155            case DOCUMENTMANIFEST: return "DocumentManifest";
12156            case DOCUMENTREFERENCE: return "DocumentReference";
12157            case DOMAINRESOURCE: return "DomainResource";
12158            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
12159            case ENCOUNTER: return "Encounter";
12160            case ENDPOINT: return "Endpoint";
12161            case ENROLLMENTREQUEST: return "EnrollmentRequest";
12162            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
12163            case EPISODEOFCARE: return "EpisodeOfCare";
12164            case EVENTDEFINITION: return "EventDefinition";
12165            case EVIDENCE: return "Evidence";
12166            case EVIDENCEVARIABLE: return "EvidenceVariable";
12167            case EXAMPLESCENARIO: return "ExampleScenario";
12168            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
12169            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
12170            case FLAG: return "Flag";
12171            case GOAL: return "Goal";
12172            case GRAPHDEFINITION: return "GraphDefinition";
12173            case GROUP: return "Group";
12174            case GUIDANCERESPONSE: return "GuidanceResponse";
12175            case HEALTHCARESERVICE: return "HealthcareService";
12176            case IMAGINGSTUDY: return "ImagingStudy";
12177            case IMMUNIZATION: return "Immunization";
12178            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
12179            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
12180            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
12181            case INSURANCEPLAN: return "InsurancePlan";
12182            case INVOICE: return "Invoice";
12183            case LIBRARY: return "Library";
12184            case LINKAGE: return "Linkage";
12185            case LIST: return "List";
12186            case LOCATION: return "Location";
12187            case MEASURE: return "Measure";
12188            case MEASUREREPORT: return "MeasureReport";
12189            case MEDIA: return "Media";
12190            case MEDICATION: return "Medication";
12191            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
12192            case MEDICATIONDISPENSE: return "MedicationDispense";
12193            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
12194            case MEDICATIONREQUEST: return "MedicationRequest";
12195            case MEDICATIONSTATEMENT: return "MedicationStatement";
12196            case MEDICINALPRODUCT: return "MedicinalProduct";
12197            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
12198            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
12199            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
12200            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
12201            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
12202            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
12203            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
12204            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
12205            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
12206            case MESSAGEDEFINITION: return "MessageDefinition";
12207            case MESSAGEHEADER: return "MessageHeader";
12208            case MOLECULARSEQUENCE: return "MolecularSequence";
12209            case NAMINGSYSTEM: return "NamingSystem";
12210            case NUTRITIONORDER: return "NutritionOrder";
12211            case OBSERVATION: return "Observation";
12212            case OBSERVATIONDEFINITION: return "ObservationDefinition";
12213            case OPERATIONDEFINITION: return "OperationDefinition";
12214            case OPERATIONOUTCOME: return "OperationOutcome";
12215            case ORGANIZATION: return "Organization";
12216            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
12217            case PARAMETERS: return "Parameters";
12218            case PATIENT: return "Patient";
12219            case PAYMENTNOTICE: return "PaymentNotice";
12220            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
12221            case PERSON: return "Person";
12222            case PLANDEFINITION: return "PlanDefinition";
12223            case PRACTITIONER: return "Practitioner";
12224            case PRACTITIONERROLE: return "PractitionerRole";
12225            case PROCEDURE: return "Procedure";
12226            case PROVENANCE: return "Provenance";
12227            case QUESTIONNAIRE: return "Questionnaire";
12228            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
12229            case RELATEDPERSON: return "RelatedPerson";
12230            case REQUESTGROUP: return "RequestGroup";
12231            case RESEARCHDEFINITION: return "ResearchDefinition";
12232            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
12233            case RESEARCHSTUDY: return "ResearchStudy";
12234            case RESEARCHSUBJECT: return "ResearchSubject";
12235            case RESOURCE: return "Resource";
12236            case RISKASSESSMENT: return "RiskAssessment";
12237            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
12238            case SCHEDULE: return "Schedule";
12239            case SEARCHPARAMETER: return "SearchParameter";
12240            case SERVICEREQUEST: return "ServiceRequest";
12241            case SLOT: return "Slot";
12242            case SPECIMEN: return "Specimen";
12243            case SPECIMENDEFINITION: return "SpecimenDefinition";
12244            case STRUCTUREDEFINITION: return "StructureDefinition";
12245            case STRUCTUREMAP: return "StructureMap";
12246            case SUBSCRIPTION: return "Subscription";
12247            case SUBSTANCE: return "Substance";
12248            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
12249            case SUBSTANCEPOLYMER: return "SubstancePolymer";
12250            case SUBSTANCEPROTEIN: return "SubstanceProtein";
12251            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
12252            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
12253            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
12254            case SUPPLYDELIVERY: return "SupplyDelivery";
12255            case SUPPLYREQUEST: return "SupplyRequest";
12256            case TASK: return "Task";
12257            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
12258            case TESTREPORT: return "TestReport";
12259            case TESTSCRIPT: return "TestScript";
12260            case VALUESET: return "ValueSet";
12261            case VERIFICATIONRESULT: return "VerificationResult";
12262            case VISIONPRESCRIPTION: return "VisionPrescription";
12263            default: return "?";
12264          }
12265        }
12266        public String getSystem() {
12267          switch (this) {
12268            case ACCOUNT: return "http://hl7.org/fhir/resource-types";
12269            case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types";
12270            case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types";
12271            case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types";
12272            case APPOINTMENT: return "http://hl7.org/fhir/resource-types";
12273            case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
12274            case AUDITEVENT: return "http://hl7.org/fhir/resource-types";
12275            case BASIC: return "http://hl7.org/fhir/resource-types";
12276            case BINARY: return "http://hl7.org/fhir/resource-types";
12277            case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types";
12278            case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types";
12279            case BUNDLE: return "http://hl7.org/fhir/resource-types";
12280            case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types";
12281            case CAREPLAN: return "http://hl7.org/fhir/resource-types";
12282            case CARETEAM: return "http://hl7.org/fhir/resource-types";
12283            case CATALOGENTRY: return "http://hl7.org/fhir/resource-types";
12284            case CHARGEITEM: return "http://hl7.org/fhir/resource-types";
12285            case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types";
12286            case CLAIM: return "http://hl7.org/fhir/resource-types";
12287            case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types";
12288            case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types";
12289            case CODESYSTEM: return "http://hl7.org/fhir/resource-types";
12290            case COMMUNICATION: return "http://hl7.org/fhir/resource-types";
12291            case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
12292            case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12293            case COMPOSITION: return "http://hl7.org/fhir/resource-types";
12294            case CONCEPTMAP: return "http://hl7.org/fhir/resource-types";
12295            case CONDITION: return "http://hl7.org/fhir/resource-types";
12296            case CONSENT: return "http://hl7.org/fhir/resource-types";
12297            case CONTRACT: return "http://hl7.org/fhir/resource-types";
12298            case COVERAGE: return "http://hl7.org/fhir/resource-types";
12299            case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types";
12300            case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types";
12301            case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types";
12302            case DEVICE: return "http://hl7.org/fhir/resource-types";
12303            case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types";
12304            case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types";
12305            case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types";
12306            case DEVICEUSESTATEMENT: return "http://hl7.org/fhir/resource-types";
12307            case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types";
12308            case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types";
12309            case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types";
12310            case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types";
12311            case EFFECTEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
12312            case ENCOUNTER: return "http://hl7.org/fhir/resource-types";
12313            case ENDPOINT: return "http://hl7.org/fhir/resource-types";
12314            case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types";
12315            case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types";
12316            case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types";
12317            case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12318            case EVIDENCE: return "http://hl7.org/fhir/resource-types";
12319            case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types";
12320            case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types";
12321            case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types";
12322            case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types";
12323            case FLAG: return "http://hl7.org/fhir/resource-types";
12324            case GOAL: return "http://hl7.org/fhir/resource-types";
12325            case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types";
12326            case GROUP: return "http://hl7.org/fhir/resource-types";
12327            case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types";
12328            case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types";
12329            case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types";
12330            case IMMUNIZATION: return "http://hl7.org/fhir/resource-types";
12331            case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types";
12332            case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types";
12333            case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types";
12334            case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types";
12335            case INVOICE: return "http://hl7.org/fhir/resource-types";
12336            case LIBRARY: return "http://hl7.org/fhir/resource-types";
12337            case LINKAGE: return "http://hl7.org/fhir/resource-types";
12338            case LIST: return "http://hl7.org/fhir/resource-types";
12339            case LOCATION: return "http://hl7.org/fhir/resource-types";
12340            case MEASURE: return "http://hl7.org/fhir/resource-types";
12341            case MEASUREREPORT: return "http://hl7.org/fhir/resource-types";
12342            case MEDIA: return "http://hl7.org/fhir/resource-types";
12343            case MEDICATION: return "http://hl7.org/fhir/resource-types";
12344            case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types";
12345            case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types";
12346            case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types";
12347            case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types";
12348            case MEDICATIONSTATEMENT: return "http://hl7.org/fhir/resource-types";
12349            case MEDICINALPRODUCT: return "http://hl7.org/fhir/resource-types";
12350            case MEDICINALPRODUCTAUTHORIZATION: return "http://hl7.org/fhir/resource-types";
12351            case MEDICINALPRODUCTCONTRAINDICATION: return "http://hl7.org/fhir/resource-types";
12352            case MEDICINALPRODUCTINDICATION: return "http://hl7.org/fhir/resource-types";
12353            case MEDICINALPRODUCTINGREDIENT: return "http://hl7.org/fhir/resource-types";
12354            case MEDICINALPRODUCTINTERACTION: return "http://hl7.org/fhir/resource-types";
12355            case MEDICINALPRODUCTMANUFACTURED: return "http://hl7.org/fhir/resource-types";
12356            case MEDICINALPRODUCTPACKAGED: return "http://hl7.org/fhir/resource-types";
12357            case MEDICINALPRODUCTPHARMACEUTICAL: return "http://hl7.org/fhir/resource-types";
12358            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "http://hl7.org/fhir/resource-types";
12359            case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types";
12360            case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types";
12361            case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types";
12362            case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types";
12363            case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types";
12364            case OBSERVATION: return "http://hl7.org/fhir/resource-types";
12365            case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
12366            case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types";
12367            case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types";
12368            case ORGANIZATION: return "http://hl7.org/fhir/resource-types";
12369            case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types";
12370            case PARAMETERS: return "http://hl7.org/fhir/resource-types";
12371            case PATIENT: return "http://hl7.org/fhir/resource-types";
12372            case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types";
12373            case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types";
12374            case PERSON: return "http://hl7.org/fhir/resource-types";
12375            case PLANDEFINITION: return "http://hl7.org/fhir/resource-types";
12376            case PRACTITIONER: return "http://hl7.org/fhir/resource-types";
12377            case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types";
12378            case PROCEDURE: return "http://hl7.org/fhir/resource-types";
12379            case PROVENANCE: return "http://hl7.org/fhir/resource-types";
12380            case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types";
12381            case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types";
12382            case RELATEDPERSON: return "http://hl7.org/fhir/resource-types";
12383            case REQUESTGROUP: return "http://hl7.org/fhir/resource-types";
12384            case RESEARCHDEFINITION: return "http://hl7.org/fhir/resource-types";
12385            case RESEARCHELEMENTDEFINITION: return "http://hl7.org/fhir/resource-types";
12386            case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types";
12387            case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types";
12388            case RESOURCE: return "http://hl7.org/fhir/resource-types";
12389            case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types";
12390            case RISKEVIDENCESYNTHESIS: return "http://hl7.org/fhir/resource-types";
12391            case SCHEDULE: return "http://hl7.org/fhir/resource-types";
12392            case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types";
12393            case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types";
12394            case SLOT: return "http://hl7.org/fhir/resource-types";
12395            case SPECIMEN: return "http://hl7.org/fhir/resource-types";
12396            case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types";
12397            case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types";
12398            case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types";
12399            case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types";
12400            case SUBSTANCE: return "http://hl7.org/fhir/resource-types";
12401            case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types";
12402            case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types";
12403            case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types";
12404            case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types";
12405            case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types";
12406            case SUBSTANCESPECIFICATION: return "http://hl7.org/fhir/resource-types";
12407            case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types";
12408            case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types";
12409            case TASK: return "http://hl7.org/fhir/resource-types";
12410            case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types";
12411            case TESTREPORT: return "http://hl7.org/fhir/resource-types";
12412            case TESTSCRIPT: return "http://hl7.org/fhir/resource-types";
12413            case VALUESET: return "http://hl7.org/fhir/resource-types";
12414            case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types";
12415            case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types";
12416            default: return "?";
12417          }
12418        }
12419        public String getDefinition() {
12420          switch (this) {
12421            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.";
12422            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.";
12423            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.";
12424            case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance.";
12425            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).";
12426            case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection.";
12427            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.";
12428            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.";
12429            case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format.  A Binary resource can contain any content, whether text, image, pdf, zip archive, etc.";
12430            case BIOLOGICALLYDERIVEDPRODUCT: return "A material substance originating from a biological entity intended to be transplanted or infused\ninto another (possibly the same) biological entity.";
12431            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.";
12432            case BUNDLE: return "A container for a collection of resources.";
12433            case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation.";
12434            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.";
12435            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.";
12436            case CATALOGENTRY: return "Catalog entries are wrappers that contextualize items included in a catalog.";
12437            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.";
12438            case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system.";
12439            case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement.";
12440            case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource.";
12441            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.";
12442            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.";
12443            case COMMUNICATION: return "An occurrence of information being transmitted; e.g. an alert that was sent to a responsible provider, a public health agency that was notified about a reportable condition.";
12444            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.";
12445            case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server.";
12446            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.).";
12447            case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models.";
12448            case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern.";
12449            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.";
12450            case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement.";
12451            case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment.";
12452            case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy.";
12453            case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource.";
12454            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.";
12455            case DEVICE: return "A type of a manufactured item that is used in the provision of healthcare without being substantially changed through that activity. The device may be a medical or non-medical device.";
12456            case DEVICEDEFINITION: return "The characteristics, operational status and capabilities of a medical-related component of a medical device.";
12457            case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device.";
12458            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.";
12459            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.";
12460            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.";
12461            case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection.";
12462            case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. Provides metadata about the document so that the document can be discovered and managed. The scope of a document is any seralized object with a mime-type, so includes formal patient centric documents (CDA), cliical notes, scanned paper, and non-patient specific documents like policy text.";
12463            case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources.";
12464            case EFFECTEVIDENCESYNTHESIS: return "The EffectEvidenceSynthesis resource describes the difference in an outcome between exposures states in a population where the effect estimate is derived from a combination of research studies.";
12465            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.";
12466            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.";
12467            case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage.";
12468            case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource.";
12469            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.";
12470            case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur.";
12471            case EVIDENCE: return "The Evidence resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
12472            case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
12473            case EXAMPLESCENARIO: return "Example of workflow instance.";
12474            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.";
12475            case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient.";
12476            case FLAG: return "Prospective warnings of potential issues when providing care to the patient.";
12477            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.";
12478            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.";
12479            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.";
12480            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.";
12481            case HEALTHCARESERVICE: return "The details of a healthcare service available at a location.";
12482            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.";
12483            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.";
12484            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.";
12485            case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification.";
12486            case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts.";
12487            case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization.";
12488            case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose.";
12489            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.";
12490            case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\".";
12491            case LIST: return "A list is a curated collection of resources.";
12492            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.";
12493            case MEASURE: return "The Measure resource provides the definition of a quality measure.";
12494            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.";
12495            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.";
12496            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.";
12497            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.";
12498            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.";
12499            case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge.";
12500            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.";
12501            case MEDICATIONSTATEMENT: return "A record of a medication that is being consumed by a patient.   A MedicationStatement may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future.  The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician.  A common scenario where this information is captured is during the history taking process during a patient visit or stay.   The medication information may come from sources such as the patient's memory, from a prescription bottle,  or from a list of medications the patient, clinician or other party maintains. \n\nThe primary difference between a medication statement and a medication administration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication.  A medication statement is often, if not always, less specific.  There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise.  As stated earlier, the medication statement information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains.  Medication administration is more formal and is not missing detailed information.";
12502            case MEDICINALPRODUCT: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use).";
12503            case MEDICINALPRODUCTAUTHORIZATION: return "The regulatory authorization of a medicinal product.";
12504            case MEDICINALPRODUCTCONTRAINDICATION: return "The clinical particulars - indications, contraindications etc. of a medicinal product, including for regulatory purposes.";
12505            case MEDICINALPRODUCTINDICATION: return "Indication for the Medicinal Product.";
12506            case MEDICINALPRODUCTINGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product.";
12507            case MEDICINALPRODUCTINTERACTION: return "The interactions of the medicinal product with other medicinal products, or other forms of interactions.";
12508            case MEDICINALPRODUCTMANUFACTURED: return "The manufactured item as contained in the packaged medicinal product.";
12509            case MEDICINALPRODUCTPACKAGED: return "A medicinal product in a container or package.";
12510            case MEDICINALPRODUCTPHARMACEUTICAL: return "A pharmaceutical product described in terms of its composition and dose form.";
12511            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "Describe the undesirable effects of the medicinal product.";
12512            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.";
12513            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.";
12514            case MOLECULARSEQUENCE: return "Raw data describing a biological sequence.";
12515            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.";
12516            case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident.";
12517            case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject.";
12518            case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service.";
12519            case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction).";
12520            case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action.";
12521            case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action.  Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc.";
12522            case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct oganizations, that is not a part-of relationship/sub-division relationship.";
12523            case PARAMETERS: return "This resource is a non-persisted resource used to pass information into and back from an [operation](operations.html). It has no other use, and there is no RESTful endpoint associated with it.";
12524            case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services.";
12525            case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references.";
12526            case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid.";
12527            case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context.";
12528            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.";
12529            case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare.";
12530            case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time.";
12531            case PROCEDURE: return "An action that is or was performed on or for a patient. This can be a physical intervention like an operation, or less invasive like long term services, counseling, or hypnotherapy.";
12532            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.";
12533            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.";
12534            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.";
12535            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.";
12536            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\".";
12537            case RESEARCHDEFINITION: return "The ResearchDefinition resource describes the conditional state (population and any exposures being compared within the population) and outcome (if specified) that the knowledge (evidence, assertion, recommendation) is about.";
12538            case RESEARCHELEMENTDEFINITION: return "The ResearchElementDefinition resource describes a \"PICO\" element that knowledge (evidence, assertion, recommendation) is about.";
12539            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.";
12540            case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study.";
12541            case RESOURCE: return "This is the base resource type for everything.";
12542            case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome.";
12543            case RISKEVIDENCESYNTHESIS: return "The RiskEvidenceSynthesis resource describes the likelihood of an outcome in a population plus exposure state where the risk estimate is derived from a combination of research studies.";
12544            case SCHEDULE: return "A container for slots of time that may be available for booking appointments.";
12545            case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource.";
12546            case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed.";
12547            case SLOT: return "A slot of time on a schedule that may be available for booking appointments.";
12548            case SPECIMEN: return "A sample to be used for analysis.";
12549            case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements.";
12550            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.";
12551            case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data.";
12552            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.";
12553            case SUBSTANCE: return "A homogeneous material with a definite composition.";
12554            case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction.";
12555            case SUBSTANCEPOLYMER: return "Todo.";
12556            case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators.";
12557            case SUBSTANCEREFERENCEINFORMATION: return "Todo.";
12558            case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex.";
12559            case SUBSTANCESPECIFICATION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing.";
12560            case SUPPLYDELIVERY: return "Record of delivery of what is supplied.";
12561            case SUPPLYREQUEST: return "A record of a request for a medication, substance or device used in the healthcare setting.";
12562            case TASK: return "A task to be performed.";
12563            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.";
12564            case TESTREPORT: return "A summary of information based on the results of executing a TestScript.";
12565            case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification.";
12566            case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html).";
12567            case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements.";
12568            case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient.";
12569            default: return "?";
12570          }
12571        }
12572        public String getDisplay() {
12573          switch (this) {
12574            case ACCOUNT: return "Account";
12575            case ACTIVITYDEFINITION: return "ActivityDefinition";
12576            case ADVERSEEVENT: return "AdverseEvent";
12577            case ALLERGYINTOLERANCE: return "AllergyIntolerance";
12578            case APPOINTMENT: return "Appointment";
12579            case APPOINTMENTRESPONSE: return "AppointmentResponse";
12580            case AUDITEVENT: return "AuditEvent";
12581            case BASIC: return "Basic";
12582            case BINARY: return "Binary";
12583            case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct";
12584            case BODYSTRUCTURE: return "BodyStructure";
12585            case BUNDLE: return "Bundle";
12586            case CAPABILITYSTATEMENT: return "CapabilityStatement";
12587            case CAREPLAN: return "CarePlan";
12588            case CARETEAM: return "CareTeam";
12589            case CATALOGENTRY: return "CatalogEntry";
12590            case CHARGEITEM: return "ChargeItem";
12591            case CHARGEITEMDEFINITION: return "ChargeItemDefinition";
12592            case CLAIM: return "Claim";
12593            case CLAIMRESPONSE: return "ClaimResponse";
12594            case CLINICALIMPRESSION: return "ClinicalImpression";
12595            case CODESYSTEM: return "CodeSystem";
12596            case COMMUNICATION: return "Communication";
12597            case COMMUNICATIONREQUEST: return "CommunicationRequest";
12598            case COMPARTMENTDEFINITION: return "CompartmentDefinition";
12599            case COMPOSITION: return "Composition";
12600            case CONCEPTMAP: return "ConceptMap";
12601            case CONDITION: return "Condition";
12602            case CONSENT: return "Consent";
12603            case CONTRACT: return "Contract";
12604            case COVERAGE: return "Coverage";
12605            case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest";
12606            case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse";
12607            case DETECTEDISSUE: return "DetectedIssue";
12608            case DEVICE: return "Device";
12609            case DEVICEDEFINITION: return "DeviceDefinition";
12610            case DEVICEMETRIC: return "DeviceMetric";
12611            case DEVICEREQUEST: return "DeviceRequest";
12612            case DEVICEUSESTATEMENT: return "DeviceUseStatement";
12613            case DIAGNOSTICREPORT: return "DiagnosticReport";
12614            case DOCUMENTMANIFEST: return "DocumentManifest";
12615            case DOCUMENTREFERENCE: return "DocumentReference";
12616            case DOMAINRESOURCE: return "DomainResource";
12617            case EFFECTEVIDENCESYNTHESIS: return "EffectEvidenceSynthesis";
12618            case ENCOUNTER: return "Encounter";
12619            case ENDPOINT: return "Endpoint";
12620            case ENROLLMENTREQUEST: return "EnrollmentRequest";
12621            case ENROLLMENTRESPONSE: return "EnrollmentResponse";
12622            case EPISODEOFCARE: return "EpisodeOfCare";
12623            case EVENTDEFINITION: return "EventDefinition";
12624            case EVIDENCE: return "Evidence";
12625            case EVIDENCEVARIABLE: return "EvidenceVariable";
12626            case EXAMPLESCENARIO: return "ExampleScenario";
12627            case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit";
12628            case FAMILYMEMBERHISTORY: return "FamilyMemberHistory";
12629            case FLAG: return "Flag";
12630            case GOAL: return "Goal";
12631            case GRAPHDEFINITION: return "GraphDefinition";
12632            case GROUP: return "Group";
12633            case GUIDANCERESPONSE: return "GuidanceResponse";
12634            case HEALTHCARESERVICE: return "HealthcareService";
12635            case IMAGINGSTUDY: return "ImagingStudy";
12636            case IMMUNIZATION: return "Immunization";
12637            case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation";
12638            case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation";
12639            case IMPLEMENTATIONGUIDE: return "ImplementationGuide";
12640            case INSURANCEPLAN: return "InsurancePlan";
12641            case INVOICE: return "Invoice";
12642            case LIBRARY: return "Library";
12643            case LINKAGE: return "Linkage";
12644            case LIST: return "List";
12645            case LOCATION: return "Location";
12646            case MEASURE: return "Measure";
12647            case MEASUREREPORT: return "MeasureReport";
12648            case MEDIA: return "Media";
12649            case MEDICATION: return "Medication";
12650            case MEDICATIONADMINISTRATION: return "MedicationAdministration";
12651            case MEDICATIONDISPENSE: return "MedicationDispense";
12652            case MEDICATIONKNOWLEDGE: return "MedicationKnowledge";
12653            case MEDICATIONREQUEST: return "MedicationRequest";
12654            case MEDICATIONSTATEMENT: return "MedicationStatement";
12655            case MEDICINALPRODUCT: return "MedicinalProduct";
12656            case MEDICINALPRODUCTAUTHORIZATION: return "MedicinalProductAuthorization";
12657            case MEDICINALPRODUCTCONTRAINDICATION: return "MedicinalProductContraindication";
12658            case MEDICINALPRODUCTINDICATION: return "MedicinalProductIndication";
12659            case MEDICINALPRODUCTINGREDIENT: return "MedicinalProductIngredient";
12660            case MEDICINALPRODUCTINTERACTION: return "MedicinalProductInteraction";
12661            case MEDICINALPRODUCTMANUFACTURED: return "MedicinalProductManufactured";
12662            case MEDICINALPRODUCTPACKAGED: return "MedicinalProductPackaged";
12663            case MEDICINALPRODUCTPHARMACEUTICAL: return "MedicinalProductPharmaceutical";
12664            case MEDICINALPRODUCTUNDESIRABLEEFFECT: return "MedicinalProductUndesirableEffect";
12665            case MESSAGEDEFINITION: return "MessageDefinition";
12666            case MESSAGEHEADER: return "MessageHeader";
12667            case MOLECULARSEQUENCE: return "MolecularSequence";
12668            case NAMINGSYSTEM: return "NamingSystem";
12669            case NUTRITIONORDER: return "NutritionOrder";
12670            case OBSERVATION: return "Observation";
12671            case OBSERVATIONDEFINITION: return "ObservationDefinition";
12672            case OPERATIONDEFINITION: return "OperationDefinition";
12673            case OPERATIONOUTCOME: return "OperationOutcome";
12674            case ORGANIZATION: return "Organization";
12675            case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation";
12676            case PARAMETERS: return "Parameters";
12677            case PATIENT: return "Patient";
12678            case PAYMENTNOTICE: return "PaymentNotice";
12679            case PAYMENTRECONCILIATION: return "PaymentReconciliation";
12680            case PERSON: return "Person";
12681            case PLANDEFINITION: return "PlanDefinition";
12682            case PRACTITIONER: return "Practitioner";
12683            case PRACTITIONERROLE: return "PractitionerRole";
12684            case PROCEDURE: return "Procedure";
12685            case PROVENANCE: return "Provenance";
12686            case QUESTIONNAIRE: return "Questionnaire";
12687            case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse";
12688            case RELATEDPERSON: return "RelatedPerson";
12689            case REQUESTGROUP: return "RequestGroup";
12690            case RESEARCHDEFINITION: return "ResearchDefinition";
12691            case RESEARCHELEMENTDEFINITION: return "ResearchElementDefinition";
12692            case RESEARCHSTUDY: return "ResearchStudy";
12693            case RESEARCHSUBJECT: return "ResearchSubject";
12694            case RESOURCE: return "Resource";
12695            case RISKASSESSMENT: return "RiskAssessment";
12696            case RISKEVIDENCESYNTHESIS: return "RiskEvidenceSynthesis";
12697            case SCHEDULE: return "Schedule";
12698            case SEARCHPARAMETER: return "SearchParameter";
12699            case SERVICEREQUEST: return "ServiceRequest";
12700            case SLOT: return "Slot";
12701            case SPECIMEN: return "Specimen";
12702            case SPECIMENDEFINITION: return "SpecimenDefinition";
12703            case STRUCTUREDEFINITION: return "StructureDefinition";
12704            case STRUCTUREMAP: return "StructureMap";
12705            case SUBSCRIPTION: return "Subscription";
12706            case SUBSTANCE: return "Substance";
12707            case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid";
12708            case SUBSTANCEPOLYMER: return "SubstancePolymer";
12709            case SUBSTANCEPROTEIN: return "SubstanceProtein";
12710            case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation";
12711            case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial";
12712            case SUBSTANCESPECIFICATION: return "SubstanceSpecification";
12713            case SUPPLYDELIVERY: return "SupplyDelivery";
12714            case SUPPLYREQUEST: return "SupplyRequest";
12715            case TASK: return "Task";
12716            case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities";
12717            case TESTREPORT: return "TestReport";
12718            case TESTSCRIPT: return "TestScript";
12719            case VALUESET: return "ValueSet";
12720            case VERIFICATIONRESULT: return "VerificationResult";
12721            case VISIONPRESCRIPTION: return "VisionPrescription";
12722            default: return "?";
12723          }
12724        }
12725    }
12726
12727  public static class ResourceTypeEnumFactory implements EnumFactory<ResourceType> {
12728    public ResourceType fromCode(String codeString) throws IllegalArgumentException {
12729      if (codeString == null || "".equals(codeString))
12730            if (codeString == null || "".equals(codeString))
12731                return null;
12732        if ("Account".equals(codeString))
12733          return ResourceType.ACCOUNT;
12734        if ("ActivityDefinition".equals(codeString))
12735          return ResourceType.ACTIVITYDEFINITION;
12736        if ("AdverseEvent".equals(codeString))
12737          return ResourceType.ADVERSEEVENT;
12738        if ("AllergyIntolerance".equals(codeString))
12739          return ResourceType.ALLERGYINTOLERANCE;
12740        if ("Appointment".equals(codeString))
12741          return ResourceType.APPOINTMENT;
12742        if ("AppointmentResponse".equals(codeString))
12743          return ResourceType.APPOINTMENTRESPONSE;
12744        if ("AuditEvent".equals(codeString))
12745          return ResourceType.AUDITEVENT;
12746        if ("Basic".equals(codeString))
12747          return ResourceType.BASIC;
12748        if ("Binary".equals(codeString))
12749          return ResourceType.BINARY;
12750        if ("BiologicallyDerivedProduct".equals(codeString))
12751          return ResourceType.BIOLOGICALLYDERIVEDPRODUCT;
12752        if ("BodyStructure".equals(codeString))
12753          return ResourceType.BODYSTRUCTURE;
12754        if ("Bundle".equals(codeString))
12755          return ResourceType.BUNDLE;
12756        if ("CapabilityStatement".equals(codeString))
12757          return ResourceType.CAPABILITYSTATEMENT;
12758        if ("CarePlan".equals(codeString))
12759          return ResourceType.CAREPLAN;
12760        if ("CareTeam".equals(codeString))
12761          return ResourceType.CARETEAM;
12762        if ("CatalogEntry".equals(codeString))
12763          return ResourceType.CATALOGENTRY;
12764        if ("ChargeItem".equals(codeString))
12765          return ResourceType.CHARGEITEM;
12766        if ("ChargeItemDefinition".equals(codeString))
12767          return ResourceType.CHARGEITEMDEFINITION;
12768        if ("Claim".equals(codeString))
12769          return ResourceType.CLAIM;
12770        if ("ClaimResponse".equals(codeString))
12771          return ResourceType.CLAIMRESPONSE;
12772        if ("ClinicalImpression".equals(codeString))
12773          return ResourceType.CLINICALIMPRESSION;
12774        if ("CodeSystem".equals(codeString))
12775          return ResourceType.CODESYSTEM;
12776        if ("Communication".equals(codeString))
12777          return ResourceType.COMMUNICATION;
12778        if ("CommunicationRequest".equals(codeString))
12779          return ResourceType.COMMUNICATIONREQUEST;
12780        if ("CompartmentDefinition".equals(codeString))
12781          return ResourceType.COMPARTMENTDEFINITION;
12782        if ("Composition".equals(codeString))
12783          return ResourceType.COMPOSITION;
12784        if ("ConceptMap".equals(codeString))
12785          return ResourceType.CONCEPTMAP;
12786        if ("Condition".equals(codeString))
12787          return ResourceType.CONDITION;
12788        if ("Consent".equals(codeString))
12789          return ResourceType.CONSENT;
12790        if ("Contract".equals(codeString))
12791          return ResourceType.CONTRACT;
12792        if ("Coverage".equals(codeString))
12793          return ResourceType.COVERAGE;
12794        if ("CoverageEligibilityRequest".equals(codeString))
12795          return ResourceType.COVERAGEELIGIBILITYREQUEST;
12796        if ("CoverageEligibilityResponse".equals(codeString))
12797          return ResourceType.COVERAGEELIGIBILITYRESPONSE;
12798        if ("DetectedIssue".equals(codeString))
12799          return ResourceType.DETECTEDISSUE;
12800        if ("Device".equals(codeString))
12801          return ResourceType.DEVICE;
12802        if ("DeviceDefinition".equals(codeString))
12803          return ResourceType.DEVICEDEFINITION;
12804        if ("DeviceMetric".equals(codeString))
12805          return ResourceType.DEVICEMETRIC;
12806        if ("DeviceRequest".equals(codeString))
12807          return ResourceType.DEVICEREQUEST;
12808        if ("DeviceUseStatement".equals(codeString))
12809          return ResourceType.DEVICEUSESTATEMENT;
12810        if ("DiagnosticReport".equals(codeString))
12811          return ResourceType.DIAGNOSTICREPORT;
12812        if ("DocumentManifest".equals(codeString))
12813          return ResourceType.DOCUMENTMANIFEST;
12814        if ("DocumentReference".equals(codeString))
12815          return ResourceType.DOCUMENTREFERENCE;
12816        if ("DomainResource".equals(codeString))
12817          return ResourceType.DOMAINRESOURCE;
12818        if ("EffectEvidenceSynthesis".equals(codeString))
12819          return ResourceType.EFFECTEVIDENCESYNTHESIS;
12820        if ("Encounter".equals(codeString))
12821          return ResourceType.ENCOUNTER;
12822        if ("Endpoint".equals(codeString))
12823          return ResourceType.ENDPOINT;
12824        if ("EnrollmentRequest".equals(codeString))
12825          return ResourceType.ENROLLMENTREQUEST;
12826        if ("EnrollmentResponse".equals(codeString))
12827          return ResourceType.ENROLLMENTRESPONSE;
12828        if ("EpisodeOfCare".equals(codeString))
12829          return ResourceType.EPISODEOFCARE;
12830        if ("EventDefinition".equals(codeString))
12831          return ResourceType.EVENTDEFINITION;
12832        if ("Evidence".equals(codeString))
12833          return ResourceType.EVIDENCE;
12834        if ("EvidenceVariable".equals(codeString))
12835          return ResourceType.EVIDENCEVARIABLE;
12836        if ("ExampleScenario".equals(codeString))
12837          return ResourceType.EXAMPLESCENARIO;
12838        if ("ExplanationOfBenefit".equals(codeString))
12839          return ResourceType.EXPLANATIONOFBENEFIT;
12840        if ("FamilyMemberHistory".equals(codeString))
12841          return ResourceType.FAMILYMEMBERHISTORY;
12842        if ("Flag".equals(codeString))
12843          return ResourceType.FLAG;
12844        if ("Goal".equals(codeString))
12845          return ResourceType.GOAL;
12846        if ("GraphDefinition".equals(codeString))
12847          return ResourceType.GRAPHDEFINITION;
12848        if ("Group".equals(codeString))
12849          return ResourceType.GROUP;
12850        if ("GuidanceResponse".equals(codeString))
12851          return ResourceType.GUIDANCERESPONSE;
12852        if ("HealthcareService".equals(codeString))
12853          return ResourceType.HEALTHCARESERVICE;
12854        if ("ImagingStudy".equals(codeString))
12855          return ResourceType.IMAGINGSTUDY;
12856        if ("Immunization".equals(codeString))
12857          return ResourceType.IMMUNIZATION;
12858        if ("ImmunizationEvaluation".equals(codeString))
12859          return ResourceType.IMMUNIZATIONEVALUATION;
12860        if ("ImmunizationRecommendation".equals(codeString))
12861          return ResourceType.IMMUNIZATIONRECOMMENDATION;
12862        if ("ImplementationGuide".equals(codeString))
12863          return ResourceType.IMPLEMENTATIONGUIDE;
12864        if ("InsurancePlan".equals(codeString))
12865          return ResourceType.INSURANCEPLAN;
12866        if ("Invoice".equals(codeString))
12867          return ResourceType.INVOICE;
12868        if ("Library".equals(codeString))
12869          return ResourceType.LIBRARY;
12870        if ("Linkage".equals(codeString))
12871          return ResourceType.LINKAGE;
12872        if ("List".equals(codeString))
12873          return ResourceType.LIST;
12874        if ("Location".equals(codeString))
12875          return ResourceType.LOCATION;
12876        if ("Measure".equals(codeString))
12877          return ResourceType.MEASURE;
12878        if ("MeasureReport".equals(codeString))
12879          return ResourceType.MEASUREREPORT;
12880        if ("Media".equals(codeString))
12881          return ResourceType.MEDIA;
12882        if ("Medication".equals(codeString))
12883          return ResourceType.MEDICATION;
12884        if ("MedicationAdministration".equals(codeString))
12885          return ResourceType.MEDICATIONADMINISTRATION;
12886        if ("MedicationDispense".equals(codeString))
12887          return ResourceType.MEDICATIONDISPENSE;
12888        if ("MedicationKnowledge".equals(codeString))
12889          return ResourceType.MEDICATIONKNOWLEDGE;
12890        if ("MedicationRequest".equals(codeString))
12891          return ResourceType.MEDICATIONREQUEST;
12892        if ("MedicationStatement".equals(codeString))
12893          return ResourceType.MEDICATIONSTATEMENT;
12894        if ("MedicinalProduct".equals(codeString))
12895          return ResourceType.MEDICINALPRODUCT;
12896        if ("MedicinalProductAuthorization".equals(codeString))
12897          return ResourceType.MEDICINALPRODUCTAUTHORIZATION;
12898        if ("MedicinalProductContraindication".equals(codeString))
12899          return ResourceType.MEDICINALPRODUCTCONTRAINDICATION;
12900        if ("MedicinalProductIndication".equals(codeString))
12901          return ResourceType.MEDICINALPRODUCTINDICATION;
12902        if ("MedicinalProductIngredient".equals(codeString))
12903          return ResourceType.MEDICINALPRODUCTINGREDIENT;
12904        if ("MedicinalProductInteraction".equals(codeString))
12905          return ResourceType.MEDICINALPRODUCTINTERACTION;
12906        if ("MedicinalProductManufactured".equals(codeString))
12907          return ResourceType.MEDICINALPRODUCTMANUFACTURED;
12908        if ("MedicinalProductPackaged".equals(codeString))
12909          return ResourceType.MEDICINALPRODUCTPACKAGED;
12910        if ("MedicinalProductPharmaceutical".equals(codeString))
12911          return ResourceType.MEDICINALPRODUCTPHARMACEUTICAL;
12912        if ("MedicinalProductUndesirableEffect".equals(codeString))
12913          return ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT;
12914        if ("MessageDefinition".equals(codeString))
12915          return ResourceType.MESSAGEDEFINITION;
12916        if ("MessageHeader".equals(codeString))
12917          return ResourceType.MESSAGEHEADER;
12918        if ("MolecularSequence".equals(codeString))
12919          return ResourceType.MOLECULARSEQUENCE;
12920        if ("NamingSystem".equals(codeString))
12921          return ResourceType.NAMINGSYSTEM;
12922        if ("NutritionOrder".equals(codeString))
12923          return ResourceType.NUTRITIONORDER;
12924        if ("Observation".equals(codeString))
12925          return ResourceType.OBSERVATION;
12926        if ("ObservationDefinition".equals(codeString))
12927          return ResourceType.OBSERVATIONDEFINITION;
12928        if ("OperationDefinition".equals(codeString))
12929          return ResourceType.OPERATIONDEFINITION;
12930        if ("OperationOutcome".equals(codeString))
12931          return ResourceType.OPERATIONOUTCOME;
12932        if ("Organization".equals(codeString))
12933          return ResourceType.ORGANIZATION;
12934        if ("OrganizationAffiliation".equals(codeString))
12935          return ResourceType.ORGANIZATIONAFFILIATION;
12936        if ("Parameters".equals(codeString))
12937          return ResourceType.PARAMETERS;
12938        if ("Patient".equals(codeString))
12939          return ResourceType.PATIENT;
12940        if ("PaymentNotice".equals(codeString))
12941          return ResourceType.PAYMENTNOTICE;
12942        if ("PaymentReconciliation".equals(codeString))
12943          return ResourceType.PAYMENTRECONCILIATION;
12944        if ("Person".equals(codeString))
12945          return ResourceType.PERSON;
12946        if ("PlanDefinition".equals(codeString))
12947          return ResourceType.PLANDEFINITION;
12948        if ("Practitioner".equals(codeString))
12949          return ResourceType.PRACTITIONER;
12950        if ("PractitionerRole".equals(codeString))
12951          return ResourceType.PRACTITIONERROLE;
12952        if ("Procedure".equals(codeString))
12953          return ResourceType.PROCEDURE;
12954        if ("Provenance".equals(codeString))
12955          return ResourceType.PROVENANCE;
12956        if ("Questionnaire".equals(codeString))
12957          return ResourceType.QUESTIONNAIRE;
12958        if ("QuestionnaireResponse".equals(codeString))
12959          return ResourceType.QUESTIONNAIRERESPONSE;
12960        if ("RelatedPerson".equals(codeString))
12961          return ResourceType.RELATEDPERSON;
12962        if ("RequestGroup".equals(codeString))
12963          return ResourceType.REQUESTGROUP;
12964        if ("ResearchDefinition".equals(codeString))
12965          return ResourceType.RESEARCHDEFINITION;
12966        if ("ResearchElementDefinition".equals(codeString))
12967          return ResourceType.RESEARCHELEMENTDEFINITION;
12968        if ("ResearchStudy".equals(codeString))
12969          return ResourceType.RESEARCHSTUDY;
12970        if ("ResearchSubject".equals(codeString))
12971          return ResourceType.RESEARCHSUBJECT;
12972        if ("Resource".equals(codeString))
12973          return ResourceType.RESOURCE;
12974        if ("RiskAssessment".equals(codeString))
12975          return ResourceType.RISKASSESSMENT;
12976        if ("RiskEvidenceSynthesis".equals(codeString))
12977          return ResourceType.RISKEVIDENCESYNTHESIS;
12978        if ("Schedule".equals(codeString))
12979          return ResourceType.SCHEDULE;
12980        if ("SearchParameter".equals(codeString))
12981          return ResourceType.SEARCHPARAMETER;
12982        if ("ServiceRequest".equals(codeString))
12983          return ResourceType.SERVICEREQUEST;
12984        if ("Slot".equals(codeString))
12985          return ResourceType.SLOT;
12986        if ("Specimen".equals(codeString))
12987          return ResourceType.SPECIMEN;
12988        if ("SpecimenDefinition".equals(codeString))
12989          return ResourceType.SPECIMENDEFINITION;
12990        if ("StructureDefinition".equals(codeString))
12991          return ResourceType.STRUCTUREDEFINITION;
12992        if ("StructureMap".equals(codeString))
12993          return ResourceType.STRUCTUREMAP;
12994        if ("Subscription".equals(codeString))
12995          return ResourceType.SUBSCRIPTION;
12996        if ("Substance".equals(codeString))
12997          return ResourceType.SUBSTANCE;
12998        if ("SubstanceNucleicAcid".equals(codeString))
12999          return ResourceType.SUBSTANCENUCLEICACID;
13000        if ("SubstancePolymer".equals(codeString))
13001          return ResourceType.SUBSTANCEPOLYMER;
13002        if ("SubstanceProtein".equals(codeString))
13003          return ResourceType.SUBSTANCEPROTEIN;
13004        if ("SubstanceReferenceInformation".equals(codeString))
13005          return ResourceType.SUBSTANCEREFERENCEINFORMATION;
13006        if ("SubstanceSourceMaterial".equals(codeString))
13007          return ResourceType.SUBSTANCESOURCEMATERIAL;
13008        if ("SubstanceSpecification".equals(codeString))
13009          return ResourceType.SUBSTANCESPECIFICATION;
13010        if ("SupplyDelivery".equals(codeString))
13011          return ResourceType.SUPPLYDELIVERY;
13012        if ("SupplyRequest".equals(codeString))
13013          return ResourceType.SUPPLYREQUEST;
13014        if ("Task".equals(codeString))
13015          return ResourceType.TASK;
13016        if ("TerminologyCapabilities".equals(codeString))
13017          return ResourceType.TERMINOLOGYCAPABILITIES;
13018        if ("TestReport".equals(codeString))
13019          return ResourceType.TESTREPORT;
13020        if ("TestScript".equals(codeString))
13021          return ResourceType.TESTSCRIPT;
13022        if ("ValueSet".equals(codeString))
13023          return ResourceType.VALUESET;
13024        if ("VerificationResult".equals(codeString))
13025          return ResourceType.VERIFICATIONRESULT;
13026        if ("VisionPrescription".equals(codeString))
13027          return ResourceType.VISIONPRESCRIPTION;
13028        throw new IllegalArgumentException("Unknown ResourceType code '"+codeString+"'");
13029        }
13030        public Enumeration<ResourceType> fromType(Base code) throws FHIRException {
13031          if (code == null)
13032            return null;
13033          if (code.isEmpty())
13034            return new Enumeration<ResourceType>(this);
13035          String codeString = ((PrimitiveType) code).asStringValue();
13036          if (codeString == null || "".equals(codeString))
13037            return null;
13038        if ("Account".equals(codeString))
13039          return new Enumeration<ResourceType>(this, ResourceType.ACCOUNT);
13040        if ("ActivityDefinition".equals(codeString))
13041          return new Enumeration<ResourceType>(this, ResourceType.ACTIVITYDEFINITION);
13042        if ("AdverseEvent".equals(codeString))
13043          return new Enumeration<ResourceType>(this, ResourceType.ADVERSEEVENT);
13044        if ("AllergyIntolerance".equals(codeString))
13045          return new Enumeration<ResourceType>(this, ResourceType.ALLERGYINTOLERANCE);
13046        if ("Appointment".equals(codeString))
13047          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENT);
13048        if ("AppointmentResponse".equals(codeString))
13049          return new Enumeration<ResourceType>(this, ResourceType.APPOINTMENTRESPONSE);
13050        if ("AuditEvent".equals(codeString))
13051          return new Enumeration<ResourceType>(this, ResourceType.AUDITEVENT);
13052        if ("Basic".equals(codeString))
13053          return new Enumeration<ResourceType>(this, ResourceType.BASIC);
13054        if ("Binary".equals(codeString))
13055          return new Enumeration<ResourceType>(this, ResourceType.BINARY);
13056        if ("BiologicallyDerivedProduct".equals(codeString))
13057          return new Enumeration<ResourceType>(this, ResourceType.BIOLOGICALLYDERIVEDPRODUCT);
13058        if ("BodyStructure".equals(codeString))
13059          return new Enumeration<ResourceType>(this, ResourceType.BODYSTRUCTURE);
13060        if ("Bundle".equals(codeString))
13061          return new Enumeration<ResourceType>(this, ResourceType.BUNDLE);
13062        if ("CapabilityStatement".equals(codeString))
13063          return new Enumeration<ResourceType>(this, ResourceType.CAPABILITYSTATEMENT);
13064        if ("CarePlan".equals(codeString))
13065          return new Enumeration<ResourceType>(this, ResourceType.CAREPLAN);
13066        if ("CareTeam".equals(codeString))
13067          return new Enumeration<ResourceType>(this, ResourceType.CARETEAM);
13068        if ("CatalogEntry".equals(codeString))
13069          return new Enumeration<ResourceType>(this, ResourceType.CATALOGENTRY);
13070        if ("ChargeItem".equals(codeString))
13071          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEM);
13072        if ("ChargeItemDefinition".equals(codeString))
13073          return new Enumeration<ResourceType>(this, ResourceType.CHARGEITEMDEFINITION);
13074        if ("Claim".equals(codeString))
13075          return new Enumeration<ResourceType>(this, ResourceType.CLAIM);
13076        if ("ClaimResponse".equals(codeString))
13077          return new Enumeration<ResourceType>(this, ResourceType.CLAIMRESPONSE);
13078        if ("ClinicalImpression".equals(codeString))
13079          return new Enumeration<ResourceType>(this, ResourceType.CLINICALIMPRESSION);
13080        if ("CodeSystem".equals(codeString))
13081          return new Enumeration<ResourceType>(this, ResourceType.CODESYSTEM);
13082        if ("Communication".equals(codeString))
13083          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATION);
13084        if ("CommunicationRequest".equals(codeString))
13085          return new Enumeration<ResourceType>(this, ResourceType.COMMUNICATIONREQUEST);
13086        if ("CompartmentDefinition".equals(codeString))
13087          return new Enumeration<ResourceType>(this, ResourceType.COMPARTMENTDEFINITION);
13088        if ("Composition".equals(codeString))
13089          return new Enumeration<ResourceType>(this, ResourceType.COMPOSITION);
13090        if ("ConceptMap".equals(codeString))
13091          return new Enumeration<ResourceType>(this, ResourceType.CONCEPTMAP);
13092        if ("Condition".equals(codeString))
13093          return new Enumeration<ResourceType>(this, ResourceType.CONDITION);
13094        if ("Consent".equals(codeString))
13095          return new Enumeration<ResourceType>(this, ResourceType.CONSENT);
13096        if ("Contract".equals(codeString))
13097          return new Enumeration<ResourceType>(this, ResourceType.CONTRACT);
13098        if ("Coverage".equals(codeString))
13099          return new Enumeration<ResourceType>(this, ResourceType.COVERAGE);
13100        if ("CoverageEligibilityRequest".equals(codeString))
13101          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYREQUEST);
13102        if ("CoverageEligibilityResponse".equals(codeString))
13103          return new Enumeration<ResourceType>(this, ResourceType.COVERAGEELIGIBILITYRESPONSE);
13104        if ("DetectedIssue".equals(codeString))
13105          return new Enumeration<ResourceType>(this, ResourceType.DETECTEDISSUE);
13106        if ("Device".equals(codeString))
13107          return new Enumeration<ResourceType>(this, ResourceType.DEVICE);
13108        if ("DeviceDefinition".equals(codeString))
13109          return new Enumeration<ResourceType>(this, ResourceType.DEVICEDEFINITION);
13110        if ("DeviceMetric".equals(codeString))
13111          return new Enumeration<ResourceType>(this, ResourceType.DEVICEMETRIC);
13112        if ("DeviceRequest".equals(codeString))
13113          return new Enumeration<ResourceType>(this, ResourceType.DEVICEREQUEST);
13114        if ("DeviceUseStatement".equals(codeString))
13115          return new Enumeration<ResourceType>(this, ResourceType.DEVICEUSESTATEMENT);
13116        if ("DiagnosticReport".equals(codeString))
13117          return new Enumeration<ResourceType>(this, ResourceType.DIAGNOSTICREPORT);
13118        if ("DocumentManifest".equals(codeString))
13119          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTMANIFEST);
13120        if ("DocumentReference".equals(codeString))
13121          return new Enumeration<ResourceType>(this, ResourceType.DOCUMENTREFERENCE);
13122        if ("DomainResource".equals(codeString))
13123          return new Enumeration<ResourceType>(this, ResourceType.DOMAINRESOURCE);
13124        if ("EffectEvidenceSynthesis".equals(codeString))
13125          return new Enumeration<ResourceType>(this, ResourceType.EFFECTEVIDENCESYNTHESIS);
13126        if ("Encounter".equals(codeString))
13127          return new Enumeration<ResourceType>(this, ResourceType.ENCOUNTER);
13128        if ("Endpoint".equals(codeString))
13129          return new Enumeration<ResourceType>(this, ResourceType.ENDPOINT);
13130        if ("EnrollmentRequest".equals(codeString))
13131          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTREQUEST);
13132        if ("EnrollmentResponse".equals(codeString))
13133          return new Enumeration<ResourceType>(this, ResourceType.ENROLLMENTRESPONSE);
13134        if ("EpisodeOfCare".equals(codeString))
13135          return new Enumeration<ResourceType>(this, ResourceType.EPISODEOFCARE);
13136        if ("EventDefinition".equals(codeString))
13137          return new Enumeration<ResourceType>(this, ResourceType.EVENTDEFINITION);
13138        if ("Evidence".equals(codeString))
13139          return new Enumeration<ResourceType>(this, ResourceType.EVIDENCE);
13140        if ("EvidenceVariable".equals(codeString))
13141          return new Enumeration<ResourceType>(this, ResourceType.EVIDENCEVARIABLE);
13142        if ("ExampleScenario".equals(codeString))
13143          return new Enumeration<ResourceType>(this, ResourceType.EXAMPLESCENARIO);
13144        if ("ExplanationOfBenefit".equals(codeString))
13145          return new Enumeration<ResourceType>(this, ResourceType.EXPLANATIONOFBENEFIT);
13146        if ("FamilyMemberHistory".equals(codeString))
13147          return new Enumeration<ResourceType>(this, ResourceType.FAMILYMEMBERHISTORY);
13148        if ("Flag".equals(codeString))
13149          return new Enumeration<ResourceType>(this, ResourceType.FLAG);
13150        if ("Goal".equals(codeString))
13151          return new Enumeration<ResourceType>(this, ResourceType.GOAL);
13152        if ("GraphDefinition".equals(codeString))
13153          return new Enumeration<ResourceType>(this, ResourceType.GRAPHDEFINITION);
13154        if ("Group".equals(codeString))
13155          return new Enumeration<ResourceType>(this, ResourceType.GROUP);
13156        if ("GuidanceResponse".equals(codeString))
13157          return new Enumeration<ResourceType>(this, ResourceType.GUIDANCERESPONSE);
13158        if ("HealthcareService".equals(codeString))
13159          return new Enumeration<ResourceType>(this, ResourceType.HEALTHCARESERVICE);
13160        if ("ImagingStudy".equals(codeString))
13161          return new Enumeration<ResourceType>(this, ResourceType.IMAGINGSTUDY);
13162        if ("Immunization".equals(codeString))
13163          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATION);
13164        if ("ImmunizationEvaluation".equals(codeString))
13165          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONEVALUATION);
13166        if ("ImmunizationRecommendation".equals(codeString))
13167          return new Enumeration<ResourceType>(this, ResourceType.IMMUNIZATIONRECOMMENDATION);
13168        if ("ImplementationGuide".equals(codeString))
13169          return new Enumeration<ResourceType>(this, ResourceType.IMPLEMENTATIONGUIDE);
13170        if ("InsurancePlan".equals(codeString))
13171          return new Enumeration<ResourceType>(this, ResourceType.INSURANCEPLAN);
13172        if ("Invoice".equals(codeString))
13173          return new Enumeration<ResourceType>(this, ResourceType.INVOICE);
13174        if ("Library".equals(codeString))
13175          return new Enumeration<ResourceType>(this, ResourceType.LIBRARY);
13176        if ("Linkage".equals(codeString))
13177          return new Enumeration<ResourceType>(this, ResourceType.LINKAGE);
13178        if ("List".equals(codeString))
13179          return new Enumeration<ResourceType>(this, ResourceType.LIST);
13180        if ("Location".equals(codeString))
13181          return new Enumeration<ResourceType>(this, ResourceType.LOCATION);
13182        if ("Measure".equals(codeString))
13183          return new Enumeration<ResourceType>(this, ResourceType.MEASURE);
13184        if ("MeasureReport".equals(codeString))
13185          return new Enumeration<ResourceType>(this, ResourceType.MEASUREREPORT);
13186        if ("Media".equals(codeString))
13187          return new Enumeration<ResourceType>(this, ResourceType.MEDIA);
13188        if ("Medication".equals(codeString))
13189          return new Enumeration<ResourceType>(this, ResourceType.MEDICATION);
13190        if ("MedicationAdministration".equals(codeString))
13191          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONADMINISTRATION);
13192        if ("MedicationDispense".equals(codeString))
13193          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONDISPENSE);
13194        if ("MedicationKnowledge".equals(codeString))
13195          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONKNOWLEDGE);
13196        if ("MedicationRequest".equals(codeString))
13197          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONREQUEST);
13198        if ("MedicationStatement".equals(codeString))
13199          return new Enumeration<ResourceType>(this, ResourceType.MEDICATIONSTATEMENT);
13200        if ("MedicinalProduct".equals(codeString))
13201          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCT);
13202        if ("MedicinalProductAuthorization".equals(codeString))
13203          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTAUTHORIZATION);
13204        if ("MedicinalProductContraindication".equals(codeString))
13205          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTCONTRAINDICATION);
13206        if ("MedicinalProductIndication".equals(codeString))
13207          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINDICATION);
13208        if ("MedicinalProductIngredient".equals(codeString))
13209          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINGREDIENT);
13210        if ("MedicinalProductInteraction".equals(codeString))
13211          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTINTERACTION);
13212        if ("MedicinalProductManufactured".equals(codeString))
13213          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTMANUFACTURED);
13214        if ("MedicinalProductPackaged".equals(codeString))
13215          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPACKAGED);
13216        if ("MedicinalProductPharmaceutical".equals(codeString))
13217          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTPHARMACEUTICAL);
13218        if ("MedicinalProductUndesirableEffect".equals(codeString))
13219          return new Enumeration<ResourceType>(this, ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT);
13220        if ("MessageDefinition".equals(codeString))
13221          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEDEFINITION);
13222        if ("MessageHeader".equals(codeString))
13223          return new Enumeration<ResourceType>(this, ResourceType.MESSAGEHEADER);
13224        if ("MolecularSequence".equals(codeString))
13225          return new Enumeration<ResourceType>(this, ResourceType.MOLECULARSEQUENCE);
13226        if ("NamingSystem".equals(codeString))
13227          return new Enumeration<ResourceType>(this, ResourceType.NAMINGSYSTEM);
13228        if ("NutritionOrder".equals(codeString))
13229          return new Enumeration<ResourceType>(this, ResourceType.NUTRITIONORDER);
13230        if ("Observation".equals(codeString))
13231          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATION);
13232        if ("ObservationDefinition".equals(codeString))
13233          return new Enumeration<ResourceType>(this, ResourceType.OBSERVATIONDEFINITION);
13234        if ("OperationDefinition".equals(codeString))
13235          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONDEFINITION);
13236        if ("OperationOutcome".equals(codeString))
13237          return new Enumeration<ResourceType>(this, ResourceType.OPERATIONOUTCOME);
13238        if ("Organization".equals(codeString))
13239          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATION);
13240        if ("OrganizationAffiliation".equals(codeString))
13241          return new Enumeration<ResourceType>(this, ResourceType.ORGANIZATIONAFFILIATION);
13242        if ("Parameters".equals(codeString))
13243          return new Enumeration<ResourceType>(this, ResourceType.PARAMETERS);
13244        if ("Patient".equals(codeString))
13245          return new Enumeration<ResourceType>(this, ResourceType.PATIENT);
13246        if ("PaymentNotice".equals(codeString))
13247          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTNOTICE);
13248        if ("PaymentReconciliation".equals(codeString))
13249          return new Enumeration<ResourceType>(this, ResourceType.PAYMENTRECONCILIATION);
13250        if ("Person".equals(codeString))
13251          return new Enumeration<ResourceType>(this, ResourceType.PERSON);
13252        if ("PlanDefinition".equals(codeString))
13253          return new Enumeration<ResourceType>(this, ResourceType.PLANDEFINITION);
13254        if ("Practitioner".equals(codeString))
13255          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONER);
13256        if ("PractitionerRole".equals(codeString))
13257          return new Enumeration<ResourceType>(this, ResourceType.PRACTITIONERROLE);
13258        if ("Procedure".equals(codeString))
13259          return new Enumeration<ResourceType>(this, ResourceType.PROCEDURE);
13260        if ("Provenance".equals(codeString))
13261          return new Enumeration<ResourceType>(this, ResourceType.PROVENANCE);
13262        if ("Questionnaire".equals(codeString))
13263          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRE);
13264        if ("QuestionnaireResponse".equals(codeString))
13265          return new Enumeration<ResourceType>(this, ResourceType.QUESTIONNAIRERESPONSE);
13266        if ("RelatedPerson".equals(codeString))
13267          return new Enumeration<ResourceType>(this, ResourceType.RELATEDPERSON);
13268        if ("RequestGroup".equals(codeString))
13269          return new Enumeration<ResourceType>(this, ResourceType.REQUESTGROUP);
13270        if ("ResearchDefinition".equals(codeString))
13271          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHDEFINITION);
13272        if ("ResearchElementDefinition".equals(codeString))
13273          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHELEMENTDEFINITION);
13274        if ("ResearchStudy".equals(codeString))
13275          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSTUDY);
13276        if ("ResearchSubject".equals(codeString))
13277          return new Enumeration<ResourceType>(this, ResourceType.RESEARCHSUBJECT);
13278        if ("Resource".equals(codeString))
13279          return new Enumeration<ResourceType>(this, ResourceType.RESOURCE);
13280        if ("RiskAssessment".equals(codeString))
13281          return new Enumeration<ResourceType>(this, ResourceType.RISKASSESSMENT);
13282        if ("RiskEvidenceSynthesis".equals(codeString))
13283          return new Enumeration<ResourceType>(this, ResourceType.RISKEVIDENCESYNTHESIS);
13284        if ("Schedule".equals(codeString))
13285          return new Enumeration<ResourceType>(this, ResourceType.SCHEDULE);
13286        if ("SearchParameter".equals(codeString))
13287          return new Enumeration<ResourceType>(this, ResourceType.SEARCHPARAMETER);
13288        if ("ServiceRequest".equals(codeString))
13289          return new Enumeration<ResourceType>(this, ResourceType.SERVICEREQUEST);
13290        if ("Slot".equals(codeString))
13291          return new Enumeration<ResourceType>(this, ResourceType.SLOT);
13292        if ("Specimen".equals(codeString))
13293          return new Enumeration<ResourceType>(this, ResourceType.SPECIMEN);
13294        if ("SpecimenDefinition".equals(codeString))
13295          return new Enumeration<ResourceType>(this, ResourceType.SPECIMENDEFINITION);
13296        if ("StructureDefinition".equals(codeString))
13297          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREDEFINITION);
13298        if ("StructureMap".equals(codeString))
13299          return new Enumeration<ResourceType>(this, ResourceType.STRUCTUREMAP);
13300        if ("Subscription".equals(codeString))
13301          return new Enumeration<ResourceType>(this, ResourceType.SUBSCRIPTION);
13302        if ("Substance".equals(codeString))
13303          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCE);
13304        if ("SubstanceNucleicAcid".equals(codeString))
13305          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCENUCLEICACID);
13306        if ("SubstancePolymer".equals(codeString))
13307          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPOLYMER);
13308        if ("SubstanceProtein".equals(codeString))
13309          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEPROTEIN);
13310        if ("SubstanceReferenceInformation".equals(codeString))
13311          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCEREFERENCEINFORMATION);
13312        if ("SubstanceSourceMaterial".equals(codeString))
13313          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESOURCEMATERIAL);
13314        if ("SubstanceSpecification".equals(codeString))
13315          return new Enumeration<ResourceType>(this, ResourceType.SUBSTANCESPECIFICATION);
13316        if ("SupplyDelivery".equals(codeString))
13317          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYDELIVERY);
13318        if ("SupplyRequest".equals(codeString))
13319          return new Enumeration<ResourceType>(this, ResourceType.SUPPLYREQUEST);
13320        if ("Task".equals(codeString))
13321          return new Enumeration<ResourceType>(this, ResourceType.TASK);
13322        if ("TerminologyCapabilities".equals(codeString))
13323          return new Enumeration<ResourceType>(this, ResourceType.TERMINOLOGYCAPABILITIES);
13324        if ("TestReport".equals(codeString))
13325          return new Enumeration<ResourceType>(this, ResourceType.TESTREPORT);
13326        if ("TestScript".equals(codeString))
13327          return new Enumeration<ResourceType>(this, ResourceType.TESTSCRIPT);
13328        if ("ValueSet".equals(codeString))
13329          return new Enumeration<ResourceType>(this, ResourceType.VALUESET);
13330        if ("VerificationResult".equals(codeString))
13331          return new Enumeration<ResourceType>(this, ResourceType.VERIFICATIONRESULT);
13332        if ("VisionPrescription".equals(codeString))
13333          return new Enumeration<ResourceType>(this, ResourceType.VISIONPRESCRIPTION);
13334        throw new FHIRException("Unknown ResourceType code '"+codeString+"'");
13335        }
13336    public String toCode(ResourceType code) {
13337      if (code == ResourceType.ACCOUNT)
13338        return "Account";
13339      if (code == ResourceType.ACTIVITYDEFINITION)
13340        return "ActivityDefinition";
13341      if (code == ResourceType.ADVERSEEVENT)
13342        return "AdverseEvent";
13343      if (code == ResourceType.ALLERGYINTOLERANCE)
13344        return "AllergyIntolerance";
13345      if (code == ResourceType.APPOINTMENT)
13346        return "Appointment";
13347      if (code == ResourceType.APPOINTMENTRESPONSE)
13348        return "AppointmentResponse";
13349      if (code == ResourceType.AUDITEVENT)
13350        return "AuditEvent";
13351      if (code == ResourceType.BASIC)
13352        return "Basic";
13353      if (code == ResourceType.BINARY)
13354        return "Binary";
13355      if (code == ResourceType.BIOLOGICALLYDERIVEDPRODUCT)
13356        return "BiologicallyDerivedProduct";
13357      if (code == ResourceType.BODYSTRUCTURE)
13358        return "BodyStructure";
13359      if (code == ResourceType.BUNDLE)
13360        return "Bundle";
13361      if (code == ResourceType.CAPABILITYSTATEMENT)
13362        return "CapabilityStatement";
13363      if (code == ResourceType.CAREPLAN)
13364        return "CarePlan";
13365      if (code == ResourceType.CARETEAM)
13366        return "CareTeam";
13367      if (code == ResourceType.CATALOGENTRY)
13368        return "CatalogEntry";
13369      if (code == ResourceType.CHARGEITEM)
13370        return "ChargeItem";
13371      if (code == ResourceType.CHARGEITEMDEFINITION)
13372        return "ChargeItemDefinition";
13373      if (code == ResourceType.CLAIM)
13374        return "Claim";
13375      if (code == ResourceType.CLAIMRESPONSE)
13376        return "ClaimResponse";
13377      if (code == ResourceType.CLINICALIMPRESSION)
13378        return "ClinicalImpression";
13379      if (code == ResourceType.CODESYSTEM)
13380        return "CodeSystem";
13381      if (code == ResourceType.COMMUNICATION)
13382        return "Communication";
13383      if (code == ResourceType.COMMUNICATIONREQUEST)
13384        return "CommunicationRequest";
13385      if (code == ResourceType.COMPARTMENTDEFINITION)
13386        return "CompartmentDefinition";
13387      if (code == ResourceType.COMPOSITION)
13388        return "Composition";
13389      if (code == ResourceType.CONCEPTMAP)
13390        return "ConceptMap";
13391      if (code == ResourceType.CONDITION)
13392        return "Condition";
13393      if (code == ResourceType.CONSENT)
13394        return "Consent";
13395      if (code == ResourceType.CONTRACT)
13396        return "Contract";
13397      if (code == ResourceType.COVERAGE)
13398        return "Coverage";
13399      if (code == ResourceType.COVERAGEELIGIBILITYREQUEST)
13400        return "CoverageEligibilityRequest";
13401      if (code == ResourceType.COVERAGEELIGIBILITYRESPONSE)
13402        return "CoverageEligibilityResponse";
13403      if (code == ResourceType.DETECTEDISSUE)
13404        return "DetectedIssue";
13405      if (code == ResourceType.DEVICE)
13406        return "Device";
13407      if (code == ResourceType.DEVICEDEFINITION)
13408        return "DeviceDefinition";
13409      if (code == ResourceType.DEVICEMETRIC)
13410        return "DeviceMetric";
13411      if (code == ResourceType.DEVICEREQUEST)
13412        return "DeviceRequest";
13413      if (code == ResourceType.DEVICEUSESTATEMENT)
13414        return "DeviceUseStatement";
13415      if (code == ResourceType.DIAGNOSTICREPORT)
13416        return "DiagnosticReport";
13417      if (code == ResourceType.DOCUMENTMANIFEST)
13418        return "DocumentManifest";
13419      if (code == ResourceType.DOCUMENTREFERENCE)
13420        return "DocumentReference";
13421      if (code == ResourceType.DOMAINRESOURCE)
13422        return "DomainResource";
13423      if (code == ResourceType.EFFECTEVIDENCESYNTHESIS)
13424        return "EffectEvidenceSynthesis";
13425      if (code == ResourceType.ENCOUNTER)
13426        return "Encounter";
13427      if (code == ResourceType.ENDPOINT)
13428        return "Endpoint";
13429      if (code == ResourceType.ENROLLMENTREQUEST)
13430        return "EnrollmentRequest";
13431      if (code == ResourceType.ENROLLMENTRESPONSE)
13432        return "EnrollmentResponse";
13433      if (code == ResourceType.EPISODEOFCARE)
13434        return "EpisodeOfCare";
13435      if (code == ResourceType.EVENTDEFINITION)
13436        return "EventDefinition";
13437      if (code == ResourceType.EVIDENCE)
13438        return "Evidence";
13439      if (code == ResourceType.EVIDENCEVARIABLE)
13440        return "EvidenceVariable";
13441      if (code == ResourceType.EXAMPLESCENARIO)
13442        return "ExampleScenario";
13443      if (code == ResourceType.EXPLANATIONOFBENEFIT)
13444        return "ExplanationOfBenefit";
13445      if (code == ResourceType.FAMILYMEMBERHISTORY)
13446        return "FamilyMemberHistory";
13447      if (code == ResourceType.FLAG)
13448        return "Flag";
13449      if (code == ResourceType.GOAL)
13450        return "Goal";
13451      if (code == ResourceType.GRAPHDEFINITION)
13452        return "GraphDefinition";
13453      if (code == ResourceType.GROUP)
13454        return "Group";
13455      if (code == ResourceType.GUIDANCERESPONSE)
13456        return "GuidanceResponse";
13457      if (code == ResourceType.HEALTHCARESERVICE)
13458        return "HealthcareService";
13459      if (code == ResourceType.IMAGINGSTUDY)
13460        return "ImagingStudy";
13461      if (code == ResourceType.IMMUNIZATION)
13462        return "Immunization";
13463      if (code == ResourceType.IMMUNIZATIONEVALUATION)
13464        return "ImmunizationEvaluation";
13465      if (code == ResourceType.IMMUNIZATIONRECOMMENDATION)
13466        return "ImmunizationRecommendation";
13467      if (code == ResourceType.IMPLEMENTATIONGUIDE)
13468        return "ImplementationGuide";
13469      if (code == ResourceType.INSURANCEPLAN)
13470        return "InsurancePlan";
13471      if (code == ResourceType.INVOICE)
13472        return "Invoice";
13473      if (code == ResourceType.LIBRARY)
13474        return "Library";
13475      if (code == ResourceType.LINKAGE)
13476        return "Linkage";
13477      if (code == ResourceType.LIST)
13478        return "List";
13479      if (code == ResourceType.LOCATION)
13480        return "Location";
13481      if (code == ResourceType.MEASURE)
13482        return "Measure";
13483      if (code == ResourceType.MEASUREREPORT)
13484        return "MeasureReport";
13485      if (code == ResourceType.MEDIA)
13486        return "Media";
13487      if (code == ResourceType.MEDICATION)
13488        return "Medication";
13489      if (code == ResourceType.MEDICATIONADMINISTRATION)
13490        return "MedicationAdministration";
13491      if (code == ResourceType.MEDICATIONDISPENSE)
13492        return "MedicationDispense";
13493      if (code == ResourceType.MEDICATIONKNOWLEDGE)
13494        return "MedicationKnowledge";
13495      if (code == ResourceType.MEDICATIONREQUEST)
13496        return "MedicationRequest";
13497      if (code == ResourceType.MEDICATIONSTATEMENT)
13498        return "MedicationStatement";
13499      if (code == ResourceType.MEDICINALPRODUCT)
13500        return "MedicinalProduct";
13501      if (code == ResourceType.MEDICINALPRODUCTAUTHORIZATION)
13502        return "MedicinalProductAuthorization";
13503      if (code == ResourceType.MEDICINALPRODUCTCONTRAINDICATION)
13504        return "MedicinalProductContraindication";
13505      if (code == ResourceType.MEDICINALPRODUCTINDICATION)
13506        return "MedicinalProductIndication";
13507      if (code == ResourceType.MEDICINALPRODUCTINGREDIENT)
13508        return "MedicinalProductIngredient";
13509      if (code == ResourceType.MEDICINALPRODUCTINTERACTION)
13510        return "MedicinalProductInteraction";
13511      if (code == ResourceType.MEDICINALPRODUCTMANUFACTURED)
13512        return "MedicinalProductManufactured";
13513      if (code == ResourceType.MEDICINALPRODUCTPACKAGED)
13514        return "MedicinalProductPackaged";
13515      if (code == ResourceType.MEDICINALPRODUCTPHARMACEUTICAL)
13516        return "MedicinalProductPharmaceutical";
13517      if (code == ResourceType.MEDICINALPRODUCTUNDESIRABLEEFFECT)
13518        return "MedicinalProductUndesirableEffect";
13519      if (code == ResourceType.MESSAGEDEFINITION)
13520        return "MessageDefinition";
13521      if (code == ResourceType.MESSAGEHEADER)
13522        return "MessageHeader";
13523      if (code == ResourceType.MOLECULARSEQUENCE)
13524        return "MolecularSequence";
13525      if (code == ResourceType.NAMINGSYSTEM)
13526        return "NamingSystem";
13527      if (code == ResourceType.NUTRITIONORDER)
13528        return "NutritionOrder";
13529      if (code == ResourceType.OBSERVATION)
13530        return "Observation";
13531      if (code == ResourceType.OBSERVATIONDEFINITION)
13532        return "ObservationDefinition";
13533      if (code == ResourceType.OPERATIONDEFINITION)
13534        return "OperationDefinition";
13535      if (code == ResourceType.OPERATIONOUTCOME)
13536        return "OperationOutcome";
13537      if (code == ResourceType.ORGANIZATION)
13538        return "Organization";
13539      if (code == ResourceType.ORGANIZATIONAFFILIATION)
13540        return "OrganizationAffiliation";
13541      if (code == ResourceType.PARAMETERS)
13542        return "Parameters";
13543      if (code == ResourceType.PATIENT)
13544        return "Patient";
13545      if (code == ResourceType.PAYMENTNOTICE)
13546        return "PaymentNotice";
13547      if (code == ResourceType.PAYMENTRECONCILIATION)
13548        return "PaymentReconciliation";
13549      if (code == ResourceType.PERSON)
13550        return "Person";
13551      if (code == ResourceType.PLANDEFINITION)
13552        return "PlanDefinition";
13553      if (code == ResourceType.PRACTITIONER)
13554        return "Practitioner";
13555      if (code == ResourceType.PRACTITIONERROLE)
13556        return "PractitionerRole";
13557      if (code == ResourceType.PROCEDURE)
13558        return "Procedure";
13559      if (code == ResourceType.PROVENANCE)
13560        return "Provenance";
13561      if (code == ResourceType.QUESTIONNAIRE)
13562        return "Questionnaire";
13563      if (code == ResourceType.QUESTIONNAIRERESPONSE)
13564        return "QuestionnaireResponse";
13565      if (code == ResourceType.RELATEDPERSON)
13566        return "RelatedPerson";
13567      if (code == ResourceType.REQUESTGROUP)
13568        return "RequestGroup";
13569      if (code == ResourceType.RESEARCHDEFINITION)
13570        return "ResearchDefinition";
13571      if (code == ResourceType.RESEARCHELEMENTDEFINITION)
13572        return "ResearchElementDefinition";
13573      if (code == ResourceType.RESEARCHSTUDY)
13574        return "ResearchStudy";
13575      if (code == ResourceType.RESEARCHSUBJECT)
13576        return "ResearchSubject";
13577      if (code == ResourceType.RESOURCE)
13578        return "Resource";
13579      if (code == ResourceType.RISKASSESSMENT)
13580        return "RiskAssessment";
13581      if (code == ResourceType.RISKEVIDENCESYNTHESIS)
13582        return "RiskEvidenceSynthesis";
13583      if (code == ResourceType.SCHEDULE)
13584        return "Schedule";
13585      if (code == ResourceType.SEARCHPARAMETER)
13586        return "SearchParameter";
13587      if (code == ResourceType.SERVICEREQUEST)
13588        return "ServiceRequest";
13589      if (code == ResourceType.SLOT)
13590        return "Slot";
13591      if (code == ResourceType.SPECIMEN)
13592        return "Specimen";
13593      if (code == ResourceType.SPECIMENDEFINITION)
13594        return "SpecimenDefinition";
13595      if (code == ResourceType.STRUCTUREDEFINITION)
13596        return "StructureDefinition";
13597      if (code == ResourceType.STRUCTUREMAP)
13598        return "StructureMap";
13599      if (code == ResourceType.SUBSCRIPTION)
13600        return "Subscription";
13601      if (code == ResourceType.SUBSTANCE)
13602        return "Substance";
13603      if (code == ResourceType.SUBSTANCENUCLEICACID)
13604        return "SubstanceNucleicAcid";
13605      if (code == ResourceType.SUBSTANCEPOLYMER)
13606        return "SubstancePolymer";
13607      if (code == ResourceType.SUBSTANCEPROTEIN)
13608        return "SubstanceProtein";
13609      if (code == ResourceType.SUBSTANCEREFERENCEINFORMATION)
13610        return "SubstanceReferenceInformation";
13611      if (code == ResourceType.SUBSTANCESOURCEMATERIAL)
13612        return "SubstanceSourceMaterial";
13613      if (code == ResourceType.SUBSTANCESPECIFICATION)
13614        return "SubstanceSpecification";
13615      if (code == ResourceType.SUPPLYDELIVERY)
13616        return "SupplyDelivery";
13617      if (code == ResourceType.SUPPLYREQUEST)
13618        return "SupplyRequest";
13619      if (code == ResourceType.TASK)
13620        return "Task";
13621      if (code == ResourceType.TERMINOLOGYCAPABILITIES)
13622        return "TerminologyCapabilities";
13623      if (code == ResourceType.TESTREPORT)
13624        return "TestReport";
13625      if (code == ResourceType.TESTSCRIPT)
13626        return "TestScript";
13627      if (code == ResourceType.VALUESET)
13628        return "ValueSet";
13629      if (code == ResourceType.VERIFICATIONRESULT)
13630        return "VerificationResult";
13631      if (code == ResourceType.VISIONPRESCRIPTION)
13632        return "VisionPrescription";
13633      return "?";
13634      }
13635    public String toSystem(ResourceType code) {
13636      return code.getSystem();
13637      }
13638    }
13639
13640    public enum SearchParamType {
13641        /**
13642         * Search parameter SHALL be a number (a whole number, or a decimal).
13643         */
13644        NUMBER, 
13645        /**
13646         * Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.
13647         */
13648        DATE, 
13649        /**
13650         * 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.
13651         */
13652        STRING, 
13653        /**
13654         * 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.
13655         */
13656        TOKEN, 
13657        /**
13658         * A reference to another resource (Reference or canonical).
13659         */
13660        REFERENCE, 
13661        /**
13662         * A composite search parameter that combines a search on two values together.
13663         */
13664        COMPOSITE, 
13665        /**
13666         * A search parameter that searches on a quantity.
13667         */
13668        QUANTITY, 
13669        /**
13670         * A search parameter that searches on a URI (RFC 3986).
13671         */
13672        URI, 
13673        /**
13674         * Special logic applies to this parameter per the description of the search parameter.
13675         */
13676        SPECIAL, 
13677        /**
13678         * added to help the parsers
13679         */
13680        NULL;
13681        public static SearchParamType fromCode(String codeString) throws FHIRException {
13682            if (codeString == null || "".equals(codeString))
13683                return null;
13684        if ("number".equals(codeString))
13685          return NUMBER;
13686        if ("date".equals(codeString))
13687          return DATE;
13688        if ("string".equals(codeString))
13689          return STRING;
13690        if ("token".equals(codeString))
13691          return TOKEN;
13692        if ("reference".equals(codeString))
13693          return REFERENCE;
13694        if ("composite".equals(codeString))
13695          return COMPOSITE;
13696        if ("quantity".equals(codeString))
13697          return QUANTITY;
13698        if ("uri".equals(codeString))
13699          return URI;
13700        if ("special".equals(codeString))
13701          return SPECIAL;
13702        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13703        }
13704        public String toCode() {
13705          switch (this) {
13706            case NUMBER: return "number";
13707            case DATE: return "date";
13708            case STRING: return "string";
13709            case TOKEN: return "token";
13710            case REFERENCE: return "reference";
13711            case COMPOSITE: return "composite";
13712            case QUANTITY: return "quantity";
13713            case URI: return "uri";
13714            case SPECIAL: return "special";
13715            default: return "?";
13716          }
13717        }
13718        public String getSystem() {
13719          switch (this) {
13720            case NUMBER: return "http://hl7.org/fhir/search-param-type";
13721            case DATE: return "http://hl7.org/fhir/search-param-type";
13722            case STRING: return "http://hl7.org/fhir/search-param-type";
13723            case TOKEN: return "http://hl7.org/fhir/search-param-type";
13724            case REFERENCE: return "http://hl7.org/fhir/search-param-type";
13725            case COMPOSITE: return "http://hl7.org/fhir/search-param-type";
13726            case QUANTITY: return "http://hl7.org/fhir/search-param-type";
13727            case URI: return "http://hl7.org/fhir/search-param-type";
13728            case SPECIAL: return "http://hl7.org/fhir/search-param-type";
13729            default: return "?";
13730          }
13731        }
13732        public String getDefinition() {
13733          switch (this) {
13734            case NUMBER: return "Search parameter SHALL be a number (a whole number, or a decimal).";
13735            case DATE: return "Search parameter is on a date/time. The date format is the standard XML format, though other formats may be supported.";
13736            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.";
13737            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.";
13738            case REFERENCE: return "A reference to another resource (Reference or canonical).";
13739            case COMPOSITE: return "A composite search parameter that combines a search on two values together.";
13740            case QUANTITY: return "A search parameter that searches on a quantity.";
13741            case URI: return "A search parameter that searches on a URI (RFC 3986).";
13742            case SPECIAL: return "Special logic applies to this parameter per the description of the search parameter.";
13743            default: return "?";
13744          }
13745        }
13746        public String getDisplay() {
13747          switch (this) {
13748            case NUMBER: return "Number";
13749            case DATE: return "Date/DateTime";
13750            case STRING: return "String";
13751            case TOKEN: return "Token";
13752            case REFERENCE: return "Reference";
13753            case COMPOSITE: return "Composite";
13754            case QUANTITY: return "Quantity";
13755            case URI: return "URI";
13756            case SPECIAL: return "Special";
13757            default: return "?";
13758          }
13759        }
13760    }
13761
13762  public static class SearchParamTypeEnumFactory implements EnumFactory<SearchParamType> {
13763    public SearchParamType fromCode(String codeString) throws IllegalArgumentException {
13764      if (codeString == null || "".equals(codeString))
13765            if (codeString == null || "".equals(codeString))
13766                return null;
13767        if ("number".equals(codeString))
13768          return SearchParamType.NUMBER;
13769        if ("date".equals(codeString))
13770          return SearchParamType.DATE;
13771        if ("string".equals(codeString))
13772          return SearchParamType.STRING;
13773        if ("token".equals(codeString))
13774          return SearchParamType.TOKEN;
13775        if ("reference".equals(codeString))
13776          return SearchParamType.REFERENCE;
13777        if ("composite".equals(codeString))
13778          return SearchParamType.COMPOSITE;
13779        if ("quantity".equals(codeString))
13780          return SearchParamType.QUANTITY;
13781        if ("uri".equals(codeString))
13782          return SearchParamType.URI;
13783        if ("special".equals(codeString))
13784          return SearchParamType.SPECIAL;
13785        throw new IllegalArgumentException("Unknown SearchParamType code '"+codeString+"'");
13786        }
13787        public Enumeration<SearchParamType> fromType(Base code) throws FHIRException {
13788          if (code == null)
13789            return null;
13790          if (code.isEmpty())
13791            return new Enumeration<SearchParamType>(this);
13792          String codeString = ((PrimitiveType) code).asStringValue();
13793          if (codeString == null || "".equals(codeString))
13794            return null;
13795        if ("number".equals(codeString))
13796          return new Enumeration<SearchParamType>(this, SearchParamType.NUMBER);
13797        if ("date".equals(codeString))
13798          return new Enumeration<SearchParamType>(this, SearchParamType.DATE);
13799        if ("string".equals(codeString))
13800          return new Enumeration<SearchParamType>(this, SearchParamType.STRING);
13801        if ("token".equals(codeString))
13802          return new Enumeration<SearchParamType>(this, SearchParamType.TOKEN);
13803        if ("reference".equals(codeString))
13804          return new Enumeration<SearchParamType>(this, SearchParamType.REFERENCE);
13805        if ("composite".equals(codeString))
13806          return new Enumeration<SearchParamType>(this, SearchParamType.COMPOSITE);
13807        if ("quantity".equals(codeString))
13808          return new Enumeration<SearchParamType>(this, SearchParamType.QUANTITY);
13809        if ("uri".equals(codeString))
13810          return new Enumeration<SearchParamType>(this, SearchParamType.URI);
13811        if ("special".equals(codeString))
13812          return new Enumeration<SearchParamType>(this, SearchParamType.SPECIAL);
13813        throw new FHIRException("Unknown SearchParamType code '"+codeString+"'");
13814        }
13815    public String toCode(SearchParamType code) {
13816      if (code == SearchParamType.NUMBER)
13817        return "number";
13818      if (code == SearchParamType.DATE)
13819        return "date";
13820      if (code == SearchParamType.STRING)
13821        return "string";
13822      if (code == SearchParamType.TOKEN)
13823        return "token";
13824      if (code == SearchParamType.REFERENCE)
13825        return "reference";
13826      if (code == SearchParamType.COMPOSITE)
13827        return "composite";
13828      if (code == SearchParamType.QUANTITY)
13829        return "quantity";
13830      if (code == SearchParamType.URI)
13831        return "uri";
13832      if (code == SearchParamType.SPECIAL)
13833        return "special";
13834      return "?";
13835      }
13836    public String toSystem(SearchParamType code) {
13837      return code.getSystem();
13838      }
13839    }
13840
13841    public enum SpecialValues {
13842        /**
13843         * Boolean true.
13844         */
13845        TRUE, 
13846        /**
13847         * Boolean false.
13848         */
13849        FALSE, 
13850        /**
13851         * The content is greater than zero, but too small to be quantified.
13852         */
13853        TRACE, 
13854        /**
13855         * 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.
13856         */
13857        SUFFICIENT, 
13858        /**
13859         * The value is no longer available.
13860         */
13861        WITHDRAWN, 
13862        /**
13863         * The are no known applicable values in this context.
13864         */
13865        NILKNOWN, 
13866        /**
13867         * added to help the parsers
13868         */
13869        NULL;
13870        public static SpecialValues fromCode(String codeString) throws FHIRException {
13871            if (codeString == null || "".equals(codeString))
13872                return null;
13873        if ("true".equals(codeString))
13874          return TRUE;
13875        if ("false".equals(codeString))
13876          return FALSE;
13877        if ("trace".equals(codeString))
13878          return TRACE;
13879        if ("sufficient".equals(codeString))
13880          return SUFFICIENT;
13881        if ("withdrawn".equals(codeString))
13882          return WITHDRAWN;
13883        if ("nil-known".equals(codeString))
13884          return NILKNOWN;
13885        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13886        }
13887        public String toCode() {
13888          switch (this) {
13889            case TRUE: return "true";
13890            case FALSE: return "false";
13891            case TRACE: return "trace";
13892            case SUFFICIENT: return "sufficient";
13893            case WITHDRAWN: return "withdrawn";
13894            case NILKNOWN: return "nil-known";
13895            default: return "?";
13896          }
13897        }
13898        public String getSystem() {
13899          switch (this) {
13900            case TRUE: return "http://terminology.hl7.org/CodeSystem/special-values";
13901            case FALSE: return "http://terminology.hl7.org/CodeSystem/special-values";
13902            case TRACE: return "http://terminology.hl7.org/CodeSystem/special-values";
13903            case SUFFICIENT: return "http://terminology.hl7.org/CodeSystem/special-values";
13904            case WITHDRAWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13905            case NILKNOWN: return "http://terminology.hl7.org/CodeSystem/special-values";
13906            default: return "?";
13907          }
13908        }
13909        public String getDefinition() {
13910          switch (this) {
13911            case TRUE: return "Boolean true.";
13912            case FALSE: return "Boolean false.";
13913            case TRACE: return "The content is greater than zero, but too small to be quantified.";
13914            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.";
13915            case WITHDRAWN: return "The value is no longer available.";
13916            case NILKNOWN: return "The are no known applicable values in this context.";
13917            default: return "?";
13918          }
13919        }
13920        public String getDisplay() {
13921          switch (this) {
13922            case TRUE: return "true";
13923            case FALSE: return "false";
13924            case TRACE: return "Trace Amount Detected";
13925            case SUFFICIENT: return "Sufficient Quantity";
13926            case WITHDRAWN: return "Value Withdrawn";
13927            case NILKNOWN: return "Nil Known";
13928            default: return "?";
13929          }
13930        }
13931    }
13932
13933  public static class SpecialValuesEnumFactory implements EnumFactory<SpecialValues> {
13934    public SpecialValues fromCode(String codeString) throws IllegalArgumentException {
13935      if (codeString == null || "".equals(codeString))
13936            if (codeString == null || "".equals(codeString))
13937                return null;
13938        if ("true".equals(codeString))
13939          return SpecialValues.TRUE;
13940        if ("false".equals(codeString))
13941          return SpecialValues.FALSE;
13942        if ("trace".equals(codeString))
13943          return SpecialValues.TRACE;
13944        if ("sufficient".equals(codeString))
13945          return SpecialValues.SUFFICIENT;
13946        if ("withdrawn".equals(codeString))
13947          return SpecialValues.WITHDRAWN;
13948        if ("nil-known".equals(codeString))
13949          return SpecialValues.NILKNOWN;
13950        throw new IllegalArgumentException("Unknown SpecialValues code '"+codeString+"'");
13951        }
13952        public Enumeration<SpecialValues> fromType(Base code) throws FHIRException {
13953          if (code == null)
13954            return null;
13955          if (code.isEmpty())
13956            return new Enumeration<SpecialValues>(this);
13957          String codeString = ((PrimitiveType) code).asStringValue();
13958          if (codeString == null || "".equals(codeString))
13959            return null;
13960        if ("true".equals(codeString))
13961          return new Enumeration<SpecialValues>(this, SpecialValues.TRUE);
13962        if ("false".equals(codeString))
13963          return new Enumeration<SpecialValues>(this, SpecialValues.FALSE);
13964        if ("trace".equals(codeString))
13965          return new Enumeration<SpecialValues>(this, SpecialValues.TRACE);
13966        if ("sufficient".equals(codeString))
13967          return new Enumeration<SpecialValues>(this, SpecialValues.SUFFICIENT);
13968        if ("withdrawn".equals(codeString))
13969          return new Enumeration<SpecialValues>(this, SpecialValues.WITHDRAWN);
13970        if ("nil-known".equals(codeString))
13971          return new Enumeration<SpecialValues>(this, SpecialValues.NILKNOWN);
13972        throw new FHIRException("Unknown SpecialValues code '"+codeString+"'");
13973        }
13974    public String toCode(SpecialValues code) {
13975      if (code == SpecialValues.TRUE)
13976        return "true";
13977      if (code == SpecialValues.FALSE)
13978        return "false";
13979      if (code == SpecialValues.TRACE)
13980        return "trace";
13981      if (code == SpecialValues.SUFFICIENT)
13982        return "sufficient";
13983      if (code == SpecialValues.WITHDRAWN)
13984        return "withdrawn";
13985      if (code == SpecialValues.NILKNOWN)
13986        return "nil-known";
13987      return "?";
13988      }
13989    public String toSystem(SpecialValues code) {
13990      return code.getSystem();
13991      }
13992    }
13993
13994
13995}
13996